@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f8f8f5;--ink:#24251f;--muted:#686b60;--line:#d7d9cf;--accent:#d6fa55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button{background:none;border:0}a:focus-visible,button:focus-visible{outline:2px solid #566e14;outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.04;letter-spacing:-.055em}h1{font-size:clamp(60px,8vw,128px)}h2{font-size:clamp(32px,4.5vw,72px)}em{font-family:Georgia,serif;font-weight:400}p+p{margin-top:20px}header{height:100px;position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;border-bottom:1px solid var(--line);background:var(--paper)}.home header{position:absolute;top:0;width:100%;background:transparent;border:0}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.12em;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:.1em;font-weight:400}.signature{width:32px;height:60px;position:relative;flex-shrink:0}.signature img{display:block;width:100%;height:100%;object-fit:contain}.we{font-size:14px;display:flex;gap:5px;margin:0 25px}.we span{display:inline-block;min-width:108px;transition:opacity .25s,transform .25s}.we .changing{opacity:0;transform:translateY(-8px)}header nav{display:flex;gap:25px;font-size:14px}header nav a{padding:9px 0;border-bottom:1px solid transparent}header nav a:hover,header nav a[aria-current]{border-color:currentColor}header nav a:last-child{border-bottom:1px solid currentColor}.menu-toggle{display:none}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:500;margin-bottom:22px}.skip{position:absolute;left:15px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.page{padding:85px 5vw 120px}.page-intro{margin-bottom:80px}.page-intro>p:not(.eyebrow){margin-top:30px;color:var(--muted);max-width:550px;font-size:18px}.page-intro>small{display:block;margin-top:20px;max-width:590px;color:var(--muted);font-size:13px}.page-intro>a{display:block;margin-top:28px;text-decoration:underline;text-underline-offset:6px}.photo{position:relative;overflow:hidden;width:100%;background:#e7e8e3}.photo img{position:absolute;max-width:none;height:auto}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px 28px}.work-card:nth-child(even){margin-top:140px}.work-card h2{font-size:30px;letter-spacing:-.045em}.card-meta{padding-top:20px;display:flex;justify-content:space-between;gap:20px;align-items:start}.card-meta>span{font-size:12px;color:var(--muted);max-width:160px;text-align:right}.kinetic{display:block;perspective:1200px}.kinetic>.photo,.lab-card>img{transition:transform .6s cubic-bezier(.2,.8,.2,1);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}.kinetic:hover>.photo{box-shadow:0 20px 45px #151a1515}.site-footer{background:var(--ink);color:var(--paper);padding:65px 5vw 30px}.footer-title{font-size:clamp(45px,7vw,108px);line-height:1.02;letter-spacing:-.06em;display:block;padding-bottom:70px}.footer-title>span{color:var(--accent);float:right}.footer-bottom{border-top:1px solid #ffffff35;padding-top:25px;display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.05em}.footer-bottom>div{display:flex;gap:25px}.footer-bottom button{padding:0;font-size:12px}.project-page{padding:45px 5vw 100px}.back{display:inline-block;font-size:14px;margin-bottom:65px}.project-heading{margin-bottom:60px}.project-heading h1{font-size:clamp(48px,7.4vw,110px)}.project-heading>p:last-child:not(.eyebrow){margin-top:20px;color:var(--muted);font-size:14px}.project-hero{max-height:85vh}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:80px 0}.project-story h2{font-size:clamp(36px,4vw,64px)}.project-story p{max-width:520px;font-size:19px;color:var(--muted)}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.detail-gallery .photo:first-child:last-child{grid-column:1/-1}.next-project{display:block;border-top:1px solid var(--line);margin-top:90px;padding-top:35px;font-size:clamp(26px,3vw,48px);letter-spacing:-.04em}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lab-card{position:relative;aspect-ratio:1;overflow:hidden;background:#292a28;color:white}.lab-card>img{width:100%;height:100%;object-fit:cover}.lab-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#0009)}.lab-card>div{position:absolute;bottom:36px;left:32px;right:25px;z-index:1}.lab-card h2{font-size:clamp(35px,4vw,65px);margin:12px 0 25px}.lab-card.aesop img{object-position:center}.lab-card>div>span:last-child{font-size:14px}.lab-hero{width:100%;max-height:85vh;object-fit:cover}.accent{color:#839f2f}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.process-grid article{border-top:1px solid var(--line);padding-top:20px}.process-grid article>span{font-size:12px;color:var(--muted)}.process-grid h3{font-size:27px;margin:24px 0 15px}.process-grid p{font-size:15px;color:var(--muted)}.study-images{display:flex;gap:25px;margin-top:70px}.study-images figure{margin:0;flex:1}.study-images figcaption{font-size:13px;margin-top:10px;color:var(--muted)}.newsletter-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.7fr);gap:8vw;align-items:start}.report{box-shadow:0 12px 60px #20202015;width:100%}.newsletter-layout aside{position:sticky;top:35px}.newsletter-layout h2{font-family:Georgia,serif;letter-spacing:-.045em;font-size:45px;line-height:1.12;margin-bottom:25px}.newsletter-layout aside>p:not(.eyebrow){color:var(--muted)}.sample-label{font-size:13px}.text-link{display:inline-block;border-bottom:1px solid;margin:15px 0 35px}form label{display:block;font-size:14px}input:not([type=checkbox]),textarea{border:0;border-bottom:1px solid #adb0a4;background:transparent;padding:13px 0;width:100%;border-radius:0;outline-offset:4px;color:var(--ink)}form>label,.field-pair{margin-bottom:28px}textarea{resize:vertical}.solid{display:inline-block;background:var(--ink);color:white;border:1px solid var(--ink);padding:17px 24px;transition:background .2s}.solid:hover{background:#424538}.consent{display:flex;gap:10px;align-items:start;font-size:13px;margin:20px 0}input[type=checkbox]{margin-top:4px;accent-color:#424b20}.form-note,.form-status{font-size:13px;color:var(--muted);margin-top:15px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-page{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.contact-page h1{font-size:clamp(55px,6.5vw,100px)}.contact-page form{padding-top:15px}.large-signature{height:380px;overflow:hidden;display:flex;justify-content:center;mix-blend-mode:multiply}.large-signature img{object-fit:contain;height:100%;max-width:100%}.studio-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:100px 0}.studio-intro h2{font-size:45px;margin-bottom:30px}.studio-intro p:not(.eyebrow){color:var(--muted);max-width:550px}.pillars{display:grid;grid-template-columns:1fr 1fr;gap:65px 9vw}.pillars article{border-top:1px solid var(--line);padding-top:20px}.pillars article>span{font-size:13px}.pillars h2{font-size:42px;max-width:400px;margin:35px 0 22px}.pillars p{max-width:490px;color:var(--muted)}
/* The scene is one persistent model: scroll changes its camera and finishes. */
#journey{height:560svh}.journey-sticky{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden}.hero-title{position:absolute;z-index:2;top:120px;left:5vw;pointer-events:none}.hero-title .eyebrow{margin-bottom:10px}.hero-title h1{font-size:clamp(45px,5.5vw,85px);line-height:1}.hero-title h1 em{display:inline}.hero-title{transition:opacity .3s}#scene{position:absolute;inset:160px 0 145px}#scene canvas{width:100%;height:100%;display:block}#scene-status{position:absolute;top:45%;left:0;width:100%;text-align:center;font-size:14px;color:var(--muted)}.scene-tools{position:absolute;right:3.5vw;top:120px;display:flex;align-items:center;gap:25px;font-size:11px;letter-spacing:.08em}.scene-tools button{font-size:12px;border-bottom:1px solid var(--line);padding:5px 0}.phase-copy{position:absolute;left:5vw;bottom:114px;right:5vw;display:grid;grid-template-columns:140px 1.2fr 1fr auto;align-items:center;gap:30px;pointer-events:none}.phase-copy>span{font-size:12px;letter-spacing:.08em}.phase-copy h2{font-size:30px;letter-spacing:-.04em}.phase-copy p{font-size:15px;color:var(--muted);max-width:350px}.phase-copy>a{pointer-events:auto;font-size:13px;text-decoration:underline;text-underline-offset:6px}.journey-bottom{position:absolute;bottom:20px;left:5vw;right:5vw}.phases{display:flex;gap:25px}.phases button{font-size:14px;padding:10px 0;color:#76796d;display:flex;gap:12px}.phases button small{font-size:10px}.phases button[aria-current]{color:var(--ink)}.phases button[aria-current] small{background:var(--accent);border-radius:50%;padding:0 5px}.progress{height:1px;background:var(--line);margin-top:10px}.progress i{display:block;height:2px;background:#59643a;width:0}.scroll-hint{font-size:10px;letter-spacing:.14em;position:absolute;right:0;top:16px}.home-work{padding:70px 5vw 100px;background:#eeeFE8}.section-top{display:flex;justify-content:space-between;font-size:14px}.home-work h2{margin:35px 0 55px;font-size:clamp(55px,7vw,105px)}.feature-work>span{display:flex;justify-content:space-between;padding:20px 0;font-size:22px}.feature-work>span>span{font-size:14px}
@media(min-width:1700px){#scene{inset:170px 4vw 155px}}
@media(max-width:1100px){header nav{gap:16px}.we{display:none}.phase-copy{grid-template-columns:100px 1fr 1fr;gap:20px}.phase-copy>a{display:none}.phase-copy h2{font-size:27px}.card-meta{display:block}.card-meta>span{display:block;text-align:left;max-width:none;margin-top:8px}.scene-tools>span{display:none}}
@media(max-width:760px){header{height:80px;padding:0 6vw}.brand{font-size:11px}.brand small{font-size:8px}.menu-toggle{display:block;font-size:14px}header nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:25px 6vw 35px;box-shadow:0 20px 20px #0001;flex-direction:column;font-size:24px}header nav.open{display:flex}.page{padding:55px 6vw 75px}.page-intro{margin-bottom:50px}.page-intro>p:not(.eyebrow){font-size:16px}.work-grid,.lab-grid{grid-template-columns:1fr;gap:45px}.work-card:nth-child(even){margin-top:0}.footer-title{padding-bottom:45px}.footer-bottom,.footer-bottom>div{flex-wrap:wrap;gap:20px}.project-page{padding:35px 6vw 65px}.back{margin-bottom:45px}.project-heading{margin-bottom:35px}.project-story{grid-template-columns:1fr;gap:25px;padding:45px 0}.project-story p{font-size:17px}.detail-gallery{gap:15px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.study-images{flex-direction:column}.lab-card h2{font-size:45px}.newsletter-layout{grid-template-columns:1fr;gap:45px}.newsletter-layout aside{position:static}.newsletter-layout h2{font-size:38px}.contact-page{display:block}.contact-page form{margin-top:50px}.field-pair{grid-template-columns:1fr;gap:25px}.studio-intro{grid-template-columns:1fr;margin:50px 0;gap:30px}.large-signature{height:200px;justify-content:start}.pillars{grid-template-columns:1fr;gap:45px}.pillars h2{font-size:37px}.hero-title{top:100px;left:6vw}.hero-title h1{font-size:44px;max-width:300px}.hero-title h1 em{display:block}.hero-title .eyebrow{font-size:10px}.scene-tools{top:104px;right:6vw}.journey-sticky{min-height:620px}#journey{height:500svh}#scene{inset:190px -8% 225px}.phase-copy{left:6vw;right:6vw;bottom:113px;display:block}.phase-copy>span{font-size:10px}.phase-copy h2{font-size:27px;margin:7px 0}.phase-copy p{font-size:14px;max-width:340px;line-height:1.4}.phases{gap:0;justify-content:space-between}.phases button{font-size:11px;display:flex;flex-direction:column;gap:2px;align-items:center}.phases button small{font-size:9px}.scroll-hint{display:none}.journey-bottom{left:6vw;right:6vw;bottom:20px}.home-work{padding:50px 6vw}.section-top{display:block}.section-top a{display:inline-block;margin-top:10px}.feature-work>span{font-size:18px}.feature-work>span>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.kinetic>.photo,.lab-card>img{transform:none!important}}

/* Approved flat artwork, uniformly scaled without perspective distortion. */
#scene{display:flex;align-items:center;justify-content:center;overflow:hidden}
.flat-camera{position:relative;flex:none;transform-origin:50% 55%;will-change:transform;background:#fff}
.flat-layer{position:absolute;inset:0;overflow:hidden;opacity:0}
.flat-layer:first-child{opacity:1}
.flat-layer img{position:absolute;max-width:none;height:auto}
.project-reveal{width:100%;height:auto}
.phases button[aria-current] small{background:#E38C39;color:#24251f}
.progress i{background:#E38C39}
@media(max-width:760px){#scene{left:0;right:0}}

/* Seamless white-on-paper artwork, with the wipe composited before blending. */
.hero-title h1 em,.footer-title>span{color:#E38C39}
.flat-camera{background:#fff;mix-blend-mode:multiply;isolation:isolate}
.flat-layer{background:#fff}
.flat-layer img{filter:brightness(1.015)}
#scene{isolation:auto}
/* Supply an opaque local backdrop inside the sticky stacking context. */
#scene{background:var(--paper)}
.music-credit{font-size:12px;line-height:1.6;letter-spacing:0;color:#c6c8be;margin-top:24px}.music-credit a{text-decoration:underline;text-underline-offset:3px}
/* Editorial portfolio and supplied sketch reveals. */
:root{--accent:#E38C39}
header nav a[href="/lab.html"],.accent{color:var(--accent)}
a:focus-visible,button:focus-visible{outline-color:var(--ink)}
.home-work{background:var(--paper)}
.home-work h2{max-width:1200px;font-size:clamp(42px,6vw,88px)}
.phase-copy>a{display:block;white-space:nowrap}
.selected-home{padding:45px 5vw 110px}
.selected-trio{display:grid;grid-template-columns:1fr .8fr 1fr;gap:3vw;align-items:center;margin-top:40px}
.philosophy{margin:0;padding:70px 4vw;color:var(--accent)}
.philosophy p{font-size:clamp(32px,4.5vw,68px);letter-spacing:-.045em;line-height:1.12;max-width:1100px}
.selected-trio .philosophy{padding:30px 0}
.selected-trio .philosophy p{font-size:clamp(27px,2.5vw,43px)}
.work-grid>.philosophy{grid-column:1/-1}
.work-grid>.work-card:nth-child(even){margin-top:0}
.orange-panel{background:var(--accent);color:white;padding:85px 6vw}
.reveal-card{min-width:0;align-self:start}
.reveal-surface{position:relative;overflow:hidden;isolation:isolate;--reveal-x:50%;--reveal-y:50%;--reveal-radius:0px;background:white}
.reveal-surface>.photo{min-height:0}
.sketch-layer{position:absolute;inset:0;background:white;pointer-events:none;mask-image:radial-gradient(circle at var(--reveal-x) var(--reveal-y),black 0,black var(--reveal-radius),transparent calc(var(--reveal-radius) + 35px));-webkit-mask-image:radial-gradient(circle at var(--reveal-x) var(--reveal-y),black 0,black var(--reveal-radius),transparent calc(var(--reveal-radius) + 35px));opacity:0;transition:opacity .3s}
.sketch-layer img{position:absolute;max-width:none;height:auto;width:202%;left:-48%;top:-10%}
.lacoste .sketch-layer img{width:186%;left:-34%;top:-8%}
.reveal-surface.is-exploring .sketch-layer{opacity:1}
.reveal-surface.is-revealed .sketch-layer{opacity:1;mask-image:none;-webkit-mask-image:none}
.reveal-caption{position:absolute;bottom:16px;left:16px;right:16px;padding:16px 18px;background:#24251feb;color:white;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.reveal-caption span{font-size:12px;letter-spacing:.12em}
.reveal-caption p{font-size:16px;line-height:1.4;margin-top:7px}
.is-exploring .reveal-caption,.is-revealed .reveal-caption{opacity:1;transform:none}
.reveal-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 0;font-size:14px}
.reveal-toggle{padding:0;border-bottom:1px solid var(--ink)}
.reveal-controls>a{text-decoration:underline;text-underline-offset:5px}
.founder-portrait{width:100%;height:620px;object-fit:cover;object-position:center}
.studio-working,.lab-research,.project-insight{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;margin:100px 0}
.studio-working>img,.lab-research>img{width:100%;max-height:650px;object-fit:cover}
.studio-working h2,.lab-research h2,.project-insight h2{font-size:clamp(32px,3.8vw,58px);margin-bottom:25px}
.studio-working p:not(.eyebrow),.lab-research p:not(.eyebrow),.project-insight p:not(.eyebrow){color:var(--muted);margin-top:20px}
.lab-research small{display:block;margin-top:20px;color:var(--muted)}
.services{padding-top:80px;border-top:1px solid var(--line);scroll-margin-top:30px}
.services>h2{margin:30px 0}
.service-intro{max-width:700px;color:var(--muted);font-size:19px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:55px 0}
.service-grid article{border-top:1px solid var(--ink);padding-top:25px}
.service-grid h3{font-size:34px;line-height:1.13;margin:24px 0}
.service-price{font-size:23px;color:var(--ink)}
.service-grid article>p:not(.service-price){color:var(--muted)}
.service-detail{font-size:14px;border-top:1px solid var(--line);padding-top:20px}
.delivery-note{display:grid;grid-template-columns:1fr 2fr;gap:5vw;padding:35px 0;border-top:1px solid var(--line)}
.delivery-note h3{font-size:32px}.delivery-note p{color:var(--muted)}
@media(max-width:1100px){.phase-copy{grid-template-columns:100px 1fr 1fr}.phase-copy>a{grid-column:2/-1;justify-self:end}.selected-trio{grid-template-columns:1fr 1fr;gap:30px}.selected-trio .philosophy{grid-column:1/-1;grid-row:2;padding:25px 0}.selected-trio .reveal-card:last-child{grid-column:2;grid-row:1}.selected-trio .philosophy p{font-size:42px}.service-grid{gap:22px}.founder-portrait{height:500px}}
@media(max-width:760px){.selected-home{padding:35px 6vw 65px}.selected-trio{display:flex;flex-direction:column;gap:25px;align-items:stretch}.selected-trio .philosophy{padding:28px 0}.selected-trio .philosophy p{font-size:36px}.phase-copy>a{display:inline-block;margin-top:8px;font-size:13px}.phase-copy{bottom:112px}.phase-copy h2{font-size:25px}.work-grid>.philosophy{padding:30px 0}.work-grid>.orange-panel{padding:40px 25px}.philosophy p{font-size:36px}.founder-portrait{height:auto;max-height:620px;object-fit:contain}.studio-working,.lab-research,.project-insight{grid-template-columns:1fr;gap:30px;margin:65px 0}.service-grid{grid-template-columns:1fr;gap:40px}.delivery-note{grid-template-columns:1fr;gap:20px}.services{padding-top:45px}.reveal-caption{padding:12px;left:10px;right:10px;bottom:10px}.reveal-caption p{font-size:14px}}
@media(max-height:700px) and (min-width:761px){.journey-sticky{min-height:600px}.hero-title{top:105px}.hero-title h1{font-size:48px}.scene-tools{top:110px}}
@media(prefers-reduced-motion:reduce){.reveal-caption{transform:none}.sketch-layer{transition:none}}
.project-story .role-line{font-size:12px;letter-spacing:.08em;margin-bottom:22px;color:var(--ink)}
.confidential-note{border-top:1px solid var(--line);margin-top:80px;padding-top:45px;max-width:850px}.confidential-note h2{font-size:clamp(34px,4vw,60px);margin-bottom:25px}.confidential-note>p:not(.eyebrow){color:var(--muted);max-width:650px}.confidential-note>a{display:inline-block;margin-top:25px;text-decoration:underline;text-underline-offset:5px}
/* Lacoste establishes the case study rhythm: space, experience, thinking, evolution. */
.lacoste-new .card-finished{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lacoste-concept .sketch-layer{background:#24251f}
.lacoste-concept .sketch-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:100%}
.concept-label{position:absolute;top:18px;left:18px;color:white;font-size:12px;letter-spacing:.14em}
.lacoste-card-meta h2{font-size:28px;line-height:1.15;letter-spacing:-.03em}
.lacoste-card-meta p{font-size:13px;color:var(--muted);margin-top:12px}
.lacoste-case{max-width:1800px;margin:auto}
.case-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}
.case-heading h1{font-size:clamp(44px,6.6vw,104px);line-height:1.03}
.case-category{font-size:14px;color:var(--muted);flex-shrink:0;padding-bottom:8px}
.lacoste-case figure{margin:0}
.case-hero>img{width:100%;height:auto;max-height:85vh;object-fit:contain;background:#e8e8e2}
.lacoste-case figcaption{font-size:14px;padding-top:15px;color:var(--muted);line-height:1.5}
.case-hero figcaption{display:flex;justify-content:space-between;gap:20px}
.case-hero figcaption>span:first-child{font-size:12px;letter-spacing:.12em}
.case-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 0}
.case-story h2{font-size:clamp(36px,4.4vw,68px);line-height:1.1}
.case-story>div>p{font-size:18px;color:var(--muted)}
.case-contribution{border-top:1px solid var(--line);margin-top:35px;padding-top:24px}
.case-contribution p{font-size:15px;margin-top:12px}
.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start}
.case-pair figure:last-child{margin-top:100px}
.case-pair img{width:100%;height:auto}
.case-pair figcaption span{display:block;font-size:12px;letter-spacing:.12em;color:var(--ink);margin-bottom:6px}
.evolution{margin:110px 0;padding:65px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evolution-heading{max-width:850px;margin-bottom:45px}
.evolution-heading h2{font-size:clamp(36px,4.5vw,68px);line-height:1.1}
.evolution-heading>p:last-child{color:var(--muted);margin-top:24px}
.evolution-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;align-items:start}
.evolution-drawing{position:sticky;top:35px;background:white;padding:20px 0}
.evolution-drawing img{width:100%;height:auto}
.drawing-label{display:block;padding:18px 20px 0;font-size:12px;letter-spacing:.12em;color:var(--muted)}
.evolution-controls{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:30px}
.evolution-controls button{font-size:18px;padding:12px 0;border-bottom:3px solid transparent}
.evolution-controls button[aria-pressed=true]{border-color:var(--accent)}
.evolution-panel[hidden]{display:none}
.evolution-panel ul{padding:0;margin:0;list-style:none}
.evolution-panel li{padding:15px 0;border-top:1px solid var(--line)}
.evolution-panel li strong{font-size:19px;font-weight:500;display:block}
.evolution-panel li span{display:block;color:var(--muted);margin-top:5px;font-size:16px}
.first-chapter{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center}
.first-chapter h2{font-size:clamp(34px,3.7vw,57px);line-height:1.12;margin-bottom:25px}
.first-chapter p:last-child{color:var(--muted);font-size:18px}
.first-chapter img{width:100%;height:auto}
.case-end{border-top:1px solid var(--line);margin-top:90px;padding-top:30px;display:flex;justify-content:space-between;gap:30px}
.case-end a:first-child{font-size:clamp(26px,3vw,42px);line-height:1.2;letter-spacing:-.03em;max-width:660px}
.case-end a:last-child{font-size:15px;align-self:end;text-decoration:underline;text-underline-offset:6px;white-space:nowrap}
@media(max-width:760px){.case-heading{display:block;margin-bottom:30px}.case-category{margin-top:25px}.case-heading h1{font-size:clamp(40px,8vw,60px)}.case-hero>img{max-height:none}.case-hero figcaption{display:block}.case-hero figcaption span{display:block}.case-hero figcaption span+span{margin-top:8px}.case-story{grid-template-columns:1fr;gap:30px;padding:50px 0}.case-pair{gap:25px}.case-pair figure:last-child{margin-top:45px}.evolution{margin:60px 0;padding:40px 0}.evolution-layout,.first-chapter{grid-template-columns:1fr;gap:30px}.evolution-drawing{position:static}.case-end{display:block;margin-top:55px}.case-end a{display:block}.case-end a:last-child{margin-top:30px}.lacoste-card-meta h2{font-size:26px}}
@media(max-width:430px){.case-pair{grid-template-columns:1fr}.case-pair figure:last-child{margin-top:10px}}
/* Five project portfolio: original imagery and full annotated drawings. */
.portfolio-reveal{aspect-ratio:4/3;background:#e8e8e2}
.portfolio-reveal>img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-reveal .sketch-layer{background:#24251f}
.portfolio-reveal .sketch-layer img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain}
.portfolio-reveal .concept-label{top:12px;bottom:auto;font-size:11px}
.image-kind{position:absolute;bottom:12px;left:12px;padding:5px 9px;background:#ffffffdf;font-size:12px;color:#24251f;transition:opacity .2s}
.is-exploring .image-kind,.is-revealed .image-kind{opacity:0}
.portfolio-hover{font-size:16px;line-height:1.45;min-height:3em;margin-top:18px;color:var(--muted);transition:color .2s}
.portfolio-card:has(.is-exploring) .portfolio-hover,.portfolio-card:has(.is-revealed) .portfolio-hover{color:var(--ink)}
.portfolio-meta h2{font-size:clamp(25px,2.5vw,37px);letter-spacing:-.025em;line-height:1.15}
.portfolio-meta p{font-size:14px;color:var(--muted);margin-top:10px}
.launch-grid>.portfolio-card:last-child{grid-column:1/-1;max-width:1000px;width:100%;justify-self:center}
.launch-case .case-heading h1{max-width:1100px;font-size:clamp(42px,5.7vw,88px)}
.launch-case .case-heading{align-items:start}
.launch-case .case-category{max-width:235px}
.launch-case .case-hero img{width:100%;height:auto;max-height:85vh;object-fit:contain;background:#e8e8e2}
.launch-case .case-story>div>p+p{margin-top:20px}
.case-reveal{display:grid;grid-template-columns:.65fr 1.35fr;gap:6vw;align-items:center;margin:100px 0}
.case-reveal h2{font-size:clamp(32px,4vw,58px);line-height:1.1}
.case-reveal>div>p:last-child{margin-top:20px;color:var(--muted)}
.case-reveal .portfolio-hover{min-height:0}
.switch-panel:not([hidden]){display:grid;grid-template-columns:1.4fr .8fr;gap:5vw;align-items:center}
.switch-panel img{width:100%;height:auto;max-height:650px;object-fit:contain}
.switch-panel h3{font-size:clamp(27px,3vw,42px);line-height:1.15;margin-bottom:20px}
.switch-panel p{color:var(--muted);font-size:17px}
.evolution-controls{flex-wrap:wrap;gap:12px 28px}
.evolution-controls button{min-height:44px}
.swatch-opening{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.swatch-opening img{width:100%;max-height:780px;object-fit:contain}
.three-words>span{font-size:12px;letter-spacing:.1em}
.three-words>p{font-size:clamp(40px,5.8vw,86px);line-height:1.15;letter-spacing:-.04em;margin:35px 0}
.three-words em{color:var(--accent)}
.map-artwork img,.case-wide img{width:100%;height:auto}
.case-wide{max-width:1050px;margin:60px auto}
.royal-decisions{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:100px 0;padding:60px 0;border-block:1px solid var(--line)}
.royal-decisions h2{font-size:clamp(30px,4vw,55px);line-height:1.1;margin-bottom:20px}
.royal-decisions p:last-child{color:var(--muted)}
.snowflake-story{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4vw;align-items:center;padding:65px 0;border-block:1px solid var(--line);margin:100px 0}
.snowflake-story h2{font-size:clamp(32px,3.4vw,52px);line-height:1.1;margin-bottom:25px}
.snowflake-story>div>p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:16px}
.snowflake-play,.gift-card{text-align:center}
.snowflake-sample{width:100%;aspect-ratio:1;position:relative;overflow:hidden;background:white}
.snowflake-sprite{position:absolute;inset:0;background-image:url('/assets/swatch/snowflake-iterations.png');background-size:1000% 500%;background-position:0% 0%;background-repeat:no-repeat}
.snowflake-story button{border-bottom:1px solid var(--ink);min-height:44px;margin-top:20px;font-size:15px}
.gift-card img{width:100%;height:auto;background:white;border-radius:50%;transition:opacity .2s}
.gift-card>p{font-size:12px!important;letter-spacing:.1em}
.snowflake-count{font-size:13px!important}
.iteration-sheet{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;margin-top:20px}
.iteration-sheet summary{cursor:pointer;min-height:44px;font-size:16px}
.iteration-sheet img{width:100%;height:auto;margin-top:25px}
@media(max-width:1000px){.launch-case .case-heading{display:block}.launch-case .case-category{max-width:none;margin-top:25px}.snowflake-story{grid-template-columns:1fr 1fr}.snowflake-story>div:first-child{grid-column:1/-1}.snowflake-play,.gift-card{max-width:350px;width:100%;justify-self:center}}
@media(max-width:760px){.case-reveal,.switch-panel:not([hidden]),.royal-decisions,.swatch-opening{grid-template-columns:1fr;gap:30px}.case-reveal,.royal-decisions,.snowflake-story{margin:60px 0}.swatch-opening .three-words{grid-row:1}.three-words>p{font-size:44px;margin:20px 0}.portfolio-hover{min-height:0;font-size:15px}.evolution-controls button{font-size:16px}.launch-case .case-hero img{max-height:none}.snowflake-story{gap:25px}.portfolio-reveal .concept-label{font-size:10px;top:8px}.launch-grid>.portfolio-card:last-child{max-width:none}}
@media(prefers-reduced-motion:reduce){.portfolio-hover,.image-kind,.gift-card img{transition:none}}
