@font-face{font-family:Golos;src:url(golos.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Oswald;src:url(oswald.ttf) format("truetype");font-weight:600;font-display:swap}
:root{
  --plum:#24152b;--plum2:#3a2245;--plum3:#4d2d5a;
  --paper:#f6f1ea;--paper2:#efe7dc;--card:#fffdf9;
  --ink:#241a26;--ink2:#4a3d4e;--mut:#7b6f80;
  --gold:#c4a061;--gold2:#e2c98f;--lilac:#cdb6dc;--glass:#e9dcf1;
  --line:#dccfd4;--line-dark:rgba(244,236,246,.16);
  --disp:"Oswald","Arial Narrow",Impact,sans-serif;--body:"Golos",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --w:1160px;--col:720px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:19px/1.65 var(--body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum3);text-underline-offset:4px;text-decoration-thickness:1px}
h1,h2,h3{font-family:var(--disp);font-weight:600;letter-spacing:-.015em;line-height:1.05;margin:0;overflow-wrap:anywhere;hyphens:manual}
p{margin:0 0 1.15em}
.wrap{width:min(var(--w),calc(100% - 40px));margin:0 auto}
.col{width:min(var(--col),100%);margin:0 auto}
.eyebrow{font:600 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.eyebrow.dark{color:var(--plum3)}

/* progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));z-index:60;transition:width .12s linear}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(36,21,43,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f4ecf6;border-bottom:1px solid var(--line-dark)}
.nav .wrap{display:flex;align-items:center;gap:26px;min-height:56px}
.nav__brand{font:600 15px var(--disp);letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;white-space:nowrap}
.nav__links{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;flex:1}
.nav__links::-webkit-scrollbar{display:none}
.nav__links a{font-size:13.5px;color:rgba(244,236,246,.72);text-decoration:none;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.nav__links a:hover{color:#fff}
.nav__links a[aria-current]{color:#fff;border-color:var(--gold)}
.nav__cta{margin-left:auto;font:600 13px var(--body);color:var(--plum);background:var(--gold2);padding:8px 14px;border-radius:999px;text-decoration:none;white-space:nowrap}
.nav__cta:hover{background:#fff}

/* hero */
.hero{position:relative;background:radial-gradient(ellipse at 75% 20%,#5a3468 0,transparent 52%),radial-gradient(ellipse at 10% 90%,#3b2247 0,transparent 50%),var(--plum);color:#f6effa;overflow:hidden}
.hero::after{content:"";position:absolute;inset:14px;border:1px solid rgba(226,201,143,.18);pointer-events:none}
.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(24px,5vw,72px);align-items:end;padding:clamp(48px,7vw,96px) 0 0}
.hero__text{padding-bottom:clamp(48px,7vw,96px)}
.hero h1{font-size:clamp(40px,6.2vw,84px);color:#fff;max-width:14ch;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--gold2)}
.hero__sub{margin:22px 0 0;max-width:46ch;font-size:clamp(17px,1.6vw,21px);line-height:1.5;color:rgba(246,239,250,.82)}
.hero__meta{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 22px;font:500 12.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(226,201,143,.9)}
.hero__cta{display:inline-block;margin-top:34px;padding:14px 24px;background:var(--gold2);color:var(--plum);font:600 16px var(--body);text-decoration:none;border-radius:4px}
.hero__cta:hover{background:#fff}
.hero__photo{position:relative;align-self:end}
.hero__photo img{width:100%;max-height:min(78vh,760px);object-fit:cover;object-position:center top;border-radius:120px 6px 0 0;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.hero__photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);background:linear-gradient(transparent,rgba(36,21,43,.85))}
.hero--article .hero__inner{align-items:center;padding-bottom:clamp(40px,6vw,80px)}
.hero--article .hero__photo img{border-radius:6px;max-height:560px;aspect-ratio:4/5}
.hero--article h1{font-size:clamp(36px,5.2vw,68px);max-width:18ch}

/* sections */
section{padding:clamp(52px,7vw,96px) 0}
.intro{background:var(--paper)}
.intro__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,5vw,72px);align-items:start}
.intro p{font-size:clamp(19px,1.7vw,22px);line-height:1.6}
.intro p.first::first-letter{font:600 3.2em/0.9 var(--disp);float:left;margin:8px 12px 0 0;color:var(--plum3)}
.voices{display:grid;gap:14px}
.voice{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);padding:16px 18px;border-radius:0 8px 8px 0;font-size:16.5px;line-height:1.5}
.voice cite{display:block;margin-top:8px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-style:normal}
.author{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.author__grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;align-items:center}
.author__grid img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:3px solid var(--gold2)}
.author p{margin:0;font-size:18px}

/* showcase */
.shelf{background:var(--plum);color:#f6effa}
.shelf h2{font-size:clamp(30px,4.4vw,56px);color:#fff;max-width:20ch}
.shelf__lead{margin:14px 0 0;color:rgba(246,239,250,.7);max-width:60ch}
.shelf__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:40px;background:var(--line-dark);border:1px solid var(--line-dark)}
.vit{display:grid;grid-template-rows:auto 1fr;gap:10px;padding:22px 20px 24px;background:var(--plum);text-decoration:none;color:#fff;transition:background .15s}
.vit:hover{background:var(--plum2)}
.vit img{width:150px;height:100px;object-fit:contain;justify-self:center;filter:drop-shadow(0 12px 22px rgba(0,0,0,.45))}
.vit__num{font:600 11px var(--mono);letter-spacing:.12em;color:var(--gold2)}
.vit__t{font:600 clamp(17px,1.5vw,20px)/1.2 var(--disp);letter-spacing:-.01em}

/* chapters */
.chapter{padding:clamp(56px,7vw,100px) 0;border-top:1px solid var(--line)}
.chapter:nth-of-type(even){background:var(--paper2)}
.chapter__head{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:clamp(28px,4vw,48px)}
.chapter__num{font:600 12px var(--mono);letter-spacing:.14em;color:var(--gold);text-transform:uppercase}
.chapter h2{font-size:clamp(30px,4.2vw,54px);margin:10px 0 14px;max-width:22ch}
.chapter__lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink2);max-width:60ch;margin:0}
.chapter__obj img{width:100%;max-width:300px;justify-self:end;filter:drop-shadow(0 20px 30px rgba(36,21,43,.25))}
.chapter__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:clamp(28px,4vw,56px);align-items:start}
.exhibit{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 28px;box-shadow:0 8px 30px rgba(36,21,43,.06)}
.exhibit .label{font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--plum3);margin-bottom:12px}
.exhibit p{font-size:18px}
.exhibit p:last-child{margin-bottom:0}
.notes{display:grid;gap:18px;position:sticky;top:76px}
.note{border-top:2px solid var(--gold);padding-top:12px}
.note .label{font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.note p{font-size:16.5px;line-height:1.55;margin:0}

/* quotes and chat */
.q{margin:22px 0;padding:18px 22px;background:var(--glass);border-radius:18px 18px 18px 4px;font-size:18px;line-height:1.5;position:relative}
.q p{margin:0 0 6px}
.q p:last-of-type{margin:0}
.q cite{display:block;margin-top:10px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--plum3);font-style:normal}
.q--me{background:#fff;border:1px solid var(--line);border-radius:18px 18px 4px 18px}
.pull{margin:34px 0;padding:0 0 0 22px;border-left:3px solid var(--gold);font:600 clamp(22px,2.4vw,30px)/1.25 var(--disp);letter-spacing:-.01em;color:var(--plum)}
.pull cite{display:block;margin-top:10px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-style:normal}

/* figures */
figure{margin:28px 0}
figure img{width:100%;border-radius:8px;box-shadow:0 10px 30px rgba(36,21,43,.12)}
figure.shot img{max-width:460px;margin:0 auto}
figure.shot figcaption{text-align:center}
.gallery figure.shot img{max-width:none}
figcaption{margin-top:10px;font:500 12.5px/1.5 var(--mono);letter-spacing:.04em;color:var(--mut)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.gallery figure{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover;object-position:center}
.gallery.g2{grid-template-columns:1fr 1fr}
.wide{width:min(var(--w),calc(100% - 40px));margin-left:auto;margin-right:auto}
.wide img{max-height:640px;object-fit:cover}

/* article */
.article .col>p:first-of-type{font-size:clamp(20px,1.9vw,23px);line-height:1.55}
.article h2{font-size:clamp(28px,3.6vw,44px);margin:clamp(40px,5vw,64px) 0 18px;max-width:24ch;color:var(--plum)}
.article h3{font-size:22px;margin:32px 0 10px}
.article p strong{color:var(--plum)}
.article p>strong:first-child{display:inline-block;font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-right:6px}
.article ul,.article ol{padding-left:22px}
.article li{margin:6px 0}
.case{margin:clamp(36px,5vw,64px) 0;padding:clamp(24px,3vw,40px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 40px rgba(36,21,43,.07)}
.case h2{margin-top:0}
.case p strong{display:inline-block;font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-right:6px}
.toc{margin:0 0 36px;padding:18px 22px;background:var(--paper2);border-radius:8px;font-size:15px}
.toc b{display:block;font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.toc a{display:block;padding:4px 0;color:var(--ink2);text-decoration:none}
.toc a:hover{color:var(--plum3);text-decoration:underline}

/* closing */
.close{background:var(--plum);color:#f6effa;position:relative;overflow:hidden}
.close__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.close h2{font-size:clamp(32px,4.6vw,60px);color:#fff;max-width:16ch}
.close p{font-size:19px;color:rgba(246,239,250,.86)}
.close .q{background:rgba(255,255,255,.08);color:#fff}
.close .q cite{color:var(--gold2)}
.close__photo img{border-radius:6px 120px 6px 6px;max-height:620px;object-fit:cover;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.btn{display:inline-block;margin-top:14px;padding:16px 26px;background:var(--gold2);color:var(--plum);font:600 17px var(--body);text-decoration:none;border-radius:4px}
.btn:hover{background:#fff}
.btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);margin-left:10px}
.btn--ghost:hover{background:rgba(255,255,255,.08)}

/* related */
.related{background:var(--paper2);border-top:1px solid var(--line)}
.related h2{font-size:clamp(26px,3vw,38px);margin-bottom:26px}
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel{display:grid;grid-template-rows:auto 1fr;gap:12px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.rel:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(36,21,43,.12)}
.rel img{width:120px;height:80px;object-fit:contain}
.rel small{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.rel b{font:600 20px/1.2 var(--disp);color:var(--plum)}
footer{padding:28px 0 60px;font-size:13.5px;color:var(--mut)}
footer a{color:var(--plum3)}

@media(max-width:1000px){
  .hero__inner{grid-template-columns:1fr;gap:0}
  .hero__photo{order:-1;margin:0 -20px}
  .hero__photo img{border-radius:0;max-height:52vh}
  .hero__text{padding-top:28px}
  .hero--article .hero__photo img{aspect-ratio:auto;max-height:46vh}
  .intro__grid,.chapter__body,.close__grid{grid-template-columns:1fr}
  .notes{position:static}
  .shelf__grid{grid-template-columns:1fr 1fr}
  .chapter__head{grid-template-columns:minmax(0,1fr) 150px}
  .chapter__obj img{max-width:150px}
  .related__grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  body{font-size:17.5px}
  .gallery{grid-template-columns:1fr}
  .gallery.g3{grid-template-columns:1fr}
  .shelf__grid{grid-template-columns:1fr}
  .vit{grid-template-columns:110px 1fr;grid-template-rows:auto;align-items:center}
  .vit img{width:100px;height:70px}
  .chapter__head{grid-template-columns:1fr}
  .chapter__obj img{max-width:170px;justify-self:start;margin-top:-10px}
  .author__grid{grid-template-columns:80px 1fr;gap:16px}
  .author__grid img{width:80px;height:80px}
  .close__photo{display:none}
  .btn--ghost{margin:10px 0 0}
  .nav__cta{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rel{transition:none}}
