:root{
  --paper:#F7F1E4;
  --paper-deep:#EDE2C9;
  --paper-white:#FBF6EA;
  --ink:#241F1B;
  --ink-soft:#6B5F52;
  --stamp:#A6402E;
  --stamp-dark:#8A331F;
  --felt:#3B4530;
  --felt-deep:#2E3626;
  --gold:#C99A3E;
  --line: rgba(36,31,27,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font:inherit; cursor:pointer; background:none; border:none; color:inherit;}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em;}
.mono{font-family:'Special Elite', monospace; letter-spacing:0.03em;}
.wrap{max-width:1280px; margin:0 auto; padding:24px;}
@media(min-width:640px){.wrap{padding:0 40px;}}
@media(min-width:1024px){.wrap{padding:0 64px;}}

/* paper grain texture, applied globally */
body::before{
  content:"";
  position:fixed; inset:0; z-index:2; pointer-events:none;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--gold); color:var(--ink);}

/* ============================================================
   NAVBAR — unchanged from the site
   ============================================================ */
.site-nav{
  position:sticky; top:0; z-index:200; background:var(--paper-white);
  border-bottom:1px solid var(--line); box-shadow:0 2px 0 rgba(36,31,27,.02);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 24px; }
@media(min-width:640px){ .nav-inner{padding:16px 40px;} }
@media(min-width:1024px){ .nav-inner{padding:16px 64px;} }

.nav-brand{ display:flex; align-items:center; gap:12px; flex-shrink:0; overflow:visible; }
.nav-logo-img{ height:115px; width:auto; object-fit:contain; border-radius:50%; flex-shrink:0; margin:-11px 0; }
.nav-logo-img.missing{ display:none; }
.nav-logo-fallback{ display:none; height:64px; width:64px; border-radius:50%; background:var(--stamp); color:var(--paper-white);
  align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:22px; flex-shrink:0; margin:-11px 0; }
.nav-logo-img.missing + .nav-logo-fallback{ display:flex; }
.nav-brandtext strong{ display:block; font-family:'Fraunces',serif; font-weight:600; font-size:15px; color:var(--ink); line-height:1.2; }
.nav-brandtext small{ display:block; font-family:'Special Elite',monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--stamp); margin-top:2px; }

.nav-links{ display:none; align-items:center; gap:6px; }
@media(min-width:900px){ .nav-links{display:flex;} }
.nav-links a{
  position:relative; font-family:'Work Sans',sans-serif; font-weight:600; font-size:14px; color:var(--ink-soft);
  padding:10px 14px; border-radius:6px; transition:color .25s ease, background .25s ease;
}
.nav-links a:hover{ color:var(--ink); background:var(--paper-deep); }
.nav-links a.active{ color:var(--stamp); }
.nav-links a.active::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; background:var(--stamp); border-radius:2px;
}
.nav-cta{
  display:none; font-family:'Special Elite',monospace; font-size:12px; letter-spacing:.05em; text-transform:uppercase;
  background:var(--stamp); color:var(--paper-white); padding:10px 18px; border-radius:20px; white-space:nowrap;
  transition:background .25s ease, transform .25s ease;
}
@media(min-width:900px){ .nav-cta{display:inline-flex; align-items:center;} }
.nav-cta:hover{ background:var(--ink); transform:translateY(-1px); }

.nav-toggle{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; flex-shrink:0; }
@media(min-width:900px){ .nav-toggle{display:none;} }
.nav-toggle span{ display:block; height:2px; width:100%; background:var(--ink); border-radius:2px; transition:transform .3s ease, opacity .3s ease; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-mobile{
  display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper-white);
  border-bottom:1px solid var(--line); box-shadow:0 20px 40px -20px rgba(36,31,27,.3);
  flex-direction:column; padding:8px 24px 20px;
}
@media(min-width:900px){ .nav-mobile{display:none !important;} }
.nav-mobile.open{ display:flex; }
.nav-mobile a{ padding:14px 6px; font-size:15px; font-weight:600; color:var(--ink); border-bottom:1px solid var(--line); text-align: center; }
.nav-mobile a:last-of-type{ border-bottom:none; }
.nav-mobile a.active{ color:var(--stamp); }
.nav-mobile .nav-cta{ display:inline-flex; margin-top:14px; justify-content: space-evenly; }
/* ============ COVER ============ */
.cover{
  min-height:100svh; display:flex; flex-direction:column; justify-content:center;
  position:relative; padding:110px 0 70px;
  background:
    radial-gradient(circle at 85% 8%, rgba(201,154,62,.16), transparent 45%),
    radial-gradient(circle at 6% 92%, rgba(59,69,48,.10), transparent 45%),
    var(--paper);
  border-bottom:1px solid var(--line);
}
.cover-grid{
  display:grid; gap:36px;
}
@media(min-width:900px){ .cover-grid{ grid-template-columns:1.15fr .85fr; align-items:end; gap:48px; } }

.casefile-tag{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Special Elite', monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:28px;
  border:1px dashed var(--line); padding:7px 14px; border-radius:2px;
}
.casefile-tag::before{content:"●"; color:var(--stamp); font-size:8px;}

.cover h1{
  font-size:clamp(2.4rem, 7vw, 4.6rem); line-height:1.03; color:var(--ink);
}
.cover h1 em{ font-style:italic; color:var(--stamp); font-weight:500; }

.cover p.lede{
  margin-top:22px; font-size:clamp(1rem,1.6vw,1.15rem); color:var(--ink-soft); max-width:560px; line-height:1.7;
}

.cover-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.stamp-btn{
  position:relative; display:inline-flex; align-items:center; gap:8px;
  font-family:'Special Elite',monospace; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  padding:14px 26px; border:2px solid var(--ink); border-radius:2px; color:var(--ink);
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.stamp-btn.solid{ background:var(--ink); color:var(--paper-white); border-color:var(--ink); }
.stamp-btn:hover{ transform:rotate(-1.5deg) scale(1.03); }
.stamp-btn.solid:hover{ background:var(--stamp); border-color:var(--stamp); }
.stamp-btn:not(.solid):hover{ background:var(--ink); color:var(--paper-white); }

/* the certificate card on the right of cover */
.docslot{
  position:relative; background:var(--paper-white);
  border:1px solid var(--line); padding:26px 26px 92px;
  box-shadow:0 26px 60px -28px rgba(36,31,27,.35);
  transform:rotate(1.4deg);
}
.docslot::before, .docslot::after{
  content:""; position:absolute; width:14px; height:14px; border-radius:50%;
  background:var(--gold); box-shadow:0 1px 3px rgba(0,0,0,.35);
}
.docslot::before{ top:-7px; left:22px; }
.docslot::after{ top:-7px; right:22px; }
.docslot .kicker{ font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:18px; display:flex; justify-content:space-between;}
.docslot blockquote{ font-family:'Fraunces',serif; font-style:italic; font-size:1.35rem; line-height:1.5; color:var(--ink); }
.docslot .sig{ margin-top:22px; font-family:'Special Elite',monospace; font-size:11px; color:var(--ink-soft); }
.docslot .corner-stamp{
  position:absolute; right:20px; bottom:20px; width:78px; height:78px;
  border:2px solid var(--stamp); border-radius:50%; color:var(--stamp);
  display:flex; align-items:center; justify-content:center; text-align:center;
  transform:rotate(-14deg); opacity:.85;
}
.docslot .corner-stamp span{ font-family:'Special Elite',monospace; font-size:9px; letter-spacing:.08em; line-height:1.35;}

/* portrait of the founder, in the cover's right column */
.portrait{ position:relative; }
.portrait-frame{
  position:relative; background:var(--paper-white); border:1px solid var(--line);
  padding:14px 14px 0; aspect-ratio:4/5; overflow:hidden;
  box-shadow:0 26px 60px -28px rgba(36,31,27,.35); transform:rotate(1.4deg);
}
.portrait-frame::before, .portrait-frame::after{
  content:""; position:absolute; width:14px; height:14px; border-radius:50%;
  background:var(--gold); box-shadow:0 1px 3px rgba(0,0,0,.35); z-index:2;
}
.portrait-frame::before{ top:-7px; left:22px; }
.portrait-frame::after{ top:-7px; right:22px; }
.portrait-frame img{ width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.portrait-frame.missing img{ display:none; }
.portrait-fallback{
  display:none; position:absolute; inset:14px 14px 0; flex-direction:column;
  align-items:center; justify-content:center; gap:10px; text-align:center; padding:18px;
  background:repeating-linear-gradient(135deg, var(--paper-deep), var(--paper-deep) 11px, var(--paper-white) 11px, var(--paper-white) 22px);
}
.portrait-frame.missing .portrait-fallback{ display:flex; }
.portrait-fallback svg{ width:30px; height:30px; opacity:.4; }
.portrait-fallback span{ font-family:'Special Elite',monospace; font-size:9.5px; letter-spacing:.03em; color:var(--ink-soft); word-break:break-all; }
.portrait-fallback .hint{ font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--stamp); word-break:normal; }
.portrait figcaption{
  margin-top:20px; transform:rotate(1.4deg); text-align:right;
  font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.07em; color:var(--ink-soft); line-height:1.7;
}
.portrait figcaption strong{ display:block; font-family:'Fraunces',serif; font-weight:600; font-size:14px; letter-spacing:0; color:var(--ink); }

/* the joining-report exhibit, now shown under The Turning Point */
.exhibit-slot{ max-width:520px; margin:44px auto 0; text-align:left; }
.exhibit-slot .docslot{ transform:rotate(-1.6deg); }

/* ============ SECTION SHELL ============ */
section{ position:relative; padding: 0px !important; }
@media(min-width:640px){ section{padding:128px 0;} }
.eyebrow-tag{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--stamp); margin-bottom:18px;
}
.eyebrow-tag::before{content:""; width:26px; height:1px; background:currentColor; opacity:.7;}
h2.sec-title{ font-size:clamp(1.9rem,4.2vw,2.9rem); line-height:1.12; max-width:740px; }
p.sec-lede{ margin-top:16px; color:var(--ink-soft); font-size:1.02rem; line-height:1.75; max-width:620px; }

/* ============ RECORD / CORKBOARD TIMELINE ============ */
.record{ background:var(--felt); color:var(--paper-white);
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.03), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.03), transparent 40%);
}
.record .eyebrow-tag{ color:var(--gold); }
.record .eyebrow-tag::before{ background:var(--gold); }
.record h2.sec-title{ color:var(--paper-white); }
.record p.sec-lede{ color:rgba(251,246,234,.65); }

.corkboard-wrap{ margin-top:56px; position:relative; }
.corkboard-track{
  position:relative; display:flex; gap:56px; overflow-x:auto; overflow-y:visible;
  /* gutter = the .wrap text gutter + a little slack for the cards' rotation,
     so the first pin-card lines up with the heading above it */
  --cork-gutter:36px;
  --cork-pad:max(var(--cork-gutter), calc((100% - 1280px) / 2 + var(--cork-gutter)));
  padding:70px var(--cork-pad) 40px; scroll-snap-type:x proximity;
}
@media(min-width:640px){ .corkboard-track{--cork-gutter:52px; padding-bottom:50px; gap:64px;} }
@media(min-width:1024px){ .corkboard-track{--cork-gutter:76px;} }
.corkboard-track::-webkit-scrollbar{ height:6px; }
.corkboard-track::-webkit-scrollbar-thumb{ background:var(--gold); border-radius:4px; }
.corkboard-thread{ position:absolute; top:0; left:0; pointer-events:none; z-index:0; }
.corkboard-thread path{ fill:none; stroke:var(--stamp); stroke-width:2; }

.pin-card{
  position:relative; z-index:1; flex:0 0 auto; scroll-snap-align:start;
  width:250px; background:var(--paper-white); color:var(--ink);
  padding:22px 20px 20px; box-shadow:0 18px 34px -16px rgba(0,0,0,.45);
}
@media(min-width:640px){ .pin-card{width:270px; padding:24px 22px 22px;} }
.pin-card:nth-child(odd){ transform:rotate(-2.4deg); }
.pin-card:nth-child(even){ transform:rotate(2deg); }
.pin-card:hover{ transform:rotate(0) translateY(-6px) scale(1.02); box-shadow:0 26px 44px -14px rgba(0,0,0,.5); transition:.35s ease; z-index:2;}
.pin-dot{
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  width:16px; height:16px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff2, transparent 55%), var(--stamp);
  box-shadow:0 3px 6px rgba(0,0,0,.4);
}
.pin-card .age{ font-family:'Fraunces',serif; font-size:2.2rem; color:var(--stamp); line-height:1; }
.pin-card .year{ font-family:'Special Elite',monospace; font-size:10px; color:var(--ink-soft); letter-spacing:.06em; margin-top:6px; display:block;}
.pin-card h3{ font-size:1.05rem; margin-top:12px; line-height:1.3;}
.pin-card p{ font-size:.85rem; color:var(--ink-soft); line-height:1.55; margin-top:8px; }
.pin-card .washi{ position:absolute; top:-8px; right:14px; width:38px; height:16px; background:var(--gold); opacity:.55; transform:rotate(8deg); }

.corkboard-hint{ text-align:center; font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(251,246,234,.4); margin-top:6px; padding-bottom: 20px;}

/* ============ TURNING POINT — typewriter ============ */
.turning{ background:var(--paper-deep); text-align:center; }
.typewriter-block{ max-width:820px; margin:0 auto; padding-bottom: 30px;}
.typewriter-frame{
  background:var(--paper-white); border:1px solid var(--line); padding:44px 26px;
  box-shadow:0 20px 50px -30px rgba(36,31,27,.4); position:relative;
}
@media(min-width:640px){ .typewriter-frame{padding:60px 60px;} }
.typewriter-frame::before{
  content:"EXHIBIT A — HANDWRITTEN, 25.03.2005"; position:absolute; top:16px; left:50%; transform:translateX(-50%);
  font-family:'Special Elite',monospace; font-size:9px; letter-spacing:.14em; color:var(--ink-soft); opacity:.55;
}
.type-text{
  font-family:'Special Elite',monospace; font-size:clamp(1rem,2.4vw,1.35rem); line-height:1.85; color:var(--ink);
  min-height:5.5em; text-align:left;
}
.type-text .cursor{ display:inline-block; width:2px; background:var(--stamp); margin-left:2px; animation:blink 1s step-end infinite;}
@keyframes blink{ 50%{opacity:0;} }
.turning-note{ margin-top:26px; font-size:.92rem; color:var(--ink-soft); max-width:560px; margin-inline:auto; line-height:1.7;}

/* ============ CONTINUUM — ledger ============ */
.continuum{ background:var(--paper); }
.ledger{ margin-top:52px; border-top:2px solid var(--ink); }
.ledger-row{
  display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center;
  padding:20px 0; border-bottom:1px solid var(--line);
}
@media(min-width:640px){ .ledger-row{gap:28px; padding:24px 0;} }
.ledger-row .did{ font-size:.92rem; color:var(--ink-soft); text-align:right; line-height:1.5;}
.ledger-row .we{ font-family:'Fraunces',serif; font-size:1.1rem; line-height:1.4;}
.ledger-row .arrow{
  font-family:'Special Elite',monospace; color:var(--stamp); font-size:14px;
  width:34px; height:34px; border:1px solid var(--stamp); border-radius:50%;
  display:flex; align-items:center; justify-content:center; justify-self:center;
}

/* ============ PROGRAMMES — folder tabs ============ */
.programmes{ background:var(--paper-deep); }
.folder{ margin-top:52px; }
.folder-tabs{ display:flex; flex-wrap:wrap; gap:4px 4px; }
.folder-tabs button{
  font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  padding:12px 16px 10px; background:var(--paper-deep); color:var(--ink-soft);
  border:1px solid var(--line); border-bottom:none;
  clip-path:polygon(6% 0, 94% 0, 100% 100%, 0% 100%);
  transition:all .25s ease;
}
.folder-tabs button.active{ background:var(--paper-white); color:var(--stamp); transform:translateY(2px); }
.folder-tabs button:hover:not(.active){ background:var(--paper-white); color:var(--ink);}
.folder-panel{
  background:var(--paper-white); border:1px solid var(--line); padding:34px 26px;
  box-shadow:0 20px 45px -30px rgba(36,31,27,.35);
}
@media(min-width:640px){ .folder-panel{padding:44px 48px;} }
.folder-panel .tagpill{
  display:inline-block; font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  padding:4px 10px; border:1px solid var(--stamp); color:var(--stamp); border-radius:20px; margin-bottom:16px;
}
.folder-panel h3{ font-size:1.6rem; }
.folder-panel p{ margin-top:14px; color:var(--ink-soft); line-height:1.75; max-width:640px;}
.folder-index{ margin-top:24px; font-family:'Special Elite',monospace; font-size:10px; color:var(--ink-soft); letter-spacing:.06em; }

/* ============ TRANSPARENCY — stamp + register ============ */
.transparency{ background:var(--paper); }
.trans-grid{ display:grid; gap:48px; margin-top:52px; }
@media(min-width:900px){ .trans-grid{grid-template-columns:.42fr .58fr; align-items:start;} }

.verify-stamp{
  width:220px; height:220px; margin-inline:auto; position:relative;
  border:3px solid var(--stamp); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  animation:spin 40s linear infinite;
}
@media(min-width:900px){ .verify-stamp{margin-inline:0;} }
@keyframes spin{ to{ transform:rotate(360deg);} }
.verify-stamp .core{
  animation:spinback 40s linear infinite; width:150px; height:150px; border:1px dashed var(--stamp);
  border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center;
}
@keyframes spinback{ to{ transform:rotate(-360deg);} }
.verify-stamp .core span{ font-family:'Fraunces',serif; font-weight:600; font-size:1.4rem; color:var(--stamp); }

.register{ border-top:2px solid var(--ink); }
.register-row{ display:flex; justify-content:space-between; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.register-row .lbl{ font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); white-space:nowrap;}
.register-row .val{ text-align:right; font-size:.95rem; }
.register-row .fill{ flex:1; border-bottom:1px dotted var(--line); margin-bottom:6px; }

.disclaimer-box{
  margin-top:22px; padding:16px 18px; border:1px dashed var(--stamp); color:var(--ink);
  font-size:.85rem; line-height:1.6; background:rgba(166,64,46,.05);
}

/* ============ IMPACT — ink counters ============ */
.impact{ background:var(--felt); color:var(--paper-white); }
.impact .eyebrow-tag{ color:var(--gold);}
.impact .eyebrow-tag::before{ background:var(--gold);}
.impact h2.sec-title{ color:var(--paper-white);}
.impact p.sec-lede{ color:rgba(251,246,234,.65);}
.impact-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:52px; justify-items:center; }
@media(min-width:480px){ .impact-grid{grid-template-columns:repeat(3,1fr);} }
@media(min-width:760px){ .impact-grid{grid-template-columns:repeat(5,1fr); gap:20px;} }
.ink-blot{
  width:100%; max-width:200px;
  aspect-ratio:1; border-radius:48% 52% 55% 45% / 45% 48% 52% 55%;
  background:rgba(251,246,234,.06); border:1px solid rgba(251,246,234,.18);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:10px;
}
.ink-blot .num{ font-family:'Fraunces',serif; font-size:clamp(1.8rem,4vw,2.6rem); color:var(--gold); }
.ink-blot .lbl{ font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.04em; margin-top:6px; color:rgba(251,246,234,.65); line-height:1.4;}
.impact-note{ margin-top:24px; font-size:.8rem; color:rgba(251,246,234,.45); }

/* ============ HELP — tear tickets ============ */
.help{ background:var(--paper-deep); }
.tickets{ margin-top:52px; display:grid; gap:22px; }
@media(min-width:760px){ .tickets{grid-template-columns:1fr 1fr;} }
.ticket{
  display:grid; grid-template-columns:88px 1fr; background:var(--paper-white);
  box-shadow:0 16px 34px -22px rgba(36,31,27,.4); position:relative; transition:transform .3s ease;
}
.ticket:hover{ transform:translateY(-4px) rotate(-.4deg); }
.ticket .stub{
  background:var(--stamp); color:var(--paper-white); display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-size:1.5rem; position:relative;
}
.ticket .stub::after{
  content:""; position:absolute; right:-1px; top:0; bottom:0; width:0;
  border-left:2px dashed rgba(251,246,234,.5);
}
.ticket .stub::before, .ticket .body::before{ display:none; }
.ticket .perf{
  position:absolute; left:88px; top:0; bottom:0; width:0;
}
.ticket .perf i{ position:absolute; left:-6px; width:12px; height:12px; border-radius:50%; background:var(--paper-deep); }
.ticket .body{ padding:20px 20px 20px 26px; }
.ticket .body h3{ font-size:1.05rem; }
.ticket .body p{ margin-top:8px; font-size:.85rem; color:var(--ink-soft); line-height:1.6; }
.ticket .body a{ margin-top:14px; display:inline-flex; gap:6px; font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--stamp); }

/* ============ CLOSING ============ */
.closing{ background:var(--ink); color:var(--paper-white); text-align:center; padding-top:130px; padding-bottom:130px;}
.closing .case-stamp{
  display:inline-block; font-family:'Special Elite',monospace; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  border:2px solid var(--gold); color:var(--gold); padding:9px 20px; transform:rotate(-3deg); margin-bottom:30px;
}
.closing h2{ font-size:clamp(2.1rem,5.4vw,3.6rem); line-height:1.14; max-width:820px; margin-inline:auto;}
.closing h2 em{ color:var(--gold); font-style:italic; }
.closing p{ margin-top:20px; color:rgba(251,246,234,.6); max-width:520px; margin-inline:auto; line-height:1.75;}
.closing .cover-cta{ justify-content:center; margin-top:34px;}
.closing .stamp-btn{ border-color:var(--paper-white); color:var(--paper-white);}
.closing .stamp-btn.solid{ background:var(--gold); border-color:var(--gold); color:var(--ink);}
.closing .stamp-btn:hover{ background:var(--paper-white); color:var(--ink);}

/* ============ FOOTER ============ */
footer{ background:var(--felt-deep); color:rgba(251,246,234,.55); padding:56px 0 28px; font-size:.85rem;}
.foot-grid{ display:grid; gap:34px; }
@media(min-width:760px){ .foot-grid{grid-template-columns:1.4fr 1fr 1fr;} }
footer h4{ font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;margin-right: 20px;}
footer .fname{ font-family:'Fraunces',serif; color:var(--paper-white); font-size:1.1rem; }
footer p, footer li{ line-height:1.7; }
footer ul{ list-style:none; }
footer li{ margin-bottom:6px; }
footer a:hover{ color:var(--paper-white); }
.reach-list li{ display:flex; align-items:flex-start; gap:10px; }
.reach-list svg{ width:15px; height:15px; flex:0 0 15px; margin-top:4px; color:var(--gold); opacity:.9; }
.foot-bottom{ margin-top:38px; padding-top:20px; border-top:1px solid rgba(251,246,234,.12); font-size:.75rem; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;}

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.in{ opacity:1; transform:none; }

/* ============================================================
   MOBILE / TABLET CONTENT CENTERING
   (below the 900px breakpoint where the desktop nav collapses
   into the hamburger menu — desktop layout above is untouched)
   ============================================================ */
@media(max-width:899px){

  /* shared section copy */
  .eyebrow-tag{ justify-content:center; margin-left:auto; margin-right:auto; margin-top: 20px; }
  h2.sec-title{ text-align:center; margin-inline:auto; }
  p.sec-lede{ text-align:center; margin-inline:auto; }

  /* cover */
  .cover-grid > div:first-child{ text-align:center; }
  .cover .casefile-tag{ margin-inline:auto; }
  .cover h1{ text-align:center; }
  .cover p.lede{ text-align:center; margin-inline:auto; }
  .cover-cta{ justify-content:center; }
  .portrait figcaption{ text-align:center; }

  /* record intro copy */
  .record .wrap{ text-align:center; padding-top: 15px;}

  /* turning point / exhibit */
  .exhibit-slot{ text-align:center; }
  .type-text{ text-align:center; }
  .docslot .kicker{ justify-content:center; gap:14px; }
  .turning-note{ text-align:center; }

  /* continuum ledger — stack each row and center its text */
  .ledger-row{ grid-template-columns:1fr; text-align:center; gap:10px; }
  .ledger-row .did{ text-align:center; }
  .ledger-row .arrow{ margin-inline:auto; }

  /* programmes folder */
  .folder-tabs{ justify-content:center; }
  .folder-panel{ text-align:center; }
  .folder-panel .tagpill{ margin-inline:auto; }
  .folder-panel p{ margin-inline:auto; }

  /* transparency register */
  .register-row{ flex-direction:column; text-align:center; gap:6px; }
  .register-row .fill{ display:none; }
  .register-row .val{ text-align:center; }

  /* impact */
  .impact-note{ text-align:center; }

  /* tickets */
  .ticket{ grid-template-columns:1fr; }
  .ticket .perf{ display:none; }
  .ticket .stub{ padding:12px 0; }
  .ticket .body{ text-align:center; padding:18px 20px 22px; }
  .ticket .body a{ justify-content:center; }

 /* Footer */
  footer{ text-align:center; }
  .foot-grid{ justify-items:center; text-align:center; }
  footer .fname{ margin-inline:auto; }
  footer p{ margin-inline:auto; }
  .foot-grid > div{ display:flex; flex-direction:column; align-items:center; }
  footer ul{ margin-inline:auto; text-align:left; padding:0; }
  footer li{ text-align:left; }
  .reach-list{ text-align:left; max-width:280px; padding: 0 50px; }
  .reach-list li{ display:flex; justify-content:flex-start; align-items:flex-start; text-align:left; }
  .foot-bottom{ justify-content:center; text-align:center; }
}
