@font-face{font-family:Marcellus;src:url(/fonts/marcellus-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Noto Serif Georgian";src:url(/fonts/georgian-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:Spectral;font-weight:300;src:url(/fonts/spectral-300.woff2) format("woff2");font-display:swap}
@font-face{font-family:Spectral;font-weight:400;src:url(/fonts/spectral-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:Spectral;font-weight:400;font-style:italic;src:url(/fonts/spectral-400i.woff2) format("woff2");font-display:swap}
@font-face{font-family:Spectral;font-weight:500;src:url(/fonts/spectral-500.woff2) format("woff2");font-display:swap}
:root{--night:#120d0a;--ox:#3a0d10;--gold:#d7a94e;--gold2:#f3d68f;--paper:#f1eadb;--ink:#231a13;--mute:#8f7f6a;
 --bg:var(--night);--fg:#efe5d2;--sub:#a99878;--line:rgba(215,169,78,.26);--g:clamp(16px,4vw,56px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:300 clamp(17px,1.15vw,20px)/1.62 Spectral,Georgia,serif;transition:background .7s,color .7s;overflow-x:hidden}
body[data-room=paper]{--bg:var(--paper);--fg:var(--ink);--sub:#6f604c;--line:rgba(35,26,19,.2)}
img{display:block;max-width:100%;height:auto}a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ka{font-family:"Noto Serif Georgian",serif}
h1,h2,h3,.dsp{font-family:Marcellus,Georgia,serif;font-weight:400;line-height:1.08;margin:0}
.lab{font:500 .72rem/1.3 Spectral,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--sub)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--gold);color:#000;padding:8px 12px}
header.top{position:absolute;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px var(--g)}
header.top .nm{font:400 1.05rem Marcellus,serif;text-decoration:none;letter-spacing:.04em}
header.top nav{display:flex;gap:clamp(16px,2.6vw,36px)}
header.top nav a{text-decoration:none;font-size:.92rem;padding:4px 0;border-bottom:1px solid transparent}
header.top nav a:hover,header.top nav a[aria-current]{border-color:var(--gold)}
footer{border-top:1px solid var(--line);margin-top:clamp(60px,9vw,130px);padding:34px var(--g) 46px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 40px;font-size:.88rem;color:var(--sub)}
footer a{text-underline-offset:3px}
/* hero: raking light across chased gold */
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:clamp(20px,5vw,80px);padding:90px var(--g) 40px;background:radial-gradient(90% 90% at 76% 50%,#47100f 0,#260b0b 42%,var(--night) 78%)}
.hero h1{font-size:clamp(3rem,8.2vw,8.4rem);letter-spacing:-.012em}
.hero .ka{font-size:clamp(1rem,1.7vw,1.5rem);color:var(--gold);display:block;margin-bottom:22px}
.hero p{max-width:30em;margin:26px 0 30px;color:#d9ccb4}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--gold);color:var(--gold2);padding:11px 22px;transition:.25s}.btn:hover{background:var(--gold);color:#1a0f07}
.relic{position:relative;justify-self:center;width:min(100%,74svh);animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both;--x:30%;--y:25%}
.relic img{width:100%;box-shadow:0 40px 90px rgba(0,0,0,.65)}
.relic i{position:absolute;inset:0;pointer-events:none;mix-blend-mode:color-dodge;background:radial-gradient(38% 38% at var(--x) var(--y),rgba(255,214,140,.5),rgba(255,180,90,.13) 45%,transparent 70%)}
@keyframes rise{from{opacity:0;transform:translateY(26px) scale(.98)}}
.hero>div:first-child>*{animation:rise 1.1s .15s both}
.lead{padding:clamp(70px,11vw,160px) var(--g) 0;max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 2.6fr;gap:24px}
.lead p{font:400 clamp(1.5rem,3vw,2.7rem)/1.26 Marcellus,serif;margin:0}
.rooms{margin:clamp(60px,9vw,120px) var(--g) 0;border-top:1px solid var(--line)}
.rooms a{display:grid;grid-template-columns:64px 1fr auto 96px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .3s}
.rooms a:hover{padding-left:14px}.rooms .n{color:var(--sub);font-size:.86rem}
.rooms .t{font:400 clamp(1.5rem,3.6vw,3.1rem) Marcellus,serif}.rooms .c{color:var(--sub)}
.rooms img{width:96px;height:72px;object-fit:cover;filter:saturate(.8);transition:.3s}.rooms a:hover img{filter:none}
.tri{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:var(--g);align-items:end;padding:clamp(70px,10vw,140px) var(--g) 0}
.tri a{text-decoration:none}.tri figcaption,.cap{margin-top:10px;font-size:.88rem;color:var(--sub)}figure{margin:0}
.mem{margin-top:clamp(70px,10vw,140px);background:var(--ox);padding:clamp(60px,9vw,130px) var(--g);text-align:center}
.mem blockquote{font:400 clamp(1.6rem,3.8vw,3.3rem)/1.2 Marcellus,serif;max-width:21em;margin:18px auto 30px}
/* collection */
.chead{padding:110px var(--g) 24px}.chead h1{font-size:clamp(2.6rem,6.5vw,6rem)}.chead p{margin:12px 0 0;color:var(--sub);max-width:40em}
.filters{position:sticky;top:0;z-index:15;display:flex;gap:6px 22px;overflow-x:auto;padding:12px var(--g);background:var(--bg);border-block:1px solid var(--line);transition:background .7s;scrollbar-width:none}
.filters button{all:unset;cursor:pointer;white-space:nowrap;font-size:.93rem;padding:3px 0;border-bottom:1px solid transparent}
.filters button sup{color:var(--sub);font-size:.68em;margin-left:3px}
.filters button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}body[data-room=paper] .filters button[aria-pressed=true]{color:#7a1f1c;border-color:#7a1f1c}
.wall{display:flex;flex-wrap:wrap;gap:clamp(8px,1vw,14px);padding:22px var(--g) 0}
.wall::after{content:"";flex:999 1 0}
.tile{position:relative;flex:var(--a) var(--a) calc(var(--a)*clamp(150px,17vw,250px));max-width:calc(var(--a)*420px);min-width:0;background:#00000018;overflow:hidden;text-decoration:none}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover img{transform:scale(1.03)}
.tile span{position:absolute;inset:auto 0 0;padding:20px 10px 7px;font-size:.8rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.62));opacity:0;transition:.2s}.tile:hover span,.tile:focus-visible span{opacity:1}
.tile[hidden]{display:none}
/* lightbox */
.lb{position:fixed;inset:0;z-index:50;background:rgba(10,7,5,.97);color:#efe5d2;display:grid;grid-template-rows:1fr auto;overscroll-behavior:contain}
.lb[hidden]{display:none}.lb .st{overflow:auto;display:grid;place-items:center;min-height:0;padding:14px}
.lb img{max-width:100%;max-height:calc(100svh - 92px);width:auto;cursor:zoom-in}.lb.z img{max-width:none;max-height:none;cursor:zoom-out}.lb.z .st{place-items:start}
.lb .bar{display:flex;gap:16px;align-items:center;padding:10px var(--g);font-size:.9rem;border-top:1px solid #ffffff22}
.lb .bar a{color:var(--gold2)}.lb .bar .sp{flex:1;min-width:0}.lb button{all:unset;cursor:pointer;padding:6px 10px;font-size:1.1rem}
/* work */
.work{padding:90px var(--g) 0;display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.work .im img{max-height:84svh;width:auto;margin:auto;box-shadow:0 18px 50px rgba(0,0,0,.34)}
.work aside{position:sticky;top:30px}.work h1{font-size:clamp(2rem,3.4vw,3.2rem);margin:8px 0 18px}
.work dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.95rem}.work dt{color:var(--sub)}.work dd{margin:0}
.views{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.views img{width:72px;height:72px;object-fit:cover}.pn{display:flex;justify-content:space-between;margin-top:26px;font-size:.93rem}
/* memorial */
.mh{padding:140px var(--g) 50px;text-align:center}.mh h1{font-size:clamp(3rem,9vw,8rem)}.mh .ka{color:#7a1f1c;font-size:clamp(1.1rem,2vw,1.6rem);display:block;margin:12px 0}
.mh p{max-width:34em;margin:20px auto 0;font-style:italic}
.ch{max-width:1180px;margin:clamp(50px,8vw,100px) auto 0;padding:0 var(--g);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.ch.r{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.ch.r figure{order:-1}
.ch h2{font-size:clamp(1.8rem,3.4vw,2.9rem);margin-bottom:16px}.ch p{margin:0 0 1em}
.ch .ini::first-letter{font:400 4.1em/.8 Marcellus,serif;float:left;padding:.08em .1em 0 0;color:#7a1f1c}
.ch figure img{box-shadow:0 14px 36px rgba(40,25,10,.24)}
.pull{font:400 clamp(1.5rem,3.2vw,2.6rem)/1.24 Marcellus,serif;text-align:center;max-width:22em;margin:clamp(60px,9vw,110px) auto 0;padding:0 var(--g);color:#7a1f1c}
.src{max-width:1180px;margin:clamp(50px,8vw,90px) auto 0;padding:24px var(--g) 0;font-size:.9rem;color:var(--sub);border-top:1px solid var(--line)}
@media(max-width:820px){.hero{grid-template-columns:1fr;text-align:left;padding-top:84px}.relic{order:-1;width:min(100%,52svh)}.lead,.ch,.ch.r,.tri,.work{grid-template-columns:minmax(0,1fr)}.ch.r figure{order:0}.rooms a{grid-template-columns:30px 1fr 72px}.rooms .c{display:none}.rooms img{width:72px;height:56px}.work aside{position:static}.tile{--a2:1}}
@media(max-width:460px){header.top{flex-wrap:wrap;gap:4px 16px}.hero h1{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.por{max-width:300px;margin:34px auto 0}.por img{width:100%;box-shadow:0 14px 36px rgba(40,25,10,.3)}
