/* ══════════════════════════════════════════════════════════════════════════
   VIGIL · The Reading Room — shared stylesheet (reading.css)

   The quiet library of the house. This carries Vigil's full design language
   (bone paper, keeper's amber light, the flame, the dusk) onto the hub and
   every article, so the writing reads as one continuous place with the rest
   of the site. Loaded from 'self', within the site's strict CSP.

   Used by:  /reading-room            (the hub)
             /reading-room/<slug>     (each article)
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --bone:#12161d; --bone-deep:#0c0f14; --bone-card:#1a1f28;
  --slate:#ece4d6; --stone:#b8bfc6;
  --amber:#e3b26a; --amber-lit:#f2dcae; --amber-soft:#e3cda0;
  --fog:#8b949e; --ash:#b8bfc6;
  --dusk:#0c0f14; --dusk-2:#12161d; --dusk-3:#2c2722;
  --line:rgba(236,228,214,.16);
  --serif:'Hanken Grotesk',system-ui,sans-serif; --body:'Hanken Grotesk',system-ui,sans-serif;
  --clay:#b6502e;

  /* the keeper's light — the same warmth that drifts through every room */
  --keeper:#e3b26a; --keeper-soft:rgba(227,178,106,.5);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);background:var(--bone);color:var(--stone);
  font-size:18px;line-height:1.78;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* the same paper grain the whole world carries */
body::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
  opacity:.22;mix-blend-mode:soft-light;
}
/* the keeper's light, pooled faintly at the top of the page */
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 46% at 50% -8%, var(--keeper-soft), transparent 70%);
  opacity:.15;
}
::selection{background:rgba(200,154,74,.28);color:var(--slate);}
a{color:inherit;}

.wrap{max-width:720px;margin:0 auto;padding:0 40px;position:relative;z-index:2;}
.wrap-wide{max-width:1140px;margin:0 auto;padding:0 40px;position:relative;z-index:2;}
@media(max-width:560px){.wrap,.wrap-wide{padding:0 22px;}}

/* ════════ reading-progress ember line — a slow warmth across the top ════════ */
.progress-rail{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:70;pointer-events:none;
  background:transparent;
}
.progress-fill{
  height:100%;width:0;
  background:linear-gradient(90deg,var(--amber),var(--amber-lit));
  box-shadow:0 0 10px 1px var(--keeper-soft);
  transition:width .12s linear;
}

/* ════════════════════════════ NAV ════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  padding:18px 0;transition:background .5s ease,border-color .5s ease,padding .4s ease;
  border-bottom:1px solid transparent;
}
nav.solid{
  /* dark-first solid bar — cream paper + cream type was unreadable (~1.1:1) */
  background:rgba(12,15,20,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);padding:13px 0;
}
.nav-in{
  max-width:1140px;margin:0 auto;padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
}
@media(max-width:560px){.nav-in{padding:0 22px;}}
.mark{
  font-family:var(--serif);font-size:23px;font-weight:500;
  letter-spacing:.16em;text-decoration:none;
  display:flex;align-items:center;gap:11px;
  color:#F0E6D2;transition:color .5s ease;
}
nav.solid .mark{color:var(--slate);}
/* nav that begins over a light surface (article body) rather than the dusk hero */
nav.on-light .mark{color:var(--slate);}
.flame{
  width:7px;height:11px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  background:radial-gradient(ellipse at 50% 70%,var(--amber-lit),var(--amber) 70%);
  box-shadow:0 0 9px 2px rgba(200,154,74,.55);
  transform-origin:50% 100%;animation:flick 3.4s ease-in-out infinite;
}
@keyframes flick{
  0%,100%{transform:scale(1) rotate(-1deg);opacity:.92;}
  30%{transform:scale(1.07,.95) rotate(1.6deg);opacity:1;}
  62%{transform:scale(.94,1.06) rotate(-1.6deg);opacity:.84;}
}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-size:14px;text-decoration:none;color:rgba(240,230,210,.7);transition:color .3s;}
nav.solid .nav-links a, nav.on-light .nav-links a{color:var(--ash);}
.nav-links a:hover{color:var(--amber-lit);}
nav.solid .nav-links a:hover, nav.on-light .nav-links a:hover{color:var(--slate);}
.nav-cta{
  font-size:14px;padding:9px 20px;border-radius:999px;
  border:1px solid rgba(224,182,112,.6);color:var(--amber-lit)!important;
  transition:background .3s,color .3s;
}
.nav-cta:hover{background:var(--amber);color:#1a140c!important;}
nav.solid .nav-cta{border-color:rgba(224,182,112,.6);color:var(--amber-lit)!important;}
nav.solid .nav-cta:hover{background:var(--amber);color:#1a140c!important;}
nav.on-light .nav-cta{border-color:var(--slate);color:var(--slate)!important;}
nav.on-light .nav-cta:hover{background:var(--slate);color:var(--bone)!important;}
@media(max-width:880px){.nav-links a:not(.nav-cta){display:none;}}

/* ════════════════════════════ BUTTONS ════════════════════════════ */
.btn{
  font-family:var(--body);font-size:15px;cursor:pointer;text-decoration:none;
  padding:14px 30px;border-radius:999px;display:inline-block;
  transition:all .45s cubic-bezier(.22,.61,.36,1);
  border:1px solid rgba(224,182,112,.45);color:var(--amber-lit);
}
.btn:hover{background:rgba(224,182,112,.14);border-color:var(--amber);transform:translateY(-2px);}
.btn.solid{
  background:linear-gradient(160deg,#E6BE7E,#C89A4A);color:#241a0c;
  border-color:transparent;font-weight:500;box-shadow:0 12px 36px -12px rgba(224,182,112,.6);
}
.btn.solid:hover{background:linear-gradient(160deg,#EFCB8E,#D2A85A);box-shadow:0 18px 48px -12px rgba(224,182,112,.72);}
.btn.dk{border-color:var(--slate);color:var(--slate);}
.btn.dk:hover{background:rgba(28,39,51,.07);}

/* ════════════════════════════ HERO (dusk band) ════════════════════════════ */
.hero{
  position:relative;overflow:hidden;background:var(--dusk);
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.hero.tall{min-height:78vh;padding:150px 0 96px;}
.hero.short{min-height:56vh;padding:150px 0 84px;}
.hero-world{position:absolute;inset:0;z-index:1;opacity:0;animation:worldIn 2.4s ease .2s forwards;}
@keyframes worldIn{from{opacity:0}to{opacity:1}}
.hero-scrim{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse 62% 58% at 50% 42%,rgba(8,7,6,.62),transparent 76%),
    linear-gradient(to bottom,rgba(8,7,6,.5),transparent 26%,transparent 58%,rgba(8,7,6,.62));
}
.hero-in{position:relative;z-index:3;padding:0 26px;max-width:820px;}
html.js .hero-in > *{opacity:0;animation:rise 1.4s cubic-bezier(.2,.6,.3,1) forwards;}
.eyebrow{
  font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--amber-lit);
  margin-bottom:22px;animation-delay:.2s;
}
.eyebrow a{color:var(--amber-lit);text-decoration:none;opacity:.85;}
.eyebrow a:hover{opacity:1;text-decoration:underline;}
h1.title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(38px,6.4vw,74px);line-height:1.04;letter-spacing:-.02em;
  color:#F4ECDB;animation-delay:.36s;
}
h1.title em{font-style:italic;color:var(--amber-lit);}
.hero-dek{
  max-width:600px;margin:22px auto 0;font-size:clamp(17px,2.1vw,20px);
  color:#cdc3ad;line-height:1.7;animation-delay:.6s;
}
.hero-meta{
  margin-top:26px;font-size:13px;letter-spacing:.06em;color:#9c927a;
  display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;
  animation-delay:.75s;
}
.hero-meta .dot{width:3px;height:3px;border-radius:50%;background:#7a7060;display:inline-block;}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}

/* ════════════════════════════ ARTICLE BODY ════════════════════════════ */
.article{position:relative;z-index:2;background:var(--bone);padding:78px 0 40px;}
.article .wrap{max-width:720px;}
.prose{font-size:19px;line-height:1.82;color:var(--stone);}
.prose > p{margin:0 0 26px;}
.prose .standfirst{
  font-family:var(--serif);font-size:clamp(21px,2.6vw,26px);line-height:1.5;
  color:var(--slate);margin:0 0 34px;font-weight:400;
}
.prose h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,36px);
  line-height:1.18;color:var(--slate);letter-spacing:-.015em;
  margin:52px 0 6px;scroll-margin-top:90px;
}
.prose h2 + p{margin-top:14px;}
.prose h3{
  font-family:var(--serif);font-weight:600;font-size:clamp(20px,2.4vw,23px);
  color:var(--slate);margin:36px 0 4px;
}
.prose h2 em, .prose h3 em{font-style:italic;color:var(--amber);}
.prose strong{color:var(--slate);font-weight:600;}
.prose em{color:inherit;}
.prose a{color:var(--stone);text-decoration:underline;text-decoration-color:rgba(200,154,74,.55);text-underline-offset:3px;transition:color .3s;}
.prose a:hover{color:var(--amber);}
.prose ul,.prose ol{margin:0 0 26px;padding-left:1.3em;}
.prose li{margin:0 0 12px;padding-left:.2em;}
.prose li::marker{color:var(--amber);}

/* a section divider — three embers */
.embers-rule{
  display:flex;gap:14px;justify-content:center;align-items:center;
  margin:48px 0;
}
.embers-rule span{
  width:5px;height:5px;border-radius:50%;
  background:var(--amber);box-shadow:0 0 8px 1px var(--keeper-soft);opacity:.8;
}
.embers-rule span:nth-child(2){width:6px;height:6px;opacity:1;}

/* pull quote */
.pull{
  margin:44px 0;padding:6px 0 6px 28px;border-left:2px solid var(--amber);
  font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.9vw,28px);
  line-height:1.44;color:var(--slate);
}

/* "a note from the house" — a soft aside, the app's voice in the margin */
.aside{
  margin:40px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:var(--bone-card);
}
.aside-head{
  display:flex;align-items:center;gap:11px;
  padding:16px 24px 0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);
}
.aside-head .flame{margin-top:-1px;}
.aside p{padding:10px 24px 22px;margin:0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.68;color:var(--stone);}
.aside p + p{padding-top:0;}

/* "what the research says" callout */
.research{
  margin:40px 0;padding:26px 28px;border-radius:16px;
  background:var(--bone-deep);border:1px solid var(--line);
}
.research .r-tag{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--slate);opacity:.7;margin-bottom:10px;}
.research p{font-size:16.5px;line-height:1.72;color:var(--stone);margin:0 0 12px;}
.research p:last-child{margin-bottom:0;}
.research .r-name{font-style:italic;color:var(--ash);font-size:14.5px;}

/* a small self-check / interactive practice card */
.practice{
  margin:40px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,var(--bone-card),var(--bone-deep));
}
.practice-in{padding:28px 30px;}
.practice .p-eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;}
.practice h3{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--slate);margin:0 0 8px;}
.practice p{font-size:16px;line-height:1.72;color:var(--stone);margin:0 0 18px;}
.breath-btn{
  font-family:var(--body);font-size:15px;cursor:pointer;border:1px solid var(--slate);
  background:transparent;color:var(--slate);padding:12px 26px;border-radius:999px;transition:all .3s;
}
.breath-btn:hover{background:var(--slate);color:var(--bone);}
.breath-stage{
  margin-top:22px;height:150px;display:none;align-items:center;justify-content:center;position:relative;
}
.breath-stage.on{display:flex;}
.breath-orb{
  width:70px;height:70px;border-radius:50%;
  background:radial-gradient(circle at 40% 34%,#fff7e6,var(--keeper) 54%,#b88a3e);
  box-shadow:0 0 40px 8px var(--keeper-soft);
  animation:breathe 11s ease-in-out infinite;
}
@keyframes breathe{
  0%,100%{transform:scale(.72);}
  18%{transform:scale(1.28);}      /* in, ~4s */
  46%{transform:scale(1.28);}      /* hold */
  82%{transform:scale(.72);}       /* out, long */
}
.breath-word{
  position:absolute;left:50%;bottom:8px;transform:translateX(-50%);
  font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ash);
}

/* "tonight's only list" anchors — tappable, never scored */
.anchors{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px;}
.anchor{
  font-family:var(--body);font-size:15px;cursor:pointer;color:var(--stone);
  padding:11px 18px 11px 40px;border-radius:999px;border:1px solid var(--line);
  background:var(--bone);position:relative;transition:all .3s;text-align:left;
}
.anchor::before{
  content:"";position:absolute;left:15px;top:50%;transform:translateY(-50%);
  width:15px;height:15px;border-radius:50%;border:1.5px solid var(--ash);transition:all .3s;
}
.anchor:hover{border-color:rgba(200,154,74,.5);}
.anchor.done{color:var(--slate);border-color:var(--amber);background:rgba(224,182,112,.12);}
.anchor.done::before{
  background:radial-gradient(circle,var(--amber-lit),var(--amber));border-color:var(--amber);
  box-shadow:0 0 10px 1px var(--keeper-soft);
}

/* byline / house stamp under the standfirst */
.byline{
  display:flex;align-items:center;gap:12px;margin:0 0 34px;
  font-size:14px;color:var(--ash);
}
.byline .flame{width:6px;height:10px;}
.byline b{color:var(--stone);font-weight:600;}

/* on-page contents (table of contents) */
.toc{
  margin:0 0 40px;padding:22px 26px;border:1px solid var(--line);border-radius:14px;
  background:var(--bone-card);
}
.toc p{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:0 0 12px;}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;}
.toc li{margin:0 0 9px;padding:0;counter-increment:toc;}
.toc li::before{content:counter(toc,decimal-leading-zero);color:var(--ash);font-size:13px;margin-right:12px;}
.toc a{font-size:16px;color:var(--stone);text-decoration:none;transition:color .3s;}
.toc a:hover{color:var(--amber);}

/* ════════════════════════════ HUB ════════════════════════════ */
.band{padding:96px 0;position:relative;z-index:2;}
.band.deep{background:var(--bone-deep);}
.kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);font-weight:500;margin-bottom:18px;}
h2.section{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,46px);line-height:1.14;color:var(--slate);letter-spacing:-.015em;}
h2.section em{font-style:italic;color:var(--amber);}
.lead{font-size:clamp(18px,2.1vw,21px);line-height:1.7;margin-top:18px;color:var(--stone);max-width:640px;}

.reveal{opacity:1;}
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s ease;}
html.js .reveal.in{opacity:1;transform:translateY(0);}

/* "how are you arriving" chooser */
.arrive{margin-top:44px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--bone-card);}
.arrive-head{padding:26px 30px 4px;}
.arrive-head p{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ash);}
.arrive-chips{display:flex;flex-wrap:wrap;gap:10px;padding:16px 30px 4px;}
.arrive-chip{
  font-family:var(--body);font-size:14.5px;cursor:pointer;color:var(--stone);
  padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bone);
  transition:all .3s;
}
.arrive-chip:hover{border-color:rgba(200,154,74,.5);}
.arrive-chip.on{background:rgba(224,182,112,.16);border-color:var(--amber);color:var(--slate);}
.arrive-answer{
  padding:8px 30px 30px;min-height:96px;
}
.arrive-answer .aa-text{font-size:17px;line-height:1.7;color:var(--stone);transition:opacity .35s;margin-bottom:14px;}
.arrive-answer .aa-text.out{opacity:0;}
.arrive-answer a{
  font-size:14px;color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(200,154,74,.4);
  padding-bottom:2px;transition:color .3s;
}
.arrive-answer a:hover{color:var(--slate);}

/* article index cards */
.pieces{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media(max-width:780px){.pieces{grid-template-columns:1fr;}}
.piece{
  display:flex;flex-direction:column;text-decoration:none;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bone-card);
  transition:border-color .4s,transform .4s,box-shadow .4s;
}
.piece:hover{border-color:rgba(200,154,74,.45);transform:translateY(-3px);box-shadow:0 22px 44px -30px rgba(40,30,18,.5);}
.piece.feature{grid-column:1 / -1;}
.piece-top{
  position:relative;height:120px;overflow:hidden;
  background:linear-gradient(140deg,var(--dusk-2),var(--dusk));
}
.piece.feature .piece-top{height:180px;}
.piece-glow{
  position:absolute;width:60%;height:120%;right:-6%;top:-30%;
  background:radial-gradient(circle,var(--keeper-soft),transparent 66%);opacity:.6;filter:blur(6px);
}
.piece-num{
  position:absolute;left:22px;bottom:14px;font-family:var(--serif);font-size:13px;
  letter-spacing:.14em;color:var(--amber-lit);opacity:.85;
}
.piece-body{padding:24px 26px 26px;flex:1;display:flex;flex-direction:column;}
.piece-cat{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;}
.piece h3{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.5vw,26px);color:var(--slate);line-height:1.2;margin-bottom:10px;}
.piece.feature h3{font-size:clamp(24px,3.2vw,32px);}
.piece p{font-size:15.5px;line-height:1.66;color:var(--stone);margin-bottom:16px;flex:1;}
.piece-foot{font-size:13px;color:var(--ash);display:flex;gap:10px;align-items:center;}
.piece-foot .go{color:var(--amber);font-weight:600;margin-left:auto;transition:transform .3s;}
.piece:hover .piece-foot .go{transform:translateX(4px);}

/* ════════ related reading (article foot) ════════ */
.related{background:var(--bone-deep);padding:84px 0;position:relative;z-index:2;}
.related h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,36px);color:var(--slate);margin-bottom:6px;}
.related .r-sub{font-size:16px;color:var(--ash);margin-bottom:34px;}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:680px){.related-grid{grid-template-columns:1fr;}}
.rcard{
  text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:24px 26px;
  background:var(--bone-card);transition:border-color .3s,transform .3s;display:block;
}
.rcard:hover{border-color:rgba(200,154,74,.45);transform:translateY(-2px);}
.rcard .rc-cat{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:9px;}
.rcard h3{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--slate);line-height:1.24;margin:0;}

/* ════════════════════════════ KEEP WATCH ════════════════════════════ */
.keep{position:relative;padding:112px 0;text-align:center;overflow:hidden;background:var(--bone);}
.keep .wrap{max-width:600px;}
.keep-candle{margin:0 auto 30px;width:60px;cursor:pointer;position:relative;transition:transform .3s ease;}
.keep-candle:hover{transform:translateY(-3px);}
.keep-candle .kglow{position:absolute;left:50%;top:-30px;transform:translateX(-50%);width:150px;height:160px;border-radius:50%;
  background:radial-gradient(circle,var(--keeper-soft),transparent 68%);opacity:0;transition:opacity 1.1s ease;}
.keep-candle .kflame{position:relative;margin:0 auto;width:0;height:0;border-radius:50% 50% 50% 50%/62% 62% 40% 40%;
  background:radial-gradient(ellipse at 50% 72%,#fff4dc,var(--amber-lit) 46%,var(--amber) 82%);transform-origin:50% 100%;transition:width .7s ease,height .7s ease;}
.keep-candle .kwick{width:2px;height:7px;margin:0 auto;background:#3a322a;}
.keep-candle .kbody{margin:0 auto;width:30px;height:62px;background:linear-gradient(#efe3c6,#d6c8a6);border-radius:4px 4px 2px 2px;box-shadow:0 14px 30px -16px rgba(28,24,18,.5);}
.keep-candle.lit .kglow{opacity:1;}
.keep-candle.lit .kwick{display:none;}
.keep-candle.lit .kflame{width:16px;height:30px;margin-bottom:-2px;box-shadow:0 0 30px 8px var(--keeper-soft);animation:flick 3.2s ease-in-out infinite;}
.keep-invite{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ash);margin-bottom:8px;min-height:26px;transition:color .5s ease;}
.keep h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,42px);color:var(--slate);margin-bottom:14px;letter-spacing:-.015em;}
.keep h2 em{font-style:italic;color:var(--amber);}
.keep .kp{font-size:18px;color:var(--stone);margin:0 auto 32px;max-width:500px;}
.wl-form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.wl-form input[type=email]{flex:1;min-width:240px;font-family:var(--body);font-size:16px;padding:15px 22px;border:1px solid var(--slate);background:var(--bone);color:var(--slate);border-radius:999px;transition:border-color .4s,box-shadow .4s;}
.wl-form input[type=email]:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 4px rgba(200,154,74,.14);}
.wl-form .btn.solid{border:1px solid transparent;}
.hp{position:absolute;left:-9999px;width:0;height:0;overflow:hidden;}
.wl-fine{margin-top:18px;font-size:13px;color:var(--ash);}
.wl-thanks{display:none;max-width:500px;margin:0 auto;font-family:var(--serif);font-size:21px;font-style:italic;color:var(--slate);line-height:1.6;}
.wl-thanks .sm{display:block;font-style:normal;font-family:var(--body);font-size:14px;color:var(--ash);margin-top:14px;}
.wl-error{display:none;margin-top:14px;font-size:14px;color:#9a4a2e;}

/* ════════════════════════════ FOOTER ════════════════════════════ */
footer{background:var(--dusk);color:#8a8270;padding:0 0 46px;border-top:1px solid rgba(202,191,168,.1);}
footer .wrap-wide{padding-top:54px;}
.foot-ridge{position:relative;width:100%;height:128px;pointer-events:none;margin-bottom:-1px;}
.foot-ridge::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(transparent,var(--dusk));pointer-events:none;}
.foot-in{display:flex;justify-content:space-between;gap:38px;flex-wrap:wrap;align-items:flex-start;}
.foot-mark{font-family:var(--serif);font-size:25px;letter-spacing:.15em;color:#F0E6D2;font-weight:500;}
.foot-mark span{display:block;font-size:13.5px;font-style:italic;color:var(--amber-lit);margin-top:3px;letter-spacing:.02em;}
.foot-links{display:flex;gap:24px;flex-wrap:wrap;}
.foot-links a{font-size:14px;color:#b3a98f;text-decoration:none;transition:color .25s;}
.foot-links a:hover{color:#F0E6D2;}
.crisis{margin-top:38px;padding-top:24px;border-top:1px solid rgba(202,191,168,.1);font-size:14px;color:#9c9279;max-width:640px;line-height:1.7;}
.crisis a{color:var(--amber-lit);}
.foot-stamp{margin-top:28px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--fog);}
.foot-stamp a{color:var(--ash);text-decoration:none;}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important;}
  html.js .hero-in > *{opacity:1!important;}
  .breath-orb{animation:none!important;}
}

/* keyboard visitors get a door straight to the words */
.skip-link{position:absolute;top:-100px;left:16px;z-index:400;background:#26313C;color:#F5F0E8;padding:10px 18px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;transition:top .2s ease;}
.skip-link:focus{top:16px;}
