:root{color-scheme:dark;--ink:#f3f3f0;--muted:#b4b4b4;--line:#444;--red:#ff8178;--paper:#101010;--surface-dark:#181818}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,input{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;letter-spacing:-.045em;line-height:1.03}h1{font-size:clamp(64px,8.5vw,140px)}h2{font-size:clamp(38px,4.3vw,72px)}h3{font-size:28px}p{max-width:580px}button{cursor:pointer}.header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:flex-start;justify-content:space-between;padding:35px 4.5vw;color:white}.wordmark{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:20px;line-height:1.04;letter-spacing:-.045em;display:block}.header nav{display:flex;gap:35px;padding-top:3px}.nav-link{font-size:14px;position:relative}.nav-link:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}.nav-link:hover:after{width:100%}.inner .header{position:relative;color:var(--ink);border-bottom:1px solid var(--line);min-height:140px}.menu-button{display:none;border:0;background:none;color:inherit;padding:0}.mobile-nav[hidden]{display:none}.mobile-nav{position:absolute;inset:0 0 auto;z-index:19;background:var(--surface-dark);color:white;padding:155px 7vw 45px;display:grid;gap:23px}.mobile-nav a{font-size:28px}.hero{position:relative;height:100svh;min-height:640px;background:#27221c;color:white}.hero-image{object-position:50% 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.02) 40%,rgba(0,0,0,.64))}.hero-title{position:absolute;left:4.5vw;bottom:110px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;line-height:1.5;font-weight:400}.hero-title .eyebrow{margin-bottom:23px}.hero-title h1{font-size:clamp(90px,10.2vw,170px);line-height:.9;letter-spacing:-.055em;margin-left:-.055em}.hero-link{display:inline-block;font-size:14px;margin-top:28px;border-bottom:1px solid #ffffff8c;padding-bottom:7px}.hero-bottom{position:absolute;bottom:28px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.section{padding:110px 4.5vw}.section-heading{margin-bottom:60px}.section-heading .eyebrow{margin-bottom:24px}.section-heading .text-link{margin-top:30px}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid;padding-bottom:4px}.text-link:hover{color:var(--red)}.featured-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;align-items:start}.featured-grid .project-card:nth-child(2){margin-top:160px}.image-wrap{overflow:hidden;background:#222;height:480px}.image-wrap img{transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.featured-grid .project-card:nth-child(2) .image-wrap{height:380px}.project-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:18px}.project-caption h3{font-size:25px}.project-caption span{font-size:12px;line-height:1.4;max-width:145px;text-align:right;color:var(--muted)}.approach{background:#181818}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.stage{border-top:1px solid #555;padding-top:22px}.stage-number{font-size:14px;color:var(--muted)}.stage h3{font-size:34px;margin:65px 0 24px}.stage p{font-size:16px;color:#b8b8b8;max-width:320px;min-height:100px}.small-link{display:inline-block;font-size:13px;margin-top:25px;border-bottom:1px solid;padding-bottom:3px}.stage:hover .small-link{color:var(--red)}.journey{display:block;background:var(--paper);color:var(--red);padding:80px 4.5vw}.journey>span:first-child{display:block;font-size:clamp(60px,8vw,128px);line-height:1;letter-spacing:-.06em}.journey-note{display:block;font-size:14px;color:var(--muted);margin-top:24px}.journey:visited{color:var(--red)}.journey:hover>span:first-child{color:#ffa199}.consultation{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.consultation .section-heading{margin:0}.consult-intro p{max-width:390px;color:#b8b8b8;font-size:20px;line-height:1.5;margin-bottom:35px}.studio{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-dark);color:white}.studio-image{min-height:760px}.studio-copy{padding:80px 6vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.studio-copy h2{font-size:clamp(34px,3.3vw,55px);margin:30px 0}.studio-copy p:not(.eyebrow){color:#c6c6c6;margin-bottom:30px}.connection{display:flex;align-items:center;gap:20px;width:100%;margin-top:80px;border-top:1px solid #555;padding-top:30px;font-size:14px}.connection small{color:#aaa;font-size:12px}.connection-line{height:1px;background:#777;flex:1}.page-intro{padding:90px 4.5vw 65px}.page-intro .eyebrow{margin-bottom:30px}.page-intro p:not(.eyebrow){font-size:20px;color:var(--muted);margin-top:35px}.project-grid{padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:80px 45px}.project-grid .image-wrap{height:560px}.project-hero{position:relative;height:78svh;min-height:500px;color:white}.project-hero-title{position:absolute;bottom:60px;left:4.5vw;right:4.5vw}.project-hero-title .eyebrow{margin-bottom:24px}.project-hero-title h1{font-size:clamp(55px,7vw,110px);max-width:1000px}.story{display:grid;grid-template-columns:1fr 1.5fr;gap:50px}.story p:not(.eyebrow){margin-top:30px;font-size:20px;color:#b8b8b8}.wide-image{margin:0 4.5vw}.wide-image img{height:900px;object-position:50% 55%}.wide-image figcaption{font-size:12px;margin-top:12px;color:#b4b4b4}.pair-images{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;padding:70px 4.5vw}.pair-images img{height:600px}.project-end{display:flex;justify-content:space-between;padding:35px 4.5vw 90px}.approach-detail{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:40px}.approach-detail p{font-size:20px;margin-top:30px;color:#b8b8b8}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:35px 4.5vw 100px}.about-split>div:first-child{min-height:700px}.about-split>div:nth-child(2){padding:40px 0}.about-split p{margin-top:25px;font-size:18px;color:#b8b8b8}.about-split h3{margin-top:50px}.about-split .text-link{margin-top:30px}.packages-section{padding-top:20px}fieldset{padding:0;border:0;margin:0}legend{margin-bottom:24px}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.package{position:relative;display:block;border:1px solid #555;padding:30px;cursor:pointer}.package.selected{border:1px solid var(--red);box-shadow:inset 0 0 0 1px var(--red)}.package input{position:absolute;left:30px;top:35px;width:20px;height:20px;opacity:0}.package:focus-within{outline:2px solid var(--red);outline-offset:4px}.package-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:55px;font-size:23px;line-height:1.2;letter-spacing:-.02em}.radio-mark{width:20px;height:20px;border:1px solid #999;border-radius:50%;flex:none}.selected .radio-mark{background:var(--red);box-shadow:inset 0 0 0 4px var(--paper);border-color:var(--red)}.price{display:block;font-size:40px;letter-spacing:-.04em;margin-top:40px}.price small{font-size:12px;margin-left:10px;letter-spacing:0;color:#b4b4b4}.duration{display:block;font-size:14px;margin:10px 0 25px}.package-description{display:block;font-size:16px;min-height:95px;color:#b8b8b8}.package ul{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line)}.package li{font-size:14px;padding-top:15px}.booking{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:20px;min-height:60px}.booking p{font-size:14px;color:#b8b8b8}.button{background:transparent;color:var(--red);padding:14px 0;font-size:15px;display:inline-flex;align-items:center;min-height:48px;border:0;border-radius:0;box-shadow:none}.button[hidden]{display:none}.consult-note{max-width:740px;color:#b4b4b4;font-size:13px;margin-top:35px}footer{background:var(--paper);padding:80px 4.5vw 35px}.footer-top{padding-bottom:80px}.footer-top .eyebrow{margin-bottom:24px}.footer-cta{font-size:clamp(70px,10vw,160px);line-height:1;letter-spacing:-.06em;color:var(--red)}.footer-cta:visited{color:var(--red)}.footer-cta:hover{color:#ffa199}.footer-bottom{border-top:1px solid var(--line);padding-top:35px;display:grid;grid-template-columns:.7fr 1.6fr 1fr 1fr;gap:30px;align-items:start;font-size:14px}.footer-bottom .wordmark{font-size:25px}.footer-bottom a{overflow-wrap:anywhere}.footer-bottom .copyright{font-size:12px;color:#b4b4b4}.skip{position:fixed;top:-100px;background:#242424;color:#fff;padding:12px;z-index:30}.skip:focus{top:0}body.inner:has(.project-hero) .header{position:absolute;color:white;border:0}body.inner:has(.project-hero) .project-hero{height:92svh}
@media(min-width:1600px){.section{padding-top:140px;padding-bottom:140px}.image-wrap{height:600px}}@media(max-width:850px){.header{padding:25px 6vw}.header nav{display:none}.menu-button{display:block;font-size:15px}.wordmark{font-size:17px}.hero{min-height:650px}.hero-title{left:6vw;bottom:115px}.hero-title h1{font-size:98px}.hero-title .eyebrow{max-width:250px}.hero-bottom{left:6vw;right:6vw;gap:20px}.hero-bottom span:last-child{display:none}.section{padding:75px 6vw}.section-heading{margin-bottom:40px}.featured-grid,.project-grid{gap:50px;grid-template-columns:1fr}.featured-grid .project-card:nth-child(2){margin-top:0}.image-wrap,.featured-grid .project-card:nth-child(2) .image-wrap,.project-grid .image-wrap{height:440px}.stages{grid-template-columns:1fr;gap:35px}.stage{display:grid;grid-template-columns:40px 1fr;gap:16px}.stage h3{margin:0;font-size:32px}.stage p,.small-link{grid-column:2}.stage p{min-height:0;max-width:500px}.small-link{justify-self:start;margin-top:0}.journey{padding:65px 6vw;display:block}.journey-note{display:block;margin-top:24px}.consultation{grid-template-columns:1fr;gap:35px}.consult-intro p{font-size:18px}.studio{grid-template-columns:1fr}.studio-image{min-height:0;height:550px}.studio-copy{padding:60px 6vw}.connection{margin-top:50px}.page-intro{padding:60px 6vw 50px}.page-intro h1{font-size:60px}.inner .header{min-height:122px}.project-grid{padding-top:10px}.project-hero-title{left:6vw;bottom:40px}.project-hero-title h1{font-size:58px}.project-hero-title .eyebrow{max-width:310px}.story{grid-template-columns:1fr;gap:25px}.story p:not(.eyebrow){font-size:18px}.wide-image{margin:0 6vw}.wide-image img{height:620px}.pair-images{padding:40px 6vw;gap:20px;grid-template-columns:1fr}.pair-images img{height:400px}.project-end{padding:30px 6vw 60px}.about-split{padding:0 6vw 60px;grid-template-columns:1fr;gap:30px}.about-split>div:first-child{min-height:0;height:560px}.about-split>div:nth-child(2){padding:0}.approach-detail{grid-template-columns:40px 1fr;gap:20px}.approach-detail p{font-size:18px}.packages{grid-template-columns:1fr}.package-description{min-height:0}.price{margin-top:25px}.package-top{min-height:0}.booking{align-items:flex-start;flex-direction:column}footer{padding:65px 6vw 30px}.footer-top{padding-bottom:55px}.footer-bottom{grid-template-columns:1fr 2fr;gap:35px 20px}.footer-bottom .copyright{grid-column:2}.project-caption h3{font-size:23px}.project-caption span{font-size:12px;max-width:110px}}@media(max-width:400px){.hero-title h1{font-size:84px}.page-intro h1{font-size:50px}.image-wrap,.featured-grid .project-card:nth-child(2) .image-wrap,.project-grid .image-wrap{height:360px}.project-caption{display:block}.project-caption span{display:block;margin-top:8px;text-align:left;max-width:none}.footer-bottom{grid-template-columns:1fr}.footer-bottom .copyright{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Homepage: slow rightward image drift with overlapping fades. */
.slideshow{overflow:hidden;touch-action:pan-y}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.6s ease,visibility 0s 1.6s;pointer-events:none}.hero-slide.is-active{opacity:1;visibility:visible;transition:opacity 1.6s ease,visibility 0s;pointer-events:auto;z-index:1}.hero-slide .hero-image{transform:scale(1.08) translateX(-1.5%);object-position:50% 58%;will-change:transform}.hero-slide.is-moving .hero-image{animation:hero-drift 10s linear both}.hero-slide.new-courtyard .hero-image{object-position:50% 60%}.hero-slide .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.19),transparent 34%,rgba(0,0,0,.18) 65%,rgba(0,0,0,.46))}.hero-slide .hero-title{bottom:120px}.hero-slide .hero-title h1{font-size:clamp(70px,8.2vw,136px);line-height:.96}.slideshow .hero-bottom{z-index:3;align-items:center}.slide-controls{display:flex;align-items:center;gap:21px}.slide-controls button{color:white;font-size:13px;background:transparent;border:0;padding:12px 0;line-height:1.3}.slide-controls button:hover{text-decoration:underline}.slide-pause{min-width:44px;opacity:.8}.slide-pause:hover,.slide-pause:focus-visible{opacity:1}.slideshow.motion-paused .hero-image{animation-play-state:paused}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes hero-drift{from{transform:scale(1.08) translateX(-1.5%)}to{transform:scale(1.08) translateX(1.5%)}}@media(max-width:850px){.hero-slide .hero-title{bottom:150px}.hero-slide .hero-title h1{font-size:clamp(65px,12vw,100px)}.slideshow .hero-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:18px;bottom:23px}.slideshow .hero-bottom{flex-direction:row;align-items:center}.slide-controls{width:auto;gap:0}.slideshow .hero-bottom .hero-slide.new-courtyard .hero-image{object-position:50% 52%}.slide-controls button{font-size:14px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide .hero-image,.hero-slide.is-moving .hero-image{animation:none;transform:none}}

.hero-slide.stone-courtyard .hero-image{object-position:50% 65%}.hero-slide.stone-courtyard .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 30%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.5))}@media(max-width:850px){.hero-slide.stone-courtyard .hero-image{object-position:50% 63%}}

/* Refined charcoal contact footer; the red invitation stays on the light page. */
footer{padding:0;background:var(--paper)}footer .footer-top{padding:80px 4.5vw}footer .footer-bottom{border:0;background:var(--surface-dark);color:#fff;padding:75px 4.5vw 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px 45px;align-items:start}footer .footer-brand{font-size:12px;font-weight:400;letter-spacing:.16em;line-height:1.7;max-width:320px}footer .footer-contact,footer .footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px}footer .footer-label{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#a8a8a8;margin-bottom:8px}footer .footer-bottom a{color:#f5f5f5;font-size:14px;text-decoration:none;border:0;overflow-wrap:normal}footer .footer-bottom a.footer-brand{font-size:12px}footer .footer-bottom a:hover{text-decoration:underline;text-underline-offset:5px}footer .footer-bottom a:focus-visible{outline-color:#fff}footer .footer-base{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #494949;padding-top:26px;color:#b4b4b4;font-size:12px}footer .footer-base .copyright{color:#b4b4b4;font-size:12px}@media(max-width:850px){footer .footer-top{padding:65px 6vw}footer .footer-bottom{padding:55px 6vw 28px;grid-template-columns:1fr 1fr;gap:40px 24px}footer .footer-brand{grid-column:1/-1;max-width:none}footer .footer-base{flex-direction:column;align-items:flex-start;gap:10px;padding-top:24px}footer .footer-base .copyright{grid-column:auto}}@media(max-width:400px){footer .footer-bottom{grid-template-columns:1fr 1fr}footer .footer-contact a{font-size:13px}}

/* Homepage editorial sequence: work, thinking, process, invitation. */
.editorial-middle{padding:0 4.5vw}.selected-work{padding:90px 0 105px}.editorial-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.editorial-heading>h2{font-size:clamp(36px,4vw,60px)}.editorial-heading .text-link{flex:none}.work-pair{display:grid;grid-template-columns:1.45fr 1fr;gap:5vw;align-items:start}.work-feature figure{height:500px;overflow:hidden;background:#222}.work-feature-secondary{padding-top:135px}.work-feature-secondary figure{height:380px}.work-feature img{transition:transform .7s ease}.work-feature:hover img{transform:scale(1.025)}.work-caption{border-top:1px solid var(--line);margin-top:18px;padding-top:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.work-caption h3{font-size:clamp(23px,2.2vw,34px);line-height:1.1;letter-spacing:-.035em}.work-caption p{font-size:12px;line-height:1.55;color:var(--muted);text-align:right;flex:none}.design-thinking{display:grid;grid-template-columns:1fr 2fr;gap:6vw;border-top:1px solid var(--line);padding:90px 0 105px}.design-thinking>.eyebrow{padding-top:9px;max-width:200px}.thinking-copy h2{font-size:clamp(36px,4.15vw,66px);line-height:1.12;letter-spacing:-.045em}.thinking-copy p{font-size:18px;line-height:1.65;color:#b8b8b8;margin:30px 0 25px;max-width:540px}.design-process{padding:85px 0 0;border-top:1px solid var(--line)}.design-process .eyebrow{margin-bottom:22px}.design-process h2{font-size:clamp(36px,3.8vw,60px);line-height:1.1}.process-rows{list-style:none;margin:50px 0 0;padding:0}.process-rows li{display:grid;grid-template-columns:.25fr 1.2fr 1fr;gap:35px;border-top:1px solid var(--line);padding:33px 0;align-items:baseline}.process-number{font-size:13px;color:var(--muted)}.process-rows h3{font-size:clamp(26px,2.5vw,40px);letter-spacing:-.035em}.process-rows p{font-size:16px;line-height:1.55;color:#b8b8b8;max-width:430px}.editorial-middle .editorial-journey{padding:55px 0 70px}.editorial-middle .editorial-journey>span:first-child{font-size:clamp(46px,6.2vw,96px)}.consultation-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0;display:grid;grid-template-columns:1.45fr 1fr;gap:5vw}.consultation-note .eyebrow{margin-bottom:17px}.consultation-note h2{font-size:clamp(27px,2.7vw,40px);line-height:1.15;letter-spacing:-.035em}.consultation-note>div>p:not(.eyebrow){font-size:16px;color:#b8b8b8;line-height:1.6;max-width:380px;margin-bottom:20px}@media(min-width:1600px){.work-feature figure{height:620px}.work-feature-secondary figure{height:470px}}@media(max-width:850px){.editorial-middle{padding:0 6vw}.selected-work{padding:60px 0 65px}.editorial-heading{margin-bottom:30px;gap:20px}.work-pair{grid-template-columns:1fr;gap:42px}.work-feature figure{height:auto;aspect-ratio:4/3}.work-feature-secondary{padding-top:0}.work-feature-secondary figure{height:auto;aspect-ratio:4/3}.work-caption{gap:15px}.work-caption h3{font-size:26px}.work-caption p{font-size:12px;max-width:145px}.design-thinking{grid-template-columns:1fr;gap:24px;padding:60px 0 65px}.design-thinking>.eyebrow{max-width:none;padding:0}.thinking-copy h2{font-size:clamp(31px,5.8vw,48px)}.thinking-copy p{font-size:17px;margin:24px 0}.design-process{padding:60px 0 0}.design-process .editorial-heading{display:block}.design-process .editorial-heading .text-link{margin-top:23px}.design-process h2{font-size:38px}.process-rows{margin-top:30px}.process-rows li{grid-template-columns:28px 1fr;gap:13px 15px;padding:26px 0}.process-rows h3{font-size:28px}.process-rows p{grid-column:2;font-size:16px;max-width:480px}.editorial-middle .editorial-journey{padding:35px 0 50px}.editorial-middle .editorial-journey>span:first-child{font-size:clamp(45px,7.5vw,64px)}.consultation-note{padding:35px 0;grid-template-columns:1fr;gap:22px}.consultation-note h2{font-size:30px}.consultation-note .eyebrow{margin-bottom:14px}.consultation-note>div>p:not(.eyebrow){margin-bottom:18px}}@media(max-width:400px){.work-caption{display:block}.work-caption p{max-width:none;text-align:left;margin-top:10px}.thinking-copy h2{font-size:31px}.editorial-heading>h2{font-size:33px}.editorial-heading>.text-link{font-size:13px}.design-process h2{font-size:34px}}

/* Shared action theme: red type, clear focus and no filled button surfaces. */
:root{--action-red-on-dark:#ff8178}a.button:visited,.text-link,.text-link:visited,.small-link,.package-top,.menu-button{color:var(--red)}.button:hover,.button:active,.text-link:hover,.small-link:hover,.menu-button:hover{color:#ffa199;background:transparent;text-decoration:underline;text-underline-offset:6px}.button:focus-visible,.text-link:focus-visible,.menu-button:focus-visible{outline:2px solid var(--red);outline-offset:5px}.text-link{padding-top:12px;padding-bottom:12px;min-height:44px;border-bottom:0;text-decoration:underline;text-underline-offset:6px}.small-link{padding:12px 0;min-height:44px;border:0;text-decoration:underline;text-underline-offset:6px}.menu-button{min-width:44px;min-height:44px;background:transparent;border:0}.home .header .menu-button,body.inner:has(.project-hero) .header .menu-button,.hero-link,.hero-link:visited,.slide-controls button{color:var(--action-red-on-dark);background:transparent}.hero-link{min-height:44px;padding:12px 0;border:0;text-decoration:underline;text-underline-offset:6px}.hero-link:hover,.slide-controls button:hover,.home .header .menu-button:hover,body.inner:has(.project-hero) .header .menu-button:hover{color:#ffa199;background:transparent}.slide-controls button{min-height:44px;opacity:1}.hero-link:focus-visible,.slide-controls button:focus-visible,.home .header .menu-button:focus-visible,body.inner:has(.project-hero) .header .menu-button:focus-visible{outline-color:var(--action-red-on-dark)}.package:hover{border-color:var(--red)}.package.selected{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}footer .footer-contact a{color:var(--action-red-on-dark);min-height:44px;display:inline-flex;align-items:center}footer .footer-contact a:visited{color:var(--action-red-on-dark)}footer .footer-contact{gap:4px}footer .footer-contact a:hover{color:#ffa199}.journey,.journey:hover,.footer-cta,.footer-cta:hover{background:transparent}
/* Clickable text is identifiable before hover, on every page and viewport. */
a[href]:not([aria-disabled="true"]),button:not(:disabled):not([aria-disabled="true"]),label.package-top[for]{text-decoration-line:underline!important;text-decoration-thickness:max(1px,.045em);text-underline-offset:.16em;text-decoration-skip-ink:auto}
a[href]:not([aria-disabled="true"]) :is(h1,h2,h3,p,span){text-decoration-line:underline;text-decoration-thickness:max(1px,.045em);text-underline-offset:.16em;text-decoration-skip-ink:auto}
.nav-link:after{display:none}a.text-link,a.hero-link,a .small-link{border-bottom:0}

.slideshow .hero-bottom .hero-discover{display:inline;text-decoration:none}

/* Edge-to-edge homepage hero with safe placement for notched mobile screens. */
html:has(body.home),body.home{background:#000}.home{margin:0;padding:0}.home .editorial-middle{background:var(--paper)}.home .hero{height:100vh;height:100dvh;min-height:650px}.home .header{padding-top:calc(35px + env(safe-area-inset-top,0px));padding-left:max(4.5vw,env(safe-area-inset-left,0px));padding-right:max(4.5vw,env(safe-area-inset-right,0px))}.home .hero-title{left:max(4.5vw,env(safe-area-inset-left,0px));right:max(4.5vw,env(safe-area-inset-right,0px))}.home .hero-bottom{left:max(4.5vw,env(safe-area-inset-left,0px));right:max(4.5vw,env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px))}@media(max-width:850px){.home .hero{min-height:700px}.home .header{padding-top:calc(25px + env(safe-area-inset-top,0px));padding-left:max(6vw,env(safe-area-inset-left,0px));padding-right:max(6vw,env(safe-area-inset-right,0px))}.home .hero-title{left:max(6vw,env(safe-area-inset-left,0px));right:max(6vw,env(safe-area-inset-right,0px));bottom:calc(150px + env(safe-area-inset-bottom,0px))}.home .hero-bottom{left:max(6vw,env(safe-area-inset-left,0px));right:max(6vw,env(safe-area-inset-right,0px));bottom:calc(23px + env(safe-area-inset-bottom,0px))}.home .mobile-nav{padding-top:calc(155px + env(safe-area-inset-top,0px))}}
/* Image-led studio direction: compact navigation, broad image fields, editorial scale. */
.header nav{display:none}.header .menu-button{display:block;min-width:60px;text-align:right}.header .wordmark{font-size:18px}.inner .header{min-height:130px}.mobile-nav{padding:155px 4.5vw 55px;gap:20px;background:#000}.mobile-nav .nav-link{font-size:clamp(34px,4.7vw,72px);line-height:1.15;letter-spacing:-.045em;color:var(--action-red-on-dark);width:max-content;max-width:100%}.home .hero-slide .hero-title h1{font-size:clamp(84px,9.8vw,158px);font-weight:400;letter-spacing:-.06em;line-height:.97;max-width:1200px}.home .hero-title .eyebrow{font-size:12px;letter-spacing:.18em}.home .selected-work{padding-top:85px;padding-bottom:110px}.home .selected-work .editorial-heading{align-items:baseline;margin-bottom:55px}.home .selected-work .editorial-heading>h2{font-size:clamp(50px,7.6vw,120px);letter-spacing:-.055em;line-height:1}.home .work-pair{grid-template-columns:1fr 1fr;gap:75px 36px}.home .work-feature{padding:0;min-width:0}.home .work-feature:first-child{grid-column:1/-1}.home .work-feature figure{height:clamp(430px,57vw,700px)}.home .work-feature:first-child figure{height:clamp(540px,78svh,920px)}.home .work-feature:first-child img{object-position:50% 59%}.home .work-feature:last-child img{object-position:50% 56%}.home .work-caption{border-top:0;margin-top:0;padding-top:22px;gap:20px}.home .work-caption h3{font-size:clamp(27px,3.5vw,54px);line-height:1.08;letter-spacing:-.045em}.home .work-feature:first-child .work-caption h3{font-size:clamp(38px,5vw,78px)}.home .work-caption p{font-size:13px;line-height:1.55;max-width:185px;flex-shrink:1}.home .design-thinking{margin:0 -4.5vw;padding:110px 4.5vw 120px;background:#000;color:#fff;border:0;grid-template-columns:1fr 2fr;gap:5vw}.home .design-thinking>.eyebrow{color:#aaa;max-width:220px}.home .thinking-copy h2{font-size:clamp(40px,4.8vw,76px);line-height:1.1;letter-spacing:-.045em}.home .thinking-copy p{font-size:21px;line-height:1.55;color:#b8b8b8;max-width:690px;margin:35px 0 28px}.home .thinking-copy .text-link{color:var(--action-red-on-dark)}.home .thinking-copy .text-link:hover{color:#ffa199}.home .thinking-copy .text-link:focus-visible{outline-color:var(--action-red-on-dark)}.home .design-process{border:0;padding-top:115px}.home .design-process h2{font-size:clamp(42px,5.4vw,84px);line-height:1.04;letter-spacing:-.05em}.home .process-rows{margin-top:65px}.home .process-rows li{padding:36px 0;grid-template-columns:.22fr 1.4fr 1fr}.home .process-rows h3{font-size:clamp(28px,3.1vw,48px)}.home .consultation-note{padding:50px 0}.home .consultation-note h2{font-size:clamp(30px,3.5vw,52px)}.project-grid .image-wrap{height:clamp(430px,45vw,700px)}.project-grid .project-caption h3{font-size:clamp(25px,2.8vw,42px)}.page-intro h1{letter-spacing:-.055em}.project-hero-title h1{font-size:clamp(65px,8.8vw,140px);letter-spacing:-.055em}
@media(max-width:850px){.header .wordmark{font-size:17px}.inner .header{min-height:122px}.mobile-nav{padding:calc(155px + env(safe-area-inset-top,0px)) 6vw 45px;gap:22px}.mobile-nav .nav-link{font-size:38px}.home .hero-slide .hero-title h1{font-size:clamp(66px,12.5vw,104px);line-height:1}.home .selected-work{padding-top:60px;padding-bottom:65px}.home .selected-work .editorial-heading{display:block;margin-bottom:30px}.home .selected-work .editorial-heading>h2{font-size:clamp(48px,10vw,76px);margin-bottom:15px}.home .work-pair{grid-template-columns:1fr;gap:48px}.home .work-feature:first-child{grid-column:auto}.home .work-feature figure,.home .work-feature:first-child figure{height:auto;aspect-ratio:4/5}.home .work-feature:nth-child(2) figure{aspect-ratio:4/3}.home .work-caption{display:block;padding-top:18px}.home .work-caption h3,.home .work-feature:first-child .work-caption h3{font-size:clamp(32px,7.5vw,48px);line-height:1.05}.home .work-caption p{max-width:none;font-size:13px;text-align:left;margin-top:14px}.home .design-thinking{margin:0 -6vw;padding:65px 6vw 75px;grid-template-columns:1fr;gap:28px}.home .thinking-copy h2{font-size:clamp(32px,6.6vw,51px);line-height:1.14}.home .thinking-copy p{font-size:18px;line-height:1.65;margin:28px 0 20px}.home .design-process{padding-top:70px}.home .design-process h2{font-size:clamp(38px,8vw,58px)}.home .process-rows{margin-top:35px}.home .process-rows li{grid-template-columns:26px 1fr;gap:15px;padding:28px 0}.home .process-rows h3{font-size:30px}.home .consultation-note{padding:35px 0}.home .consultation-note h2{font-size:32px}.project-grid .image-wrap{height:auto;aspect-ratio:4/5}.project-grid .project-caption h3{font-size:28px}.project-hero-title h1{font-size:clamp(52px,11vw,80px)}}
@media(min-width:851px) and (max-height:750px){.home .hero-slide .hero-title h1{font-size:clamp(60px,12vh,100px)}}

/* Dark canvas on every route; imagery retains its original pixels. */
html{background:#000}body{background:var(--paper);color:var(--ink)}.package{background:transparent}.package.selected{background:#1b1b1b}.inner .header{border-bottom-color:var(--line)}
/* Alignment audit: shared header, hero edge, footer link rows, package rhythm. */
.header{align-items:center}.header-wordmark{display:flex;align-items:center;min-height:44px}.home .hero-title h1{margin-left:0}footer .footer-nav{gap:4px}footer .footer-nav a{min-height:44px;display:inline-flex;align-items:center}.package .duration{min-height:42px}@media(max-width:850px){.package .duration{min-height:0}}
/* Project galleries preserve full compositions and reserve intrinsic image space. */
.project-gallery{padding:0 4.5vw 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px 30px;align-items:start}.project-gallery figure{margin:0;min-width:0}.project-gallery figure:nth-child(3n+1):not(.portrait){grid-column:1/-1}.project-gallery img{display:block;width:100%;height:auto;object-fit:contain;background:#181818}.project-gallery figcaption{font-size:13px;color:var(--muted);line-height:1.5;padding-top:12px}@media(max-width:850px){.project-gallery{padding:0 6vw 55px;grid-template-columns:minmax(0,1fr);gap:32px}.project-gallery figure:nth-child(3n+1){grid-column:auto}}
/* Blend the opening photographs into the following dark content canvas. */
.home .hero.slideshow{background:var(--paper)}
.home .hero-slide .hero-shade::after,.project-hero .hero-shade::after{content:"";position:absolute;inset:auto 0 0;height:clamp(180px,32vh,360px);background:linear-gradient(to bottom,rgba(16,16,16,0) 0%,rgba(16,16,16,.3) 35%,rgba(16,16,16,.78) 72%,var(--paper) 100%);pointer-events:none}
/* A taller opening image and lower text group, following the marked mobile layout. */
.home .hero.slideshow{height:110vh;height:110dvh;min-height:740px}
.home .hero-slide .hero-title{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
@media(max-width:850px){.home .hero.slideshow{min-height:780px}.home .hero-slide .hero-title{bottom:calc(55px + env(safe-area-inset-bottom,0px))}}

/* Consistent action hierarchy: compact links, clear selectors, one primary invitation. */
:is(a.button,a.text-link,a.hero-link,a.small-link,.menu-button,footer .footer-contact a,footer .footer-nav a){font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0;min-height:44px;padding-top:11px;padding-bottom:11px;color:var(--red);background:transparent;border:0;border-radius:0;text-underline-offset:.2em;text-decoration-thickness:1px}
:is(a.button,a.text-link,a.hero-link,a.small-link,footer .footer-contact a,footer .footer-nav a):visited{color:var(--red)}
:is(a.button,a.text-link,a.hero-link,a.small-link,.menu-button,footer .footer-contact a,footer .footer-nav a):hover{color:#ffa199}
.footer-cta,.journey>span:first-child,.editorial-middle .editorial-journey>span:first-child{font-size:clamp(48px,7vw,112px);line-height:1.08;letter-spacing:-.05em}
.package{cursor:default}.package:hover{border-color:#555}.package.selected,.package.selected:hover{border-color:var(--red)}
label.package-top[for]{cursor:pointer;min-height:55px;color:var(--red);font-size:23px;text-underline-offset:.2em}
.package .price,.package .duration,.package .package-description,.package li{color:var(--ink);text-decoration:none}
.package .duration,.package .package-description,.package li{color:var(--muted)}
.home .design-thinking{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:90px;padding-bottom:90px}
.home .design-process{padding-top:90px}.home .design-process .editorial-heading{margin-bottom:40px}.home .process-rows{margin-top:40px}
.home .consultation-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:70px 0;margin-bottom:70px}
.approach-detail+.approach-detail{border-top:1px solid var(--line)}
@media(max-width:850px){.home .design-thinking{padding-top:60px;padding-bottom:60px}.home .design-process{padding-top:60px}.home .consultation-note{padding:50px 0;margin-bottom:50px}.home .process-rows{margin-top:30px}}

/* Keep the selected consultation and its real next step in view. */
.booking.has-selection{position:fixed;z-index:30;left:0;right:0;bottom:0;margin:0;padding:18px 4.5vw calc(18px + env(safe-area-inset-bottom,0px));background:var(--surface-dark);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.booking.has-selection p{margin:0;font-size:15px;color:var(--ink)}.booking.has-selection .button{flex-shrink:0}body:has(.booking.has-selection){padding-bottom:120px}
@media(max-width:850px){.booking.has-selection{padding:16px 6vw calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:flex-start;gap:4px}body:has(.booking.has-selection){padding-bottom:165px}}

.consultation-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0 0 55px;padding:0 0 40px 22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:16px;line-height:1.6}.consultation-flow li{padding-left:4px}.consultation-flow li::marker{color:var(--ink)}
@media(max-width:850px){.consultation-flow{grid-template-columns:1fr;gap:14px;margin-bottom:40px;padding-bottom:30px}}
/* Shared neutral rule for equivalent option-card boundaries. */
.package,.package:hover{border-color:var(--line)}.package.selected,.package.selected:hover{border-color:var(--red)}
/* The journey subtitle stays quiet; the primary action keeps its underline. */
a.journey[href]{text-decoration-line:none!important}a.journey[href]>.journey-note{text-decoration:none!important}a.journey[href]>span:first-child{text-decoration-line:underline}
/* Equivalent next-step actions share the compact red-link scale. */
.journey>span:first-child,.editorial-middle .editorial-journey>span:first-child{font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0;text-decoration-thickness:1px;text-underline-offset:.2em}.journey>.journey-note{margin-top:8px}

/* Follow the selected project images with the onward portfolio link. */
.selected-work-action{margin-top:40px}

/* Make the selected consultation's next step distinct from the scrolling cards. */
.booking.has-selection{background:#262626;border-top:3px solid var(--red);box-shadow:0 -12px 32px rgba(0,0,0,.45);padding-top:22px;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));gap:16px}
.booking.has-selection p{font-size:16px;line-height:1.5;color:#fff}
.booking.has-selection .button{font-size:20px;font-weight:600;line-height:1.4;min-height:48px;max-width:100%;white-space:normal}
body:has(.booking.has-selection){padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}
html:has(.booking.has-selection){scroll-padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}
@media(max-width:850px){.booking.has-selection{gap:10px;padding-top:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.booking.has-selection .button{width:100%}body:has(.booking.has-selection){padding-bottom:calc(220px + env(safe-area-inset-bottom,0px))}html:has(.booking.has-selection){scroll-padding-bottom:calc(220px + env(safe-area-inset-bottom,0px))}}

/* Four-line studio signature anchors the footer's lower-left corner. */
footer .footer-bottom{grid-template-columns:1fr 1fr}
footer .footer-base{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:24px;padding-top:32px}
footer .footer-base .footer-brand{grid-column:auto;display:block;justify-self:start;font-family:Arial,Helvetica,sans-serif;font-size:34px;font-weight:700;line-height:1.12;letter-spacing:-.045em;max-width:none}
footer .footer-brand span{display:block}
footer .footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right;min-width:0;font-size:12px}
@media(max-width:850px){footer .footer-base{gap:20px;padding-top:28px}footer .footer-base .footer-brand{font-size:28px}footer .footer-meta{font-size:12px}footer .footer-meta .copyright{grid-column:auto}}

/* Larger footer signature, without link underlining in any interaction state. */
footer .footer-base .footer-brand{font-size:clamp(56px,6vw,88px);line-height:1.05}
footer .footer-base a.footer-brand[href],footer .footer-base a.footer-brand[href] span{text-decoration:none!important}
@media(max-width:850px){footer .footer-base .footer-brand{font-size:clamp(34px,10.5vw,64px)}}

/* Keep the phone label and number together without cramped mobile wrapping. */
footer .footer-contact .footer-phone{flex-direction:column;align-items:flex-start;gap:2px}footer .footer-phone span:last-child{white-space:nowrap}

/* Align the signature row to the contact columns and its shared top/bottom edges. */
footer .footer-base{column-gap:inherit;row-gap:0}
footer .footer-base .footer-brand{align-self:start}
footer .footer-meta{align-self:stretch;justify-content:space-between}

/* Remove only the three homepage process-row rules marked for removal. */
.home .process-rows li{border-top:0}

/* Lift the marked homepage header pair together, retaining safe-area clearance. */
.home .header{padding-top:calc(25px + env(safe-area-inset-top,0px))}
@media(max-width:850px){.home .header{padding-top:calc(15px + env(safe-area-inset-top,0px))}}

/* Descriptive project metadata is static; images and names retain navigation. */
.project-image-link{display:block}
.work-caption>p,.project-caption>span{cursor:default;text-decoration:none}
.work-feature:hover img,.project-card:hover img{transform:none}
.work-feature .project-image-link:hover img{transform:scale(1.025)}
.project-card .project-image-link:hover img{transform:scale(1.035)}

/* Equivalent project enquiries use the same compact invitation throughout. */
footer .footer-top .journey{padding:0}
footer .footer-top.consultation-help{padding-top:32px;padding-bottom:32px}
footer .consultation-help .eyebrow{margin-bottom:8px}

/* Equal, compact project stories; mobile keeps the next project in view. */
.home .work-pair{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.home .work-feature:first-child{grid-column:auto}
.home .work-feature figure,.home .work-feature:first-child figure,.home .work-feature:nth-child(2) figure{height:auto;aspect-ratio:4/3}
.home .work-caption{display:block;padding-top:18px}
.home .work-caption h3,.home .work-feature:first-child .work-caption h3{font-size:clamp(23px,2.2vw,34px);line-height:1.15;min-height:2.3em}
.home .work-caption .work-location{font-size:12px;line-height:1.5;text-align:left;max-width:none;margin-top:12px}
.home .work-caption .work-idea{font-size:15px;line-height:1.55;text-align:left;max-width:34em;margin-top:16px;color:var(--muted)}
.home .work-pair:focus-visible{outline:2px solid var(--red);outline-offset:8px}
@media(max-width:850px){
 .home .work-pair{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:0;padding-bottom:16px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
 .home .work-feature{flex:0 0 62%;scroll-snap-align:start}
 .home .work-caption h3,.home .work-feature:first-child .work-caption h3{font-size:24px;min-height:2.3em}
 .home .work-caption .work-idea{font-size:14px;margin-top:12px}
 .home .work-caption .work-location{font-size:12px;margin-top:10px}
}
