@font-face{font-family:Anton;src:url('assets/anton.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Mona;src:url('assets/mona-medium.woff2') format('woff2');font-display:swap;font-weight:400 500}@font-face{font-family:Mona;src:url('assets/mona-bold.woff2') format('woff2');font-display:swap;font-weight:600 900}
:root{--ink:#050505;--paper:#fff;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:60px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Mona,Arial,sans-serif;font-weight:500;letter-spacing:-.035em}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;letter-spacing:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #888;outline-offset:7px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h2{font-family:Anton,Impact,sans-serif;font-size:clamp(70px,9.6vw,160px);line-height:1.01;font-weight:400;letter-spacing:-.025em;text-transform:uppercase}::selection{color:white;background:black}.skip{position:fixed;left:16px;top:-60px;padding:12px 20px;background:black;color:white;z-index:50}.skip:focus{top:16px}
.hero{padding:22px 30px 30px;min-height:760px;height:100svh;max-height:1150px;background:#e7e7e7;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column}.hero:before{content:'';position:absolute;inset:35% 0 0;background:url('assets/mountains.jpg') center 70%/cover;opacity:.09;z-index:-1}.wordmark{font-family:Anton,Impact,sans-serif;line-height:1.03;font-size:27vw;letter-spacing:-.025em;font-weight:400;white-space:nowrap;text-align:center;margin:0 -6px;animation:entrance 1.3s var(--ease) both;transform-origin:top}.disciplines{display:flex;justify-content:space-around;font-size:18px;margin-top:8px;letter-spacing:-.02em;animation:entrance 1.5s var(--ease) both}.hero-bottom{display:grid;grid-template-columns:43% 57%;align-items:end;margin-top:auto;padding-top:40px}.nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.nav a{display:flex;align-items:center;gap:10px;font-size:36px;font-weight:700;letter-spacing:-.035em;line-height:1.14}.nav b,.contact-links b{font-size:18px;border:1px solid black;min-width:48px;text-align:center;padding:1px 9px;border-radius:50px;line-height:1.2;letter-spacing:-.03em;transition:background .25s,color .25s}.nav a.active b{background:black;color:white}.roll{height:1.14em;overflow:hidden;display:flex;flex-direction:column}.roll>span{display:block;flex-shrink:0;transition:transform .55s var(--ease)}a:hover .roll>span,a:focus-visible .roll>span{transform:translateY(-100%)}.hero-statement{position:relative;padding-top:100px}.hero-statement p{font-size:clamp(35px,4.43vw,76px);font-weight:700;line-height:1.18;letter-spacing:-.04em}.scroll-cue{display:block;width:23px;height:36px;position:absolute;left:0;top:0;border-radius:20px;background:#111}.scroll-cue span{width:3px;height:8px;background:#ddd;position:absolute;left:10px;top:7px;border-radius:5px;animation:scroll-cue 1.8s ease-in-out infinite}
.showcase{height:1000px;background:#000;position:relative;overflow:hidden;display:grid;place-items:center}.type-wall{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center}.marquee-row{display:flex;flex-shrink:0;gap:100px;color:#7b7b7b;font-family:Anton,sans-serif;font-size:150px;line-height:1;letter-spacing:-.02em;white-space:nowrap;animation:marquee 32s linear infinite;width:max-content}.marquee-row:nth-child(even){animation-direction:reverse;animation-duration:40s}.marquee-row span{min-width:max-content}.showcase-image{width:46%;position:relative;z-index:1;box-shadow:0 20px 70px #0003}.showcase-image img{aspect-ratio:16/9;object-fit:cover}.showcase-image>span{display:block;position:absolute;bottom:15px;left:20px;color:#fff;font-size:10px;letter-spacing:.12em;mix-blend-mode:difference}
.page-grid{display:grid;grid-template-columns:25% 75%;padding:0 30px;gap:0}.page-grid aside{position:relative}.sticky-nav{position:sticky;top:65px;margin-top:280px;padding-right:25px}.sections{min-width:0}.section{padding-top:280px;scroll-margin-top:0}.about-content{display:grid;grid-template-columns:1.72fr 1fr;gap:9%;margin-top:120px}.body-copy{font-size:20px;line-height:1.5}.body-copy p+p{margin-top:44px}.note,figcaption{display:block;font-size:11px;line-height:1.5;letter-spacing:.06em;color:#777}.body-copy .note{margin-top:35px}.about figure{align-self:start;margin-top:-85px}.about figure img{aspect-ratio: .78;filter:grayscale(1)}figcaption{margin-top:10px}.works h2{margin-bottom:130px}.project{display:block;width:100%;text-align:left;padding:0;background:none;border:0;margin:0 0 130px;cursor:pointer;position:relative}.project-visual{overflow:hidden;position:relative;aspect-ratio:1.96;background:#ddd}.project-visual img{height:100%;transition:transform 1.2s var(--ease),filter 1s;filter:grayscale(1)}.project:hover img{transform:scale(1.035);filter:grayscale(.25)}.project .view{position:absolute;left:50%;top:50%;transform:translate(-50%,-35%);padding:16px 24px;border-radius:50%;background:#fff;color:#000;font-size:13px;opacity:0;transition:all .4s var(--ease);letter-spacing:-.02em}.project:hover .view,.project:focus-visible .view{opacity:1;transform:translate(-50%,-50%)}.project-title{font-family:Anton,sans-serif;font-weight:400;position:relative;color:white;mix-blend-mode:difference;font-size:clamp(65px,9.6vw,160px);line-height:1.08;margin-top:-.58em;margin-left:7%;z-index:1;text-transform:uppercase;letter-spacing:-.025em}.project-meta{margin:8px 0 0 7%;display:flex;justify-content:space-between;gap:20px;font-size:24px;font-weight:700}.project-year{position:absolute;right:0;bottom:58px;font-size:20px;font-weight:700}.section-note{margin-top:32px;margin-bottom:60px}.award{display:grid;grid-template-columns:1.1fr 1.5fr auto;padding:22px 0;border-top:1px solid #111;gap:15px;font-size:clamp(18px,2.3vw,38px);font-weight:700;line-height:1.1;position:relative;isolation:isolate;transition:color .3s,padding .4s var(--ease)}.award:last-child{border-bottom:1px solid #111}.award:before{content:'';background:black;position:absolute;inset:3px 0;transform:scaleY(0);transform-origin:bottom;z-index:-1;transition:transform .4s var(--ease)}.award:hover{color:white;padding-left:12px;padding-right:12px}.award:hover:before{transform:scaleY(1)}.expertise-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:125px;min-height:520px}.expertise-card{background:black;color:white;height:270px;display:flex;flex-direction:column;justify-content:space-between;padding:26px;font-size:27px;line-height:1;font-weight:700;transition:transform .7s var(--ease)}.expertise-card:nth-child(2){order:3}.expertise-card:nth-child(3){order:2;margin-top:270px}.expertise-card:nth-child(4){order:4;margin-top:180px}.expertise-card:hover{transform:translateY(-18px)}.expertise-card h3{font-size:27px;line-height:1}.contact{padding-bottom:240px}.contact h2{font-size:clamp(65px,8.6vw,145px)}.contact-grid{display:grid;grid-template-columns:1.85fr 1fr;gap:8%;margin-top:125px}form label{display:block;font-weight:700;font-size:27px;margin:0 0 18px}input,textarea{width:100%;border:1px solid #d9d9d9;border-radius:8px;background:white;padding:24px;font-size:27px;margin:0 0 48px;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:#111;box-shadow:0 0 0 1px #111}input::placeholder,textarea::placeholder{color:#aaa}textarea{resize:vertical}.pill{border:1px solid #111;border-radius:80px;background:white;min-height:78px;padding:18px 38px;font-size:26px;display:inline-flex;align-items:center;justify-content:center;gap:15px;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s}.pill:hover{background:black;color:white}.pill span{font-size:34px}.form-bottom{display:flex;align-items:center;gap:24px}.form-bottom small,.contact-links small{font-size:13px;color:#888;letter-spacing:-.015em}.contact-links{padding-top:47px}.contact-links a{display:flex;gap:10px;align-items:center;font-size:32px;font-weight:700;margin-bottom:14px}.contact-links .note{margin-bottom:25px}.contact-links small{display:block;margin-top:30px}#form-status{font-size:16px;line-height:1.5;margin-top:24px}footer{background:black;color:white;padding:120px 30px 0;overflow:hidden}.footer-meta{display:flex;justify-content:space-between;gap:25px;font-size:18px;line-height:1.25;letter-spacing:-.02em}.footer-meta a{display:block}.footer-meta a:hover{text-decoration:underline}.back-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:120px;font-family:Anton,sans-serif;font-size:16.9vw;line-height:1.2;letter-spacing:-.03em;white-space:nowrap}.up-arrow{font-family:Arial,sans-serif;font-weight:900;transition:transform .5s var(--ease)}.back-top:hover .up-arrow{transform:translateY(-20px)}.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(45px);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}.js-ready .reveal.visible{opacity:1;transform:none}dialog{border:0;padding:0;width:min(1100px,92vw);max-height:90svh;overflow:auto;background:#fff}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog[open]{animation:entrance .5s var(--ease)}.dialog-close{position:sticky;top:15px;margin:15px 15px 15px auto;display:block;border:1px solid black;border-radius:30px;padding:10px 18px;background:#fff;cursor:pointer;z-index:2}.dialog-caption{padding:40px}.dialog-caption h2{font-size:70px}.dialog-caption p{font-size:20px;line-height:1.4;max-width:600px;margin:20px 0 30px}.dialog-caption .pill{font-size:18px;min-height:58px}.scroll-lock{overflow:hidden}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes entrance{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-cue{0%,100%{transform:translateY(0);opacity:1}60%{transform:translateY(9px);opacity:.35}}
@media(min-width:1600px){.hero{padding:30px 45px}.page-grid{padding:0 45px}.showcase{height:1200px}.marquee-row{font-size:190px}}
@media(max-width:1000px){.hero{min-height:680px;height:90svh}.nav a{font-size:28px}.nav b{font-size:15px;min-width:40px}.page-grid{grid-template-columns:25% 75%;padding:0 24px}.sticky-nav{padding-right:10px}.about-content{gap:30px}.body-copy{font-size:18px}.expertise-cards{gap:16px}.expertise-card{padding:18px;font-size:20px;height:220px}.expertise-card h3{font-size:20px}.contact-grid{grid-template-columns:1fr}.contact-links{display:flex;flex-wrap:wrap;gap:20px}.contact-links .note,.contact-links small{width:100%;margin:0}.contact-links a{font-size:25px}.form-bottom{flex-wrap:wrap}.award{font-size:20px}.showcase{height:850px}.marquee-row{font-size:125px}}
@media(max-width:700px){html{scroll-padding-top:95px}.hero{padding:20px 18px 30px;min-height:680px;height:92svh;max-height:900px}.wordmark{font-size:27.2vw;margin:15px -3px 0}.disciplines{font-size:10px;margin-top:18px;justify-content:space-between}.hero-bottom{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:45px;padding-top:50px}.hero-statement{padding-top:60px}.hero-statement p{font-size:clamp(30px,7.4vw,50px);line-height:1.18}.hero-nav{flex-direction:row;flex-wrap:wrap;gap:12px 20px}.hero-nav a{font-size:19px;gap:6px}.nav b{font-size:12px;min-width:31px;padding:1px 6px}.hero:before{inset:20% 0 0;background-position:center}.scroll-cue{width:18px;height:28px}.scroll-cue span{left:8px;top:6px;width:2px;height:6px}.showcase{height:610px}.marquee-row{font-size:95px;gap:50px}.showcase-image{width:72%}.showcase-image>span{font-size:7px;left:10px;bottom:10px}.page-grid{display:block;padding:0 18px}.page-grid aside{position:sticky;top:0;z-index:10;margin:0 -18px;padding:16px 18px;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid #ddd}.sticky-nav{position:static;margin:0;padding:0;display:flex;flex-direction:row;justify-content:space-between;gap:8px}.sticky-nav a{flex-direction:column;gap:5px;font-size:12px}.section{padding-top:120px;scroll-margin-top:75px}h2{font-size:clamp(52px,13vw,90px);line-height:1.05}.about-content{grid-template-columns:1fr;margin-top:55px;gap:40px}.about figure{margin-top:0;width:60%;justify-self:end}.body-copy{font-size:18px;line-height:1.55}.body-copy p+p{margin-top:30px}.works h2{margin-bottom:65px}.project{margin-bottom:75px}.project-visual{aspect-ratio:1.4}.project-title{font-size:17vw;margin-left:5%}.project-meta{font-size:16px;margin-left:5%;margin-top:7px}.project-year{font-size:13px;bottom:36px}.section-note{margin-bottom:35px}.award{font-size:13px;gap:10px;padding:20px 0;grid-template-columns:1fr 1.4fr auto;letter-spacing:-.035em}.expertise-cards{grid-template-columns:1fr 1fr;gap:16px;margin-top:55px;min-height:0;align-items:start}.expertise-card{height:230px;padding:22px}.expertise-card:nth-child(2){order:2;margin-top:55px}.expertise-card:nth-child(3){order:3;margin-top:-40px}.expertise-card:nth-child(4){order:4;margin-top:16px}.expertise-card h3,.expertise-card{font-size:23px}.contact{padding-bottom:110px}.contact h2{font-size:12vw}.contact-grid{margin-top:60px;gap:30px}form label{font-size:22px;margin-bottom:12px}input,textarea{font-size:20px;padding:20px;margin-bottom:30px}.pill{font-size:19px;padding:17px 25px;min-height:65px}.form-bottom{gap:15px}.contact-links{padding-top:20px;gap:15px}.contact-links a{font-size:20px}.contact-links b{font-size:13px;min-width:36px}.contact-links small{font-size:11px}.contact-links .note{font-size:10px}footer{padding:60px 18px 15px}.footer-meta{display:grid;grid-template-columns:1fr 1fr;font-size:12px;row-gap:30px}.footer-meta>p:last-child{text-align:right}.back-top{font-size:15.9vw;gap:10px;margin-top:65px}.dialog-caption{padding:25px}.dialog-caption h2{font-size:45px}.dialog-caption p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}}
/* Keep the shorter Possible wordmark as wide as the reference without making the hero taller. */
@media(min-width:701px){.hero{min-height:720px}.wordmark{font-size:23vw;transform:scaleX(1.22);animation-name:wordmark-in}.hero:before{inset:0;background-position:center;background-size:cover;opacity:1}}
@media(max-width:700px){.hero:before{inset:0;opacity:1}}
@keyframes wordmark-in{from{opacity:0;transform:translateY(35px) scaleX(1.22)}to{opacity:1;transform:translateY(0) scaleX(1.22)}}
/* Fit solution descriptions and example labels into the existing project layout. */
.project-meta{padding-right:135px;font-size:22px;line-height:1.3}.project-year{bottom:2px;font-size:13px;letter-spacing:.02em}.works h2{margin-bottom:32px}.project-title{text-transform:none}
@media(max-width:700px){.project-title{font-size:15vw}.project-meta{font-size:16px;padding-right:90px}.project-year{font-size:10px;bottom:2px}.works h2{margin-bottom:25px}}

/* Mobile hero follows the centred composition of the reference. */
@media(max-width:700px){
 .hero{padding:28px 30px 34px;min-height:740px;height:100svh;max-height:none}
 .wordmark{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:25vw;line-height:1.05;letter-spacing:-.025em;margin:0;transform:none;animation-name:entrance}
 .disciplines{flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;margin-top:40px;font-size:18px;line-height:1.4;letter-spacing:-.02em}
 .hero-bottom{display:block;margin-top:auto;padding-top:150px}
 .hero-nav,.scroll-cue{display:none}
 .hero-statement{padding:0}
 .hero-statement p{font-size:clamp(30px,9.2vw,46px);line-height:1.22;letter-spacing:-.04em}
 .hero-statement br{display:none}
 .hero:before{inset:0;background-size:auto 100%;background-position:center bottom;opacity:1}
 .page-grid aside{display:none}
 .section{scroll-margin-top:20px}
}

/* About copy remains in a readable column after removing the portrait. */
.about-content{grid-template-columns:minmax(0,640px)}

/* One continuous, non-interactive typographic solutions section. */
.solutions-intro{font-size:24px;line-height:1.45;max-width:640px;margin-top:40px;letter-spacing:-.03em}
.solution-list{list-style:none;margin:70px 0 0;padding:0;border-bottom:1px solid var(--ink)}
.solution-row{display:grid;grid-template-columns:38px minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:start;border-top:1px solid var(--ink);padding:38px 0;cursor:default}
.solution-number{font-size:15px;line-height:1.4;padding-top:9px;font-weight:700;font-variant-numeric:tabular-nums}
.solution-row h3{font-family:Anton,Impact,sans-serif;font-size:clamp(40px,4.7vw,78px);line-height:1.08;font-weight:400;letter-spacing:-.025em}
.solution-row p{font-size:19px;line-height:1.5;letter-spacing:-.025em;padding-top:5px;max-width:340px}
@media(max-width:1000px){.solution-row{grid-template-columns:30px minmax(0,1fr);gap:12px 20px}.solution-row p{grid-column:2;max-width:480px;padding-top:0}.solution-row h3{font-size:56px}}
@media(max-width:700px){.solutions-intro{font-size:20px;line-height:1.45;margin-top:30px;max-width:350px}.solution-list{margin-top:40px}.solution-row{padding:28px 0;grid-template-columns:26px minmax(0,1fr);gap:12px 14px}.solution-number{font-size:12px;padding-top:7px}.solution-row h3{font-size:clamp(35px,11.2vw,60px);line-height:1.08}.solution-row p{font-size:17px;line-height:1.5;max-width:340px}}

/* Mobile expertise: aligned cards in two equal rows. */
@media(max-width:700px){.expertise-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.expertise-card:nth-child(n){margin-top:0;order:initial;height:auto;aspect-ratio: .765;min-width:0}.expertise-card:hover{transform:none}.expertise-card,.expertise-card h3{font-size:clamp(18px,5.5vw,26px)}}

.pill:disabled{cursor:wait;opacity:.6}#form-status[data-state="error"]{color:#a31919}#form-status[data-state="success"]{color:#165c39}
