@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f5f7;--ink:#19191d;--muted:#73737e;--blue:#3a36ff;--line:#dcdce2;--pad:4.5vw;--ease:cubic-bezier(.22,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:16px/1.5 Manrope,Arial,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0}h1,h2,h3,p{margin:0}em{font-style:normal;font-weight:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:var(--blue);color:white}.arrow,.icon{display:inline-block;vertical-align:middle;width:24px;height:24px;flex:none}.arrow{transition:transform .35s var(--ease)}a:hover .arrow{transform:translate(3px,-3px)}.skip{position:fixed;top:-100px;z-index:100}.skip:focus{top:12px;background:white;padding:12px}.logo{font-size:40px;letter-spacing:-3px;font-weight:800;line-height:1;flex:none}.logo>span{font-size:12px;letter-spacing:0;vertical-align:top;margin-left:4px}.nav{height:100px;position:fixed;top:0;left:var(--pad);right:var(--pad);z-index:50;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:0;padding:0;transition:height .6s var(--ease),top .6s var(--ease),left .6s var(--ease),right .6s var(--ease),padding .6s var(--ease),border-radius .6s var(--ease),background .4s,box-shadow .4s}.nav nav{display:flex;align-items:center;gap:18px}.nav-item{display:flex;align-items:center;justify-content:center;gap:0;position:relative;min-height:46px;padding:0 14px;border-radius:30px;font-size:13px;transition:background .3s,color .3s,padding .5s,gap .5s}.nav-item>.icon{width:0;opacity:0;transition:width .5s var(--ease),opacity .3s}.nav-label{max-width:200px;overflow:hidden;white-space:nowrap;transition:max-width .55s var(--ease),opacity .25s}.nav sup{color:var(--muted);font-size:9px;margin-left:4px}.contact-link{background:var(--ink);color:white;padding:0 22px}.nav-item:hover{background:#e6e6ed}.contact-link:hover{background:var(--blue);color:white}.nav-progress{position:absolute;left:26px;right:26px;height:2px;bottom:0;background:var(--blue);transform:scaleX(var(--progress,0));transform-origin:left;opacity:0;transition:opacity .3s}.nav.is-compact{top:16px;left:calc(50% - 192px);right:calc(50% - 192px);height:64px;padding:0 17px;border:1px solid #ffffffa0;border-radius:23px;background:#ffffffed;backdrop-filter:blur(20px);box-shadow:0 8px 40px #19191d13}.nav.is-compact .logo{font-size:32px}.nav.is-compact nav{gap:6px}.nav.is-compact .nav-item{padding:0 13px}.nav.is-compact .nav-item>.icon{width:21px;opacity:1}.nav.is-compact .nav-label{max-width:0;opacity:0}.nav.is-compact .nav-progress{opacity:1}.nav.is-compact .nav-item:after{content:attr(data-tip);position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%) translateY(-4px);padding:8px 12px;border-radius:10px;background:var(--ink);color:white;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}.nav.is-compact .nav-item:hover:after,.nav.is-compact .nav-item:focus-visible:after{opacity:1;transform:translateX(-50%) translateY(0)}
.hero{min-height:820px;height:100svh;max-height:1100px;padding:200px var(--pad) 100px;position:relative;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:2;width:62%;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.hero h1{font-size:clamp(60px,6.6vw,112px);font-weight:600;letter-spacing:-.065em;line-height:1.08}.type-line{display:inline-flex;align-items:center;white-space:nowrap;min-height:1.15em}.hero h1 em{color:var(--blue)}.type-caret{width:3px;height:.85em;background:var(--blue);display:inline-block;margin-left:7px;animation:caret 1s step-end infinite}.type-toggle{position:absolute;top:-29px;left:0;background:transparent;color:#9696a1;width:24px;height:24px;border:1px solid #d8d8df;border-radius:50%;font-size:10px;opacity:0;transition:opacity .2s}.hero-copy:hover .type-toggle,.type-toggle:focus-visible{opacity:1}@keyframes caret{50%{opacity:0}}.lead{font-size:18px;line-height:1.6;color:var(--muted);margin:32px 0 28px}.pill-button{display:inline-flex;align-items:center;gap:36px;background:var(--ink);color:white;border-radius:40px;padding:17px 24px;font-size:13px;transition:background .25s,transform .3s}.pill-button:hover{background:var(--blue);transform:translateY(-2px)}.scene{position:absolute;right:-3%;top:85px;width:56%;height:calc(100% - 165px);z-index:1;touch-action:pan-y}.scene canvas{width:100%;height:100%;display:block;position:relative;z-index:1}.scene-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.scene.ready .scene-fallback{display:none}.scene-fallback i{position:absolute;border-radius:50%;width:48%;aspect-ratio:1;border:clamp(30px,4vw,65px) solid var(--blue);transform:rotate(-25deg) scaleX(.8)}.scene-fallback i:nth-child(2){width:17%;background:linear-gradient(135deg,#fff,#777);border:0;left:20%;top:20%}.scene-fallback i:nth-child(3){width:12%;border:0;background:#202027;right:18%;bottom:23%}.hero-foot{position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:86px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);z-index:3}.social-links{display:flex;gap:10px}.social-links>a,.social-links>button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:background .25s,color .25s,transform .25s}.social-links>a:hover,.social-links>button:hover{background:var(--blue);border-color:var(--blue);color:white;transform:translateY(-3px)}.social-links .icon{width:19px;height:19px}
h2{font-size:clamp(40px,5vw,76px);line-height:1.06;letter-spacing:-.055em;font-weight:600}h2 em{color:var(--blue)}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:42px var(--pad) 80px}.split-cell{border-radius:24px;min-height:540px;padding:36px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.cell-dark{background:#202024;color:white}.cell-light{background:#e9e9ee}.cell-number{font-size:10px;letter-spacing:.6px;opacity:.55}.cell-content{padding:65px 0 35px}.cell-content h2{font-size:clamp(32px,3.65vw,61px);line-height:1.08;font-weight:500}.cell-content p{max-width:350px;font-size:14px;margin-top:28px;color:#adadb6;line-height:1.7}.cell-light .cell-content p{color:#666671}.cell-line{height:2px;width:40px;background:var(--blue);position:absolute;bottom:35px;left:36px;transition:width .8s var(--ease)}.split-cell:hover .cell-line{width:calc(100% - 72px)}
.work{padding:100px var(--pad) 110px;background:#fff;border-radius:32px;position:relative;z-index:2}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:58px}.section-count{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);vertical-align:top;display:inline-block;padding-top:12px;margin-left:14px}.section-top>p{font-size:13px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px 28px}.project{min-width:0}.project-visual{display:block;position:relative;aspect-ratio:1.32;overflow:hidden;border-radius:18px;isolation:isolate;background:#e5e5eb;transform:translateZ(0)}.project-visual>img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1s var(--ease)}.project-favn .project-visual{background:#d5d7c7;padding:15% 6% 12%}.project-mbl .project-visual{background:#e7e3df;padding:15% 7% 12%}.project-mbl .project-visual>img{height:auto;aspect-ratio:1.62;object-fit:cover;object-position:top;position:relative;top:8%;border-radius:3px;box-shadow:0 26px 50px #13132120;transform:perspective(1100px) rotateY(5deg) rotateX(4deg) rotateZ(3deg) scale(1.02)}.project-mbl .project-visual:hover>img{transform:perspective(1100px) rotateY(0) rotateX(0) rotateZ(0) scale(1.04)}.project-open{position:absolute;right:20px;top:20px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink);z-index:3;transition:transform .4s,background .3s,color .3s}.project-open .arrow{width:20px;height:20px}.project-visual:hover .project-open{background:var(--blue);color:white;transform:translate(2px,-2px)}.image-tag{position:absolute;bottom:22px;left:24px;font-size:10px;letter-spacing:.7px;color:#34343d}.preview-browser{border-radius:7px;overflow:hidden;box-shadow:0 26px 50px #13132125;transform:perspective(1100px) rotateY(-3deg) rotateZ(-3deg);transition:transform .65s var(--ease);background:#e7e7e7}.browser-chrome{height:22px;display:flex;align-items:center;gap:4px;padding:0 8px;position:relative;background:#f6f6f6}.browser-chrome i{width:4px;height:4px;border-radius:50%;background:#c6c6cb}.browser-chrome>span{font-size:7px;position:absolute;left:50%;transform:translateX(-50%);color:#777}.preview-window{aspect-ratio:1280/720;overflow:hidden}.preview-reel{display:flex;flex-direction:column;transition:transform 1s var(--ease)}.preview-reel img{width:100%;height:auto;display:block;aspect-ratio:1280/720;object-fit:cover}.scroll-preview:is(:hover,:focus-visible) .preview-browser{transform:perspective(1100px) rotateY(0) rotateZ(0) scale(1.02)}.scroll-preview.is-playing .preview-reel{animation:preview-scroll 10s cubic-bezier(.45,0,.2,1) infinite}.scroll-preview:focus-visible .preview-reel{animation:preview-scroll 10s cubic-bezier(.45,0,.2,1) infinite}@keyframes preview-scroll{0%,12%{transform:translateY(0)}35%,45%{transform:translateY(-33.333%)}70%,82%{transform:translateY(-66.666%)}100%{transform:translateY(0)}}.preview-toggle{display:none;font-size:11px;padding:7px 11px;border-radius:20px;background:#eeeef4;margin-top:10px}.project-caption{display:flex;justify-content:space-between;gap:14px;padding:23px 0 16px}.project-caption h3{font-size:23px;letter-spacing:-.7px;font-weight:600;display:inline}.case-year{font-size:10px;color:var(--muted);margin-left:12px;font-variant-numeric:tabular-nums}.project-caption p{font-size:13px;color:var(--muted);margin-top:7px}.project-caption>span{font-size:10px;color:var(--muted);padding-top:8px;white-space:nowrap}details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}summary::-webkit-details-marker{display:none}.project summary{padding:12px 0;font-size:11px;color:#6f6f7c}.project summary span{font-size:18px}details[open] summary>span:last-child{transform:rotate(45deg)}details summary>span:last-child{transition:transform .3s}.project details p{font-size:13px;line-height:1.75;color:var(--muted);padding:6px 0 18px;max-width:490px}.metric-cover,.pollo-cover,.media-cover{padding:28px;display:flex;flex-direction:column;justify-content:space-between}.metric-cover{background:#3b35ee;color:white}.cover-label,.cover-period{font-size:9px;letter-spacing:1px}.big-metric{font-size:clamp(75px,10vw,160px);line-height:.95;letter-spacing:-.075em;display:block}.big-metric>span{display:block;font-size:36px;line-height:1.3;letter-spacing:-1px;margin:8px 0}.metric-cover>div>p{font-size:13px;color:#ffffffa0}.cover-period{opacity:.65}.pollo-cover{background:#ffc6b7;color:#532d2b}.pollo-word{font-size:clamp(64px,7.5vw,112px);line-height:.9;letter-spacing:-.065em;font-weight:500}.pollo-cover>div>p{margin-top:23px;font-size:13px}.project-media{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}.project-media>.project-visual{grid-row:1/3;aspect-ratio:1.8}.project-media>.project-caption{align-self:end;flex-direction:column;padding:0 30px 20px}.project-media>details{margin:0 30px;align-self:start}.media-cover{background:#1b1b26;color:white}.media-orbit{position:relative;display:grid;place-items:center;min-height:150px;flex:1}.media-orbit>span{position:relative;z-index:2;font-size:clamp(30px,4vw,65px);line-height:.95;letter-spacing:-.06em}.media-orbit em{color:#bab4ff}.media-orbit i{position:absolute;width:180px;height:130px;border:1px solid #7771ca;border-radius:50%;transform:rotate(-25deg)}.media-orbit i:nth-child(2){transform:rotate(35deg);width:240px;height:160px}.media-orbit i:nth-child(3){transform:rotate(80deg);width:170px;height:110px}.media-cover:hover .media-orbit i{animation:orbit 6s ease-in-out infinite alternate}@keyframes orbit{to{transform:rotate(150deg)}}
.studio{padding:120px var(--pad)}.studio-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8%;align-items:start}.studio h2{font-size:clamp(45px,5.8vw,90px)}.studio-copy{max-width:440px;padding-top:8px}.studio-copy>p{font-size:21px;letter-spacing:-.4px;line-height:1.55}.studio-copy p.muted{font-size:14px;letter-spacing:0;margin-top:24px;color:var(--muted)}.studio-proof{display:flex;gap:65px;margin-top:32px}.studio-proof>span{display:flex;flex-direction:column;color:var(--muted);font-size:11px}.studio-proof strong{font-size:38px;letter-spacing:-2px;color:var(--ink);font-weight:500}.services{margin-top:90px;border-bottom:1px solid var(--line)}.services>details{position:relative;transition:background .35s,border-radius .35s}.services summary{padding:30px 22px;gap:26px;position:relative;overflow:hidden;border-radius:14px;isolation:isolate;min-height:105px}.services summary:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 220px 150px at var(--pointer-x,50%) 50%,#3a36ff13,transparent);opacity:0;z-index:-1;transition:opacity .3s}.services summary:hover:before{opacity:1}.service-index{font-size:11px;color:var(--muted);transition:color .25s}.services h3{font-size:26px;font-weight:500;letter-spacing:-.7px;transition:transform .4s var(--ease),color .3s}.service-price{font-size:13px;margin-left:auto;color:#777782}.services summary>span:last-child{font-size:24px;margin-left:25px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;line-height:1;transition:transform .4s,background .3s,color .3s}.services summary:hover h3{transform:translateX(8px);color:var(--blue)}.services summary:hover>span:last-child,.services details[open] summary>span:last-child{background:var(--blue);border-color:var(--blue);color:white}.services>details[open]{background:white;border-radius:18px;border-color:transparent;margin:10px 0}.services details[open] summary h3{color:var(--blue)}.service-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:7%;padding:10px 25px 30px 63px;align-items:center}.service-description{font-size:14px;color:var(--muted);line-height:1.8}.service-kicker{display:block;font-size:10px;letter-spacing:.6px;color:var(--blue);margin-bottom:18px}.service-action{display:inline-flex;align-items:center;gap:24px;font-size:12px;color:var(--ink);border-bottom:1px solid var(--line);padding:8px 0;margin-top:24px}.service-action .arrow{width:17px;height:17px}.visual-note{display:block;font-size:10px;color:#90909a;margin-top:25px}.service-art{aspect-ratio:1.35;position:relative;border-radius:14px;overflow:hidden;min-width:0;perspective:900px}.art-tag{position:absolute;top:18px;left:20px;font-size:9px;letter-spacing:.3px}.art-landing{background:#e4e3ff}.mini-site{position:absolute;top:21%;left:8%;width:72%;height:69%;background:#fffef7;border-radius:6px;box-shadow:0 20px 35px #30238820;transform:rotate(-5deg);padding:16px;color:#25223b}.mini-nav{display:flex;align-items:center;justify-content:space-between;font-size:8px}.mini-nav b{font-size:15px;letter-spacing:-1px}.mini-hero{display:flex;align-items:center;height:70%;position:relative}.mini-hero>strong{font-size:clamp(22px,2.5vw,40px);line-height:1.05;letter-spacing:-1.6px;z-index:2}.mini-orb{position:absolute;right:0;width:39%;aspect-ratio:1;border:17px solid #4b3dff;border-radius:50%;box-shadow:4px 4px 0 #2f2499;transform:rotate(-20deg) scaleX(.85)}.mini-bottom{display:flex;justify-content:space-between;font-size:7px;border-top:1px solid #dedde6;padding-top:8px}.mini-mobile{position:absolute;right:7%;bottom:8%;width:24%;height:58%;padding:13px 9px;background:#29233c;border:4px solid #171321;color:white;border-radius:16px;transform:rotate(8deg);box-shadow:0 12px 25px #20123925;display:flex;flex-direction:column;justify-content:space-between}.mini-mobile>span{font-size:8px}.mini-mobile>b{font-size:clamp(12px,1.4vw,23px);line-height:1.1;letter-spacing:-.5px}.mini-mobile>i{height:20%;border-radius:6px;background:#c2b9ff}.art-brand{background:#edece6}.brand-sheet{position:absolute;left:9%;top:24%;width:62%;height:62%;background:#3935ff;color:white;transform:rotate(-7deg);padding:20px;box-shadow:0 20px 30px #1f1e541c}.brand-sheet>span{font-size:7px}.brand-sheet>strong{font-size:clamp(36px,5vw,76px);line-height:1.2;display:block;letter-spacing:-.08em}.brand-sheet strong>span{opacity:.5}.swatches{display:flex;gap:6px;margin-top:10px}.swatches i{width:24px;height:24px;border-radius:50%;background:#fff}.swatches i:nth-child(2){background:#171721}.swatches i:nth-child(3){background:#c3bdff}.swatches i:nth-child(4){background:#caff7e}.brand-sticker{position:absolute;right:8%;bottom:13%;width:38%;aspect-ratio:1;background:#caff7e;padding:18px;transform:rotate(12deg);font-size:clamp(20px,2.5vw,38px);line-height:1;letter-spacing:-.06em;box-shadow:0 8px 30px #3333}.brand-sticker>span{position:absolute;right:15px;bottom:10px;font-size:40px}.art-product{background:#dce9e7}.product-window{position:absolute;left:7%;right:7%;top:23%;height:65%;background:#fff;border-radius:8px;display:flex;box-shadow:0 20px 40px #173a3a20;transform:rotate(-3deg);overflow:hidden}.product-sidebar{width:14%;background:#20212a;color:white;padding:12px;font-size:19px;font-weight:800;letter-spacing:-1px}.product-sidebar i{display:block;width:12px;height:5px;background:#646573;border-radius:3px;margin-top:20px}.product-main{padding:17px;width:86%}.product-main>span{font-size:7px;display:flex;justify-content:space-between;gap:5px}.product-main>span b{font-weight:400;color:#528369}.product-main>strong{font-size:clamp(18px,2vw,30px);letter-spacing:-1px;margin-top:14px;display:block}.product-chart{display:flex;align-items:flex-end;gap:8px;height:42%;margin-top:14px}.product-chart i{background:#a4a0ff;flex:1;height:25%;border-radius:4px 4px 0 0}.product-chart i:nth-child(2){height:40%}.product-chart i:nth-child(3){height:35%}.product-chart i:nth-child(4){height:60%}.product-chart i:nth-child(5){height:55%}.product-chart i:nth-child(6){height:75%}.product-chart i:nth-child(7){height:100%;background:var(--blue)}.product-tiles{display:flex;gap:7px;margin-top:10px}.product-tiles span{background:#f1f1f5;padding:5px;font-size:6px;flex:1;border-radius:3px}.product-chip{position:absolute;bottom:9%;right:5%;background:#caff7e;font-size:10px;padding:12px 16px;border-radius:8px;transform:rotate(3deg)}.services details[open] .service-content{animation:reveal-panel .65s var(--ease)}.services details[open] .mini-mobile,.services details[open] .brand-sticker,.services details[open] .product-chip{animation:pop-in .95s var(--ease)}.services details[open] .product-chart i{animation:grow-bar 1.1s var(--ease);transform-origin:bottom}.services details[open] .mini-orb{animation:orb-in 1.4s var(--ease)}@keyframes reveal-panel{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{from{opacity:0;translate:0 50px;rotate:-15deg}to{opacity:1;translate:0 0;rotate:0deg}}@keyframes grow-bar{from{transform:scaleY(.05)}to{transform:scaleY(1)}}@keyframes orb-in{from{rotate:-160deg;scale:.4}to{rotate:0deg;scale:1}}
.process{background:#eeedf1;padding:110px var(--pad) 130px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10%;border-radius:32px}.process-heading{position:sticky;top:130px;align-self:start}.process-heading .eyebrow{color:var(--muted);display:block;margin-bottom:30px}.process-heading h2{font-size:clamp(38px,4.4vw,70px)}.process-heading>p{font-size:14px;color:var(--muted);max-width:310px;margin-top:28px}.process-counter{display:block;font-size:12px;color:#9999a4;margin-top:65px;font-variant-numeric:tabular-nums}.process-steps article{padding:40px 0 65px;display:flex;gap:25px;border-top:1px solid #d3d2da;opacity:.5;transition:opacity .6s}.process-steps article.is-active{opacity:1}.process-steps article>span{font-size:11px;color:var(--blue);padding-top:6px}.process-steps h3{font-size:25px;font-weight:500;letter-spacing:-.7px}.process-steps p{font-size:14px;color:var(--muted);margin-top:20px;line-height:1.75}.process-steps small{display:block;font-size:10px;color:var(--blue);margin-top:25px}
.contact{margin-top:28px;padding:85px var(--pad);background:var(--blue);color:white;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;border-radius:30px}.contact .eyebrow{color:#c3c0ff;margin-bottom:30px}.contact>div>a{display:block;font-size:clamp(65px,8vw,125px);line-height:.95;letter-spacing:-.055em;font-weight:600}.contact-arrow{margin-left:45px;display:inline-block}.contact-arrow .arrow{width:.75em;height:.75em;stroke-width:1}.contact>div>a:hover .contact-arrow .arrow{transform:translate(8px,-8px)}.contact .contact-side{padding-bottom:8px;font-size:13px;line-height:1.7}.contact .contact-side>a{display:flex;align-items:center;gap:8px;font:13px/1.5 Manrope,Arial,sans-serif;letter-spacing:0;margin-top:24px}.contact .contact-side .arrow{width:18px;height:18px}.contact-side p{color:#d6d4ff}.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:30px;margin-top:18px;overflow:hidden}.foot-brand,.foot-space,.foot-contact{min-width:0;padding:48px var(--pad);min-height:300px}.foot-brand .logo{font-size:65px;letter-spacing:-5px}.foot-brand p{font-size:14px;line-height:1.45;margin-top:24px}.foot-brand>span{font-size:10px;color:var(--muted);display:block;margin-top:20px}.foot-space{border-left:1px solid var(--line);border-right:1px solid var(--line);display:grid;place-items:center}.foot-space>span{font-size:90px;color:#e7e7ed;font-weight:400;transition:transform 1s var(--ease),color .5s}.foot-space:hover>span{transform:rotate(90deg);color:var(--blue)}.foot-contact{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.foot-label{font-size:10px;color:var(--muted);margin-bottom:15px}.foot-contact>a{font-size:13px}.foot-contact>a .arrow{width:16px;height:16px;margin-left:15px}.foot-contact .social-links{margin-top:12px}.foot-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding:22px var(--pad);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:24px;padding:48px;max-width:min(520px,calc(100vw - 30px));color:var(--ink);box-shadow:0 20px 100px #17172930}dialog::backdrop{background:#17172966;backdrop-filter:blur(6px)}dialog h2{font-size:40px;margin:20px 0}dialog p{font-size:13px;color:var(--muted);margin-bottom:25px}.dialog-close{position:absolute;top:10px;right:15px;font-size:28px;background:transparent;color:var(--muted)}
@media(min-width:1900px){:root{--pad:max(4.5vw,calc((100vw - 1800px)/2))}.hero{padding-top:260px}.scene{right:5%;width:50%}}
@media(max-width:1000px){.hero{min-height:760px;padding-top:200px}.hero h1{font-size:6.7vw}.scene{width:56%;right:-4%}.split-cell{padding:28px;min-height:490px}.cell-content h2{font-size:4.1vw}.cell-line{left:28px}.project-caption{flex-direction:column;gap:4px}.project-caption>span{padding-top:0}.service-content{padding-left:25px;gap:5%}.services h3{font-size:23px}.services summary{gap:18px}.services summary>span:last-child{margin-left:8px}.studio-copy>p{font-size:18px}.contact{gap:25px}.contact>div>a{font-size:8.5vw}.contact-arrow{margin-left:15px}.foot-brand,.foot-space,.foot-contact{padding:35px 25px}.foot-brand .logo{font-size:55px}}
@media(max-width:700px){:root{--pad:6vw}html{scroll-padding-top:95px}.nav{height:80px}.logo{font-size:34px}.nav nav{gap:4px}.nav-item{font-size:11px;padding:0 9px}.nav-item:nth-child(2){display:none}.contact-link{padding:0 13px;min-height:40px}.nav.is-compact{top:12px;left:calc(50% - 156px);right:calc(50% - 156px);height:59px;padding:0 16px}.nav.is-compact .nav-item:nth-child(2){display:flex}.nav.is-compact .nav-item{padding:0 11px;min-height:39px}.hero{height:auto;min-height:0;max-height:none;padding:132px var(--pad) 80px}.hero-copy{width:100%}.hero h1{font-size:clamp(32px,8.7vw,60px);line-height:1.13;letter-spacing:-.06em}.type-caret{margin-left:4px;width:2px}.type-toggle{opacity:.5}.lead{font-size:15px;margin:25px 0}.pill-button{font-size:12px;padding:15px 20px;gap:24px}.scene{position:relative;width:114%;right:auto;left:-7%;top:0;height:330px;margin-top:12px}.hero-foot{height:76px;font-size:10px;gap:10px}.hero-foot>span{max-width:170px}.social-links{gap:7px}.social-links>a,.social-links>button{width:35px;height:35px}.social-links .icon{width:17px;height:17px}.split-grid{grid-template-columns:minmax(0,1fr);padding:26px var(--pad) 50px;gap:14px}.split-cell{min-height:405px;padding:27px;border-radius:20px}.cell-content{padding:50px 0 30px}.cell-content h2{font-size:clamp(33px,8.6vw,54px);line-height:1.07}.cell-content p{font-size:13px;margin-top:24px}.cell-number{font-size:9px}.cell-line{bottom:26px;left:27px}.work{padding:60px var(--pad);border-radius:24px}.section-top{margin-bottom:35px;align-items:center}.section-top h2{font-size:42px}.section-top>p{display:none}.section-count{font-size:11px;margin-left:8px;padding-top:6px}.work-grid{grid-template-columns:minmax(0,1fr);gap:40px}.project-visual{aspect-ratio:1.25}.project-caption{flex-direction:row;padding-top:18px;gap:8px}.project-caption h3{font-size:21px}.project-caption p{font-size:12px;max-width:220px}.project-caption>span{font-size:9px;padding-top:6px;white-space:normal;max-width:80px;text-align:right}.case-year{margin-left:8px;font-size:9px}.project-open{height:34px;width:34px;top:15px;right:15px}.image-tag{font-size:9px;left:20px;bottom:19px}.metric-cover,.pollo-cover,.media-cover{padding:24px}.big-metric{font-size:110px}.big-metric>span{font-size:30px}.pollo-word{font-size:85px}.project-media{display:block}.project-media>.project-visual{aspect-ratio:1.4}.project-media>.project-caption{padding:18px 0 16px;display:flex;flex-direction:row}.project-media>details{margin:0}.media-orbit>span{font-size:49px}.studio{padding:65px var(--pad)}.studio-main{grid-template-columns:minmax(0,1fr);gap:35px}.studio h2{font-size:clamp(40px,10.5vw,65px)}.studio-copy>p{font-size:19px}.studio-copy p.muted{font-size:13px}.studio-proof{gap:50px}.services{margin-top:55px}.services summary{padding:23px 10px;gap:12px;flex-wrap:wrap;min-height:110px}.service-index{font-size:9px}.services h3{font-size:19px;max-width:215px}.service-price{order:5;width:100%;padding-left:26px;font-size:12px}.services summary>span:last-child{margin-left:auto;width:29px;height:29px;font-size:21px}.services summary:hover h3{transform:none}.service-content{grid-template-columns:minmax(0,1fr);padding:0 18px 18px;gap:25px}.service-description{font-size:13px}.service-kicker{font-size:9px;margin-bottom:12px}.service-action{margin-top:15px}.visual-note{margin-top:14px;font-size:9px}.service-art{aspect-ratio:1.2}.mini-hero>strong{font-size:28px}.mini-mobile>b{font-size:16px}.brand-sheet>strong{font-size:49px}.brand-sticker{font-size:29px}.product-main>strong{font-size:23px}.process{grid-template-columns:minmax(0,1fr);padding:65px var(--pad) 40px;border-radius:24px;gap:50px}.process-heading{position:static}.process-heading h2{font-size:44px}.process-heading .eyebrow{margin-bottom:25px}.process-heading>p{font-size:13px}.process-counter{display:none}.process-steps article{padding:28px 0 38px;gap:20px}.process-steps h3{font-size:23px}.process-steps p{font-size:13px}.contact{display:block;padding:55px var(--pad);margin-top:16px;border-radius:24px}.contact>div>a{font-size:clamp(48px,12.5vw,85px)}.contact .contact-side{margin-top:35px}.contact .eyebrow{font-size:9px;margin-bottom:24px}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:24px;margin-top:12px}.foot-brand,.foot-contact{padding:30px 20px;min-height:270px}.foot-space{display:none}.foot-contact{border-left:1px solid var(--line);gap:12px}.foot-brand .logo{font-size:50px}.foot-brand p{font-size:12px}.foot-brand>span{font-size:9px}.foot-contact>a{font-size:10px}.foot-contact>a .arrow{margin-left:5px}.foot-label{font-size:9px;margin-bottom:12px}.foot-contact .social-links{gap:5px}.foot-contact .social-links>a,.foot-contact .social-links>button{width:30px;height:30px}.foot-bottom{padding:20px;flex-wrap:wrap;font-size:9px}.foot-bottom>span:nth-child(2){order:3;width:100%}dialog{padding:35px 25px}dialog h2{font-size:35px}}
@media(hover:none){.preview-toggle{display:inline-flex}.preview-hint{font-size:0}.preview-hint:after{content:'FAVN DECOR / LIVE PREVIEW';font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.type-toggle{display:none}.type-caret{display:none}.preview-toggle{display:none}.process-steps article{opacity:1}.preview-hint{font-size:0}.preview-hint:after{content:'FAVN DECOR';font-size:10px}}

@media(max-width:700px){.hero h1{font-size:clamp(32px,9.6vw,64px)}.preview-toggle{display:inline-flex}}
@media(prefers-reduced-motion:reduce){.preview-toggle{display:none}}

/* TVIM refinement — 15 October, v3 */
.nav{isolation:isolate}.nav>.logo,.nav>nav{position:relative;z-index:2}
.nav-progress{left:50%;right:auto;top:4px;bottom:4px;width:calc(var(--progress,0) * 100%);max-width:calc(100% - 8px);height:auto;transform:translateX(-50%);transform-origin:center;background:#ceccff;border-radius:19px;z-index:0;pointer-events:none;transition:width .35s linear,opacity .35s}
.nav-icon{position:relative;display:block;width:0;height:22px;opacity:0;flex:none;transition:width .5s var(--ease),opacity .3s}
.nav-icon .icon{position:absolute;inset:0;width:22px;height:22px;transition:opacity .25s,transform .35s var(--ease)}
.nav-icon .icon-filled{opacity:0;transform:scale(.75)}
.nav-item.is-active .icon-outline{opacity:0;transform:scale(.75)}
.nav-item.is-active .icon-filled{opacity:1;transform:scale(1)}
.nav-item.is-active{background:var(--ink);color:white}.nav-item.is-active sup{color:#c1c0ce}
.nav.is-compact .nav-icon{width:22px;opacity:1}
.nav.is-compact .contact-link{background:transparent;color:var(--ink)}
.nav.is-compact .nav-item:hover{background:#ffffffb8}
.nav.is-compact .nav-item.is-active,.nav.is-compact .nav-item.is-active:hover{background:var(--ink);color:white;box-shadow:0 3px 9px #19191d18}
/* Repeating diagonal arrow exchange, no extra backing plate. */
.arrow-motion{position:relative;width:25px;height:25px;overflow:hidden;display:inline-block;flex:none;vertical-align:middle;background:none}
.arrow-motion .arrow{position:absolute;inset:0;width:100%;height:100%;transition:transform .55s var(--ease);stroke-width:1.8}
.arrow-motion .arrow-first{transform:translate(0,0)}
.arrow-motion .arrow-second{transform:translate(-115%,115%)}
a:is(:hover,:focus-visible) .arrow-motion .arrow-first{transform:translate(115%,-115%)}
a:is(:hover,:focus-visible) .arrow-motion .arrow-second{transform:translate(0,0)}
.pill-button>.arrow-motion{display:inline-block}
.project-open .arrow-motion{width:23px;height:23px}
.service-action .arrow-motion,.foot-contact>a .arrow-motion,.contact .contact-side>a .arrow-motion{width:19px;height:19px}
.contact-arrow{line-height:1;vertical-align:baseline}
.contact-arrow .arrow-motion{width:.8em;height:.8em;vertical-align:baseline}
.contact>div>a:hover .contact-arrow .arrow-first{transform:translate(115%,-115%)}
.contact>div>a:hover .contact-arrow .arrow-second{transform:translate(0,0)}
/* Background compositions remain behind a quiet text area. */
.split-cell{justify-content:flex-end;isolation:isolate;min-height:590px}
.cell-content{position:relative;z-index:2;padding-top:220px}
.cell-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.cell-art:after{content:'';position:absolute;inset:0;z-index:2}
.dark-art{background:radial-gradient(ellipse at 65% 15%,#363064 0,transparent 60%)}
.dark-art:after{background:linear-gradient(0deg,#202024 15%,#202024ed 40%,transparent 82%)}
.fluid-form{position:absolute;width:280px;height:240px;top:25px;left:calc(50% - 140px);border-radius:60% 40% 65% 35% / 40% 55% 45% 60%;background:radial-gradient(ellipse at 28% 22%,#9996ff 0,#5e50ff 28%,#3024bb 62%,#15103e 100%);box-shadow:inset -18px -18px 30px #13103355,0 25px 60px #3931ff25;transform:rotate(-20deg);animation:fluid-turn 11s ease-in-out infinite alternate}
.fluid-form:after{content:'';position:absolute;inset:17%;border:1px solid #bcb9ff60;border-radius:inherit}
.fluid-satellite{position:absolute;width:40px;height:40px;top:70px;left:18%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#bcbccf 30%,#45425b 70%);animation:satellite-drift 7s ease-in-out infinite alternate}
.light-art:after{background:linear-gradient(0deg,#e9e9ee 15%,#e9e9eef5 42%,transparent 86%)}
.orbit-grid{position:absolute;inset:0;background-image:linear-gradient(#c6c5d233 1px,transparent 1px),linear-gradient(90deg,#c6c5d233 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(transparent,#000 25%,transparent 75%)}
.orbit-system{position:absolute;top:20px;left:calc(50% - 155px);width:310px;height:230px;animation:orbit-breathe 10s ease-in-out infinite alternate}
.orbit-system i{position:absolute;inset:25px 15px;border:1px solid #6b67aa60;border-radius:50%;transform:rotate(-25deg)}
.orbit-system i:nth-child(2){inset:5px 55px;transform:rotate(25deg)}
.orbit-system i:nth-child(3){inset:45px -5px;transform:rotate(-45deg)}
.orbit-system i:first-child:after{content:'';position:absolute;left:15%;top:4%;width:16px;height:16px;border-radius:50%;background:var(--blue);box-shadow:0 4px 15px #3a36ff33}
.orbit-system b{position:absolute;left:calc(50% - 35px);top:calc(50% - 35px);width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#b7b5ff,#6660fa 40%,#3027ac 90%);box-shadow:0 15px 28px #3a36ff20}
@keyframes fluid-turn{0%{transform:rotate(-20deg) translateY(0);border-radius:60% 40% 65% 35% / 40% 55% 45% 60%}100%{transform:rotate(25deg) translateY(12px);border-radius:38% 62% 40% 60% / 65% 35% 65% 35%}}
@keyframes satellite-drift{to{transform:translate(35px,45px)}}
@keyframes orbit-breathe{to{transform:rotate(22deg) scale(.9)}}
.split-cell .cell-art *{animation-play-state:paused}
.split-cell.art-visible .cell-art *{animation-play-state:running}
.page-hidden .split-cell .cell-art *{animation-play-state:paused}
.process-steps article>.step-icon{padding:0;width:40px;height:40px;flex:none;display:grid;place-items:center;background:#e0def4;border-radius:12px;color:var(--blue)}
.step-icon .icon{width:22px;height:22px;stroke-width:1.6}
.process-heading h2{margin-top:0}
/* Overlapping lower surfaces; content stays clear of their shared edges. */
.process{position:relative;z-index:1;padding-bottom:160px}
.contact{position:relative;z-index:2;margin-top:-32px;padding-bottom:115px}
.footer-grid{position:relative;z-index:3;margin-top:-32px}
@media(max-width:1000px){.split-cell{min-height:550px}.cell-content{padding-top:205px}.fluid-form{width:240px;height:210px;left:calc(50% - 120px)}}
@media(max-width:700px){.nav-progress{border-radius:18px}.split-cell{min-height:550px}.cell-content{padding-top:210px}.fluid-form{top:18px;width:240px;height:210px;left:calc(50% - 120px)}.orbit-system{top:10px;transform:scale(.88)}.process-steps article{gap:16px}.process-steps article>.step-icon{width:35px;height:35px;border-radius:10px}.step-icon .icon{width:20px;height:20px}.process{padding-bottom:75px}.contact{margin-top:-24px;padding-bottom:79px}.footer-grid{margin-top:-24px}.hero h1{font-size:clamp(30px,9.1vw,61px)}}
@media(prefers-reduced-motion:reduce){.nav-progress,.arrow-motion .arrow,.nav-icon .icon{transition:none!important}.cell-art *{animation:none!important}.arrow-motion .arrow-second{display:none}a:is(:hover,:focus-visible) .arrow-motion .arrow-first{transform:none}.contact>div>a:hover .contact-arrow .arrow-first{transform:none}}
/* Thin progress line grows from the header centre, with rounded ends. */
.nav-progress{top:auto;bottom:0;height:3px;width:calc(var(--progress,0) * (100% - 52px));max-width:calc(100% - 52px);left:50%;right:auto;transform:translateX(-50%);border-radius:999px;background:var(--blue)}

/* v4: lower-contour progress, original artwork and actual MBL layout. */
.nav-progress{inset:0;width:100%;max-width:none;height:100%;transform:none;border-radius:inherit;background:none;color:var(--blue);overflow:visible;pointer-events:none}
.nav-progress-path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--progress,0));transition:stroke-dashoffset .22s linear}
.nav-item{transition:background .3s,color .3s,padding .5s,gap .5s,box-shadow .3s,transform .3s}
.nav.is-compact .nav-item:hover{box-shadow:0 6px 16px #19191d28;transform:translateY(-1px)}
.nav.is-compact .nav-item.is-active,.nav.is-compact .nav-item.is-active:hover{box-shadow:0 6px 18px #19191d30}
.pill-button:hover{box-shadow:0 9px 25px #3a36ff2c}
.cell-content{padding-top:240px;padding-bottom:0}.split-cell{min-height:610px;padding-bottom:38px}
.original-dark-art{background:radial-gradient(ellipse 80% 65% at 50% 43%,#151d70 0,#070a2a 48%,#000 100%)}
.original-dark-art:after{background:linear-gradient(0deg,#101014 12%,#101014e8 38%,transparent 75%)}
.morph-shape{position:absolute;left:50%;top:29%;width:min(30vw,300px);aspect-ratio:1;transform:translate(-50%,-50%);background:linear-gradient(145deg,#5863ff,#3129ce 52%,#160b5f);border-radius:60% 40% 70% 30% / 40% 60% 30% 70%;box-shadow:0 0 100px #2936ff60;animation:original-morph 9s ease-in-out infinite}
.morph-shape:after{content:'';position:absolute;inset:9%;border:1px solid #ffffff29;border-radius:inherit}
@keyframes original-morph{50%{border-radius:38% 62% 34% 66% / 65% 35% 65% 35%;transform:translate(-50%,-50%) rotate(12deg)}}
.original-light-art:after{background:linear-gradient(0deg,#e9e9ee 3%,#e9e9eed9 38%,transparent 72%)}
.geo-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(#cbc9c2 1px,transparent 1px),linear-gradient(90deg,#cbc9c2 1px,transparent 1px);background-size:44px 44px}
.geo-shape{position:absolute;left:50%;top:29%;width:220px;height:220px;transform:translate(-50%,-50%);border:2px solid var(--ink);border-radius:50%;animation:original-spin 16s linear infinite}
.geo-shape:before{content:'';position:absolute;inset:22px;border:1px solid #0003;border-radius:50%}
.geo-shape:after{content:'';position:absolute;left:50%;top:50%;width:66px;height:66px;transform:translate(-50%,-50%);border-radius:50%;background:var(--ink)}
.diamond{position:absolute;left:50%;top:29%;width:130px;height:130px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid #0003;animation:original-spin-reverse 11s linear infinite}
@keyframes original-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes original-spin-reverse{to{transform:translate(-50%,-50%) rotate(-315deg)}}
.project-mbl .project-visual{padding:15% 6% 12%}
.project-mbl .preview-browser{transform:perspective(1100px) rotateY(3deg) rotateZ(3deg)}
.project-mbl .scroll-preview:is(:hover,:focus-visible) .preview-browser{transform:perspective(1100px) rotateY(0) rotateZ(0) scale(1.02)}
.mbl-reel{height:100%;display:block}.mbl-reel img{aspect-ratio:auto;object-fit:initial}
.scroll-preview.is-playing .mbl-reel,.scroll-preview:focus-visible .mbl-reel{animation:none}
.scroll-preview.is-playing .mbl-reel img,.scroll-preview:focus-visible .mbl-reel img{animation:mbl-full-scroll 11.5s cubic-bezier(.4,0,.2,1) infinite}
@keyframes mbl-full-scroll{0%,12%{transform:translateY(0)}70%,85%{transform:translateY(calc(-100% + 28.7356%))}100%{transform:translateY(0)}}
.project-favn .preview-window{aspect-ratio:1280/686;container-type:inline-size}
.favn-frame{position:relative;aspect-ratio:1280/686;overflow:hidden;background:#e7e7e7;flex:none}
.favn-frame img{aspect-ratio:1280/720;width:100%;height:auto}
.favn-subframe img{clip-path:inset(0 0 0 35%)}
.favn-frame:last-child{background:#dbdbdb}
.favn-side-title{position:absolute;top:13%;left:3.5%;width:30%;font:500 7cqw/1 Arial,sans-serif;letter-spacing:-.045em;color:#000}
/* Footer surface covers the previous blue rounding completely. */
.footer-grid{border:0;margin-top:-52px;border-radius:0;background:white}
.foot-space,.foot-contact,.foot-bottom{border:0}
.contact{padding-bottom:135px}
@media(min-width:701px) and (max-width:1100px){.hero{overflow:visible;z-index:4}.hero-copy{z-index:2}.hero .scene{z-index:5;top:70px;height:calc(100% - 110px);right:0;width:60%}.split-grid{position:relative;z-index:2}}
@media(max-width:700px){.split-cell{min-height:570px;padding-bottom:32px}.cell-content{padding-top:235px;padding-bottom:0}.morph-shape{width:260px}.geo-shape{width:175px;height:175px}.diamond{width:105px;height:105px}.footer-grid{margin-top:-40px}.foot-contact{border:0}.contact{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.nav-progress-path{transition:none}.mbl-reel img{animation:none!important}}
.contact{border-bottom-left-radius:0;border-bottom-right-radius:0}
.footer-grid{border-radius:30px 30px 0 0}
@media(max-width:700px){.footer-grid{border-radius:24px 24px 0 0}}

/* v5: straight progress and seamless pointer lighting. */
.nav .nav-progress{inset:auto 26px 0;left:26px;right:26px;width:calc((100% - 52px) * var(--progress,0));max-width:none;height:3px;transform:none;border-radius:999px;background:var(--blue);transition:width .2s linear,opacity .3s}
.services summary:before{background:radial-gradient(ellipse 220px 150px at var(--pointer-x,50%) 50%,#3a36ff13 0%,#3a36ff08 45%,transparent 100%);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.contact-arrow{margin-left:.18em}
.contact-arrow .arrow-motion{width:.98em;height:.98em;vertical-align:-.04em}
.foot-contact>a{transition:opacity .25s}
.foot-contact>a:is(:hover,:focus-visible){opacity:.5}
.foot-bottom>span:nth-child(2){margin-left:auto;width:auto;order:0;text-align:right}
.logo>span{margin-left:1px;position:relative;top:2px}
.foot-brand .logo>span{margin-left:0;top:3px}
@media(min-width:701px){.hero{overflow:visible;z-index:4}.hero .scene{left:0;right:0;width:100%;z-index:5;pointer-events:none}.hero .scene canvas{pointer-events:auto}.hero-copy a,.hero-copy button{position:relative;z-index:6}.hero-copy{z-index:auto}.hero-foot{z-index:6}}
@media(prefers-reduced-motion:reduce){.nav .nav-progress{transition:none}}

/* Keep the typewriter line stable when its text is completely erased. */
.type-line{height:1.15em;vertical-align:top;line-height:1.15}

/* 17 October: glass hero, predictable previews and a clear contact action. */
.scroll-preview:is(.is-playing,:focus-visible) .preview-browser,
.project-mbl .scroll-preview:is(.is-playing,:focus-visible) .preview-browser{transform:perspective(1100px) rotateX(0) rotateY(0) rotateZ(0) scale(1.02);transition-duration:.45s}
.scroll-preview:is(.is-playing,:focus-visible) .preview-reel{animation:preview-scroll-fast 8.5s cubic-bezier(.4,0,.2,1) .45s infinite backwards}
.scroll-preview:is(.is-playing,:focus-visible) .mbl-reel{animation:none}
.scroll-preview:is(.is-playing,:focus-visible) .mbl-reel img{animation:mbl-scroll-fast 9s cubic-bezier(.4,0,.2,1) .45s infinite backwards}
@keyframes preview-scroll-fast{0%{transform:translateY(0)}27%,40%{transform:translateY(-33.333%)}69%,84%{transform:translateY(-66.666%)}100%{transform:translateY(0)}}
@keyframes mbl-scroll-fast{0%{transform:translateY(0)}65%,83%{transform:translateY(calc(-100% + 28.7356%))}100%{transform:translateY(0)}}
.project-caption>.case-year{margin-left:auto;font-size:12px;padding-top:6px;white-space:nowrap;font-variant-numeric:tabular-nums}
.project-media>.project-caption{flex-direction:row;align-items:flex-start}
.contact-action{align-items:center;gap:8%;padding-top:80px;padding-bottom:130px}
.contact-action .contact-title h2{font-size:clamp(60px,8vw,120px);font-weight:500;line-height:.98;letter-spacing:-.055em}
.contact-action .contact-side{min-width:300px;padding:0}
.contact-action .contact-side>p{font-size:16px;line-height:1.7;color:#e0dfff}
.contact-action .contact-side>.contact-button{display:inline-flex;justify-content:center;align-items:center;gap:38px;min-height:64px;padding:20px 28px;border-radius:999px;background:white;color:#292735;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.02em;margin-top:28px;transition:background .25s,transform .25s}
.contact-action .contact-button:hover{background:#e9e8ff;transform:translateY(-2px)}
.contact-action .contact-button:focus-visible{outline:2px solid white;outline-offset:6px}
.contact-action .contact-button .arrow-motion{width:25px;height:25px;color:#000}
.contact-action .contact-button .arrow-motion .arrow{width:100%;height:100%}
.contact-action .contact-side>.contact-email{font-size:13px;margin-top:20px;color:#d5d3ff;text-decoration:underline;text-underline-offset:5px;display:table}
@media(max-width:700px){
 .type-toggle{display:none}
 .hero .scene{width:120%;left:-10%;height:clamp(390px,115vw,510px);margin-top:24px}
 .nav.is-compact{left:max(12px,calc(50% - 156px));right:max(12px,calc(50% - 156px))}
 .nav nav,.nav.is-compact nav{gap:4px}
 .nav .nav-item,.nav.is-compact .nav-item{padding:0;height:42px;min-height:42px;width:76px;flex:none;transition:width .5s var(--ease),opacity .25s,background .3s,color .3s}
 .nav .contact-link{width:108px}
 .nav .nav-item:nth-child(2){display:flex;width:0;opacity:0;overflow:hidden;pointer-events:none}
 .nav .nav-label{position:absolute;max-width:160px;opacity:1;transition:opacity .18s;pointer-events:none}
 .nav .nav-icon{width:22px;opacity:0;transform:scale(.8);transition:opacity .25s,transform .4s var(--ease)}
 .nav.is-compact .nav-item{width:44px}
 .nav.is-compact .nav-item:nth-child(2){width:44px;opacity:1;pointer-events:auto}
 .nav.is-compact .nav-label{max-width:160px;opacity:0}
 .nav.is-compact .nav-icon{opacity:1;transform:scale(1)}
 .nav.is-compact .nav-item:after{display:none}
 .project-caption>.case-year{font-size:11px;padding-top:5px}
 .contact-action{padding-top:55px;padding-bottom:105px}
 .contact-action .contact-title h2{font-size:clamp(54px,13vw,80px)}
 .contact-action .contact-side{min-width:0;margin-top:30px}
 .contact-action .contact-side>p{font-size:14px}
 .contact-action .contact-side>.contact-button{width:100%;font-size:15px;min-height:58px;padding:18px 24px;justify-content:space-between;margin-top:22px}
}

/* Founder signature and a footer aligned with the contact panel above it. */
.founder-signature{display:flex;align-items:center;gap:14px;margin-top:26px}
.founder-avatar{display:block;width:52px;height:52px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 40%;filter:grayscale(1) contrast(1.05)}
.founder-name{font-size:14px;font-weight:600;line-height:1.45}
.founder-role{font-size:12px;line-height:1.5;color:var(--muted);margin-top:3px}
.studio-copy>.founder-note{font-size:13px;line-height:1.65;letter-spacing:0;color:var(--muted);margin-top:14px}
@media(max-width:700px){
 .founder-signature{gap:12px}
 .founder-name{font-size:13px}
 .founder-role{font-size:11px}
}

/* Bare social icons retain a generous click target. */
.social-links>a,.social-links>button{border:0;border-radius:0;background:transparent}
.social-links>a:hover,.social-links>button:hover{background:transparent;color:var(--blue);transform:translateY(-2px)}

/* Two case-cover directions: luminous FAVN and a dark MBL studio. */
.project-favn .scroll-preview,.project-mbl .scroll-preview{padding:0;background:#d7d1e6;perspective:1000px}
.project-mbl .scroll-preview{background:#181a1f}
.project-cover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:30px;overflow:hidden;transition:opacity .5s var(--ease),transform .75s var(--ease),visibility .5s;pointer-events:none}
.cover-favn{color:#24202d;background:radial-gradient(ellipse at 18% 10%,#f8e9dc 0,transparent 53%),radial-gradient(ellipse at 90% 94%,#a8a0ef 0,transparent 62%),linear-gradient(130deg,#e8e1ed,#d0c9e7)}
.cover-favn:before{content:'';position:absolute;width:140%;height:42%;left:-20%;top:20%;transform:rotate(-32deg);background:linear-gradient(180deg,#ffffff00,#ffffff6b,#ffffff00);pointer-events:none}
.cover-kicker,.cover-footer{font-size:9px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:1}
.cover-logo-favn{margin-block:auto;width:68%;max-width:370px;height:auto;object-fit:contain;align-self:center;position:relative;z-index:1}
.cover-footer{display:flex;align-items:end;justify-content:space-between;gap:20px}
.cover-cue{opacity:.65;text-align:right}
.cover-mbl{color:#f3eee8;background:radial-gradient(ellipse 80% 110% at 90% 5%,#756958 0%,#333337 38%,#17191f 78%)}
.cover-mbl:before{content:'';position:absolute;inset:0;background:linear-gradient(118deg,transparent 36%,#ffffff10 36.2%,transparent 60%)}
.cover-wordmark{margin-block:auto;position:relative;z-index:1;align-self:center;text-align:center;font-size:clamp(70px,9vw,145px);font-weight:700;line-height:1;letter-spacing:-.07em}
.cover-wordmark>span{display:block;font-size:10px;font-weight:400;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;margin-top:18px}
.mockup-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 25% 0%,#f3ede2 0%,#d0c6d2 50%,#938899 100%);perspective:1100px}
.mockup-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#fff6 0,transparent 40%,#fff1 70%,transparent);pointer-events:none}
.project-mbl .mockup-stage{background:radial-gradient(ellipse at 72% 8%,#8b7b66 0,#454044 28%,#22232a 60%,#111216 100%)}
.device-mockup{position:absolute;left:10%;right:10%;top:20%;transform:perspective(1100px) rotateX(8deg) rotateY(-12deg) rotateZ(-4deg) translateY(10px);transform-style:preserve-3d;transition:transform .9s var(--ease)}
.project-mbl .device-mockup{transform:perspective(1100px) rotateX(8deg) rotateY(10deg) rotateZ(3deg) translateY(10px)}
.device-mockup .preview-browser{position:relative;border:6px solid #18191d;border-bottom-width:10px;border-radius:11px 11px 5px 5px;box-shadow:0 25px 50px #16101f35;transform:none!important;background:#18191d;overflow:hidden}
.device-mockup .browser-chrome{height:18px;background:#ececf0}
.device-mockup .preview-window{aspect-ratio:1280/720}
.project-favn .device-mockup .preview-window{aspect-ratio:1280/686}
.device-deck{position:absolute;left:-7%;right:-7%;top:calc(100% - 1px);height:12px;background:linear-gradient(90deg,#777b82,#e6e8ee 9%,#b1b5bf 30%,#f1f2f6 60%,#9ba0a8 90%,#626670);border-radius:1px 1px 55% 55%;box-shadow:0 25px 25px #0004}
.device-deck:before{content:'';position:absolute;left:40%;right:40%;top:0;height:4px;background:linear-gradient(#747780,#b5b9c1);border-radius:0 0 7px 7px}
.mockup-label{position:absolute;left:30px;bottom:25px;font-size:8px;letter-spacing:.17em;color:#29233099}
.project-mbl .mockup-label{color:#ffffff8c}
.scroll-preview:is(.is-open,:focus-visible) .project-cover{opacity:0;visibility:hidden;transform:translateY(-12px) scale(1.025)}
.scroll-preview:is(.is-open,:focus-visible) .device-mockup{transform:perspective(1100px) rotateX(4deg) rotateY(-3deg) rotateZ(-1deg)}
.project-mbl .scroll-preview:is(.is-open,:focus-visible) .device-mockup{transform:perspective(1100px) rotateX(4deg) rotateY(3deg) rotateZ(1deg)}
.project-cover~.project-open{z-index:3}
.scroll-preview.is-resetting .preview-reel,.scroll-preview.is-resetting .preview-reel img{animation-play-state:paused!important;transition:none}
@media(max-width:700px){
 .project-cover{padding:23px}
 .cover-kicker,.cover-footer{font-size:8px;letter-spacing:.06em}
 .cover-cue{display:none}
 .cover-logo-favn{width:75%}
 .cover-wordmark{font-size:clamp(75px,23vw,130px)}
 .cover-wordmark>span{font-size:8px;letter-spacing:.14em;margin-top:12px}
 .device-mockup{left:7%;right:7%;top:21%}
 .device-mockup .preview-browser{border-width:5px;border-bottom-width:8px;border-radius:8px 8px 4px 4px}
 .device-mockup .browser-chrome{height:15px}
 .device-deck{height:9px}
 .mockup-label{left:23px;bottom:22px;font-size:7px}
}
/* Selection changes on each new selection, never while dragging. */
::selection{background:var(--selection-bg,#3a36ff);color:var(--selection-ink,#fff)}
::-moz-selection{background:var(--selection-bg,#3a36ff);color:var(--selection-ink,#fff)}
@media(hover:none),(max-width:700px){.project-favn>.preview-toggle,.project-mbl>.preview-toggle{display:inline-flex}}
