:root { --ink:#111315; --paper:#eeeae2; --sea:#174c57; --red:#a62d28; --gold:#c5ad83; --muted:#74736e; --line:rgba(17,19,21,.18); }
* { box-sizing:border-box; }
html { max-width:100%; overflow-x:hidden; scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; margin:0; max-width:100%; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img,video { display:block; width:100%; }
button,audio { color:inherit; font:inherit; }
[hidden] { display:none !important; }
.skip-link { background:white; left:-999px; padding:12px 18px; position:absolute; top:8px; z-index:20; }
.skip-link:focus { left:8px; }
.site-header { align-items:center; background:rgba(7,14,16,.92); color:white; display:flex; height:72px; justify-content:space-between; left:0; padding:0 4vw; position:absolute; right:0; top:0; z-index:5; }
.brand { align-items:center; display:flex; gap:12px; }
.brand span { align-items:center; border:1px solid #728086; border-radius:50%; display:flex; font-family:Georgia,serif; font-size:11px; height:36px; justify-content:center; width:36px; }
.brand strong { font-family:Georgia,serif; font-size:14px; font-weight:400; }
nav { display:flex; gap:28px; }
nav a { font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.hero { background:#071012; color:white; height:max(760px,100vh); overflow:hidden; position:relative; }
.hero>img { filter:saturate(.86) contrast(1.05); height:100%; object-fit:cover; }
.hero-shade { background:linear-gradient(90deg,rgba(3,10,12,.96),rgba(3,10,12,.66) 42%,rgba(3,10,12,.08) 76%),linear-gradient(0deg,rgba(3,10,12,.72),transparent 48%); inset:0; position:absolute; }
.hero-copy { bottom:13%; left:7vw; max-width:900px; position:absolute; z-index:2; }
.eyebrow { color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
h1 { font-size:clamp(66px,8.5vw,136px); letter-spacing:-.07em; line-height:.82; margin:30px 0; }
h1 em { color:#e8e0d3; font-size:.7em; font-weight:400; }
.dek { font-family:Georgia,serif; font-size:clamp(18px,1.6vw,26px); line-height:1.5; max-width:600px; }
.hero-copy>a { border-bottom:1px solid #7b8586; display:flex; font-size:9px; justify-content:space-between; letter-spacing:.16em; margin-top:42px; padding-bottom:12px; text-transform:uppercase; width:190px; }
.hero-meta { bottom:34px; display:flex; font-size:8px; gap:24px; letter-spacing:.16em; position:absolute; right:4vw; text-transform:uppercase; z-index:2; }
.arrival { display:grid; grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr); min-height:850px; }
.arrival-image { margin:0; min-height:720px; overflow:hidden; position:relative; }
.arrival-image img { height:100%; object-fit:cover; }
.arrival-image figcaption { background:rgba(7,14,16,.88); bottom:0; color:white; font-size:8px; left:0; letter-spacing:.16em; padding:15px 22px; position:absolute; text-transform:uppercase; }
.arrival-copy { align-self:center; padding:100px 7vw; }
h2 { font-size:clamp(48px,6vw,90px); letter-spacing:-.055em; line-height:.98; margin:18px 0 40px; }
.lead { font-family:Georgia,serif; font-size:22px; line-height:1.75; }
.arrival blockquote { border-left:2px solid var(--red); font-family:Georgia,serif; font-size:clamp(27px,2.6vw,42px); line-height:1.3; margin:58px 0; padding-left:28px; }
.arrival-notes { border-top:1px solid var(--line); display:grid; gap:30px; grid-template-columns:1fr 1fr; padding-top:30px; }
.arrival-notes p,.room-heading>p,.narration-card p,.meaning>p { color:#4d4d49; font-family:Georgia,serif; font-size:16px; line-height:1.8; }
.guided-room { padding:120px 5vw; }
.photo-room { background:#e7e1d6; }
.room-heading { align-items:end; display:grid; gap:7vw; grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr); margin:0 auto 70px; max-width:1400px; }
.room-heading h2 { margin-bottom:0; }
.narration-card { background:#f5f1e9; display:grid; gap:38px; grid-template-columns:100px 1fr; margin:0 auto 80px; max-width:1180px; padding:44px 54px; }
.narration-number { color:var(--sea); font-family:Georgia,serif; font-size:64px; }
.narration-card small { color:var(--muted); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.narration-card h3 { font-size:clamp(27px,3vw,44px); margin:12px 0 4px; }
.narration-card p { margin:0 0 24px; max-width:800px; }
audio { width:100%; }
.photo-gallery { display:grid; gap:10px; grid-auto-flow:dense; grid-auto-rows:270px; grid-template-columns:repeat(4,1fr); margin:0 auto; max-width:1500px; }
.photo-gallery figure { background:#15191a; margin:0; overflow:hidden; position:relative; }
.photo-gallery .photo-wide { grid-column:span 2; }
.photo-gallery .photo-tall { grid-row:span 2; }
.photo-gallery .photo-cinema { grid-column:span 2; }
.photo-gallery button,.archive-gallery button { background:none; border:0; cursor:zoom-in; height:100%; padding:0; width:100%; }
.photo-gallery img,.archive-gallery img { height:100%; object-fit:cover; transition:filter .25s,transform .35s; }
.photo-gallery button:hover img,.archive-gallery button:hover img { filter:brightness(1.08); transform:scale(1.025); }
.photo-gallery figcaption { background:linear-gradient(transparent,rgba(5,8,9,.86)); bottom:0; color:white; font-size:8px; left:0; letter-spacing:.13em; padding:42px 15px 14px; pointer-events:none; position:absolute; right:0; text-transform:uppercase; }
.archive-drawer,.details { margin:70px auto 0; max-width:1260px; }
.archive-drawer>button,.details>button { align-items:center; background:transparent; border:0; border-bottom:1px solid var(--line); cursor:pointer; display:flex; justify-content:space-between; padding:0 0 22px; text-align:left; width:100%; }
.archive-drawer small,.archive-drawer strong,.details small,.details strong { display:block; }
.archive-drawer small,.details small { color:var(--muted); font-size:8px; letter-spacing:.16em; margin-bottom:8px; text-transform:uppercase; }
.archive-drawer strong,.details strong { font-family:Georgia,serif; font-size:30px; font-weight:400; }
.archive-drawer button>b,.details button>b { font-size:28px; font-weight:300; }
.archive-gallery { display:grid; gap:6px; grid-template-columns:repeat(6,1fr); margin-top:28px; }
.archive-gallery figure { aspect-ratio:1; margin:0; overflow:hidden; }
.film-room { background:#091113; color:white; }
.room-heading-light>p { color:#a7aaa5; }
.narration-dark { background:#111d20; }
.narration-dark .narration-number { color:var(--gold); }
.narration-dark p { color:#acafa9; }
.film-grid { display:grid; gap:26px 16px; grid-template-columns:repeat(3,1fr); margin:0 auto; max-width:1500px; }
.film-grid article { margin:0; }
.film-grid .film-feature { grid-column:span 2; }
.film-grid video { aspect-ratio:4/3; background:black; object-fit:contain; }
.film-grid p { align-items:center; border-bottom:1px solid rgba(255,255,255,.14); display:grid; font-size:8px; gap:10px; grid-template-columns:1fr auto auto; letter-spacing:.14em; margin:0; padding:14px 2px; text-transform:uppercase; }
.film-grid time { color:#a9afa9; }
.film-grid small { color:var(--gold); }
.preservation-note { color:#7f8887; font-size:8px; letter-spacing:.15em; margin:34px auto 0; max-width:1500px; text-transform:uppercase; }
.meaning { background:var(--sea); color:white; padding:120px max(7vw,40px); }
.meaning h2 { max-width:1100px; }
.meaning>p { color:#d2e0df; max-width:760px; }
.details { padding:90px 40px; }
.details dl { margin:30px 0 0; }
.details dl div { border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr; padding:20px 0; }
.details dt { color:var(--muted); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.details dd { font-family:Georgia,serif; margin:0; }
.ending { align-items:end; background:#101618; color:white; display:flex; justify-content:space-between; min-height:480px; padding:80px 6vw; }
.ending p { font-family:Georgia,serif; font-size:clamp(42px,5vw,76px); letter-spacing:-.04em; line-height:1; margin:0; }
.ending p:last-child { color:#9b9f99; }
.ending a { border-bottom:1px solid #667173; display:flex; font-size:9px; justify-content:space-between; letter-spacing:.15em; padding-bottom:12px; text-transform:uppercase; width:230px; }
footer { background:#070b0c; color:#777; display:flex; font-size:8px; justify-content:space-between; letter-spacing:.13em; padding:34px 4vw; text-transform:uppercase; }
#lightbox { background:#090d0e; border:0; color:white; max-height:92vh; max-width:min(94vw,1400px); padding:0; }
#lightbox::backdrop { background:rgba(0,0,0,.88); }
#lightbox img { max-height:82vh; max-width:90vw; object-fit:contain; width:auto; }
#lightbox p { font-size:8px; letter-spacing:.14em; margin:0; padding:15px 20px; text-transform:uppercase; }
.lightbox-close { background:rgba(0,0,0,.75); border:0; color:white; cursor:pointer; font-size:30px; line-height:1; padding:10px 15px; position:absolute; right:0; top:0; z-index:2; }
@media (max-width:950px) {
  .arrival { grid-template-columns:1fr; }
  .arrival-image { min-height:600px; }
  .photo-gallery { grid-template-columns:repeat(2,1fr); }
  .film-grid { grid-template-columns:repeat(2,1fr); }
  .archive-gallery { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:700px) {
  .site-header { padding:0 20px; }
  nav { display:none; }
  .hero { height:800px; }
  .hero-shade { background:linear-gradient(0deg,rgba(3,10,12,.96),rgba(3,10,12,.24) 75%); }
  .hero-copy { bottom:14%; left:24px; max-width:none; right:auto; width:calc(100% - 48px); }
  h1 { font-size:clamp(52px,16vw,68px); letter-spacing:-.06em; line-height:.9; max-width:100%; }
  h1 em { display:block; font-size:.62em; line-height:1.05; }
  .dek,.eyebrow { max-width:100%; overflow-wrap:anywhere; }
  .dek { font-size:18px; }
  .hero-meta { bottom:26px; left:24px; right:auto; }
  .hero-meta span:nth-child(2) { display:none; }
  .arrival-image { min-height:500px; }
  .arrival-copy,.guided-room { padding:80px 24px; }
  .arrival-notes,.room-heading { grid-template-columns:1fr; }
  .narration-card { grid-template-columns:1fr; padding:30px 24px; }
  .narration-number { font-size:44px; }
  .photo-gallery { grid-auto-rows:230px; grid-template-columns:1fr; }
  .photo-gallery .photo-wide,.photo-gallery .photo-cinema { grid-column:auto; }
  .photo-gallery .photo-tall { grid-row:auto; }
  .film-grid { grid-template-columns:1fr; }
  .film-grid .film-feature { grid-column:auto; }
  .archive-gallery { grid-template-columns:repeat(3,1fr); }
  .details { padding:80px 24px; }
  .details dl div { gap:8px; grid-template-columns:1fr; }
  .ending { align-items:flex-start; flex-direction:column; gap:70px; min-height:500px; padding:70px 24px; }
  footer { flex-direction:column; gap:12px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
