@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:300 500;font-display:swap;src:url(../fonts/hanken-grotesk.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-italic.woff2) format("woff2")}
:root{--bg:#fff;--ink:#1C1B1A;--ink-2:#33302D;--ink-3:#3F3B37;--muted:#6F6A65;--soft:#5E5954;--faint:#77716B;--accent:#E87352;--accent-ink:#C9532F;--error:#B23E25;--rule:rgba(28,27,26,.28);--sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"EB Garamond",Georgia,serif;--pad:clamp(16px,5vw,96px);--gap:clamp(12px,2vw,36px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body.lock{overflow:hidden}
img{max-width:100%}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent-ink)}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
button{font:inherit;color:inherit}
input::placeholder,textarea::placeholder{color:#8F8983}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:8px 14px;font:500 12px/1 var(--sans)}
.skip:focus{left:8px;color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0;font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";flex:0 0 20px;height:1px;background:var(--accent)}
.eyebrow.roman::before{display:none}
.eyebrow .r{color:var(--accent);letter-spacing:.06em}
.h1{margin:0;font:300 clamp(30px,3.2vw,48px)/1.05 var(--sans);letter-spacing:-.025em}
.rule-link{display:flex;align-items:center;gap:12px;min-height:44px;width:fit-content;font:400 14px/1 var(--sans)}
.rule-link::after{content:"";width:36px;height:1px;background:var(--accent)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:40;height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(16px,3.4vw,56px);background:#fff}
.brand{display:flex;align-items:center;gap:12px;min-height:44px;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--ink)}
.brand::before{content:"";width:7px;height:7px;background:var(--accent)}
.brand:hover{color:var(--ink)}
.nav-d{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
.nl{display:flex;align-items:center;gap:8px;min-height:44px;font:400 13px/1 var(--sans);color:var(--soft)}
.nl::before{content:"";width:5px;height:5px;background:transparent}
.nl:hover,.nl[aria-current]{color:var(--ink)}
.nl[aria-current]::before{background:var(--accent)}
.has-sub{position:relative;height:64px;display:flex;align-items:center}
.chev{width:5px;height:5px;margin-left:2px;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);transform:rotate(45deg);transition:transform .25s ease}
.sub{position:absolute;top:58px;left:-14px;min-width:132px;padding:10px 14px 12px;background:#fff;display:none;flex-direction:column}
.sub::before{content:"";width:16px;height:1px;margin:0 0 6px 13px;background:var(--accent)}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:flex}
.has-sub:hover .chev,.has-sub:focus-within .chev{transform:rotate(225deg) translate(-1px,-1px)}
.sub a{display:flex;align-items:center;gap:8px;min-height:30px;font:400 12.5px/1 var(--sans);color:var(--soft);font-variant-numeric:tabular-nums}
.sub a::before{content:"";width:5px;height:5px}
.sub a.on{color:var(--ink)}
.sub a.on::before{background:var(--accent)}
.sub a:hover{color:var(--accent-ink)}
.mnav{display:none}
.mnav>summary{list-style:none;display:flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;font:400 13px/1 var(--sans);cursor:pointer}
.mnav>summary::-webkit-details-marker{display:none}
.mnav .c,.mnav[open] .o{display:none}
.mnav[open] .c{display:inline}
.mpanel{position:fixed;inset:64px 0 auto 0;z-index:39;max-height:calc(100svh - 64px);background:#fff;padding:8px 20px 20px;overflow:auto;overscroll-behavior:contain;border-bottom:1px solid rgba(28,27,26,.12)}
.mveil{position:fixed;inset:64px 0 0 0;z-index:38;background:rgba(255,255,255,.88)}
.mpanel nav{display:flex;flex-direction:column;gap:0}
.mlink{display:flex;align-items:center;gap:14px;min-height:50px;padding:4px 0;font:300 clamp(26px,7.4vw,36px)/1.15 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.mlink .n{flex:0 0 22px;align-self:baseline;padding-top:.15em;font:500 11px/1 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}
.mlink[aria-current]{color:var(--ink)}
.macc-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.macc-btn{flex:0 0 48px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(28,27,26,.18);border-radius:0;font:300 22px/1 var(--sans);cursor:pointer}
.myears{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;padding:0 0 6px 36px}
.myears[hidden]{display:none}
.myears a{display:flex;align-items:center;gap:8px;min-height:44px;font:400 16px/1 var(--sans);font-variant-numeric:tabular-nums}
.myears a::before{content:"";width:5px;height:5px}
.myears a.on::before{background:var(--accent)}
@media (max-width:899px){.nav-d{display:none}.mnav{display:block}}

main{display:block;padding-top:64px;min-height:70vh;overflow-x:clip}

/* Home — single-viewport landing */
.landing{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:minmax(0,1fr);column-gap:clamp(24px,5vw,96px);padding:clamp(20px,5vh,64px) var(--pad) clamp(12px,3vh,36px)}
.id{align-self:end;display:flex;flex-direction:column;gap:clamp(12px,2.2vh,24px);padding-bottom:clamp(0px,1vh,12px)}
.id h1{margin:0;font:300 clamp(40px,min(5.8vw,10vh),104px)/.96 var(--sans);letter-spacing:-.035em}
.tagline{margin:0;font:italic 400 clamp(18px,min(1.7vw,2.9vh),25px)/1.35 var(--serif);color:var(--muted)}
.entrances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(16px,3vw,56px);min-height:0}
.ent{display:grid;grid-template-rows:minmax(0,1fr) auto;row-gap:clamp(10px,1.6vh,18px);min-height:0;color:var(--ink)}
.ent:hover{color:var(--ink)}
.ent:focus-visible{outline:none}
.ent-d{align-self:start;height:84%}
.ent-p{align-self:end;height:92%}
.ent-img{min-height:0;display:flex;align-items:flex-end;justify-content:flex-start}
.ent-img img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;outline:1px solid transparent;outline-offset:8px;transition:outline-color .4s ease}
.ent:hover img,.ent:focus-visible img{outline-color:var(--accent)}
.ent .meta{display:flex;flex-direction:column;gap:6px}
.ent .tl{display:flex;align-items:baseline;gap:10px}
.ent .num{font:500 11px/1 var(--sans);color:var(--accent);letter-spacing:.1em}
.ent .t{font:300 clamp(20px,min(2vw,3.4vh),32px)/1.1 var(--sans);letter-spacing:-.02em}
.ent .m{font:400 13px/1.4 var(--sans);color:var(--muted)}
body.home .site-footer{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 24px;padding:4px var(--pad) 8px}
body.home .site-footer::before{display:none}
@media (min-height:500px){
  body.home{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100vh;height:100svh}
  body.home main{min-height:0;display:flex;flex-direction:column}
  body.home .landing{flex:1 1 auto;min-height:0}
}
@media (max-height:499px){.ent-img img{max-height:70vh}.ent-d,.ent-p{height:auto}}
@media (max-width:699px),(max-aspect-ratio:4/5){
  .landing{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);row-gap:clamp(16px,3.5vh,40px);padding:clamp(16px,3.5vh,40px) var(--pad) clamp(10px,2vh,24px)}
  .id{align-self:start;gap:clamp(6px,1.4vh,14px);padding:0}
  .id h1{font-size:clamp(32px,min(10.5vw,6.2vh),72px)}
  .tagline{font-size:clamp(16px,min(4.6vw,2.6vh),22px)}
  .ent-d{height:90%}.ent-p{height:100%}
}
@media (max-width:699px){
  .entrances{column-gap:12px}
  .ent{row-gap:8px}
  .ent .meta{gap:4px}
  .ent .num{font-size:10px}
  .ent .t{font-size:clamp(15px,min(4.4vw,2.4vh),19px)}
  .ent .m{font-size:12px}
  .ent-img img{outline-offset:5px}
  body.home .site-footer{flex-direction:column;align-items:flex-start;gap:0;padding:0 var(--pad) 10px}
  body.home .f-links{gap:0 16px;font-size:13px}
  body.home .f-base{gap:0 16px;font-size:11px}
}

/* Collection openers */
.opener{row-gap:36px;padding:clamp(32px,7vh,88px) var(--pad) clamp(24px,5vh,56px)}
.op-text{grid-column:1/span 4;display:flex;flex-direction:column;gap:16px}
.op-text .m{font:400 13px/1.5 var(--sans);color:var(--muted)}
.drawing .op-text{align-self:end}
.op-index{grid-column:6/span 7}
.d-index{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.d-index a{display:flex;flex-direction:column;gap:6px;font:500 10px/1 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.d-index a:hover{color:var(--accent-ink)}
.d-index img{display:block;height:84px;width:auto}
@media (max-width:1099px){.op-text{grid-column:1/span 5}}
@media (max-width:699px){.op-text,.op-index{grid-column:1/-1}.d-index img{height:56px}}
/* Gallery wall */
.wall{display:flex;flex-direction:column;padding:0 var(--pad)}
.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start;margin-top:var(--rmt,5vh)}
.row.first{margin-top:0}
.work{--k:1;--k2:1;--cap:100%;min-width:0;margin:var(--mt,0) 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;scroll-margin-top:96px}
.drawing-wall .work{--k:1.06}
.frame,.work .label{width:min(var(--cap),calc(var(--h) * var(--k) * var(--k2) * var(--ar) * 1vh))}
.frame{flex:0 0 auto;will-change:transform}
.zoom{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;outline:1px solid transparent;outline-offset:10px;transition:opacity 1.1s var(--ease),transform 1.3s var(--ease),clip-path 1.3s var(--ease),outline-color .4s ease}
.zoom:hover,.zoom:focus-visible{outline-color:var(--accent)}
.zoom img{display:block;width:100%;height:auto}
.label{flex:0 0 auto;display:flex;flex-direction:column;gap:5px;transition:opacity 1.4s ease .25s}
.label .n{font:500 11px/1 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}
.label .h{font:400 13px/1.4 var(--sans)}
.label .d{font:400 12px/1.5 var(--sans);color:var(--muted)}
.js .work:not(.in) .zoom{opacity:0;clip-path:inset(0 0 10% 0)}
.js .work:not(.in) .label{opacity:0}
.js .work.fl:not(.in) .zoom{transform:translate3d(-26px,0,0)}
.js .work.fr:not(.in) .zoom{transform:translate3d(26px,0,0)}
.js .work.fu:not(.in) .zoom{transform:translate3d(0,26px,0)}
.xc{align-items:center}.xe{align-items:flex-end}
.g-A{--rmt:6vh}.g-A .w1{grid-column:2/span 10;--h:62}
.g-AD{--rmt:6vh}.g-AD .w1{grid-column:3/span 8;--h:70}
.g-DL{--rmt:6vh}.g-DL .w1{grid-column:1/span 8;--h:60}
.g-DR{--rmt:6vh}.g-DR .w1{grid-column:5/span 8;--h:60}
.g-C .w1{grid-column:1/span 7;--h:60}.g-C .w2{grid-column:9/span 4;--h:38;--mt:14vh}
.g-Cm .w1{grid-column:1/span 4;--h:38;--mt:4vh}.g-Cm .w2{grid-column:6/span 7;--h:60}
.g-B .w1{grid-column:1/span 6;--h:50}.g-B .w2{grid-column:7/span 6;--h:50;--mt:7vh}
.g-E .w1{grid-column:1/span 4;--h:42}.g-E .w2{grid-column:5/span 4;--h:42;--mt:5vh}.g-E .w3{grid-column:9/span 4;--h:42;--mt:2vh}
@media (min-width:1100px){
  .side-r,.side-l{flex-direction:row;align-items:flex-end;gap:24px}
  .side-l{flex-direction:row-reverse}
  .side-r .frame,.side-l .frame{width:min(calc(100% - 164px),calc(var(--h) * var(--k) * var(--ar) * 1vh))}
  .side-r .label,.side-l .label{width:140px}
  .side-l .label{text-align:right}
}
@media (max-width:1099px){.work{--k2:.86}}
@media (max-width:699px){
  .row{--rmt:32px;column-gap:12px;grid-template-columns:minmax(0,1fr)}
  .work{--k2:1;--mt:0;align-items:flex-start;gap:10px}
  .g-A .w1{grid-column:1/-1;--h:40}
  .g-AD .w1{grid-column:1/-1;--h:52;--cap:90%;align-items:center}
  .g-DL .w1{grid-column:1/-1;--h:48;--cap:82%}
  .g-DR .w1{grid-column:1/-1;--h:48;--cap:82%;align-items:flex-end}
  .g-B{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-B .w1{grid-column:1/2;--h:30}.g-B .w2{grid-column:2/3;--h:30;--mt:28px;align-items:flex-end}
  .g-C{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
  .g-C .w1{grid-column:1/2;--h:38}.g-C .w2{grid-column:2/3;--h:24;--mt:48px}
  .g-Cm{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
  .g-Cm .w1{grid-column:1/2;--h:24;--mt:24px}.g-Cm .w2{grid-column:2/3;--h:38}
  .g-E{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
  .g-E .w1{grid-column:1/-1;--h:44;--cap:78%;align-items:center}
  .g-E .w2{grid-column:1/2;--h:30;--mt:0}.g-E .w3{grid-column:2/3;--h:30;--mt:28px;align-items:flex-end}
}
.chap{padding:clamp(48px,8vh,96px) 0 clamp(16px,3vh,32px);scroll-margin-top:40px}
.chap-in{grid-column:1/span 6;display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}
.chap.odd .chap-in{grid-column:7/span 6}
.chap-in::before{content:"";width:7px;height:7px;background:var(--accent);align-self:center}
.chap h2{margin:0;font:300 clamp(30px,3vw,44px)/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chap .m{font:400 13px/1 var(--sans);color:var(--muted)}
@media (max-width:699px){.chap-in,.chap.odd .chap-in{grid-column:1/-1}}
.next{row-gap:40px;padding:clamp(80px,16vh,180px) var(--pad) clamp(48px,8vh,96px)}
.next a{display:flex;flex-direction:column;gap:8px}
.next .k{font:400 12px/1 var(--sans);color:var(--muted)}
.next .k b{font-weight:400;color:var(--accent)}
.next .t{display:flex;align-items:center;gap:16px;font:300 clamp(24px,2.6vw,38px)/1.1 var(--sans);letter-spacing:-.02em}
.next .t.arrow::after{content:"";width:40px;height:1px;background:var(--accent)}
.next .prev{grid-column:1/span 5}.next .fwd{grid-column:7/span 6}
@media (max-width:699px){.next .prev,.next .fwd{grid-column:1/-1}}

/* Room bar + year rail */
.roombar{position:fixed;left:clamp(12px,3.4vw,56px);bottom:clamp(12px,2.4vh,28px);z-index:30;display:flex;align-items:center;gap:12px;padding:9px 12px;background:rgba(255,255,255,.94);font:400 11.5px/1 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums;pointer-events:none;opacity:0;transition:opacity .3s ease}
.roombar.on{opacity:1}
.roombar::before{content:"";width:6px;height:6px;background:var(--accent)}
.roombar b{font-weight:500;color:var(--ink)}
.rail{position:fixed;right:clamp(12px,3.4vw,56px);bottom:clamp(12px,2.4vh,28px);z-index:30;display:flex;flex-direction:column;padding:4px 10px;background:rgba(255,255,255,.94)}
.rail a{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:28px;min-width:44px;padding:0 2px;font:400 11.5px/1 var(--sans);color:var(--faint);font-variant-numeric:tabular-nums}
.rail a::before{content:"";width:5px;height:5px}
.rail a.on,.rail a:hover{color:var(--ink)}
.rail a.on::before{background:var(--accent)}
@media (max-width:699px){.rail{display:none}}

/* About */
.about-top{row-gap:40px;padding:clamp(32px,8vh,96px) var(--pad) 0}
.portrait{grid-column:1/span 5;display:block;width:min(100%,60vh);height:auto}
.about-intro{grid-column:7/span 5;align-self:end;display:flex;flex-direction:column;gap:24px}
.about-intro p{margin:0;font:italic 400 clamp(20px,1.7vw,25px)/1.45 var(--serif);text-wrap:pretty}
.bio{row-gap:48px;align-items:start;padding:clamp(56px,10vh,120px) var(--pad) 0}
.bio-text{grid-column:2/span 4;display:flex;flex-direction:column;gap:20px;font:400 16px/1.7 var(--sans);color:var(--ink-2)}
.bio-text p{margin:0;text-wrap:pretty}
.studio{grid-column:7/span 6;margin:0;display:flex;flex-direction:column;gap:12px}
.studio img,.cv-img{display:block;width:100%;height:auto}
.cap{display:flex;align-items:center;gap:10px;font:400 12px/1.4 var(--sans);color:var(--muted)}
.cap::before{content:"";width:6px;height:6px;background:var(--accent)}
.cv{row-gap:32px;padding:clamp(72px,14vh,160px) var(--pad) clamp(72px,12vh,140px);font:400 14px/1.55 var(--sans)}
.cv-head{grid-column:1/span 3;align-self:start;position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}
.cv-head h2{margin:0;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cv-body{grid-column:4/span 9;columns:2 300px;column-gap:clamp(32px,4vw,72px)}
.cv-sec{break-inside:avoid;padding-bottom:44px}
.cv-sec h3{margin:0 0 14px;display:flex;gap:10px;font:500 12px/1.3 var(--sans);letter-spacing:.06em}
.cv-sec h3 span{color:var(--accent)}
.cv-sec ul{list-style:none;margin:0;padding:0}
.cv-sec li{display:flex;gap:16px;padding:4px 0}
.cv-sec li>span:first-child{flex:0 0 6.6em;color:var(--muted)}
.cv-sec em{font:italic 400 16px/1.4 var(--serif)}
@media (max-width:1099px){.portrait{grid-column:1/span 6}.about-intro{grid-column:7/span 6}.bio-text{grid-column:1/span 5}.studio{grid-column:6/span 7}}
@media (max-width:699px){.portrait,.about-intro,.bio-text,.studio,.cv-head,.cv-body{grid-column:1/-1}.cv-head{position:static}.cv-img{width:64%}.cv-body{columns:1}}

/* Contact */
.contact{max-width:1120px;margin:0 auto;row-gap:48px;align-items:start;padding:clamp(40px,9vh,104px) clamp(16px,5vw,64px) clamp(48px,8vh,96px)}
.c-info{grid-column:1/span 4;display:flex;flex-direction:column;gap:18px}
.c-info>p{margin:0;max-width:26ch;font:400 15px/1.6 var(--sans);color:var(--ink-3);text-wrap:pretty}
.c-list{margin:16px 0 0;display:flex;flex-direction:column;gap:16px}
.c-list>div,.f-head{display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:4px 8px;align-items:baseline}
.c-list dt,.f-head .n{font:500 11px/1 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}
.c-list dd{margin:0;display:flex;flex-direction:column;gap:2px}
.c-list a{display:flex;align-items:center;min-height:36px;width:fit-content;font:400 15px/1.4 var(--sans);overflow-wrap:anywhere}
.lab{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.c-form{grid-column:6/span 7;display:flex;flex-direction:column;gap:22px;position:relative;padding-top:29px}
.f-head .t{font:300 clamp(20px,1.8vw,26px)/1.2 var(--sans);letter-spacing:-.015em}
.f-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px 28px}
.field{display:flex;flex-direction:column;gap:6px}
.field input,.field textarea{font:400 16px/1.4 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;outline:none;padding:8px 0 10px;min-height:44px;width:100%}
.field textarea{resize:vertical;min-height:112px;line-height:1.55}
.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}
.field [aria-invalid="true"]{border-bottom-color:var(--error)}
.err{min-height:16px;font:400 12px/1.4 var(--sans);color:var(--error)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.f-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.btn{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 20px;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;font:500 13px/1 var(--sans);letter-spacing:.02em;cursor:pointer;transition:background .3s ease,border-color .3s ease}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn[disabled]{opacity:.6;cursor:progress}
.status{margin:0;flex:1 1 200px;font:400 13px/1.5 var(--sans);color:var(--ink-3)}
.status.bad{color:var(--error)}
@media (max-width:699px){.c-info,.c-form{grid-column:1/-1}.c-form{padding-top:0}}

/* Footer */
.site-footer{display:flex;flex-direction:column;gap:20px;padding:clamp(40px,8vh,88px) var(--pad) 28px}
.site-footer::before{content:"";width:20px;height:1px;background:var(--accent)}
.f-links{display:flex;flex-wrap:wrap;gap:0 28px;font:400 14px/1.5 var(--sans)}
.f-links a{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
.f-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font:400 11.5px/1.5 var(--sans);color:var(--muted)}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:60;background:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(10px,2vh,24px) clamp(12px,3vw,40px)}
.lb[hidden]{display:none}
.lb-top,.lb-bot{display:flex;justify-content:space-between;align-items:center;gap:16px}
.lb-room{display:flex;align-items:center;gap:10px;font:400 12px/1 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums}
.lb-room::before{content:"";width:6px;height:6px;background:var(--accent)}
.lb-room b{font-weight:500;color:var(--ink)}
.lb button{min-width:44px;min-height:44px;background:none;border:0;cursor:pointer;font:400 13px/1 var(--sans)}
.lb button:hover{color:var(--accent-ink)}
.lb .arr{font:300 22px/1 var(--sans)}
.lb-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:12px 0}
.lb-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}
.lb-h{font:400 13px/1.3 var(--sans);text-align:center}

.notfound{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:0 var(--pad)}

/* Mobile spacing polish */
@media (max-width:699px){
  .opener{row-gap:24px;padding:24px var(--pad) 20px}
  .next{row-gap:28px;padding:56px var(--pad) 32px}
  .about-top{row-gap:28px;padding:20px var(--pad) 0}
  .about-intro{gap:16px}
  .bio{row-gap:28px;padding:40px var(--pad) 0}
  .cv{row-gap:16px;padding:44px var(--pad) 48px}
  .cv-head{gap:0}
  .cv-img{display:none}
  .cv-sec{padding-bottom:32px}
  .contact{row-gap:36px;padding:20px var(--pad) 40px}
  .c-info{gap:14px}
  .c-list{margin-top:6px;gap:10px}
  .site-footer{gap:12px;padding:32px var(--pad) 24px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
  .js .work:not(.in) .zoom,.js .work:not(.in) .label{opacity:1;transform:none;clip-path:none}
}
