:root{color-scheme:dark;--bg-deep:#0a0810;--bg-mid:#14101c;--bg-light:#1e1828;--accent-cyan:#c9b6d4;--accent-violet:#6d4d7b;--accent-blue:#5a4a68;--text-main:#e8e5ee;--text-muted:#aaa3b2;--line:rgba(232,229,238,.19);--font-display:'Barlow Condensed','Arial Narrow',sans-serif;--font-body:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg-deep);color:var(--text-main);font-family:var(--font-body);font-size:16px;line-height:1.65}h1,h2,h3,p,figure{margin:0}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:6px}.container{width:min(1320px,calc(100% - 112px));margin:auto}section{position:relative;padding:116px 0;overflow:clip}h2{font-family:var(--font-display);font-size:clamp(3.5rem,6.3vw,6rem);font-weight:600;line-height:1;letter-spacing:-.02em}h3{font-weight:500;line-height:1.2}p{color:var(--text-muted)}.eyebrow,.edition,.hero-index,.project-top,.project-client,.service-index,figcaption,.record-year,.footer-content,.logo,.nav-links,.work-credit{font-size:.75rem;font-weight:500;letter-spacing:.09em}.eyebrow{display:block;color:var(--accent-cyan);margin-bottom:22px}.skip-link{position:fixed;left:20px;top:-100px;z-index:20000;padding:12px;background:var(--text-main);color:var(--bg-deep)}.skip-link:focus{top:20px}
#navbar{position:fixed;inset:0 0 auto;z-index:10000;padding:22px 0;background:rgba(10,8,16,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.nav-content{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:1.5rem;text-decoration:none;white-space:nowrap}.logo span{font-size:.7rem;letter-spacing:.12em;margin-left:12px;vertical-align:middle;color:var(--text-muted)}.nav-links{display:flex;gap:38px;letter-spacing:0;font-size:.875rem}.nav-links a{text-decoration:none;padding:4px 0}.nav-links a:hover{color:var(--accent-cyan)}
#hero{padding:155px 0 0;min-height:96svh;display:flex;align-items:flex-end;background:radial-gradient(ellipse at 85% 40%,rgba(109,77,123,.12),transparent 60%)}.hero-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-top .eyebrow{margin:0}.edition{color:var(--text-muted)}h1{font-family:var(--font-display);font-weight:600;font-size:clamp(6rem,19.6vw,19rem);line-height:.82;letter-spacing:-.025em;margin:40px 0 42px;width:100%;display:block!important}h1>span{display:block}.surname{padding-left:17%;color:var(--accent-cyan)}.name-period{color:#81718c}.hero-bottom{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;gap:32px;align-items:center}.hero-bottom p{font-size:1.15rem;color:var(--text-main);line-height:1.6}.hero-bottom p>span{color:var(--text-muted)}.hero-actions{display:flex;align-items:center;gap:28px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:16px 24px;font-size:.9rem;border:1px solid var(--line);text-decoration:none;border-radius:2px;transition:background .2s,color .2s}.btn-primary{background:var(--text-main);color:var(--bg-deep)}.btn-primary:hover{background:var(--accent-cyan)}.text-link{text-underline-offset:7px;text-decoration-thickness:1px;font-size:.9rem}.hero-index{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:44px;padding:18px 0;color:var(--text-muted);font-size:.7rem}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}.section-heading p{font-size:.95rem;line-height:1.6}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.project-card{min-width:0;position:relative;min-height:355px;background:rgba(20,16,28,.50);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 36px;display:flex;flex-direction:column;transition:background .25s}.project-card:hover{background:rgba(41,32,51,.65)}.project-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted)}.project-number{font-family:var(--font-display);font-size:3rem;line-height:1;color:#61576d;letter-spacing:-.04em}.project-content{padding-top:36px;display:flex;flex-direction:column;flex:1}.project-content h3{font-family:var(--font-display);font-weight:500;font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.01em}.project-role{color:var(--accent-cyan);font-size:.95rem;margin:9px 0}.project-detail{font-size:.9rem;line-height:1.7;max-width:440px}.project-client{font-size:.7rem;color:var(--text-muted);padding-top:22px;margin-top:auto;letter-spacing:.025em}.work-credit{color:var(--text-muted);line-height:1.7;letter-spacing:0;margin-top:24px;max-width:730px;font-size:.8rem}
#fabrication{border-top:1px solid var(--line);background:var(--bg-mid)}.fabrication-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.material-image{position:relative}.material-image img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover}.material-image figcaption{position:absolute;left:24px;bottom:20px;color:white;font-size:.65rem;background:rgba(10,8,16,.76);padding:6px 10px}.fabrication-copy h2{font-size:clamp(3.5rem,5.8vw,5.5rem)}.intro{font-size:1.15rem;line-height:1.7;margin-top:26px;max-width:460px}.craft-list{margin:36px 0}.craft-list>div{display:flex;gap:20px;border-top:1px solid var(--line);padding:22px 0}.craft-list>div>span{color:var(--accent-cyan);font-size:.75rem;padding-top:3px}.craft-list h3{font-size:1.1rem;margin-bottom:8px}.craft-list p{font-size:.9rem;line-height:1.7}.design-work{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:90px;padding-top:54px;border-top:1px solid var(--line);align-items:start}.model-image img{width:100%;height:auto;display:block;filter:grayscale(1)}figcaption{font-size:.7rem;color:var(--text-muted);margin-top:12px}.design-records article{position:relative;padding:26px 0;border-top:1px solid var(--line)}.design-records h3{font-family:var(--font-display);font-size:2rem;margin:5px 0 10px}.design-records p{font-size:.9rem}.record-year{color:var(--accent-cyan)}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}.services-grid article{border-top:1px solid var(--line);padding-top:24px}.service-index{color:var(--accent-cyan);font-size:.7rem}.services-grid h3{font-family:var(--font-display);font-size:2.1rem;margin:28px 0 16px}.services-grid p{font-size:.9rem;line-height:1.8}#contact{border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact-layout h2{font-size:clamp(3.5rem,6vw,5.8rem);margin-bottom:28px}.contact-layout p{font-size:1rem}.contact-email{display:inline-block;text-decoration:none;border-bottom:1px solid var(--accent-cyan);margin-top:28px;padding-bottom:5px;font-size:1.1rem;overflow-wrap:anywhere}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:24px}label{display:block;font-size:.875rem;margin-bottom:10px;color:var(--accent-cyan)}input,textarea{background:transparent;color:var(--text-main);border:1px solid var(--line);border-radius:0;padding:12px;min-width:0;width:100%;font-size:1rem}textarea{resize:vertical}textarea::placeholder{color:#9c95a8}.form-note,#cf-status{font-size:.8rem!important;margin-top:18px;line-height:1.65}#cf-status:empty{display:none}.footer-content{display:flex;justify-content:space-between;gap:22px;font-size:.65rem;color:var(--text-muted);padding-top:30px;padding-bottom:30px;border-top:1px solid var(--line)}.footer-content a{text-decoration:none}
.calibration-mark{position:fixed;z-index:10001;width:13px;height:13px;pointer-events:none;border-color:#9b86a8;opacity:.6}.tl{top:12px;left:12px;border-top:1px solid;border-left:1px solid}.tr{top:12px;right:12px;border-top:1px solid;border-right:1px solid}.bl{bottom:12px;left:12px;border-bottom:1px solid;border-left:1px solid}.br{bottom:12px;right:12px;border-bottom:1px solid;border-right:1px solid}.projection-hud{position:fixed;bottom:10px;right:32px;z-index:10001;display:flex;gap:16px;align-items:center;padding:4px 8px;background:rgba(10,8,16,.9);font-family:var(--font-body);font-size:10px;letter-spacing:.1em;color:var(--text-muted)}#hud-mode{background:none;border:0;color:var(--accent-cyan);font:inherit;font-size:12px;padding:8px;cursor:pointer}.boot-status{display:none;pointer-events:none}.js-ready .boot-status{display:block;position:fixed;right:34px;top:98px;z-index:10001;background:var(--bg-deep);font-size:10px;letter-spacing:.15em;color:var(--text-muted);animation:status-fade 2s forwards}@keyframes status-fade{0%,60%{opacity:1}100%{opacity:0;visibility:hidden}}[data-reveal]{opacity:1;transform:none}section:before{content:attr(data-scene);position:absolute;right:30px;top:45px;font-family:var(--font-display);font-size:150px;line-height:1;opacity:.025;pointer-events:none}[data-magnetic]{display:inline-flex}#projection-canvas{opacity:.38}html.no-webgl [data-reveal]{opacity:1!important;transform:none!important}
#contact-form{display:none}.js-ready #contact-form{display:block}
@media(min-width:1600px){h1{font-size:18rem}#hero{min-height:1000px}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}.logo span{display:none}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.project-card{padding:26px;min-height:340px}.hero-actions{gap:18px}.edition{display:none}.fabrication-layout,.design-work,.contact-layout{gap:5%}.fabrication-copy h2{font-size:3.8rem}.craft-list{margin:25px 0}.craft-list>div{padding:16px 0}}
@media(max-width:640px){html{scroll-padding-top:105px}.container{width:calc(100% - 40px)}section{padding:76px 0}#navbar{padding:16px 0}.nav-content{gap:12px}.nav-links{gap:17px;font-size:.8rem}.logo{font-size:1.25rem}#hero{min-height:auto;padding-top:125px}.hero-top .eyebrow{font-size:.65rem;letter-spacing:.08em}h1{font-size:25vw;margin:36px 0;line-height:.87;letter-spacing:-.025em}.surname{padding-left:3%}.hero-bottom{display:block}.hero-bottom p{font-size:1rem}.hero-actions{margin-top:24px;gap:22px}.btn{font-size:.875rem;padding:13px 18px;gap:20px}.hero-index{margin-top:32px;padding:15px 0;font-size:.58rem;gap:12px}.hero-index span:last-child{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:20px}.eyebrow{font-size:.65rem;letter-spacing:.08em;margin-bottom:18px}h2{font-size:3.5rem}.portfolio-grid{grid-template-columns:1fr}.project-card{min-height:300px;padding:22px}.project-content{padding-top:24px}.project-content h3{font-size:3rem}.project-top{font-size:.65rem}.project-role{font-size:.95rem}.project-detail{font-size:1rem}.project-client{font-size:.75rem}.fabrication-layout,.design-work,.contact-layout{grid-template-columns:1fr;gap:38px}.fabrication-copy{grid-row:1}.fabrication-copy h2{font-size:3.5rem}.material-image img{max-height:500px;object-position:center 50%}.design-work{margin-top:48px;padding-top:40px}.model-image{max-width:450px}.design-records h3{font-size:2.3rem}.services-grid{grid-template-columns:1fr;gap:30px}.services-grid h3{font-size:2.4rem;margin-top:18px}.services-grid p,.craft-list p,.design-records p{font-size:1rem}.contact-layout h2{font-size:3.8rem}.form-pair{grid-template-columns:1fr;gap:0}.footer-content{flex-wrap:wrap;font-size:.65rem;padding-bottom:65px}.footer-content span:nth-child(2){display:none}.hud-readout{display:none}.projection-hud{right:16px;bottom:10px}.work-credit{font-size:.875rem}.contact-email{font-size:1rem}}
#hero{min-height:0;padding-top:148px;align-items:flex-start}
.name-scene{position:relative;width:min(880px,100%);height:238px;margin:18px 0 22px}
.name-scene h1{font-size:clamp(2.8rem,6.5vw,6rem);line-height:1.05;letter-spacing:.01em;text-transform:uppercase;margin:0;position:absolute;inset:0;display:flex!important;align-items:center;width:auto;font-weight:600}
.name-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.name-ready .name-canvas{opacity:1}.name-ready h1{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:640px){#hero{min-height:0;padding-top:120px}.name-scene{height:184px;margin:8px 0 10px}.name-scene h1{font-size:clamp(2.3rem,10vw,3.5rem);max-width:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#projection-canvas,.boot-status{display:none!important}[data-reveal]{opacity:1!important;transform:none!important}}
