:root{--ink:#151121;--muted:#696474;--line:#e9e6ef;--purple:#6540d6;--paper:#fff;--soft:#f7f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Helvetica Neue",Arial,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.nav{height:88px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white;position:relative;z-index:4}.brand{font-size:24px;letter-spacing:-1.2px;font-weight:850;line-height:.83}.brand span{display:block;color:var(--purple);font-size:10px;letter-spacing:5.5px;margin-top:8px}.nav nav{display:flex;gap:35px;align-items:center;font-size:12px;color:#34303d}.nav nav a:last-child{border:1px solid #d8d1eb;border-radius:30px;padding:11px 17px}.nav nav a:last-child span{color:var(--purple);margin-left:15px}.hero{padding:30px 5.4% 0;min-height:790px;overflow:hidden;position:relative}.eyebrow,.section-label,.case-meta{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px;font-weight:700}.eyebrow{padding-top:14px;color:var(--muted)}.hero-content{position:relative;z-index:1;padding:105px 0 140px}.hero-kicker{font-size:11px;letter-spacing:2px;color:var(--purple);font-weight:750;margin-bottom:34px}.hero h1{font-size:clamp(78px,9.4vw,165px);line-height:.92;letter-spacing:-.087em;font-weight:700;margin:0;max-width:1100px}.hero h1 em,.work-title em,.thinking h2 em,.about em,footer em{font-family:Georgia,"Times New Roman",serif;font-weight:400}.hero h1 em,.hero h1 span{color:var(--purple)}.hero-bottom{margin-top:70px;display:flex;justify-content:space-between;align-items:end;max-width:1020px;gap:30px}.hero-bottom p{max-width:360px;font-size:17px;line-height:1.7;color:var(--muted)}.explore{font-size:13px;border-bottom:1px solid var(--ink);padding:15px 0;display:flex;gap:55px;white-space:nowrap}.explore b{color:var(--purple)}.hero-accent{position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ece7fe 0%,#f6f3ff 42%,transparent 72%);right:-155px;top:130px;z-index:0}section.work,section.thinking,section.about,footer{padding:110px 5.4%}.section-label{border-top:1px solid #dcd7e7;padding-top:18px;color:#665f70}.work-title{display:grid;grid-template-columns:1.5fr .5fr;gap:70px;align-items:end;margin:65px 0 50px}.work-title h2,.thinking h2,.about h2,footer h2{font-size:clamp(51px,6.25vw,105px);letter-spacing:-.07em;line-height:1.04;font-weight:600;margin:0}.work-title em,.thinking em,.about em{color:var(--purple)}.work-title p{font-size:16px;line-height:1.8;color:var(--muted);max-width:330px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter{background:white;border:1px solid #e5e0ed;border-radius:50px;padding:10px 18px;color:#686171;font-size:12px}.filter.active,.filter:hover{background:var(--purple);color:white;border-color:var(--purple)}.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.project-card{grid-column:span 3;cursor:pointer;min-width:0}.project-card:nth-child(5n+1){grid-column:span 4}.project-card:nth-child(5n+2){grid-column:span 2}.project-card:nth-child(5n+3){grid-column:span 2}.project-card:nth-child(5n+4){grid-column:span 2}.project-card:nth-child(5n){grid-column:span 2}.project-image{background:var(--soft);border:1px solid #f0eef3;border-radius:9px;overflow:hidden;height:clamp(270px,35vw,530px);position:relative}.project-card:nth-child(5n+2) .project-image,.project-card:nth-child(5n+3) .project-image,.project-card:nth-child(5n+4) .project-image,.project-card:nth-child(5n) .project-image{height:clamp(270px,30vw,470px)}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.card-arrow{position:absolute;right:18px;top:18px;width:42px;height:42px;display:grid;place-items:center;background:#fff;border-radius:50%;font-size:23px;color:var(--purple);box-shadow:0 8px 25px #0001}.project-caption{display:flex;justify-content:space-between;gap:15px;padding:17px 4px 25px}.project-caption strong{font-size:20px;font-weight:650;letter-spacing:-.6px;display:block}.project-caption small{display:block;color:var(--muted);margin-top:7px;font-size:11px}.num{font-family:Georgia,serif;color:#aaa0b9;font-size:17px}.thinking{background:var(--soft)}.thinking-grid,.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;padding-top:100px}.thinking-grid>div p,.about-grid>div p{font-size:19px;line-height:1.75;color:#5e5967;margin:0 0 28px}.principles{margin-top:55px}.principles div{border-top:1px solid #dcd5e4;padding:21px 0;font-size:16px}.principles span{margin-right:24px;font-size:11px;color:var(--purple)}.interlude{padding:105px 5.4%;background:#20143f;color:white}.interlude>span{font-size:11px;letter-spacing:1.7px;color:#c7b6fc}.interlude h2{font-size:clamp(50px,6vw,92px);font-weight:450;line-height:1.16;letter-spacing:-.055em}.interlude em{font-family:Georgia,serif;color:#b7a0fd;font-weight:400}.about .services{font-size:13px;line-height:2.5;margin-top:30px}.services span{color:var(--purple);margin:0 7px}footer{background:#f7f5fc}footer h2{padding:90px 0 45px}footer h2 em{color:var(--purple)}.footlink{border-bottom:1px solid #a697ce;display:flex;justify-content:space-between;font-size:16px;padding:18px 0;width:min(450px,100%)}.footlink span{color:var(--purple)}.footbottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:22px;border-top:1px solid #ddd7e8;margin-top:120px;padding-top:23px;font-size:10px;letter-spacing:1px;color:#706978}.overlay{position:fixed;inset:0;z-index:50;background:#fff;overflow:auto;transform:translateY(110%);transition:transform .55s cubic-bezier(.75,0,.2,1)}.overlay.open{transform:translateY(0)}body.modal-open{overflow:hidden}.overlay-close{position:sticky;top:0;width:100%;text-align:left;border:none;padding:23px 5.4%;color:#35274b;background:#ffffffed;backdrop-filter:blur(15px);font-size:11px;letter-spacing:1.2px;font-weight:750;z-index:6;border-bottom:1px solid #eee}.overlay-close span{float:right;color:var(--purple)}.case-heading{padding:85px 5.4% 65px}.case-heading h1{font-size:clamp(72px,12vw,170px);line-height:1;letter-spacing:-.086em;margin:80px 0 24px;font-weight:600}.case-heading h1 span{color:var(--purple)}.case-heading>p{font:italic clamp(23px,3vw,43px) Georgia,serif;color:#6a6171;margin:0}.case-cover{margin:0 5.4%;background:var(--soft);height:min(75vh,780px);display:grid;place-items:center}.case-cover img{width:100%;height:100%;object-fit:contain}.case-intro{padding:95px 5.4% 115px;display:grid;grid-template-columns:.4fr 1fr;gap:8%;align-items:start}.case-intro span,.case-section-head>span{font-size:11px;letter-spacing:1.5px;color:var(--purple);font-weight:750}.case-intro p{font-size:clamp(22px,2.7vw,37px);letter-spacing:-.03em;line-height:1.45;margin:0}.case-section{padding:0 5.4% 115px}.case-section-head{display:grid;grid-template-columns:.4fr 1fr;gap:8%;border-top:1px solid #e1dce9;padding:28px 0 47px}.case-section-head h2{font-size:clamp(44px,5.3vw,78px);letter-spacing:-.06em;margin:0 0 18px;font-weight:600}.case-section-head p{font-size:17px;line-height:1.6;color:var(--muted);max-width:710px;margin:0}.case-section-head p strong{color:var(--ink)}.section-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.visual{margin:0;min-width:0;background:#f8f7fa;border:1px solid #f0eef3;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden}.visual.lead{grid-column:span 2}.visual img{width:100%;max-height:840px;object-fit:contain;display:block}.visual:not(.lead) img{max-height:680px}.unavailable{background:var(--soft);padding:70px;color:#746d7a}.next{padding:70px 5.4% 90px;background:#221342;color:white;cursor:pointer}.next small{color:#bbaaf1;letter-spacing:2px}.next h3{font-weight:500;font-size:clamp(54px,8vw,120px);letter-spacing:-.07em;margin:35px 0 0}.next span{color:#bbaaf1}.hidden{display:none!important}@media(max-width:900px){.hero{min-height:auto}.work-title,.thinking-grid,.about-grid{grid-template-columns:1fr;gap:30px}.work-title p{max-width:600px}.bento{grid-template-columns:repeat(2,1fr)}.project-card:nth-child(n){grid-column:span 1}.project-card:nth-child(5n+1){grid-column:span 2}.project-image,.project-card:nth-child(n) .project-image{height:350px}}@media(max-width:620px){.nav{height:75px}.brand{font-size:19px}.nav nav{gap:12px}.nav nav a{font-size:10px}.nav nav a:nth-child(2),.nav nav a:nth-child(3){display:none}.hero{padding:22px 5% 0}.eyebrow{font-size:8px}.eyebrow span:last-child{display:none}.hero-content{padding:100px 0 95px}.hero-kicker{font-size:9px}.hero h1{font-size:clamp(58px,12vw,82px)}.hero-bottom{display:block}.hero-bottom p{font-size:15px}.explore{margin-top:30px}.section-label{font-size:8px}section.work,section.thinking,section.about,footer{padding:75px 5%}.work-title{margin:55px 0 35px}.work-title h2,.thinking h2,.about h2,footer h2{font-size:clamp(46px,10vw,70px)}.bento{display:block}.project-card:nth-child(n){margin-bottom:25px}.project-image,.project-card:nth-child(n) .project-image{height:330px}.thinking-grid,.about-grid{padding-top:60px}.thinking-grid>div p,.about-grid>div p{font-size:16px}.interlude{padding:80px 5%}.interlude h2{font-size:45px}.case-heading{padding:50px 5%}.case-heading h1{font-size:17vw;margin:60px 0 20px}.case-heading>p{font-size:24px}.case-meta{font-size:8px}.case-cover{margin:0 5%;height:50vh}.case-intro,.case-section-head{grid-template-columns:1fr;gap:25px}.case-intro{padding:65px 5%}.case-section{padding:0 5% 75px}.case-section-head h2{font-size:45px}.section-gallery{gap:8px}.visual{grid-column:span 2}.next h3{font-size:53px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* V3 — editorial pacing and image hierarchy */
.project-image{border-radius:3px;border:none;background:#f5f4f7}.project-image img{object-fit:cover}.project-card:nth-child(5n+2) .project-image img,.project-card:nth-child(5n+3) .project-image img{object-fit:contain}.project-caption{padding-top:20px}.project-caption strong{font-weight:550}.section-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.section-gallery .visual{grid-column:span 6;min-height:240px;border:0;border-radius:2px;background:#f7f6f8}.section-gallery .visual.lead{grid-column:span 12}.section-gallery .visual img{width:100%;height:100%;max-height:720px;object-fit:contain}.section-gallery .visual.lead img{max-height:820px}.motion-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.motion-grid figure{margin:0;background:#f6f5f7;padding:14px}.motion-grid video,.motion-grid img{width:100%;max-height:680px;object-fit:contain;display:block}.motion-grid figcaption{font-size:11px;letter-spacing:.02em;padding:14px 4px;color:#706779}.case-heading h1{font-weight:500}.case-section-head h2{font-weight:500}.case-cover img{object-fit:contain}@media(max-width:650px){.section-gallery .visual,.section-gallery .visual.lead{grid-column:span 12}.motion-grid{grid-template-columns:1fr}}

/* V4 visual QA: precise, non-overlapping editorial layout */
.case-intro{background:#fff;position:relative;isolation:isolate;clear:both;display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:7%;padding:86px 5.4% 92px;align-items:start}
.case-intro-copy{max-width:770px}
.case-intro-copy p{font-size:clamp(19px,2vw,27px);line-height:1.6;letter-spacing:-.025em;margin:0;color:#211b2d;font-weight:400}
.case-intro-copy p+p{font-size:clamp(15px,1.25vw,18px);color:#696474;line-height:1.75;margin-top:20px;letter-spacing:0}
.case-cover{height:auto;aspect-ratio:16/8.5;max-height:700px;overflow:hidden;background:#f7f6f9}
.case-cover img{display:block;object-fit:contain;width:100%;height:100%}
.case-heading h1{font-size:clamp(57px,8vw,122px);letter-spacing:-.065em;line-height:1.05;overflow-wrap:break-word;margin:57px 0 22px}
.case-heading{padding-top:72px;padding-bottom:56px}
.case-section-head h2{font-size:clamp(40px,4.1vw,64px)}
.section-gallery .visual,.section-gallery .visual.lead{min-height:0;height:auto;aspect-ratio:1.45/1;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f7f6f9}
.section-gallery .visual.lead{aspect-ratio:16/9}
.section-gallery .visual img,.section-gallery .visual.lead img{height:100%;width:100%;max-height:none;object-fit:contain;object-position:center;display:block}
.project-image,.project-card:nth-child(n) .project-image{height:auto;aspect-ratio:1.38/1;overflow:hidden;background:#f6f5f8}
.project-image img,.project-card:nth-child(n) .project-image img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
.project-card:hover .project-image img{transform:scale(1.016)}
.project-card:nth-child(5n+1) .project-image{aspect-ratio:1.48/1}
.project-caption strong{font-size:clamp(17px,1.45vw,22px);letter-spacing:-.035em}
.motion-grid figure{overflow:hidden;min-width:0}
.motion-grid img,.motion-grid video{width:100%;height:auto;max-height:560px;object-fit:contain}
@media(max-width:900px){.project-image,.project-card:nth-child(n) .project-image{aspect-ratio:1.18/1}.case-cover{aspect-ratio:4/3}}
@media(max-width:620px){.case-intro{grid-template-columns:1fr;padding:46px 5% 60px;gap:18px}.case-intro-copy p{font-size:20px}.case-intro-copy p+p{font-size:15px}.case-heading h1{font-size:clamp(50px,12vw,78px);margin-top:38px}.case-cover{aspect-ratio:1.2/1}.project-image,.project-card:nth-child(n) .project-image{aspect-ratio:1.4/1}.section-gallery .visual,.section-gallery .visual.lead{aspect-ratio:4/3}.section-gallery{gap:12px}}

.overlay{visibility:hidden;pointer-events:none}.overlay.open{visibility:visible;pointer-events:auto}

/* V5: safari-friendly, user-controllable project motion */
.motion-section .motion-grid{grid-template-columns:minmax(0,1fr);max-width:960px;margin-left:auto;margin-right:auto}
.motion-grid figure{background:#f7f6fa;padding:14px;border-radius:4px}
.motion-grid video,.motion-grid .motion-gif img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;background:#f7f6fa}
.video-toolbar{display:flex;justify-content:space-between;gap:12px;margin:12px 0 2px}
.video-toolbar button{appearance:none;background:#fff;border:1px solid #ded9e7;color:#332646;border-radius:30px;font-size:12px;padding:10px 16px}
.video-toolbar button:hover{border-color:#6540d6;color:#6540d6}
@media(max-width:650px){.motion-section .motion-grid{display:block}.motion-grid figure{padding:8px}.video-toolbar button{padding:9px 12px}}

/* V6 — zero tracking across every on-page text element, overriding inherited display and label rules. */
html, body, body *, body *::before, body *::after { letter-spacing: 0 !important; }

/* V7: SVG arrows instead of emoji glyphs (consistent on Safari/iOS). */
.icon-arrow-up-right{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none;stroke:currentColor}
.card-arrow .icon-arrow-up-right{width:22px;height:22px;vertical-align:middle}
.next h3 .icon-arrow-up-right{width:.42em;height:.42em;vertical-align:.07em;margin-left:.13em}
.nav nav a:last-child .icon-arrow-up-right,.footlink .icon-arrow-up-right{width:17px;height:17px;vertical-align:-.2em}
