
:root{--paper:#efeee9;--ink:#0c0c0c;--muted:#88857d;--line:rgba(12,12,12,.18);--pad:clamp(18px,2.5vw,42px);--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover;background:#111}.site-header{position:fixed;z-index:70;top:0;left:0;right:0;height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference;color:white;pointer-events:none}.site-header>*{pointer-events:auto}.brand{font-size:13px;letter-spacing:.38em;font-weight:700}.desktop-nav{display:flex;gap:28px}.desktop-nav a,.menu-toggle,.menu-close{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:.45s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.menu-toggle,.menu-close{border:0;background:transparent;color:inherit;cursor:pointer}.menu-toggle{display:none}.menu-panel{position:fixed;z-index:100;inset:0;background:#0c0c0c;color:#f5f3ec;padding:24px var(--pad) 30px;transform:translateY(-103%);transition:transform .75s var(--ease);display:flex;flex-direction:column}.menu-panel.open{transform:none}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7vw;margin:auto 0}.eyebrow{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.menu-panel .eyebrow{color:#777}.menu-projects,.menu-links,.menu-news{display:flex;flex-direction:column;gap:10px}.menu-projects a{font-size:clamp(26px,4vw,68px);letter-spacing:.28em;line-height:1.05}.menu-links a{font-size:clamp(28px,5vw,76px);letter-spacing:.22em;line-height:1.02}.menu-news form{display:flex;border-bottom:1px solid #555}.menu-news input{flex:1;background:none;border:0;color:white;padding:12px 0;outline:none}.menu-news button{background:none;border:0;color:white}.form-note{font-style:normal;font-size:10px;letter-spacing:.14em;margin-top:12px}.menu-social{margin-top:28px;color:#aaa;font-size:11px;letter-spacing:.12em}.scroll-hero{height:420vh;background:#080808}.hero-sticky{height:100vh;position:sticky;top:0;overflow:hidden;background:#111;color:#fff}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transform:scale(1.08);transition:opacity .65s var(--ease),transform 1.2s var(--ease)}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-image{filter:saturate(.78) contrast(1.08);transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.15) 42%,rgba(0,0,0,.55))}.hero-title{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}.hero-title span{position:absolute;top:50%;transform:translateY(-50%);font-size:clamp(24px,7.6vw,142px);letter-spacing:.36em;font-weight:300;white-space:nowrap}.hero-title strong{position:absolute;bottom:8vh;font-size:12px;letter-spacing:.6em;font-weight:400}.hero-caption{position:absolute;left:var(--pad);bottom:var(--pad);display:flex;gap:9px;font-size:11px;letter-spacing:.12em}.hero-project{position:absolute;right:var(--pad);bottom:var(--pad);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.hero-progress{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.08em}.hero-progress i{width:1px;height:20vh;background:#777;position:relative}.hero-progress i:after{content:"";position:absolute;left:-1px;top:0;width:3px;height:var(--progress,0%);background:#fff}.hero-hint{position:absolute;left:50%;top:calc(50% + 9vw);transform:translateX(-50%);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.intro{padding:16vh var(--pad) 18vh}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end}.split h1{font-size:clamp(46px,7vw,118px);font-weight:400;line-height:.94;letter-spacing:-.055em;margin:0}.tracked{font-size:clamp(12px,1.2vw,18px);letter-spacing:.26em;line-height:2;text-transform:uppercase}.work-rail{padding:0 var(--pad) 18vh}.section-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:6vh}.rail-card{display:grid;grid-template-columns:1fr 1.4fr;min-height:68vh;border-bottom:1px solid var(--line);padding:5vh 0;gap:6vw;align-items:center}.rail-card:nth-child(even){grid-template-columns:1.4fr 1fr}.rail-card:nth-child(even) .rail-image{order:2}.rail-image{height:58vh;transition:transform .7s var(--ease),filter .7s}.rail-card:hover .rail-image{transform:scale(.985);filter:saturate(1.12)}.rail-meta{display:flex;flex-direction:column;gap:16px}.rail-meta span:first-child{font-size:clamp(56px,8vw,126px);font-weight:300;letter-spacing:-.06em}.rail-meta small{font-size:clamp(14px,1.7vw,24px);letter-spacing:.18em;font-weight:400}.rail-meta span:last-child{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.services-preview{margin:0 var(--pad) 18vh;padding-top:4vh;border-top:1px solid var(--line);display:grid;grid-template-columns:.25fr 1fr;gap:8vw}.service-index{font-size:clamp(60px,8vw,120px);line-height:.8}.service-index span{font-size:10px;letter-spacing:.16em}.service-list a{display:grid;grid-template-columns:60px 1fr 1fr;border-bottom:1px solid var(--line);padding:28px 0;align-items:center}.service-list span{font-size:clamp(26px,4vw,64px);letter-spacing:-.04em}.service-list em{font-style:normal;text-align:right;color:#777;font-size:11px;letter-spacing:.12em}.quote-band{background:#0b0b0b;color:#f5f3ec;min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:12vh var(--pad)}.quote-band p{font-size:clamp(44px,7vw,120px);line-height:.95;letter-spacing:-.045em;max-width:1300px;margin:0}.quote-band span{margin-top:40px;font-size:11px;letter-spacing:.18em}.home-contact{padding:16vh var(--pad)}.home-contact a{font-size:clamp(58px,10vw,170px);line-height:.85;letter-spacing:-.07em}.footer{background:#0c0c0c;color:#e9e6de;padding:9vh var(--pad) 4vh}.footer-mark{font-size:clamp(82px,18vw,320px);letter-spacing:-.08em;line-height:.72;border-bottom:1px solid #333;padding-bottom:7vh}.footer-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:40px;padding-top:28px}.footer-grid>div{display:flex;flex-direction:column;gap:8px}.footer-copy{color:#85827b;font-size:11px;letter-spacing:.09em}.page-hero{padding:18vh var(--pad) 8vh;min-height:84vh}.about-hero h1{font-size:clamp(90px,18vw,320px);line-height:.75;letter-spacing:-.08em;margin:3vh 0 12vh;font-weight:400}.hero-pair{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.hero-pair h2{font-size:clamp(38px,5vw,82px);line-height:.95;font-weight:400;letter-spacing:-.05em;margin:.3em 0}.hero-pair span,.kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.duo-media{display:grid;grid-template-columns:1fr 1fr;height:85vh;gap:var(--pad);padding:0 var(--pad)}.portrait-media:first-child{object-position:center 25%}.about-copy{padding:14vh var(--pad);display:grid;grid-template-columns:.25fr 1fr;gap:9vw}.about-copy h3,.lists-grid h3{font-size:clamp(46px,8vw,130px);margin:0 0 6vh;font-weight:400;letter-spacing:-.07em}.about-copy p{max-width:1050px}.lists-grid{padding:4vh var(--pad) 15vh;display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;border-top:1px solid var(--line)}.lists-grid p{font-size:clamp(18px,2vw,30px);line-height:1.65}.testimonial-wall{padding:12vh var(--pad);background:#0b0b0b;color:#eeeae1}.testimonial-wall h2{font-size:clamp(50px,10vw,164px);letter-spacing:.18em;line-height:.85;font-weight:400;max-width:1400px}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin-top:12vh}.testimonials blockquote{margin:0;border-top:1px solid #555;padding-top:24px;font-size:clamp(18px,2vw,28px)}.testimonials cite{display:block;margin-top:35px;font-size:10px;letter-spacing:.16em;color:#999;font-style:normal}.services-hero{height:100vh;position:relative;background:#111;color:white}.service-hero-img{filter:grayscale(.4) brightness(.55)}.service-hero-title{position:absolute;inset:auto var(--pad) 8vh}.service-hero-title span{font-size:10px;letter-spacing:.2em;text-transform:uppercase}.service-hero-title h1{font-size:clamp(58px,9vw,160px);line-height:.86;letter-spacing:-.065em;font-weight:400;margin:18px 0 0}.service-cards{padding:0 var(--pad) 14vh}.service-card{display:grid;grid-template-columns:80px 1.15fr .85fr;gap:3vw;min-height:82vh;border-bottom:1px solid var(--line);padding:8vh 0;align-items:start}.service-card-num{font-size:12px;letter-spacing:.16em}.service-card-media{height:66vh}.service-card-copy h2{font-size:clamp(42px,6vw,96px);font-weight:400;letter-spacing:-.06em;line-height:.92;margin:0 0 4vh}.service-card-copy strong{display:block;font-size:15px;letter-spacing:.14em;margin-bottom:7vh}.service-card-copy p{border-bottom:1px solid var(--line);padding:14px 0;margin:0;font-size:12px;letter-spacing:.12em}.service-card-copy a{display:inline-block;margin-top:5vh;border-bottom:1px solid}.work-intro{padding:18vh var(--pad) 12vh}.work-intro>div:first-child{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.work-intro h1{font-size:clamp(110px,24vw,420px);line-height:.75;letter-spacing:-.08em;font-weight:400;margin:8vh 0}.work-status{display:grid;grid-template-columns:1fr 1fr 1fr;margin-bottom:9vh}.work-status span:last-child{text-align:right}.work-intro p{max-width:980px;margin-left:auto}.project-list{padding:0 var(--pad) 14vh}.project-row{display:grid;grid-template-columns:.5fr .7fr 1.1fr 1fr;gap:2vw;min-height:70vh;padding:7vh 0;border-top:1px solid var(--line);align-items:center}.project-initial{font-size:clamp(60px,8vw,120px);line-height:.8}.project-initial small{display:block;font-size:11px;letter-spacing:.2em;margin-top:20px}.project-service{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.project-media{height:56vh;overflow:hidden}.project-media img{transition:transform .8s var(--ease)}.project-row:hover .project-media img{transform:scale(1.04)}.project-copy h2{font-size:clamp(32px,4vw,68px);font-weight:400;letter-spacing:-.05em;line-height:.95}.project-copy p,.project-copy span{font-size:11px;letter-spacing:.12em}.project-copy span{display:inline-block;margin-top:10vh;border-bottom:1px solid}.project-detail{background:var(--paper)}.project-hero{height:100vh;position:relative;background:#111;color:white}.project-hero-image{filter:brightness(.72)}.all-work{position:absolute;top:95px;left:var(--pad);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.project-title{position:absolute;left:var(--pad);right:var(--pad);bottom:6vh}.project-title span{font-size:10px;letter-spacing:.16em}.project-title h1{font-size:clamp(70px,13vw,220px);line-height:.75;letter-spacing:-.075em;font-weight:400;margin:20px 0 0}.project-story{padding:14vh var(--pad);display:grid;gap:7vh}.project-story p{max-width:1180px;margin:0 auto}.project-gallery{padding:0 var(--pad) 12vh;display:grid;grid-template-columns:1fr 1fr;gap:var(--pad)}.gallery-item{height:78vh}.gallery-item:nth-child(3n){grid-column:1/-1;height:95vh}.next-project{display:grid;grid-template-columns:.35fr 1fr .5fr 1fr;gap:2vw;align-items:center;padding:10vh var(--pad);border-top:1px solid var(--line)}.next-project>span,.next-project>strong{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.next-letter{font-size:clamp(58px,8vw,120px)}.next-letter small{font-size:13px;letter-spacing:.18em}.next-img{height:42vh}.contact-page{padding:16vh var(--pad) 10vh;min-height:100vh}.contact-digits{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3vh 0;margin:5vh 0 8vh;display:flex;white-space:nowrap;font-size:clamp(80px,15vw,240px);line-height:.72;letter-spacing:.12em}.contact-digits span{animation:marquee 18s linear infinite;padding-right:10vw}.contact-email{font-size:clamp(40px,8vw,130px);letter-spacing:.16em;line-height:.9;word-break:break-word}.contact-bottom{display:grid;grid-template-columns:.3fr 1fr;gap:8vw;margin:10vh 0}.contact-form{max-width:900px;margin-left:auto;display:grid;gap:20px}.contact-form label{display:grid;grid-template-columns:160px 1fr;align-items:start;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.contact-form input,.contact-form textarea{border:0;background:transparent;outline:none;padding:0;min-height:32px}.contact-form textarea{min-height:120px;resize:vertical}.contact-form button{justify-self:end;border:0;border-bottom:1px solid;background:none;padding:12px 0;cursor:pointer}.legal{padding:18vh var(--pad) 14vh;max-width:1200px;margin:auto}.legal h1{font-size:clamp(64px,10vw,150px);font-weight:400;letter-spacing:-.07em;line-height:.85;margin:0 0 4vh}.legal>span{font-size:10px;letter-spacing:.14em;color:#777}.legal section{display:grid;grid-template-columns:.35fr 1fr;gap:6vw;padding:6vh 0;border-top:1px solid var(--line);margin-top:6vh}.legal h2{font-size:14px;letter-spacing:.12em;text-transform:uppercase}.legal p{font-size:18px;line-height:1.65;margin:0}.not-found{min-height:100vh;background:#0b0b0b;color:#eeeae1;padding:16vh var(--pad);display:flex;flex-direction:column;justify-content:center}.not-found span{font-size:12px;letter-spacing:.3em}.not-found h1{font-size:clamp(90px,18vw,300px);font-weight:400;line-height:.72;letter-spacing:-.08em;margin:4vh 0}.not-found a{align-self:flex-start;border-bottom:1px solid;margin-top:4vh}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.js .reveal.in{opacity:1;transform:none}.cursor{position:fixed;z-index:200;left:0;top:0;width:10px;height:10px;border:1px solid #fff;border-radius:50%;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);opacity:0;transition:width .2s,height .2s}.cursor.show{opacity:1}.cursor.big{width:52px;height:52px}.remote-media.remote-loaded{animation:mediaIn .6s ease both}@keyframes mediaIn{from{filter:blur(8px);opacity:.65}to{filter:none;opacity:1}}@keyframes marquee{to{transform:translateX(-100%)}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.site-header{height:62px}.menu-grid{grid-template-columns:1fr;gap:5vh;margin-top:13vh}.menu-projects{display:none}.menu-links a{font-size:clamp(42px,13vw,72px)}.hero-title span{font-size:12vw;letter-spacing:.22em;white-space:normal;padding:0 8vw}.hero-title strong{bottom:12vh}.hero-project{display:none}.hero-progress{right:14px}.split{grid-template-columns:1fr;gap:8vh}.intro{padding-top:11vh}.rail-card,.rail-card:nth-child(even){grid-template-columns:1fr;min-height:auto;padding:3vh 0 8vh}.rail-card:nth-child(even) .rail-image{order:0}.rail-image{height:58vh}.services-preview,.about-copy{grid-template-columns:1fr}.service-index{margin-bottom:5vh}.service-list a{grid-template-columns:40px 1fr}.service-list em{grid-column:2;text-align:left;margin-top:10px}.duo-media{grid-template-columns:1fr;height:auto}.portrait-media{height:65vh}.lists-grid,.testimonials{grid-template-columns:1fr}.testimonial-wall h2{letter-spacing:.08em}.footer-grid{grid-template-columns:1fr 1fr}.footer-copy{grid-column:1/-1}.service-card{grid-template-columns:1fr;padding:7vh 0}.service-card-media{height:58vh}.service-card-copy strong{margin-bottom:4vh}.work-intro h1{font-size:28vw}.work-status{grid-template-columns:1fr 1fr;gap:15px}.work-status span:last-child{grid-column:1/-1;text-align:left}.project-row{grid-template-columns:1fr;min-height:auto}.project-service{margin-bottom:2vh}.project-media{height:62vh}.project-copy span{margin-top:4vh}.project-gallery{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(3n){grid-column:auto;height:65vh}.next-project{grid-template-columns:1fr 1fr}.next-img{grid-column:1/-1;height:55vh}.contact-bottom{grid-template-columns:1fr}.contact-form label{grid-template-columns:1fr;gap:10px}.legal section{grid-template-columns:1fr}.contact-email{letter-spacing:.07em}.page-hero{min-height:auto}.hero-pair{grid-template-columns:1fr}.cursor{display:none}}
@media(max-width:560px){:root{--pad:18px}.hero-title span{font-size:15vw;letter-spacing:.12em}.hero-hint{top:auto;bottom:6vh}.hero-caption{bottom:22px}.footer-mark{font-size:27vw}.project-title h1{font-size:18vw}.project-story{padding:10vh var(--pad)}.tracked{letter-spacing:.18em;line-height:1.8}.contact-digits{font-size:28vw}.contact-email{font-size:11vw}.service-hero-title h1{font-size:15vw}.about-hero h1{font-size:26vw}.home-contact a{font-size:18vw}.quote-band p{font-size:13vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.cursor{display:none}}
/* QA hardening: transformed hero media and oversized display type must never create viewport overflow. */
.hero-slides,.hero-slide{overflow:hidden}
@media(max-width:900px){
  .work-intro h1{font-size:24vw;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:560px){
  .hero-title span{font-size:12.5vw;letter-spacing:.07em;line-height:.92;max-width:calc(100vw - 48px);white-space:normal}
  .footer-mark{font-size:24vw;white-space:nowrap}
  .home-contact a{font-size:16vw;letter-spacing:-.075em}
  .work-intro h1{font-size:24vw}
}
@media(max-width:560px){
  .hero-title span{font-size:10vw;letter-spacing:.035em;max-width:100%;width:100%;padding:0 20px;box-sizing:border-box}
}
