@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Newsreader;src:url('/assets/newsreader.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;color:#f4f2ec;background:#171c1a;--ink:#171c1a;--paper:#e8e8e2;--white:#f4f2ec;--muted:#b6bcb6;--header:100px;--footer:86px;--gutter:clamp(24px,3.25vw,64px);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}body{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default;opacity:.25}button:focus-visible,a:focus-visible,main:focus-visible{outline:2px solid #829fb4;outline-offset:5px}button svg,a svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.35;flex-shrink:0}button{border:0}p,h1,h2,h3,figure{margin:0}p{line-height:1.65}img{display:block;max-width:100%}h1,h2{font-size:clamp(32px,4vw,76px);line-height:1.12;letter-spacing:-.055em;font-weight:400;text-wrap:balance}h3{font-weight:500}.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}.skip-link{position:fixed;left:20px;top:-80px;padding:14px 20px;background:var(--white);color:var(--ink);z-index:120}.skip-link:focus{top:12px}
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:var(--header);padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;color:var(--white);transition:color .25s;background:linear-gradient(180deg,rgba(12,20,20,.17),transparent)}
body[data-theme=light] .site-header{color:var(--ink);background:linear-gradient(var(--paper) 60%,transparent)}.brand{width:clamp(155px,14.1vw,220px)}.brand img{width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:8px;white-space:nowrap}.main-nav a{font-size:13px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 36%,transparent);border-radius:30px;padding:10px 17px;transition:background .2s,color .2s}.main-nav a[aria-current]{background:var(--white);border-color:var(--white);color:var(--ink)}body[data-theme=light] .main-nav a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--white)}body[data-theme=light] .brand img{filter:brightness(0)}.header-tools{display:flex;justify-content:flex-end;align-items:center;gap:25px;font-size:12px;white-space:nowrap}.reading-toggle{background:none;display:flex;gap:6px;align-items:center;padding:9px 0}.reading-toggle svg{width:19px;height:19px}.contact-nav{display:flex;gap:18px;align-items:center}.instagram-link,.contact-nav,.text-action{transition:opacity .2s}.instagram-link:hover,.contact-nav:hover,.text-action:hover{opacity:.72}
.rail{height:100svh;width:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline:none;scroll-behavior:smooth}.rail::-webkit-scrollbar{display:none}.screen{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:var(--ink);color:var(--white)}.screen[data-theme=light]{background:var(--paper);color:var(--ink)}.screen-shell{height:100%;padding:calc(var(--header) + 20px) var(--gutter) calc(var(--footer) + 22px);max-width:2200px;margin:auto}.split{display:grid;grid-template-columns:.82fr 1.4fr;gap:clamp(36px,5vw,90px);align-items:stretch}.copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;min-width:0}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){max-width:450px;font-size:clamp(15px,1.1vw,18px)}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;font-weight:500}.fine{font-size:11px;line-height:1.7;opacity:.7}.visual{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:15px}.media-frame{position:relative;border-radius:18px;overflow:hidden;background:#292e2b;height:100%;min-height:0}.media-frame>img{width:100%;height:100%;object-fit:cover}.media-frame figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(14,20,18,.8));color:var(--white);padding:40px 23px 21px;font-size:10px;letter-spacing:.025em;pointer-events:none}.media-frame .expand{position:absolute;right:20px;top:20px}.expand{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(21,28,25,.5);backdrop-filter:blur(8px);color:var(--white);transition:background .2s,transform .2s}.expand:hover{background:var(--white);color:var(--ink);transform:translate(1px,-1px)}.expand svg{transform:rotate(-45deg)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:var(--white);padding:15px 23px;font-size:13px;min-height:50px;border-radius:30px}.button-light{background:var(--white);color:var(--ink)}.button svg,.text-action svg{transition:transform .2s}.button:hover svg,.text-action:hover svg{transform:translateX(5px)}.text-action{display:inline-flex;align-items:center;gap:24px;background:none;padding:5px 0;font-size:13px;min-height:40px;text-align:left}.pull-quote{font-family:Newsreader,Georgia,serif;font-size:clamp(20px,1.8vw,30px);line-height:1.2;letter-spacing:-.02em}.small-cross{display:block;width:37px;height:37px;opacity:.45}.small-cross svg{fill:none;stroke:currentColor;stroke-width:.8;width:100%;height:100%}
.hero{background:#6c7776}.hero-media{position:absolute;inset:0}.hero-composite{width:100%;height:100%;display:block}.hero-word{font-family:Manrope,Arial,sans-serif;font-size:900px;letter-spacing:-.035em;font-weight:500;fill:var(--white);opacity:0;animation:word-in .85s .08s forwards}@keyframes word-in{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}.hero-topline{position:absolute;top:20%;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.hero-cross{position:absolute;right:var(--gutter);top:28%;width:32px;height:32px;opacity:.65}.hero-cross svg{width:100%;height:100%;stroke:var(--white);stroke-width:.8;fill:none}.hero-bottom{position:absolute;bottom:calc(var(--footer) + 38px);left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.glass{border:1px solid rgba(255,255,255,.28);background:rgba(21,32,30,.55);backdrop-filter:blur(12px)}.project-credit{padding:20px 24px;display:flex;flex-direction:column;gap:8px;border-radius:12px;font-size:11px;min-width:265px}.hero-intro{width:35%;max-width:470px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.hero-phrase{font-size:clamp(23px,2.45vw,42px);line-height:1.22;letter-spacing:-.04em}.scroll-hint{display:flex;gap:18px;font-size:10px;opacity:.75}.scroll-hint span{font-size:16px}.manifesto .visual{padding-block:2vh}.manifesto .media-frame{max-height:73vh}.manifesto .small-cross{margin-top:12px}.manifesto .pull-quote{margin-top:7px;max-width:400px}
.project-layout{display:flex;flex-direction:column;gap:19px}.project-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.project-heading h2{font-size:clamp(32px,3vw,58px);margin-top:8px}.project-heading>p{text-align:right;font-size:16px;flex-shrink:0}.project-heading>p span{display:block;font-size:10px;line-height:1.8;margin-top:4px;opacity:.7}.gallery-frame{flex:1;min-height:0}.gallery-frame>img{object-position:50% 55%;transition:opacity .16s}.project-overlay{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(16,25,23,.74));padding:55px 28px 24px;display:flex;align-items:flex-end;justify-content:space-between;color:var(--white)}.project-overlay p{font-size:clamp(22px,2.4vw,39px);line-height:1.13;letter-spacing:-.04em}.project-overlay .expand{position:static;flex-shrink:0}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px}.gallery-bottom>div:first-child{font-size:14px}.gallery-bottom>div:first-child span{display:block;font-size:10px;margin-top:5px;opacity:.65}.image-tabs{display:flex;gap:7px}.image-tabs button{padding:10px 18px;border:1px solid rgba(23,28,26,.3);border-radius:25px;background:transparent;font-size:11px;white-space:nowrap;color:var(--ink)}.image-tabs button[aria-selected=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}.gallery-bottom .text-action{font-size:11px;gap:12px}.gallery-bottom .text-action svg{width:19px}.scope-links{width:100%;margin-top:10px;max-width:450px}.scope-links button{background:transparent;border-bottom:1px solid #454b46;padding:15px 0;color:var(--white);display:grid;grid-template-columns:1fr auto;width:100%;text-align:left;font-size:15px;align-items:center;transition:opacity .2s;opacity:.6}.scope-links button:first-child{border-top:1px solid #454b46}.scope-links button span{display:block;grid-column:1;font-size:10px;line-height:1.8;opacity:.7}.scope-links button svg{grid-column:2;grid-row:1/3;width:19px}.scope-links button[aria-selected=true]{opacity:1}.scope-links button[aria-selected=true] svg{transform:translateX(5px)}.scales .copy{gap:22px}.studio-frame img{object-position:50% 50%}.work-layout{grid-template-columns:.85fr 1.2fr}.work-layout .media-frame>img{object-position:center 40%}.plain-list{list-style:none;padding:0;font-size:13px;line-height:2.25;margin:0;border-left:1px solid #b0b6ae;padding-left:18px}
.contact-layout{display:flex;flex-direction:column;justify-content:center;gap:35px;position:relative}.contact-top{display:flex;align-items:center;justify-content:space-between}.contact-layout h2{font-size:clamp(45px,7vw,128px);line-height:1.08;letter-spacing:-.06em}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:2vh;max-width:1350px}.services{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;font-size:13px;color:var(--muted)}.contact-link{display:flex;align-items:center;gap:16px;font-size:clamp(20px,2vw,32px);letter-spacing:-.03em;border-bottom:1px solid #79817a;padding-bottom:14px;white-space:nowrap}.contact-link svg:first-child{width:23px;height:23px}.contact-link svg:last-child{margin-left:20px;transform:rotate(-45deg)}.contact-bottom .fine{margin-top:15px}.contact-foot{display:flex;justify-content:space-between;border-top:1px solid #434b44;padding-top:17px;font-size:10px;color:var(--muted);margin-top:3vh}.closing-copy{font-size:18px;color:var(--muted)}
.journey-controls{position:fixed;z-index:35;inset:auto var(--gutter) 0;height:var(--footer);display:flex;align-items:center;gap:28px;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);color:var(--white);transition:color .25s}.journey-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;flex:1}.journey-progress{display:flex;align-items:center;width:142px;gap:4px}.journey-progress button{background:none;padding:18px 0;flex:1}.journey-progress span{display:block;width:100%;height:2px;background:currentColor;opacity:.25;transition:opacity .2s}.journey-progress button[aria-current] span{opacity:1}.journey-count{display:flex;gap:10px;font-size:11px;white-space:nowrap}.journey-count b{font-weight:500}.journey-count>span{opacity:.5}.journey-arrows{display:flex;gap:12px}.journey-arrows button{background:none;width:42px;height:42px;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:50%;display:flex;align-items:center;justify-content:center}.journey-arrows .next{background:var(--white);color:var(--ink);border-color:var(--white)}.journey-arrows .previous svg{transform:rotate(180deg)}body[data-theme=light] .journey-controls{color:var(--ink)}body[data-theme=light] .journey-arrows .next{background:var(--ink);color:var(--white);border-color:var(--ink)}
.diagram-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:4vw;align-items:center}.node-copy{padding-top:24px;border-top:1px solid #b5bdb5;max-width:390px;min-height:130px}.node-copy strong{font-size:16px;font-weight:500}.node-copy p{font-size:13px;margin-top:10px;opacity:.75}.diagram{width:100%;aspect-ratio:2048/1143;position:relative;overflow:hidden;border-radius:18px;background:#c6c9bf}.diagram>img{width:100%;height:100%;object-fit:fill}.diagram-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--white);stroke-width:2;stroke-dasharray:7 8;opacity:.75;pointer-events:none}.diagram-node{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--white);border:1px solid var(--white);font-size:12px}.diagram-node.active{background:var(--white);color:var(--ink);box-shadow:0 0 0 5px rgba(255,255,255,.22)}.diagram-visual>.fine{padding:0 12px}.document-frame{background:#fff}.document-frame>img{object-fit:contain;padding:6%;background:#fff}.document-frame figcaption{background:linear-gradient(transparent,rgba(255,255,255,.94));color:var(--ink)}.document-frame .expand{background:#171c1a;color:var(--white)}.plan-layout{grid-template-columns:.8fr 1.2fr}.material-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:4vw;align-items:stretch}.material-pair{display:grid;grid-template-columns:.5fr 1fr;gap:18px;align-items:stretch;min-height:0}.material-swatch{height:70%;align-self:center}.vanity-frame{height:100%}.vanity-frame img{padding:6% 3% 12%}.material-swatch figcaption{font-size:9px}
dialog{color:var(--ink);border:0;padding:0;background:var(--white);box-shadow:0 18px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(9,16,14,.85);backdrop-filter:blur(10px)}.viewer{width:min(1400px,94vw);height:91svh;border-radius:16px;overflow:hidden}.viewer[open]{display:flex;flex-direction:column}.modal-toolbar{display:flex;align-items:center;gap:20px;min-height:64px;padding:12px 22px;border-bottom:1px solid #d6d9d0;flex-shrink:0}.modal-toolbar h2{font-size:15px;letter-spacing:0;margin-right:auto}.modal-toolbar button{background:none;font-size:12px;min-height:38px}.close-dialog{display:flex;align-items:center;gap:15px;background:none;padding:5px;font-size:13px;min-height:38px}.close-dialog span{font-size:27px;line-height:1;font-weight:200}.viewer-media{overflow:auto;flex:1;min-height:0;padding:15px;display:flex;align-items:center;justify-content:center;background:#dfe2db}.viewer-media img{object-fit:contain;max-width:100%;max-height:100%;width:auto;height:auto}.viewer-media.is-zoomed{display:block}.viewer-media.is-zoomed img{max-width:none;max-height:none;width:200%;height:auto}.viewer-caption{font-size:11px;padding:14px 22px;min-height:44px;flex-shrink:0}.details-dialog{width:min(650px,91vw);max-height:85svh;overflow:auto;padding:45px;border-radius:16px}.details-dialog>.close-dialog{margin-left:auto;margin-bottom:30px}.details-dialog h2{font-size:38px;margin:22px 0 30px}.details-copy p{font-size:16px;line-height:1.8;margin:18px 0}.noscript-message{position:fixed;bottom:10px;z-index:100;background:var(--white);color:var(--ink);font-size:12px;padding:12px}
.screen-shell.has-overflow{overflow-y:auto;overscroll-behavior:contain}.linear{overflow-y:auto;overscroll-behavior:auto}.linear .rail{display:block;height:auto;overflow:visible;scroll-snap-type:none}.linear .screen{height:100svh;min-height:650px}.linear .hero{height:100svh}.linear .reading-toggle{opacity:.65}.linear .journey-controls{background:var(--ink);padding-inline:15px;left:0;right:0}.linear[data-theme=light] .journey-controls{background:var(--paper)}
@media(min-width:1850px){:root{--header:125px;--footer:105px}.copy{gap:35px}.copy>.eyebrow{font-size:12px}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:20px;max-width:490px}.project-heading>p span,.fine{font-size:13px}.main-nav a{font-size:15px;padding:12px 22px}.header-tools{font-size:14px}.hero-topline{font-size:12px}.project-credit{font-size:13px;padding:25px 30px}.hero-intro{gap:23px}.button,.text-action{font-size:15px}.journey-label,.journey-count{font-size:13px}.journey-arrows button{width:49px;height:49px}.gallery-bottom>div:first-child span{font-size:12px}.image-tabs button{font-size:13px}.contact-foot{font-size:12px}}
@media(max-width:1150px){.instagram-link{display:none}.header-tools{gap:20px}.contact-nav{gap:10px}.main-nav a{padding:9px 13px;font-size:12px}.brand{width:175px}.split{gap:35px;grid-template-columns:.9fr 1.1fr}.copy{gap:20px}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:15px}.project-heading h2{font-size:37px}.gallery-bottom{gap:15px}.image-tabs button{padding:9px 11px;font-size:10px}.gallery-bottom>.text-action{max-width:130px;font-size:10px}.gallery-bottom>.text-action svg{display:none}.scope-links button{font-size:14px}.services{font-size:11px;gap:16px}.material-layout{grid-template-columns:.8fr 1.2fr;gap:30px}.material-pair{grid-template-columns:1fr}.material-swatch{display:none}.contact-layout h2{font-size:8vw}}
@media(max-width:700px){
 :root{--header:77px;--footer:78px;--gutter:20px}.site-header{grid-template-columns:115px 1fr auto;gap:10px;align-content:center}.brand{grid-column:1;grid-row:1;width:115px}.main-nav{grid-column:2;grid-row:1;justify-self:end;gap:4px}.main-nav a{font-size:10px;padding:9px 10px;line-height:1}.header-tools{grid-column:3;grid-row:1;gap:0}.reading-toggle{width:30px;height:40px;justify-content:center}.reading-toggle span,.contact-nav{display:none}.hero-topline{top:15%;font-size:8px;letter-spacing:.08em}.hero-topline>span:last-child{max-width:95px;text-align:right}.hero-cross{top:23%;width:24px;height:24px}.hero-bottom{bottom:calc(var(--footer) + 24px);display:flex;flex-direction:column;align-items:flex-start;gap:17px}.hero-intro{width:100%;max-width:none;gap:10px;order:-1}.hero-phrase{font-size:29px;max-width:310px}.hero-intro .text-action{font-size:12px;min-height:32px}.scroll-hint{font-size:9px}.project-credit{padding:12px 15px;border-radius:10px;gap:4px;min-width:0;max-width:100%;font-size:10px}.project-credit .eyebrow{font-size:9px}.project-credit .fine{font-size:9px}.screen-shell{padding:calc(var(--header) + 12px) var(--gutter) calc(var(--footer) + 16px)}.split{display:flex;flex-direction:column;gap:20px}.copy{flex:0 0 auto;gap:13px;justify-content:flex-start}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:14px;line-height:1.55;max-width:none}.eyebrow{font-size:9px;letter-spacing:.13em}h1,h2{font-size:35px;line-height:1.1;letter-spacing:-.05em}.visual{flex:1;min-height:0}.media-frame{border-radius:13px;min-height:0}.media-frame figcaption{font-size:9px;padding:30px 15px 13px}.media-frame .expand{right:12px;top:12px}.expand{width:40px;height:40px}.button{font-size:12px;padding:12px 20px;min-height:43px}.text-action{font-size:12px;min-height:36px;gap:20px}.fine{font-size:9px}.pull-quote{font-size:22px}.small-cross{width:28px;height:28px}.manifesto .visual{padding-block:0}.manifesto .media-frame{max-height:none}.manifesto .small-cross{display:none}.manifesto .pull-quote{display:none}.manifesto .copy{gap:13px}.project-layout{gap:12px}.project-heading{align-items:flex-start}.project-heading h2{font-size:31px;margin-top:6px}.project-heading>p{font-size:10px;max-width:105px;padding-top:2px}.project-heading>p span{font-size:8px;line-height:1.6}.project-overlay{padding:40px 16px 18px}.project-overlay p{font-size:28px;max-width:230px}.gallery-bottom{display:grid;grid-template-columns:1fr auto;gap:12px}.gallery-bottom>.image-tabs{grid-row:1;grid-column:1/3;justify-content:space-between;gap:5px}.image-tabs button{font-size:10px;padding:10px 13px;flex:1;min-height:40px}.gallery-bottom>div:first-child{grid-column:1;grid-row:2;font-size:11px}.gallery-bottom>div:first-child span{font-size:8px;margin-top:3px}.gallery-bottom>.text-action{grid-column:2;grid-row:2;font-size:9px;max-width:130px;min-height:34px}.gallery-bottom>.text-action svg{display:none}.scales{gap:15px}.scales .copy{gap:12px}.scales .copy>p{display:none}.scales .copy h2{font-size:31px}.scope-links{display:flex;margin-top:0;gap:7px;max-width:none}.scope-links button{font-size:10px;border:1px solid #51594f!important;border-radius:9px;padding:10px 8px;display:block;flex:1;line-height:1.35;min-height:54px}.scope-links button span{font-size:8px;line-height:1.3;margin-top:5px}.scope-links button svg{display:none}.scope-links button[aria-selected=true]{background:var(--white);color:var(--ink)}.work-layout .copy>.fine{display:none}.work-layout .media-frame img{object-position:center 35%}.work-layout .copy h2{font-size:35px}.work-layout .plain-list{display:none}.journey-controls{gap:12px}.journey-label{font-size:8px;letter-spacing:.06em;max-width:155px;line-height:1.4}.journey-progress{display:none}.journey-count{margin-left:auto;font-size:10px;gap:6px}.journey-arrows{gap:8px}.journey-arrows button{width:40px;height:40px}.journey-arrows svg{width:20px}.contact-layout{gap:23px}.contact-layout h2{font-size:clamp(37px,10vw,65px)}.contact-top .eyebrow{max-width:250px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-top:0}.services{grid-template-columns:1fr;gap:8px;font-size:12px}.contact-link{font-size:24px;gap:12px;padding-bottom:12px}.contact-link svg:last-child{margin-left:12px}.contact-bottom .fine{font-size:10px;margin-top:10px}.contact-foot{font-size:9px;margin-top:4px;padding-top:14px}.closing-copy{font-size:14px}.process-intro .pull-quote{display:none}.diagram-layout{display:flex;flex-direction:column;gap:18px;align-items:stretch}.diagram-layout .copy{gap:12px}.diagram-layout h2{font-size:34px}.diagram-layout .node-copy{order:1;padding-top:12px;min-height:0;width:100%;margin-top:3px;max-width:none}.node-copy strong{font-size:13px}.node-copy p{font-size:11px;line-height:1.5;margin-top:6px}.diagram-visual{justify-content:center;gap:10px}.diagram-visual .fine{font-size:8px;line-height:1.4}.diagram-node{width:32px;height:32px;font-size:11px}.plan-layout .copy>.fine{display:none}.document-frame>img{padding:4%}.material-layout{display:flex;flex-direction:column;gap:15px}.material-layout .copy{gap:12px}.material-layout .copy>.fine{display:none}.material-layout .copy>.text-action{display:none}.material-pair{flex:1;min-height:0;display:block}.vanity-frame img{padding:3% 12% 12%}.viewer{width:96vw;height:92svh}.modal-toolbar{padding:10px 13px;gap:10px;min-height:57px}.modal-toolbar h2{font-size:12px;max-width:150px}.modal-toolbar button{font-size:10px}.viewer-caption{font-size:10px;padding:12px 14px}.details-dialog{padding:25px}.details-dialog h2{font-size:30px}.details-copy p{font-size:14px}.details-dialog>.close-dialog{margin-bottom:15px}.linear .screen{height:auto;min-height:100svh}.linear .screen-shell{min-height:100svh;height:auto}.linear .visual{min-height:370px}.linear .gallery-frame{height:420px;flex:auto}.linear .material-pair{height:400px;flex:auto}.linear .hero{height:100svh}.linear .diagram-visual{min-height:280px}
}
@media(max-width:370px){:root{--gutter:15px;--header:72px;--footer:70px}.site-header{grid-template-columns:96px 1fr auto;gap:5px}.brand{width:96px}.main-nav a{font-size:9px;padding:8px}.reading-toggle{width:25px}.hero-phrase{font-size:26px}h1,h2{font-size:31px}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:13px}.contact-layout h2{font-size:35px}.scope-links button{font-size:9px}.journey-label{max-width:115px}.project-heading h2{font-size:28px}.project-heading>p{max-width:87px}.image-tabs button{font-size:9px;padding:9px 7px}.contact-link{font-size:22px}}
@media(max-height:650px) and (min-width:701px){:root{--header:72px;--footer:62px}.screen-shell{padding-top:82px;padding-bottom:77px}.copy{gap:14px}.copy h1,.copy h2{font-size:36px}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:14px;line-height:1.5}.copy>.pull-quote{display:none}.copy>.fine{font-size:9px}.scope-links button{padding:9px 0}.contact-layout{gap:19px}.contact-layout h2{font-size:65px}.contact-bottom{margin-top:0}.contact-foot{margin-top:0}.hero-topline{top:20%}.hero-bottom{bottom:calc(var(--footer) + 23px)}.project-credit{padding:13px 18px}.hero-phrase{font-size:28px}.hero-intro{gap:10px}.journey-arrows button{width:36px;height:36px}.project-heading h2{font-size:32px}.gallery-bottom{min-height:35px}.image-tabs button{padding:7px 13px}.project-layout{gap:12px}.plain-list{display:none}.node-copy{min-height:100px;padding-top:12px}.node-copy p{font-size:12px}.header-tools{font-size:11px}.main-nav a{font-size:11px}.brand{width:155px}}
@media(max-height:680px) and (max-width:700px){.copy{gap:10px}.copy h1,.copy h2{font-size:28px}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:12px;line-height:1.45}.screen-shell{padding-top:calc(var(--header) + 5px);padding-bottom:calc(var(--footer) + 9px)}.split{gap:12px}.hero-topline{top:17%}.hero-phrase{font-size:25px}.hero-bottom{gap:11px;bottom:calc(var(--footer) + 15px)}.hero-intro{gap:6px}.project-credit{padding:8px 12px}.scroll-hint{display:none}.contact-layout{gap:17px}.contact-layout h2{font-size:35px}.contact-bottom{gap:18px}.contact-top .small-cross{display:none}.services{gap:6px;font-size:10px}.contact-foot{font-size:8px;margin-top:0}.contact-link{font-size:21px}.scope-links button span{display:none}.scope-links button{min-height:40px}.scales .copy h2{font-size:27px}.diagram-layout{gap:12px}.node-copy p{font-size:10px}.node-copy{padding-top:8px!important}.diagram-visual>.fine{display:none}.project-heading h2{font-size:26px}.project-overlay p{font-size:23px}.gallery-bottom>div:first-child span{display:none}.closing-copy{font-size:12px}.contact-bottom .fine{font-size:9px}.contact-layout .button{min-height:37px;padding:9px 15px}.copy>.text-action{min-height:29px;font-size:11px}}
.hero-topline{top:calc(var(--header) - 6px)}.hero-intro{text-shadow:0 2px 18px rgba(0,0,0,.4)}body[data-theme=light] button:focus-visible,body[data-theme=light] a:focus-visible{outline-color:#2c566e}
@media(max-width:700px){.hero-topline{top:15%}.journey-arrows button{width:44px;height:44px}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:15px}}
@media(max-width:370px){.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:13px}}
@media(max-height:680px) and (max-width:700px){.hero-topline{top:17%}.copy>p:not(.eyebrow):not(.fine):not(.pull-quote){font-size:12px}}
.hero-bottom{justify-content:flex-end}.hero-intro{width:36%;max-width:480px}
.closing-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,6vw,100px);align-items:stretch}
.closing-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-width:0}
.closing-content h2{font-size:clamp(36px,4.2vw,66px);line-height:1.1;letter-spacing:-.045em}
.closing-intro{font-size:15px;max-width:370px;color:#d5d9d2}
.social-heading{font-size:11px;color:#b6bcb6;margin-top:6px}
.social-links{width:100%;max-width:430px;border-top:1px solid #687168}
.social-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #465148;font-size:15px;line-height:1.5;min-height:65px}
.social-row small{display:block;font-size:11px;color:#b6bcb6;margin-top:2px}
.social-row svg{width:22px;height:22px;transform:rotate(-45deg);transition:transform .2s}
.social-row:hover svg{transform:translate(3px,-3px) rotate(-45deg)}
.closing-image{height:100%}.closing-image>img{object-position:center}.closing-image figcaption{font-size:9px}
.tiktok-link{transition:opacity .2s}.tiktok-link:hover{opacity:.72}
@media(max-width:1150px){.tiktok-link{display:none}.site-header{gap:16px}.main-nav a{padding:9px 11px}}
@media(max-width:700px){
 :root{--header:112px}.site-header{grid-template-columns:1fr auto;height:var(--header);gap:4px 12px;padding-top:12px;padding-bottom:8px;background:linear-gradient(180deg,rgba(15,23,20,.32),transparent)}
 .brand{grid-column:1;grid-row:1;width:115px}.header-tools{grid-column:2;grid-row:1}.main-nav{grid-column:1/3;grid-row:2;justify-self:start;gap:6px}.main-nav a{font-size:11px;padding:10px 14px;min-height:32px}.reading-toggle{width:40px;height:36px}
 .hero-topline{top:calc(var(--header) + 8px)}.hero-intro{width:100%;max-width:none}.hero-bottom{align-items:flex-start}.hero-phrase{font-size:30px}
 .closing-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(100px,1fr);gap:20px}
 .closing-content{gap:12px;justify-content:flex-start}.closing-content h2{font-size:36px;line-height:1.08}.closing-intro{font-size:13px;line-height:1.5}.social-heading{font-size:10px;margin-top:0}
 .social-links{max-width:none}.social-row{font-size:13px;min-height:52px;padding:9px 0}.social-row small{font-size:10px}.closing-content>.text-action{min-height:32px;font-size:11px}.closing-image{min-height:100px}.closing-image figcaption{padding:25px 14px 12px}
 .linear .closing-image{min-height:280px}.linear .closing-layout{grid-template-rows:auto 300px}
}
@media(max-width:370px){:root{--header:104px}.brand{width:105px}.main-nav a{font-size:10px;padding:9px 12px}.closing-content h2{font-size:29px}.hero-phrase{font-size:25px}}
@media(max-height:680px) and (max-width:700px){.closing-layout{gap:12px;grid-template-rows:auto minmax(70px,1fr)}.closing-content{gap:8px}.closing-content h2{font-size:28px}.closing-intro{display:none}.social-row{min-height:43px;padding:6px 0;font-size:12px}.social-row small{font-size:9px}.closing-image{min-height:70px}.closing-content>.text-action{min-height:26px;font-size:10px}.hero-topline{top:calc(var(--header) + 6px)}}
@media(max-height:650px) and (min-width:701px){.closing-content{gap:10px}.closing-content h2{font-size:34px}.closing-intro{font-size:12px}.social-heading{margin-top:0;font-size:10px}.social-row{min-height:48px;padding:6px 0;font-size:13px}.social-row small{font-size:10px}.closing-content>.text-action{min-height:28px;font-size:11px}}
.screen.is-current .copy>h1,.screen.is-current .copy>h2,.screen.is-current .project-heading h2,.screen.is-current .closing-content>h2{animation:title-in .5s ease-out both}
@keyframes title-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.hero-word{opacity:1;animation:none}.rail{scroll-behavior:auto}}
