/* User-directed refinement: full-bleed portrait and brighter silver/slate rhythm. */
:root{--paper:#303946;--dark:#28323e;--line:#596271;--sc-canvas:#303946;--sc-surface:#3c4553;--sc-ink:#f4f1ed;--sc-ink-soft:#c3c9d1;--muted:#c3c9d1}
body{background:#303946}.site-header{background:rgba(42,51,63,.97);border-bottom-color:#64708055}.desktop-nav{border-color:#67738377}.desktop-nav a:hover,.desktop-nav a.is-active{background:#47515e}.mobile-nav{background:#34404f}.hero{background:#e6e5e1;color:#182523;height:100svh;min-height:720px;max-height:1000px;padding-top:calc(var(--header) + 70px)}.hero-content{position:relative;width:49%;z-index:2}.hero-art{position:absolute;inset:var(--header) 0 0;width:100%;height:auto;min-height:0;clip-path:none;border-radius:0;background:#e5e5e0;z-index:0;transform:none!important}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-paper{position:absolute;inset:var(--header) 0 0;display:block;background:linear-gradient(90deg,#ebeae7ee 0%,#ebeae78c 30%,transparent 51%);pointer-events:none;z-index:1}.hero-eyebrow{color:#485856}.hero-intro p{color:#495855}.hero-intro h2{color:#1b2a26}.hero-actions .text-link{color:#273934;border-color:#6b7c75}.hero-actions .button{background:#253831;color:#f1f0eb}.hero-actions .button:hover{background:#3b5047}.hero .orange-dot{color:#af714b}.hero-bottom{color:#455953;z-index:2}.reveal-toggle{bottom:86px;right:var(--gutter);background:#273832e8;color:#f1f3e8;z-index:3}.journey-intro{background:#dde2e5;color:#25323c;border-color:#b2bfc7}.journey-intro .muted-word{color:#6e7e8c}.journey-intro>p{color:#4d6272}.journey,.journey-stage{background:#303946}.film-controls{color:#e2e7eb}.film-chapters button{color:#c1c9d3}.film-status{color:#c4ccd6}.work,.gallery-stage{background:#35404e}.work{border-top-color:#67717e}.work-opening>p:last-child,.gallery-description{color:#d0d6de}.work .muted-word{color:#aebdc9}.gallery-nav{border-color:#8493a377}.gallery-nav button{color:#d3dbe4}.gallery-nav button.active{background:#64707c;color:#fff7ec}.gallery-nav button:hover{background:#536271}.gallery-toolbar>span{color:#c7d0da}.gallery-toolbar>a{color:#e2e7eb}.project-caption{border-color:#6d788766;color:#c0cbd7}.project-caption>span:first-child{color:#efc5a5}.gallery-label h3{color:#f5f2ed}.project-stack{color:#bfcbd5}.evidence-link{color:#d0d7de}.gallery-actions>.case-link{border-color:#a19286}.gallery-foot>p{color:#bfcbd8}.gallery-meter{background:#65727f}
.approach{background:#dce2e5;color:#21343d;border-color:#b8c3cb}.approach h2{color:#253942}.approach-lead>p,.process-list details>p{color:#465e6a}.process-list summary h3{color:#263c46}.process-list details[open] summary h3{color:#7d5036}.process-list details,.process-list details:last-child{border-color:#aab9c1}.process-list summary>span{color:#516d7b}.process-list summary i,.process-list details[open] summary i{color:#89593a}.process-tags{color:#5e7886}.process-diagram{color:#5e756d}.process-diagram .trace-path{stroke:#86634e}.process-diagram circle{fill:#dce2e5;stroke:#556c75}.stack-heading{border-color:#a7b8c1}.stack-heading .eyebrow{color:#6b564b}.stack-heading>span:last-child{color:#546f7d}.stack-grid>div{border-color:#a7b8c1}.stack-grid p{color:#283e4a}.stack-grid small{color:#587282}.about{background:#c7d1d8;color:#233541;border-color:#a5b6c0}.cv-lead>.eyebrow{color:#6c4d3c}.cv-lead h2{color:#263c49}.cv-lead .muted-word{color:#617c8d}.cv-lead>p:not(.eyebrow){color:#415c6c}.cv-signature{color:#2c4150}.cv-signature>span{color:#5b7689}.cv-lead .button{background:#2e4553;color:#f0f3f4}.cv-lead .button:hover{background:#44606c}.dossier-shadow{opacity:.19}.contact{background:#303d4b;border-color:#607385}.contact-bottom>p{color:#c1ccd7}.contact h2 span{color:#d5b494}.site-footer{color:#bdc9d4;border-color:#6a7a8a}.contact-arrow{border-color:#b1947c}.contact-arrow:hover{background:#526270}
.workbench{background:#e0e6e9;color:#273b48;padding:65px var(--gutter);display:grid;grid-template-columns:.72fr 1.28fr;gap:45px;align-items:center;border-top:1px solid #b5c4cd;isolation:isolate}.workbench h2{font-size:clamp(35px,4.3vw,62px);line-height:1.08;letter-spacing:-.045em}.workbench .eyebrow{color:#7f5d47;margin-bottom:23px}.workbench p:not(.eyebrow){font-size:13px;line-height:1.9;color:#536d7e;margin-top:24px;max-width:34ch}.workbench-meta{display:flex;gap:20px;margin-top:25px;font:10px var(--display);letter-spacing:.06em;color:#6d7e8a}.workbench-source{display:flex;gap:23px;margin-top:27px}.workbench-source a{font-size:11px;border-bottom:1px solid #758b97;padding:6px 0;color:#344f5e}.workbench-view{min-width:0;position:relative}.model-shell{height:470px;position:relative;overflow:hidden;border-radius:5px;background:#bbc9d2}.model-shell model-viewer{width:100%;height:100%;--poster-color:transparent;--progress-bar-color:#4b768e;background:transparent;touch-action:pan-y}.model-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.model-shell.loaded>.model-poster{display:none}.model-shell:not(.loaded) model-viewer{opacity:0}.model-status{position:absolute;bottom:15px;left:18px;font:9px var(--display);letter-spacing:.04em;color:#344e5e;background:#e9eff1db;padding:6px 10px;pointer-events:none}.workbench-controls{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:18px 0 0}.workbench-controls button{background:#344b5b;color:#eff3f6;border-radius:3px;min-height:42px;padding:10px 16px;font:11px var(--display)}.workbench-controls button:hover{background:#526d7e}.workbench-controls button:last-of-type{background:transparent;color:#425e6c;border:1px solid #94a8b3}.model-explode{display:flex;align-items:center;gap:10px;flex:1;min-width:140px;font:10px var(--display);color:#496370}.model-explode input{width:100%;min-width:70px;height:30px;accent-color:#568799}.workbench small{display:block;font-size:9px;color:#68808d;line-height:1.7;margin-top:14px}.model-shell button:focus-visible{outline-color:#344d5b}
@media(max-width:900px){.workbench{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:50px}.workbench-intro{max-width:630px}.workbench h2{font-size:49px}.workbench p:not(.eyebrow){max-width:56ch;margin-top:19px}.model-shell{height:470px}.hero-art{inset:70px 0 0}.hero-art>img{object-position:60% center}.hero h1{font-size:10vw}.hero-intro h2{font-size:19px}.hero-content{width:51%}.reveal-toggle{right:25px}.hero-paper{background:linear-gradient(90deg,#ebeae7f5,#ebeae778 37%,transparent 67%)}}
@media(max-width:580px){.hero{height:auto;min-height:0;max-height:none;display:block;padding:105px 22px 40px;background:#e6e5e1}.hero-content{display:block;position:relative;width:100%;z-index:2;pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{font-size:23vw;margin-bottom:0}.hero h1>span:first-child{font-size:.52em;line-height:1.5}.hero-art{position:absolute;inset:235px 0 auto;width:100%;height:395px;aspect-ratio:auto;margin:0;z-index:0;clip-path:none}.hero-art>img{object-position:77% 46%;width:100%;height:100%;object-fit:cover}.hero-paper{inset:70px 0 auto;height:245px;display:block;background:linear-gradient(180deg,#e6e5e1 57%,transparent);z-index:1}.hero-intro{margin:360px -22px 0;padding:25px 22px 0;background:#e6e5e1;width:auto;max-width:none;position:relative}.hero-intro h2{font-size:18px;line-height:1.5}.hero-intro p{font-size:12px;line-height:1.8;max-width:38ch;margin-top:9px}.hero-actions{background:#e6e5e1;padding:17px 22px 0;margin:0 -22px;gap:27px}.hero-eyebrow{font-size:8px!important;margin-bottom:18px!important}.reveal-toggle{position:absolute;top:576px;right:17px;left:auto;bottom:auto;margin:0;min-height:36px;max-width:none;font-size:8px;z-index:3}.hero-bottom{display:none}.workbench{padding:42px 22px;gap:24px}.workbench h2{font-size:40px}.workbench .eyebrow{font-size:8px;margin-bottom:18px}.workbench p:not(.eyebrow){font-size:12px;line-height:1.8}.workbench-meta{font-size:8px;gap:15px;margin-top:18px}.workbench-source{margin-top:16px}.workbench-source a{font-size:10px}.model-shell{height:340px;margin:0 -10px}.workbench-controls{gap:10px;padding-top:15px}.workbench-controls button{font-size:10px;padding:10px 12px}.model-explode{flex-basis:100%;font-size:10px}.model-status{font-size:8px;left:12px;bottom:12px}.workbench small{font-size:8px}}
