@font-face{font-family:Manrope;src:url(fonts/manrope.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(fonts/manrope-bold.ttf) format('truetype');font-weight:800;font-display:swap}
:root{--ink:#111;--muted:#777;--lime:#c4de43;--orange:#f45622}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:15px/1.4 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth;scroll-padding-top:90px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:800;letter-spacing:-.065em;line-height:1.06}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #f45622;outline-offset:5px}img{display:block;width:100%;height:auto}button[hidden],[hidden]{display:none!important}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:12px}.skip:focus{top:0}.site-nav{height:90px;padding:0 4.6%;position:sticky;top:0;display:flex;align-items:center;gap:8%;background:#fffffff2;backdrop-filter:blur(12px);z-index:20;font-weight:800;letter-spacing:-.04em;font-size:16px}.brand{font-weight:800;font-size:41px;letter-spacing:-.09em;line-height:1}.site-nav nav{display:flex;gap:26px}.site-nav a:not(.brand){transition:opacity .2s}.site-nav a:hover{opacity:.55}.contact-link{margin-left:auto}.page{padding:0 4.6%}.project-intro h1{font-size:clamp(40px,4.7vw,78px);padding-top:22px;max-width:1300px}.mobile-break{display:none}.project-meta{margin-top:clamp(100px,15vw,250px);border-top:1px solid #999;display:grid;grid-template-columns:1fr 1fr 1.4fr .6fr;padding:16px 0 32px;font-size:13px;line-height:1.2}.project-meta dt{color:var(--muted)}.project-meta dd{font-weight:800;letter-spacing:-.03em}.wide-media{overflow:hidden}.wide-media img{aspect-ratio:3/2;object-fit:cover}.statement{text-align:center;padding:130px 2%;}.statement h2{font-size:clamp(38px,5.5vw,84px);max-width:1150px;margin:auto}.statement details{margin:30px auto 0;max-width:650px}.statement summary{list-style:none;display:inline-flex;align-items:center;gap:12px;background:#f0f0f0;border-radius:0;padding:10px 22px;cursor:pointer;font-weight:800;font-size:14px;letter-spacing:-.035em}.statement summary::-webkit-details-marker{display:none}.statement summary span{font-size:24px;font-weight:400;line-height:.8;transition:transform .25s}.statement details[open] summary span{transform:rotate(45deg)}.statement details p{font-size:17px;line-height:1.65;margin:28px 0 0;text-align:left}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media-surface{overflow:hidden;background:#fafafa}.media-surface img{aspect-ratio:1/1;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}.logo-card img{object-fit:contain}.media-card:hover img{transform:scale(1.025)}figcaption,.caption{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.35;padding:14px 0 0}figcaption span:last-child,.caption span:last-child{color:var(--muted);white-space:nowrap}.editorial-grid{display:grid;grid-template-columns:3fr 1fr;gap:12px}.type-poster{background:var(--lime);padding:35px;min-height:800px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.type-poster>span{position:relative;z-index:2;font-size:10px}.poster-title{font-size:clamp(64px,9vw,145px);font-weight:800;line-height:.96;letter-spacing:-.075em;position:relative;z-index:2;padding:70px 0}.orbit{position:absolute;width:90%;right:-15%;top:16%;color:var(--orange);will-change:transform}.symbol-tile{background:var(--orange);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}.symbol-tile span{font-size:12vw;color:#f3eddd;animation:turn 18s linear infinite}.small-caption{font-size:12px;margin-top:12px;line-height:1.4}.palette{margin-top:50px;height:250px;display:flex}.palette span{flex:1;transition:flex .5s}.palette:hover span:hover{flex:2}.statement-note{font-size:15px;margin-top:24px}.scene-carousel{position:relative}.slides{overflow:hidden;background:#151811}.slide img{aspect-ratio:3/2;object-fit:cover}.slide{animation:appear .5s ease}.carousel-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#ffffffed;border-radius:0;padding:5px 8px;font-size:12px}.carousel-controls button{width:38px;height:38px;border-radius:0;font-size:22px}.carousel-controls button:hover{background:#ddd}.project-description{border-top:1px solid #aaa;padding:30px 0 100px;margin-top:140px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;font-size:15px;line-height:1.7}.project-description h2{font-size:17px;letter-spacing:-.04em}.project-description p{margin-bottom:24px}.muted{color:var(--muted)}.underlined{border-bottom:1px solid;padding-bottom:3px;font-size:13px}.credits{font-size:12px;padding-left:30px}.credits p{font-weight:800;margin-bottom:25px}.project-bottom{border-top:1px solid #aaa;display:flex;justify-content:space-between;padding:30px 0 100px}.project-bottom a{font-size:clamp(28px,3.6vw,58px);font-weight:800;letter-spacing:-.06em;line-height:1.2}.project-bottom span{display:block;font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted);margin-bottom:10px}footer{border-top:1px solid #ddd;padding:30px 4.6%;display:flex;align-items:center;gap:35px;font-size:12px}footer button{margin-left:auto;font-size:12px}footer .brand{margin-right:3%}.work-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:100px 0 65px}.work-intro h1{font-size:34px}.work-filters{display:flex;gap:30px;align-items:start}.work-filters>span{font-weight:800}.filter-list{display:flex;flex-direction:column;align-items:start}.filter-list button{color:#888;font-size:18px;letter-spacing:-.04em;line-height:1.3;padding:0}.filter-list button[aria-pressed=true]{color:#111;font-weight:800}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 12px;padding-bottom:120px}.work-card .cover{overflow:hidden;background:#fafafa}.work-card img{aspect-ratio:4/5;object-fit:cover;transition:transform .7s}.work-card:hover img{transform:scale(1.045)}.work-card h2{font-size:20px;letter-spacing:-.04em;margin-top:14px}.work-card p{font-size:12px;color:var(--muted);margin-top:4px}.work-card .cover.sq img{object-position:center}.still *{animation:none!important;transition:none!important}.still .orbit{transform:none!important}@keyframes turn{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:.3}to{opacity:1}}
@media(min-width:1700px){.page{max-width:1800px;margin:auto}.type-poster{min-height:1000px}}@media(max-width:900px){.site-nav{font-size:13px;gap:6%}.site-nav nav{gap:18px}.project-meta{grid-template-columns:1fr 1fr 1.2fr}.project-meta>div:last-child{display:none}.media-grid figcaption{display:block}.media-grid figcaption span{display:block}.type-poster{min-height:600px}.type-poster>span{font-size:8px}.palette{height:180px}.project-description{grid-template-columns:1fr 2fr}.credits{grid-column:2;padding-left:0}.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-nav{height:72px;padding:0 5%;gap:25px;font-size:12px}.brand{font-size:34px}.site-nav nav{gap:16px}.site-nav nav a:last-child{display:none}.contact-link{font-size:10px}.page{padding:0 5%}.project-intro h1{font-size:37px;line-height:1.07;padding-top:35px;letter-spacing:-.065em}.mobile-break{display:block}.project-meta{margin-top:95px;grid-template-columns:1fr 1fr;gap:22px 16px;font-size:11px;padding-top:15px;padding-bottom:25px}.project-meta>div:last-child{display:block}.statement{padding:80px 0}.statement h2{font-size:35px;line-height:1.1}.statement h2 br{display:initial}.statement details{margin-top:25px}.statement details p{font-size:15px;line-height:1.6}.statement summary{font-size:12px;padding:9px 18px}.media-grid{grid-template-columns:1fr;gap:30px}.media-grid figcaption{display:flex;font-size:10px}.editorial-grid{grid-template-columns:1fr;gap:12px}.type-poster{min-height:560px;padding:25px}.poster-title{font-size:17.5vw;padding:50px 0}.side-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.symbol-tile{grid-column:1;grid-row:1}.symbol-tile span{font-size:30vw}.palette{grid-column:2;grid-row:1;margin:0;height:auto}.small-caption{font-size:10px;margin:0}.side-stack .small-caption:first-of-type{grid-column:1;grid-row:2}.caption{font-size:10px}.statement-note{font-size:12px}.carousel-controls{bottom:12px;gap:10px;padding:2px 5px;font-size:10px}.carousel-controls button{height:30px;width:30px;font-size:18px}.project-description{margin-top:80px;grid-template-columns:1fr;gap:25px;font-size:14px;padding-bottom:60px}.credits{grid-column:1;display:none}.project-bottom{padding-bottom:60px;gap:25px}.project-bottom a{font-size:27px}.project-bottom span{font-size:10px}footer{padding:25px 5%;gap:18px;flex-wrap:wrap;font-size:10px}footer .brand{margin-right:0}footer button{font-size:10px}.work-intro{padding:50px 0 40px;gap:25px;grid-template-columns:1fr}.work-intro h1{font-size:35px}.filter-list{flex-direction:row;gap:15px;flex-wrap:wrap}.filter-list button{font-size:14px}.work-filters>span{display:none}.work-grid{gap:30px 10px;padding-bottom:70px}.work-card h2{font-size:16px;margin-top:10px}.work-card p{font-size:10px}.work-card img{aspect-ratio:4/5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.orbit{transform:none!important}}

.work-card .cover{aspect-ratio:1/1}.work-card img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center}.work-card[href$="/shared-quest"] .cover{background:#c4de43}

/* Shared editorial system for all portfolio cases. */
.case-cover img{object-fit:contain}.case-composition{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.detail-crop{aspect-ratio:4/5;overflow:hidden;background:#fafafa}.detail-crop img{height:100%;object-fit:cover;transform:scale(var(--detail-scale));transform-origin:var(--detail-origin)}.editorial-poster{aspect-ratio:4/5;position:relative;isolation:isolate;overflow:hidden;background:var(--case-dark);color:var(--case-light);padding:30px;display:flex;flex-direction:column;justify-content:space-between}.poster-overline,.poster-bottom{font-size:10px;position:relative;z-index:2}.editorial-words{font-size:clamp(36px,4.8vw,80px);letter-spacing:-.07em;font-weight:800;line-height:1.03;position:relative;z-index:2}.editorial-words span{display:block}.poster-decoration{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:.3}.poster-decoration i{display:block;position:absolute;transition:transform 1.5s cubic-bezier(.16,1,.3,1)}.editorial-poster:hover .poster-decoration i{transform:translateY(-15px)}.case-vikfort .poster-decoration i{width:60%;height:110%;border:1px solid #aaa;left:40%;top:10%;transform:skewY(-15deg)}.case-vikfort .poster-decoration i:nth-child(2){left:50%;top:15%}.case-vikfort .poster-decoration i:nth-child(3){left:60%;top:20%}.case-evenin-notes .poster-decoration i{width:75%;height:75%;border-radius:50%;border:1px solid var(--case-soft);right:-15%;bottom:-10%}.case-evenin-notes .poster-decoration i:nth-child(2){right:-5%;bottom:-20%}.case-evenin-notes .poster-decoration i:nth-child(3){right:5%;bottom:-30%}.case-fruteria .editorial-poster{background:var(--case-light);color:#252d17}.case-fruteria .poster-decoration{opacity:1}.case-fruteria .poster-decoration i{width:60%;aspect-ratio:1;border-radius:50%;background:var(--case-accent);right:-20%;top:15%}.case-fruteria .poster-decoration i:nth-child(2){background:var(--case-dark);right:-15%;top:55%}.case-fruteria .poster-decoration i:nth-child(3){background:var(--case-soft);width:35%;right:20%;top:75%}.case-tideworks .poster-decoration i{height:120%;width:24%;background:var(--case-accent);transform:rotate(30deg);right:-5%;top:-10%}.case-tideworks .poster-decoration i:nth-child(2){right:25%;width:3%}.case-tideworks .poster-decoration i:nth-child(3){right:40%;width:1%}.case-nota-lab .editorial-words{font-size:clamp(30px,3.8vw,63px)}.case-nota-lab .poster-decoration i{width:90%;aspect-ratio:1;border:1px solid var(--case-soft);border-radius:50%;right:-30%;bottom:-12%}.case-nota-lab .poster-decoration i:nth-child(2){right:-15%;bottom:-28%}.case-new-york .editorial-poster{background:var(--case-accent);color:#111}.case-new-york .editorial-words{font-size:clamp(50px,8vw,135px);line-height:.87}.case-new-york .poster-decoration i{width:15%;height:50%;background:#111;bottom:0;right:0}.case-new-york .poster-decoration i:nth-child(2){right:16%;height:30%}.case-new-york .poster-decoration i:nth-child(3){right:32%;height:15%}.case-om-yoga .poster-decoration{opacity:.5}.case-om-yoga .poster-decoration i{width:85%;aspect-ratio:1;border-radius:50%;border:1px solid var(--case-soft);right:-15%;bottom:-10%;animation:breath 6s ease-in-out infinite alternate}.case-om-yoga .poster-decoration i:nth-child(2){width:65%;right:-5%;bottom:0;animation-delay:-2s}.case-om-yoga .poster-decoration i:nth-child(3){width:45%;right:5%;bottom:10%;animation-delay:-4s}.case-color-section{padding-top:70px}.case-colors{display:grid;grid-template-columns:1.5fr 1fr 1fr .75fr;height:200px}.case-colors>div{padding:22px;display:flex;align-items:end;font-size:10px}.case-colors>div:last-child{border:1px solid #eee}.case-composition figcaption{font-size:11px}.case-composition figcaption span:first-child{max-width:70%}@keyframes breath{to{transform:scale(.85)}}@media(min-width:1700px){.editorial-words{font-size:80px}}@media(max-width:900px){.editorial-poster{padding:20px}.poster-overline,.poster-bottom{font-size:8px}.case-composition figcaption{display:block}.case-composition figcaption span{display:block}.case-composition figcaption span:first-child{max-width:none}}@media(max-width:600px){.case-composition{grid-template-columns:1fr;gap:35px}.detail-crop{aspect-ratio:1/1}.editorial-poster{padding:25px;aspect-ratio:4/5}.editorial-words{font-size:11vw}.case-nota-lab .editorial-words{font-size:9.2vw}.case-new-york .editorial-words{font-size:20vw}.case-composition figcaption{display:flex;font-size:10px}.case-composition figcaption span:first-child{max-width:68%}.case-color-section{padding-top:45px}.case-colors{height:125px}.case-colors>div{padding:12px;font-size:8px}}

@media(max-width:600px){.statement h2{font-size:clamp(28px,8.4vw,35px)}.project-intro h1{overflow-wrap:break-word}}

/* Prominent contact block, shared across the portfolio. */
.large-contact{border-top:1px solid #989898;padding:25px 0 70px}.large-contact h2{font-size:clamp(32px,4.1vw,68px);font-weight:800;letter-spacing:-.06em;line-height:1.1;margin:0 0 6px;color:#111}.large-email{display:block;width:fit-content;max-width:100%;font-size:clamp(28px,5.3vw,88px);font-weight:800;letter-spacing:-.065em;line-height:1.16;color:#70706c;transition:color .25s}.large-email:hover{color:#111}.large-telegram{display:flex;width:fit-content;align-items:center;gap:30px;font-size:clamp(22px,3vw,46px);font-weight:800;letter-spacing:-.05em;line-height:1.2;color:#70706c;margin-top:8px;transition:color .25s}.large-telegram:hover{color:#111}.contact-mobile-break{display:none}.page-contact{margin:0 4.6%;padding-top:10px}.page-contact .large-contact{padding-bottom:100px}@media(max-width:650px){.large-contact{padding:22px 0 45px}.large-contact h2{font-size:32px;margin-bottom:12px}.large-email{font-size:clamp(23px,6.7vw,43px)}.large-telegram{font-size:24px;gap:20px;margin-top:15px}.contact-mobile-break{display:initial}.page-contact{margin:0 5%}.page-contact .large-contact{padding-bottom:60px}}

/* Compact, consistent contact typography. */
.large-contact{padding:12px 0 85px}.large-contact h2,.large-contact .large-email,.large-contact .large-telegram{font-size:clamp(24px,2.15vw,36px);line-height:1.06;letter-spacing:-.05em;font-weight:800;margin:0;padding:0}.large-contact h2{color:#111}.large-contact .large-email,.large-contact .large-telegram{color:#81817b}.large-contact .large-telegram{gap:14px}.large-contact .large-telegram span{font-size:.72em;font-weight:400}.large-contact .large-email:hover,.large-contact .large-telegram:hover{color:#111}.page-contact .large-contact{padding-bottom:85px}@media(max-width:650px){.large-contact{padding-top:14px;padding-bottom:55px}.large-contact h2,.large-contact .large-email,.large-contact .large-telegram{font-size:clamp(20px,5.2vw,24px);line-height:1.08;letter-spacing:-.05em}.page-contact .large-contact{padding-bottom:55px}}

/* Motion details: square controls, restrained movement, readable resting state. */
@media(prefers-reduced-motion:no-preference){
body:not(.still) .selected-card,body:not(.still) .work-card{transition:translate .45s cubic-bezier(.16,1,.3,1)}
body:not(.still) .selected-card:hover,body:not(.still) .work-card:hover{translate:0 -7px}
body:not(.still) .browse-work,body:not(.still) .nav-cta,body:not(.still) .button{transition:background .3s,color .3s,transform .35s}
body:not(.still) .browse-work:hover,body:not(.still) .button:hover{transform:translateY(-3px)}
body:not(.still) .browse-work span,body:not(.still) .nav-cta span,body:not(.still) .large-telegram span{display:inline-block;transition:transform .35s}
body:not(.still) .browse-work:hover span,body:not(.still) .nav-cta:hover span,body:not(.still) .large-telegram:hover span{transform:translate(4px,-4px)}
body:not(.still) .large-email{transition:color .3s,translate .4s}
body:not(.still) .large-email:hover{translate:7px 0}
body:not(.still) .service[open] .service-body,body:not(.still) .faq details[open] p,body:not(.still) .statement details[open] p{animation:detail-open .45s cubic-bezier(.16,1,.3,1)}
body:not(.still) .hero-dot{display:inline-block;animation:dot-enter 1.4s .3s cubic-bezier(.16,1,.3,1) both}
}
.stat-number [data-count]{display:inline-block;font-variant-numeric:tabular-nums;min-width:1ch}.stat-number [data-count="300"]{min-width:3ch}.stat-number [data-count="80"]{min-width:2ch}
@keyframes detail-open{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes dot-enter{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
.work-card[href$="/angry-cranberry"] img{object-position:50% 100%}.work-card[href$="/la-premiere"] img{object-position:50% 56%}

.work-card[href$="/step"] img{object-position:68% 50%}
.work-card[href$="/step"] img{transform:scale(1.12);transform-origin:50% 100%}.work-card[href$="/step"]:hover img{transform:scale(1.15)}
