/* ============================================================
   Devansh Reflects
   Direction: "the still surface" — blue hour, moonlight, water.
   ------------------------------------------------------------
   1  Tokens          6  Home sections      11 Comments
   2  Reset           7  Library feed       12 Widgets
   3  Type            8  Lexicon            13 Blocks + prose
   4  Buttons         9  Footer             14 Utilities
   5  Header         10 Single + archive    15 Motion
   ============================================================ */

/* ---------- 1 · tokens ---------- */
:root{
  --night:  #0A1020;
  --depth:  #101A2E;
  --edge:   #1E2A44;
  --mist:   #93A2C0;
  --light:  #EEF1F7;
  --moon:   #A8BEF0;
  --lamp:   #E0A96D;

  --display: "Newsreader", Georgia, "Times New Roman", serif;
  --body:    "Karla", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  --t-xs:  0.75rem;
  --t-sm:  0.875rem;
  --t-md:  clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  --t-lg:  clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem);
  --t-xl:  clamp(1.6rem, 1.35rem + 1.3vw, 2.4rem);
  --t-2xl: clamp(2.25rem, 1.6rem + 3vw, 4rem);
  --t-hero:clamp(2.5rem, 1.3rem + 5.6vw, 5.75rem);

  --gut: clamp(1.25rem, 4vw, 3.5rem);
  --max: 1240px;
  --read: 720px;
  --sec: clamp(4.5rem, 9vw, 8rem);
  --r: 14px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2 · reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:90px; }
body{
  margin:0; background:var(--night); color:var(--light);
  font-family:var(--body); font-size:var(--t-md); line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg,video,iframe{ display:block; max-width:100%; }
img{ height:auto; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; text-align:left; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4,h5,h6,p,figure,blockquote{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
:focus-visible{ outline:2px solid var(--moon); outline-offset:3px; border-radius:4px; }
::selection{ background:var(--moon); color:var(--night); }

.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gut); }
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; word-wrap:normal !important;
}
.skip{
  position:absolute; left:-9999px; top:0; z-index:300;
  background:var(--moon); color:var(--night); padding:.7rem 1.1rem; font-weight:600;
}
.skip:focus{ left:0; }

/* ---------- 3 · type ---------- */
.eyebrow{
  font-size:var(--t-xs); letter-spacing:.16em; text-transform:uppercase;
  font-weight:600; color:var(--mist); display:flex; align-items:center; gap:.7rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--lamp); opacity:.8; flex:none; }
.h2{ font-family:var(--display); font-size:var(--t-2xl); font-weight:300; line-height:1.08; letter-spacing:-.015em; }
.h2 em{ font-style:italic; color:var(--moon); font-weight:300; }
.lede{ color:var(--mist); font-size:var(--t-lg); line-height:1.6; max-width:46ch; }
.section{ padding-block:var(--sec); position:relative; }
.section + .section{ padding-top:0; }
.sec-head{
  display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; align-items:end; justify-content:space-between;
  margin-bottom:clamp(2rem,5vw,3.25rem);
}
.sec-head .eyebrow{ margin-bottom:1.15rem; }

/* ---------- 4 · buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 1.4rem; border-radius:100px;
  font-size:var(--t-sm); font-weight:600; white-space:nowrap;
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);
}
.btn svg{ transition:transform .35s var(--ease); flex:none; }
.btn--solid{ background:var(--moon); color:#0A1020; }
.btn--solid:hover{ background:#C6D6FA; transform:translateY(-2px); }
.btn--line{ border:1px solid var(--edge); }
.btn--line:hover{ border-color:var(--moon); color:var(--moon); transform:translateY(-2px); }
.btn:hover svg{ transform:translateX(3px); }
.btn[hidden]{ display:none; }

/* ---------- 5 · header ---------- */
.site-head{
  position:sticky; top:0; z-index:100;
  border-bottom:1px solid transparent;
  transition:background .4s var(--ease), border-color .4s var(--ease);
}
.site-head.is-stuck{
  background:rgba(10,16,32,.8);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--edge);
}
.head-in{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  height:clamp(66px,8vw,84px); transition:height .4s var(--ease);
}
.site-head.is-stuck .head-in{ height:64px; }

.brand{ display:flex; align-items:center; gap:.7rem; flex:none; }
.brand > svg{ color:var(--moon); flex:none; }
.brand__logo img{ max-height:40px; width:auto; }
.brand__name{ font-family:var(--display); font-size:1.28rem; letter-spacing:-.01em; line-height:1; }
.brand__name em{ font-style:italic; color:var(--moon); font-weight:300; }

.nav{ display:flex; align-items:center; gap:1.8rem; }
.nav a{
  font-size:var(--t-sm); color:var(--mist); font-weight:500;
  position:relative; padding-block:.35rem; transition:color .3s var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--moon);
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease);
}
.nav a:hover{ color:var(--light); }
.nav a:hover::after{ transform:scaleX(1); }
.nav .current-menu-item > a,
.nav .current_page_item > a{ color:var(--light); }
.nav .current-menu-item > a::after{ transform:scaleX(1); }

.head-cta{ display:flex; align-items:center; gap:.6rem; flex:none; }
.head-search{
  width:42px; height:42px; border-radius:50%; border:1px solid var(--edge);
  display:grid; place-items:center; color:var(--mist);
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.head-search:hover{ color:var(--light); border-color:var(--mist); }

.search-panel{
  border-top:1px solid var(--edge);
  background:rgba(10,16,32,.95);
  padding-block:1.25rem;
}
.search-panel[hidden]{ display:none; }

.burger{ display:none; width:42px; height:42px; border-radius:50%; border:1px solid var(--edge); place-items:center; }
.burger span{ display:block; width:16px; height:1.5px; background:var(--light); border-radius:2px; transition:transform .35s var(--ease), opacity .25s var(--ease); }
.burger span + span{ margin-top:4px; }
body.nav-open .burger span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
body.nav-open .burger span:nth-child(2){ opacity:0; }
body.nav-open .burger span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

.sheet{
  position:fixed; inset:0; z-index:99; background:var(--night);
  padding:calc(clamp(66px,8vw,84px) + 2rem) var(--gut) 2.5rem;
  display:flex; flex-direction:column; justify-content:space-between; gap:2rem;
  opacity:0; visibility:hidden; transform:translateY(-8px); overflow-y:auto;
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s;
}
body.nav-open .sheet{ opacity:1; visibility:visible; transform:none; }
.sheet__link,
.sheet__list a{
  font-family:var(--display); font-size:clamp(1.85rem,8vw,2.5rem); font-weight:300;
  line-height:1.55; display:block; border-bottom:1px solid var(--edge);
}
.sheet__foot{ display:flex; flex-wrap:wrap; gap:1.25rem; color:var(--mist); font-size:var(--t-sm); }

/* ---------- 6 · home sections ---------- */
.hero{ position:relative; padding-top:clamp(2.5rem,6vw,5rem); padding-bottom:clamp(3rem,7vw,6rem); overflow:hidden; }
.hero__glow{
  position:absolute; left:50%; top:-18%; width:min(1100px,130vw); aspect-ratio:1; transform:translateX(-50%);
  background:radial-gradient(circle at 50% 45%, rgba(120,150,220,.22), rgba(120,150,220,.06) 42%, transparent 66%);
  pointer-events:none;
}
.hero__in{ position:relative; }
.hero__eyebrow{ margin-bottom:clamp(1.75rem,4vw,2.5rem); }
.hero__title{
  font-family:var(--display); font-size:var(--t-hero); font-weight:200;
  line-height:1.0; letter-spacing:-.03em; max-width:16ch;
}
.hero__title em{ font-style:italic; font-weight:300; color:var(--moon); }
.hero__line{
  position:relative; height:1px; margin-top:clamp(1.5rem,3vw,2.25rem);
  background:linear-gradient(to right, var(--edge), rgba(168,190,240,.55) 22%, var(--edge) 72%, transparent);
}
.hero__line::after{
  content:""; position:absolute; left:0; top:-2px; width:5px; height:5px; border-radius:50%;
  background:var(--lamp); box-shadow:0 0 14px 2px rgba(224,169,109,.5);
}
.hero__echo{ position:relative; height:clamp(4rem,10vw,7rem); overflow:hidden; pointer-events:none; user-select:none; }
.hero__echo .hero__title{
  transform:scaleY(-1); transform-origin:top; color:var(--moon); opacity:.32; filter:blur(1.4px);
  -webkit-mask-image:linear-gradient(to top, #000 6%, transparent 82%);
  mask-image:linear-gradient(to top, #000 6%, transparent 82%);
}
.hero__ripple{
  position:absolute; inset:-10px 0;
  background:repeating-linear-gradient(to bottom, transparent 0 3px, rgba(10,16,32,.62) 3px 4.5px);
  animation:dr-drift 7s linear infinite;
}
@keyframes dr-drift{ to{ transform:translateY(4.5px); } }
.hero__body{
  margin-top:clamp(1.25rem,3vw,2rem); display:flex; flex-wrap:wrap;
  align-items:flex-end; gap:clamp(1.5rem,5vw,4rem); justify-content:space-between;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:.75rem; }

.tally{ display:flex; flex-wrap:wrap; border-top:1px solid var(--edge); margin-top:clamp(2.5rem,6vw,4rem); }
.tally__i{ padding:1.25rem 0 1.25rem 1.25rem; flex:1 1 140px; border-left:1px solid var(--edge); }
.tally__i:first-child{ border-left:0; padding-left:0; }
.tally__n{ font-family:var(--display); font-size:1.9rem; font-weight:300; line-height:1; }
.tally__l{ font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--mist); margin-top:.5rem; }

/* today */
.today{
  border:1px solid var(--edge); border-radius:calc(var(--r) + 6px);
  background:linear-gradient(165deg, rgba(22,34,58,.92), rgba(11,18,34,.92));
  padding:clamp(1.75rem,4vw,3.25rem); display:grid; gap:clamp(2rem,4vw,3.5rem);
  position:relative; overflow:hidden;
}
.today::before{
  content:""; position:absolute; left:-6%; top:-45%; width:380px; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(168,190,240,.14), transparent 65%); pointer-events:none;
}
@media (min-width:920px){ .today{ grid-template-columns:.85fr 1.15fr; } }
.today__side{ position:relative; }
.today__field{ color:var(--lamp); }
.today__term{
  font-family:var(--display); font-weight:200; font-size:clamp(2.1rem,4.4vw,3.4rem);
  line-height:1.02; letter-spacing:-.025em; margin-top:1.25rem;
}
.today__say{ color:var(--mist); font-size:var(--t-sm); margin-top:1rem; font-style:italic; }
.today__claim{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:var(--t-xl); line-height:1.32; letter-spacing:-.01em;
  padding-left:1.25rem; border-left:1px solid var(--lamp);
}
.today__rows{ display:grid; gap:1.5rem; margin-top:clamp(1.75rem,3vw,2.25rem); }
@media (min-width:640px){ .today__rows{ grid-template-columns:repeat(3,1fr); gap:2rem; } }
.today__k{ font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--moon); font-weight:600; margin-bottom:.55rem; }
.today__v{ color:var(--mist); font-size:var(--t-sm); line-height:1.6; }

/* threads */
.thread{
  display:grid; gap:.5rem 2rem; padding-block:clamp(1.4rem,3.2vw,2.1rem);
  border-top:1px solid var(--edge); position:relative;
  transition:padding-left .45s var(--ease);
}
.threads .thread:last-child{ border-bottom:1px solid var(--edge); }
.thread__dot{
  position:absolute; left:0; top:calc(clamp(1.4rem,3.2vw,2.1rem) + .72em);
  width:6px; height:6px; border-radius:50%; background:var(--moon);
  opacity:0; transform:scale(.4);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.thread__name{ font-family:var(--display); font-size:var(--t-xl); font-weight:300; line-height:1.15; transition:color .4s var(--ease); }
.thread__count{
  font-family:var(--body); font-size:var(--t-xs); color:var(--mist);
  letter-spacing:.1em; text-transform:uppercase; margin-left:.85rem; vertical-align:middle;
}
.thread__text{ color:var(--mist); max-width:58ch; }
.thread:hover{ padding-left:1.5rem; }
.thread:hover .thread__dot{ opacity:1; transform:scale(1); }
.thread:hover .thread__name{ color:var(--moon); }
@media (min-width:820px){ .thread{ grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); align-items:baseline; } }

/* note */
.note{ display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; }
@media (min-width:900px){ .note{ grid-template-columns:.8fr 1.2fr; } }
.note__frame{
  position:relative; border-radius:var(--r); border:1px solid var(--edge);
  background:linear-gradient(165deg,#16223A,#0B1222); aspect-ratio:4/5; overflow:hidden;
  display:grid; place-items:center;
}
.note__frame img{ width:100%; height:100%; object-fit:cover; }
.note__frame::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 30%, rgba(168,190,240,.18), transparent 62%); pointer-events:none; }
.note__moon{ width:120px; height:120px; border-radius:50%; border:1px solid rgba(168,190,240,.35); box-shadow:0 0 60px 10px rgba(120,150,220,.14) inset; }
.note__h{ margin-top:1.25rem; }
.note__q{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:var(--t-xl); line-height:1.3; padding-left:1.25rem;
  border-left:1px solid var(--lamp); margin-block:clamp(1.5rem,3vw,2rem);
}
.note__text{ color:var(--mist); max-width:54ch; }
.note__text + .note__text{ margin-top:1rem; }

/* follow */
.follow{
  border:1px solid var(--edge); border-radius:calc(var(--r) + 6px);
  background:linear-gradient(165deg, rgba(22,34,58,.9), rgba(11,18,34,.9));
  padding:clamp(2rem,5vw,3.5rem); display:grid; gap:2rem; align-items:center;
  position:relative; overflow:hidden;
}
.follow::before{
  content:""; position:absolute; right:-8%; top:-40%; width:420px; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(168,190,240,.15), transparent 65%); pointer-events:none;
}
@media (min-width:860px){ .follow{ grid-template-columns:1.2fr auto; gap:3rem; } }
.follow__lede{ margin-top:1rem; }
.follow__links{ display:flex; flex-wrap:wrap; gap:.75rem; position:relative; }

/* ---------- 7 · library feed ---------- */
.filters{ display:flex; flex-wrap:wrap; gap:.5rem; }
.filter{
  padding:.5rem 1.05rem; border-radius:100px; border:1px solid var(--edge);
  font-size:var(--t-sm); font-weight:600; color:var(--mist);
  transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
}
.filter:hover{ color:var(--light); border-color:var(--mist); }
.filter[aria-pressed="true"]{ background:var(--moon); border-color:var(--moon); color:#0A1020; }

.feed{ border-top:1px solid var(--edge); }
.feed[aria-busy="true"]{ opacity:.45; transition:opacity .2s var(--ease); }
.entry{
  display:grid; gap:.35rem 1.75rem; width:100%;
  padding-block:clamp(1.3rem,3vw,1.9rem);
  border-bottom:1px solid var(--edge);
  transition:padding-left .45s var(--ease);
}
.entry:hover{ padding-left:1.25rem; }
.entry__kind{ display:flex; align-items:center; gap:.55rem; font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--mist); }
.entry__kind svg{ color:var(--lamp); flex:none; }
.entry__title{ display:block; font-family:var(--display); font-size:1.4rem; font-weight:400; line-height:1.25; transition:color .35s var(--ease); }
.entry:hover .entry__title{ color:var(--moon); }
.entry__note{ display:block; color:var(--mist); font-size:var(--t-sm); margin-top:.35rem; max-width:62ch; }
.entry__meta{ font-size:var(--t-xs); color:var(--mist); letter-spacing:.08em; white-space:nowrap; }
@media (min-width:860px){
  .entry{ grid-template-columns:132px minmax(0,1fr) auto; align-items:baseline; }
  .entry__kind{ padding-top:.35rem; }
}
.feed__more{ display:flex; justify-content:center; margin-top:clamp(2rem,4vw,3rem); }
.feed__empty{ padding:3rem 0; color:var(--mist); text-align:center; }

/* ---------- 8 · lexicon ---------- */
.lex{ display:grid; gap:clamp(1.75rem,4vw,3rem); }
@media (min-width:900px){ .lex{ grid-template-columns:.8fr 1.2fr; align-items:start; } }
.lex__list{ display:flex; flex-wrap:wrap; gap:.5rem; }
@media (min-width:900px){ .lex__list{ display:block; } }
.lex__b{
  padding:.55rem 1rem; border:1px solid var(--edge); border-radius:100px;
  font-size:var(--t-sm); color:var(--mist); font-weight:500;
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.lex__b:hover{ color:var(--light); border-color:var(--mist); }
.lex__b[aria-selected="true"]{ color:var(--night); background:var(--moon); border-color:var(--moon); font-weight:600; }
@media (min-width:900px){
  .lex__b{
    display:block; width:100%; border:0; border-radius:0; border-bottom:1px solid var(--edge);
    padding:.95rem 0; font-family:var(--display); font-size:1.3rem; font-weight:300; color:var(--mist);
    transition:color .35s var(--ease), padding-left .35s var(--ease);
  }
  .lex__b:hover{ color:var(--light); padding-left:.75rem; }
  .lex__b[aria-selected="true"]{ background:none; color:var(--moon); padding-left:.75rem; border-color:rgba(168,190,240,.5); }
}
.lex__panel{
  border:1px solid var(--edge); border-radius:var(--r); background:var(--depth);
  padding:clamp(1.5rem,3.5vw,2.5rem); min-height:260px;
}
.lex__panel[hidden]{ display:none; }
.lex__field{ color:var(--lamp); margin-bottom:1.1rem; }
.lex__term{ font-family:var(--display); font-size:var(--t-xl); font-weight:300; line-height:1.15; }
.lex__def{ color:var(--light); margin-top:1rem; }
.lex__def p + p{ margin-top:1rem; }
.lex__use{ color:var(--mist); font-size:var(--t-sm); margin-top:1rem; padding-top:1rem; border-top:1px solid var(--edge); }
.lex__use b{ color:var(--moon); font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size:var(--t-xs); display:block; margin-bottom:.4rem; }
.lex__use--single{ display:block; margin-top:2.5rem; padding:1.5rem; border:1px solid var(--edge); border-radius:var(--r); }
.lex__link{ margin-top:1.5rem; }
.lex__link a{ display:inline-flex; align-items:center; gap:.5rem; font-size:var(--t-sm); font-weight:600; color:var(--moon); }
.lex__all{ margin-top:clamp(2rem,4vw,3rem); }

.term-grid{ display:grid; gap:clamp(1rem,2vw,1.5rem); grid-template-columns:repeat(auto-fill, minmax(min(100%,280px),1fr)); }
.term-card{
  border:1px solid var(--edge); border-radius:var(--r); background:var(--depth);
  padding:1.5rem; display:block;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.term-card:hover{ border-color:rgba(168,190,240,.45); transform:translateY(-3px); }
.term-card__field{ font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--lamp); font-weight:600; }
.term-card__title{ font-family:var(--display); font-size:1.45rem; font-weight:400; line-height:1.2; margin-top:.6rem; }
.term-card__def{ color:var(--mist); font-size:var(--t-sm); margin-top:.6rem; }

/* ---------- 9 · footer ---------- */
.site-foot{ margin-top:var(--sec); border-top:1px solid var(--edge); padding-top:clamp(3rem,6vw,4.5rem); overflow:hidden; }
.foot-cols{ display:grid; gap:2.5rem; padding-bottom:clamp(3rem,6vw,4.5rem); }
@media (min-width:760px){ .foot-cols{ grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; } }
.foot__blurb{ color:var(--mist); font-size:var(--t-sm); max-width:32ch; margin-top:1rem; }
.foot__h{ font-size:var(--t-xs); letter-spacing:.16em; text-transform:uppercase; font-weight:600; margin-bottom:1.1rem; }
.foot-list li + li{ margin-top:.6rem; }
.foot-list a{ color:var(--mist); font-size:var(--t-sm); transition:color .3s var(--ease); }
.foot-list a:hover{ color:var(--moon); }

.foot-mark{ position:relative; text-align:center; user-select:none; }
.foot-mark__word{ font-family:var(--display); font-weight:200; letter-spacing:-.025em; font-size:clamp(1.75rem,7.5vw,5.5rem); line-height:.95; white-space:nowrap; }
.foot-mark__word em{ font-style:italic; color:var(--moon); opacity:.85; }
.foot-mark__echo{
  transform:scaleY(-1); transform-origin:top; opacity:.14; filter:blur(1.6px); color:var(--moon);
  height:1.4em; overflow:hidden;
  -webkit-mask-image:linear-gradient(to top, #000 0%, transparent 72%);
  mask-image:linear-gradient(to top, #000 0%, transparent 72%);
}
.foot-mark{ padding-block:clamp(1.5rem,3vw,2.5rem) 0; }
.foot-mark__rule{
  position:relative; height:1px; margin-block:.4rem;
  background:linear-gradient(to right, transparent, var(--edge) 22%, rgba(168,190,240,.38) 50%, var(--edge) 78%, transparent);
}
.foot-mark__rule::after{
  content:""; position:absolute; left:50%; top:-2px; width:5px; height:5px;
  border-radius:50%; background:var(--lamp); transform:translateX(-50%);
  box-shadow:0 0 12px 2px rgba(224,169,109,.45);
}
.foot-base{
  display:grid; gap:1rem 2rem; align-items:center;
  margin-top:clamp(1.5rem,3vw,2.5rem);
  padding-block:1.35rem;
  border-top:1px solid var(--edge);
  color:var(--mist); font-size:var(--t-xs); letter-spacing:.02em;
  text-align:center;
}
@media (min-width:760px){
  .foot-base{ grid-template-columns:1fr auto 1fr; text-align:left; }
  .foot-base__end{ justify-self:end; }
}
.foot-base__c{ display:inline-flex; align-items:center; gap:.5rem; justify-content:center; }
.foot-base__c svg{ color:var(--moon); opacity:.55; flex:none; }
.foot-base__note{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:.95rem; color:var(--mist); opacity:.85; letter-spacing:0;
}
.foot-base__note--link{
  position:relative; display:inline-block;
  transition:color .3s var(--ease), opacity .3s var(--ease);
}
.foot-base__note--link::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background:currentColor; opacity:.25;
  transform:scaleX(0); transform-origin:center;
  transition:transform .4s var(--ease), opacity .3s var(--ease);
}
.foot-base__note--link:hover{ color:var(--moon); opacity:1; }
.foot-base__note--link:hover::after{ transform:scaleX(1); opacity:.5; }

.foot-base__end{ display:inline-flex; align-items:center; gap:1.25rem; justify-content:center; }
.foot-base__link{ color:var(--mist); transition:color .3s var(--ease); }
.foot-base__link:hover{ color:var(--moon); }

/* ---------- 10 · single + archive ---------- */
.page-head{ padding-top:clamp(2.5rem,6vw,4.5rem); padding-bottom:clamp(2rem,4vw,3rem); border-bottom:1px solid var(--edge); }
.page-head__title{ font-family:var(--display); font-size:var(--t-2xl); font-weight:300; line-height:1.06; letter-spacing:-.02em; margin-top:1.15rem; }
.page-head__lede{ color:var(--mist); margin-top:1rem; max-width:56ch; }
.page-head__search{ margin-top:1.75rem; max-width:440px; }

.layout{ display:grid; gap:clamp(2.5rem,5vw,4rem); padding-top:clamp(2.5rem,5vw,3.5rem); }
@media (min-width:1000px){
  body.has-sidebar .layout{ grid-template-columns:minmax(0,1fr) 280px; }
}
.layout__main{ min-width:0; }

.single__head{ padding-top:clamp(2.5rem,6vw,4.5rem); max-width:var(--read); }
.single__title{
  font-family:var(--display); font-weight:300; letter-spacing:-.025em; line-height:1.04;
  font-size:clamp(2.1rem,1.3rem + 3.4vw,3.75rem); margin-top:1.15rem;
}
.single__title--term{ font-style:italic; }
.single__standfirst{ color:var(--mist); font-size:var(--t-lg); line-height:1.55; margin-top:1.25rem; }
.single__meta{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-top:1.5rem; font-size:var(--t-sm); color:var(--mist); }
.single__meta a{ color:var(--moon); }
.single__figure{ margin-top:clamp(2rem,4vw,3rem); border-radius:var(--r); overflow:hidden; border:1px solid var(--edge); }
.single__figure figcaption{ padding:.85rem 1rem; font-size:var(--t-sm); color:var(--mist); background:var(--depth); }
.single__video{ margin-top:clamp(2rem,4vw,3rem); }
.ratio{ position:relative; aspect-ratio:16/9; border-radius:var(--r); overflow:hidden; border:1px solid var(--edge); background:#000; }
.ratio iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.single__tags{ margin-top:2rem; font-size:var(--t-sm); color:var(--mist); }
.single__tags a{ color:var(--moon); }
.single__back{ margin-top:2.5rem; }

.source{
  border-left:1px solid var(--lamp); padding:.25rem 0 .25rem 1.25rem;
  margin-bottom:2.5rem; max-width:var(--read);
}
.source__k{ font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--lamp); font-weight:600; margin-bottom:.4rem; }
.source__v{ color:var(--mist); font-size:var(--t-sm); }

.share{ display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; margin-top:3rem; padding-top:1.5rem; border-top:1px solid var(--edge); font-size:var(--t-sm); }
.share__k{ color:var(--mist); font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; font-weight:600; }
.share a, .share__copy{ color:var(--mist); transition:color .3s var(--ease); }
.share a:hover, .share__copy:hover{ color:var(--moon); }

.post-nav{ display:grid; gap:1rem; margin-top:3rem; }
@media (min-width:700px){ .post-nav{ grid-template-columns:1fr 1fr; } }
.post-nav__i{
  border:1px solid var(--edge); border-radius:var(--r); padding:1.25rem 1.5rem;
  transition:border-color .4s var(--ease);
}
.post-nav__i:hover{ border-color:var(--moon); }
.post-nav__i--next{ text-align:right; }
.post-nav__k{ display:block; font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--mist); font-weight:600; }
.post-nav__t{ display:block; font-family:var(--display); font-size:1.2rem; margin-top:.5rem; }

.related{ border-top:1px solid var(--edge); margin-top:var(--sec); }

.pagination{ margin-top:clamp(2.5rem,5vw,3.5rem); }
.pagination .nav-links{ display:flex; flex-wrap:wrap; gap:.5rem; }
.page-numbers{
  min-width:42px; height:42px; padding-inline:.75rem; border:1px solid var(--edge); border-radius:100px;
  display:inline-flex; align-items:center; justify-content:center; font-size:var(--t-sm); color:var(--mist);
  transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
}
.page-numbers:hover{ color:var(--light); border-color:var(--mist); }
.page-numbers.current{ background:var(--moon); border-color:var(--moon); color:var(--night); font-weight:600; }

.notfound{ padding-block:clamp(4rem,10vw,8rem); max-width:var(--read); }
.notfound__title{ font-family:var(--display); font-size:var(--t-2xl); font-weight:300; margin-block:1.15rem 1.25rem; }
.notfound__search{ margin-top:2rem; max-width:440px; }
.notfound__actions{ margin-top:1.75rem; }

.none{ padding-block:clamp(3rem,6vw,5rem); }
.none__title{ font-family:var(--display); font-size:var(--t-xl); font-weight:300; }
.none__text{ color:var(--mist); margin-top:.75rem; max-width:48ch; }
.none__search{ margin-top:1.75rem; max-width:440px; }

.searchform{ display:flex; gap:.5rem; }
.searchform__field{
  flex:1 1 auto; min-width:0; background:var(--depth); color:var(--light);
  border:1px solid var(--edge); border-radius:100px; padding:.8rem 1.25rem; font:inherit; font-size:var(--t-sm);
}
.searchform__field::placeholder{ color:var(--mist); }
.searchform__field:focus{ outline:none; border-color:var(--moon); }
.searchform__go{
  width:46px; height:46px; flex:none; border-radius:50%; background:var(--moon); color:var(--night);
  display:grid; place-items:center; transition:background .3s var(--ease);
}
.searchform__go:hover{ background:#C6D6FA; }

/* ---------- 11 · comments ---------- */
.comments{ margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid var(--edge); max-width:var(--read); }
.comments__title{ font-family:var(--display); font-size:var(--t-xl); font-weight:300; margin-bottom:2rem; }
.comment-list, .comment-list .children{ list-style:none; }
.comment-list .children{ margin-left:1.5rem; padding-left:1.5rem; border-left:1px solid var(--edge); }
.comment-body{ padding-block:1.5rem; border-bottom:1px solid var(--edge); }
.comment-author{ display:flex; align-items:center; gap:.75rem; font-size:var(--t-sm); font-weight:600; }
.comment-author img{ border-radius:50%; }
.comment-metadata{ font-size:var(--t-xs); color:var(--mist); margin-top:.35rem; }
.comment-content{ margin-top:.85rem; color:var(--light); }
.comment-content p + p{ margin-top:1rem; }
.reply{ margin-top:.75rem; font-size:var(--t-sm); }
.reply a{ color:var(--moon); }
.comment-respond{ margin-top:2.5rem; }
.comment-reply-title{ font-family:var(--display); font-size:var(--t-xl); font-weight:300; margin-bottom:1rem; }
.comment-notes, .comment-form label{ font-size:var(--t-sm); color:var(--mist); display:block; margin-bottom:.4rem; }
.comment-form p{ margin-bottom:1.15rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; background:var(--depth); color:var(--light); border:1px solid var(--edge);
  border-radius:var(--r); padding:.85rem 1rem; font:inherit; font-size:var(--t-sm);
}
.comment-form textarea{ resize:vertical; }
.comment-form input:focus, .comment-form textarea:focus{ outline:none; border-color:var(--moon); }
.form-submit input[type="submit"]{
  background:var(--moon); color:var(--night); border:0; border-radius:100px;
  padding:.85rem 1.6rem; font-weight:600; font-size:var(--t-sm); cursor:pointer;
}
.comments__closed{ color:var(--mist); font-size:var(--t-sm); margin-top:1.5rem; }

/* ---------- 12 · widgets ---------- */
.widget-area{ min-width:0; }
.widget + .widget{ margin-top:2.5rem; }
.widget__title{ font-size:var(--t-xs); letter-spacing:.16em; text-transform:uppercase; font-weight:600; margin-bottom:1rem; }
.widget ul li{ padding-block:.45rem; border-bottom:1px solid var(--edge); }
.widget ul li a{ color:var(--mist); font-size:var(--t-sm); transition:color .3s var(--ease); }
.widget ul li a:hover{ color:var(--moon); }
.widget select{
  width:100%; background:var(--depth); color:var(--light);
  border:1px solid var(--edge); border-radius:var(--r); padding:.7rem .9rem; font:inherit; font-size:var(--t-sm);
}
.wp-calendar-table{ width:100%; font-size:var(--t-sm); }

/* ---------- 13 · blocks + prose ---------- */
.prose{ max-width:var(--read); font-size:1.0625rem; line-height:1.75; }
.prose > * + *{ margin-top:1.4rem; }
.prose p{ color:#DCE3F0; }
.prose h2{ font-family:var(--display); font-size:clamp(1.6rem,1.3rem + 1.1vw,2.15rem); font-weight:300; line-height:1.16; letter-spacing:-.015em; margin-top:3rem; }
.prose h3{ font-family:var(--display); font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem); font-weight:400; line-height:1.2; margin-top:2.25rem; }
.prose h4{ font-size:1.05rem; font-weight:700; letter-spacing:.01em; margin-top:2rem; }
.prose a{ color:var(--moon); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.prose a:hover{ text-decoration-color:var(--lamp); }
.prose strong{ color:var(--light); font-weight:700; }
.prose em{ font-style:italic; }
.prose ul, .prose ol{ padding-left:1.35rem; color:#DCE3F0; }
.prose ul{ list-style:disc; }
.prose ol{ list-style:decimal; }
.prose li + li{ margin-top:.5rem; }
.prose li::marker{ color:var(--mist); }
.prose blockquote{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:var(--t-xl); line-height:1.32; color:var(--light);
  border-left:1px solid var(--lamp); padding-left:1.5rem; margin-block:2.5rem;
}
.prose blockquote cite{ display:block; font-family:var(--body); font-style:normal; font-size:var(--t-sm); color:var(--mist); margin-top:1rem; }
.prose hr, .wp-block-separator{
  border:0; height:1px; margin-block:3rem;
  background:linear-gradient(to right, var(--edge), rgba(168,190,240,.45) 45%, transparent);
}
.prose code, .prose kbd{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.9em;
  background:var(--depth); border:1px solid var(--edge); border-radius:5px; padding:.15em .4em;
}
.prose pre{
  background:var(--depth); border:1px solid var(--edge); border-radius:var(--r);
  padding:1.25rem; overflow-x:auto; font-size:var(--t-sm);
}
.prose pre code{ background:none; border:0; padding:0; }
.prose img, .prose figure{ border-radius:var(--r); }
.prose figcaption, .wp-element-caption{ font-size:var(--t-sm); color:var(--mist); margin-top:.75rem; text-align:center; }
.prose table{ width:100%; border-collapse:collapse; font-size:var(--t-sm); }
.prose th, .prose td{ border-bottom:1px solid var(--edge); padding:.75rem .5rem; text-align:left; }
.prose th{ color:var(--light); font-weight:700; }

.alignleft{ float:left; margin:.5rem 2rem 1.5rem 0; max-width:50%; }
.alignright{ float:right; margin:.5rem 0 1.5rem 2rem; max-width:50%; }
.aligncenter{ margin-inline:auto; }
.alignwide{ width:min(100%, calc(var(--read) + 200px)); max-width:none; }
.alignfull{ width:calc(100% + var(--gut) * 2); max-width:none; margin-inline:calc(var(--gut) * -1); }
.wp-caption{ max-width:100%; }
.wp-block-pullquote{ border-block:1px solid var(--edge); padding-block:2rem; text-align:center; }
.wp-block-button__link{ background:var(--moon); color:var(--night); border-radius:100px; padding:.85rem 1.6rem; font-weight:600; }
.wp-block-quote{ border-left:1px solid var(--lamp); padding-left:1.5rem; }
.sticky .entry__title::after{ content:" ★"; color:var(--lamp); }

/* ---------- modal ---------- */
.modal{
  position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:var(--gut);
  background:rgba(6,10,20,.9); backdrop-filter:blur(8px);
  opacity:0; transition:opacity .35s var(--ease);
}
.modal[hidden]{ display:none; }
.modal.is-open{ opacity:1; }
.modal__box{
  width:min(1000px,100%); aspect-ratio:16/9; border-radius:var(--r); overflow:hidden;
  border:1px solid var(--edge); background:#000;
  transform:translateY(12px); transition:transform .4s var(--ease);
}
.modal.is-open .modal__box{ transform:none; }
.modal__box iframe{ width:100%; height:100%; border:0; }
.modal__close{
  position:absolute; top:1.25rem; right:1.25rem; width:44px; height:44px; border-radius:50%;
  border:1px solid var(--edge); background:rgba(16,26,46,.8); display:grid; place-items:center;
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.modal__close:hover{ border-color:var(--moon); transform:rotate(90deg); }

/* ---------- 14 · utilities ---------- */
.reveal{ opacity:0; transform:translateY(18px); }
.reveal.is-in{ opacity:1; transform:none; transition:opacity .8s var(--ease), transform .8s var(--ease); transition-delay:var(--d,0ms); }
body.nav-open{ overflow:hidden; }

@media (max-width:960px){ .nav, .head-cta .btn{ display:none; } .burger{ display:grid; } }
@media (min-width:961px){ .sheet{ display:none; } }

/* ---------- 15 · motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal{ opacity:1; transform:none; }
  .hero__ripple{ display:none; }
}

/* ============================================================
   16 · FACTS
   Cards clip their hook behind an "eclipse" — a gradient fade
   into the card background, so the sentence trails off rather
   than being cut. The curiosity gap is the whole point.
   ============================================================ */
.facts-head{ padding-top:clamp(2.5rem,6vw,4.5rem); }
.facts-head__title{
  font-family:var(--display); font-weight:300; letter-spacing:-.025em; line-height:1.04;
  font-size:clamp(2.1rem,1.3rem + 3.4vw,3.75rem); margin-top:1.15rem; max-width:18ch;
}
.facts-head__lede{ color:var(--mist); font-size:var(--t-lg); line-height:1.6; max-width:52ch; margin-top:1.25rem; }

.facts-bar{
  display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; justify-content:space-between;
  margin-top:clamp(2rem,4vw,2.75rem); padding-bottom:1.5rem;
}
.facts-search{ display:flex; gap:.5rem; flex:1 1 320px; max-width:420px; }
.facts-search input{
  flex:1 1 auto; min-width:0; background:var(--depth); color:var(--light);
  border:1px solid var(--edge); border-radius:100px; padding:.8rem 1.25rem; font:inherit; font-size:var(--t-sm);
}
.facts-search input::placeholder{ color:var(--mist); }
.facts-search input:focus{ outline:none; border-color:var(--moon); }
.facts-search__go{
  width:46px; height:46px; flex:none; border-radius:50%; background:var(--moon); color:var(--night);
  display:grid; place-items:center; transition:background .3s var(--ease);
}
.facts-search__go:hover{ background:#C6D6FA; }
.facts-count{
  font-size:var(--t-xs); letter-spacing:.16em; text-transform:uppercase;
  color:var(--mist); font-weight:600; white-space:nowrap;
}

.facts-topics{
  display:flex; flex-wrap:wrap; gap:.5rem;
  padding-bottom:clamp(2rem,4vw,3rem); border-bottom:1px solid var(--edge);
}
.filter__n{
  font-size:10px; letter-spacing:.08em; opacity:.6; margin-left:.45rem;
  vertical-align:middle; font-variant-numeric:tabular-nums;
}

.facts-grid{
  display:grid; gap:clamp(1rem,2vw,1.5rem);
  grid-template-columns:repeat(auto-fill, minmax(min(100%,300px), 1fr));
  padding-top:clamp(2rem,4vw,3rem);
}
.facts-grid[aria-busy="true"]{ opacity:.45; transition:opacity .2s var(--ease); }

.fact{
  --card: #101A2E;
  position:relative; display:flex; flex-direction:column;
  border:1px solid var(--edge); border-radius:var(--r);
  background:var(--card); padding:1.5rem 1.5rem 1.35rem;
  min-height:230px; overflow:hidden;
  transition:border-color .4s var(--ease), transform .4s var(--ease), background .4s var(--ease);
}
.fact::before{
  content:""; position:absolute; right:-40%; top:-60%;
  width:260px; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(168,190,240,.13), transparent 68%);
  pointer-events:none; opacity:0; transition:opacity .5s var(--ease);
}
.fact:hover{ border-color:rgba(168,190,240,.45); transform:translateY(-3px); }
.fact:hover::before{ opacity:1; }

.fact__topic{
  font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase;
  color:var(--lamp); font-weight:600;
}
.fact--myth .fact__topic{ color:#E58B7B; }

.fact__title{
  font-family:var(--display); font-size:1.3rem; font-weight:400; line-height:1.22;
  margin-top:.7rem; transition:color .35s var(--ease);
}
.fact:hover .fact__title{ color:var(--moon); }

/* the eclipse: clamp the hook, then fade it into the card */
.fact__body{ position:relative; margin-top:.7rem; flex:1 1 auto; }
.fact__hook{
  color:var(--mist); font-size:var(--t-sm); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.fact__eclipse{
  position:absolute; left:0; right:0; bottom:0; height:2.1em;
  background:linear-gradient(to bottom, rgba(16,26,46,0), var(--card) 88%);
}
.fact:hover .fact__hook{ -webkit-line-clamp:5; }

.fact__go{
  display:inline-flex; align-items:center; gap:.45rem; margin-top:1.1rem;
  font-size:var(--t-xs); letter-spacing:.1em; text-transform:uppercase;
  font-weight:600; color:var(--moon);
  opacity:.7; transition:opacity .35s var(--ease), gap .35s var(--ease);
}
.fact:hover .fact__go{ opacity:1; gap:.7rem; }

/* a fact read on its own page */
.single .source--fact{ background:var(--depth); border:1px solid var(--edge); border-left:2px solid var(--lamp); border-radius:var(--r); padding:1.25rem 1.5rem; }

@media (prefers-reduced-motion:reduce){
  .fact:hover{ transform:none; }
  .fact:hover .fact__hook{ -webkit-line-clamp:3; }
}

/* ============================================================
   17 · WORTH KNOWING
   The evidence badge is the point: four bars, filled to the
   grade. Debunked entries get zero bars and a warm-red accent,
   so "this does not work" reads as clearly as "this does".
   ============================================================ */
.worth-head{ padding-top:clamp(2.5rem,6vw,4.5rem); }
.worth-head__title{
  font-family:var(--display); font-weight:300; letter-spacing:-.025em; line-height:1.04;
  font-size:clamp(2.1rem,1.3rem + 3.4vw,3.75rem); margin-top:1.15rem; max-width:16ch;
}
.worth-head__title em{ font-style:italic; color:var(--moon); }
.worth-head__lede{ margin-top:1.25rem; max-width:58ch; }

/* the evidence badge */
.ev{ display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap; }
.ev__bars{ display:inline-flex; gap:2px; }
.ev__bar{
  width:4px; height:11px; border-radius:1px;
  background:rgba(147,162,192,.22);
}
.ev__bar.is-on{ background:var(--moon); }
.ev__label{
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--mist);
}
.ev--strong .ev__bar.is-on{ background:#8FD4B4; }
.ev--strong .ev__label{ color:#8FD4B4; }
.ev--moderate .ev__bar.is-on{ background:var(--moon); }
.ev--moderate .ev__label{ color:var(--moon); }
.ev--contested .ev__bar.is-on{ background:var(--lamp); }
.ev--contested .ev__label{ color:var(--lamp); }
.ev--thin .ev__bar.is-on{ background:#B9A6C9; }
.ev--thin .ev__label{ color:#B9A6C9; }
.ev--debunked .ev__label{ color:#E58B7B; }
.ev--debunked .ev__bar{ background:rgba(229,139,123,.18); }
.ev__note{ display:block; color:var(--mist); font-size:var(--t-sm); margin-top:.6rem; max-width:42ch; }

.ev-key{
  display:grid; gap:1rem 2rem; margin-top:clamp(2rem,4vw,2.75rem);
  padding:1.5rem 0; border-top:1px solid var(--edge); border-bottom:1px solid var(--edge);
}
@media (min-width:760px){ .ev-key{ grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); } }
.ev-key__note{ display:block; color:var(--mist); font-size:var(--t-xs); line-height:1.55; margin-top:.45rem; }

.worth-filters{ display:grid; gap:1rem; margin-top:clamp(1.75rem,3.5vw,2.5rem); }
.filters--ev{ padding-top:.25rem; }
.filter--sm{ padding:.4rem .85rem; font-size:var(--t-xs); letter-spacing:.06em; }
.filter--sm[aria-pressed="true"]{ background:var(--lamp); border-color:var(--lamp); color:var(--night); }

.worth-grid{
  display:grid; gap:clamp(1rem,2vw,1.5rem);
  grid-template-columns:repeat(auto-fill, minmax(min(100%,320px), 1fr));
  padding-top:clamp(2rem,4vw,3rem);
}
.worth-grid[aria-busy="true"]{ opacity:.45; transition:opacity .2s var(--ease); }

.worth{
  --card:#101A2E;
  position:relative; display:flex; flex-direction:column;
  border:1px solid var(--edge); border-radius:var(--r);
  background:var(--card); padding:1.4rem 1.5rem 1.25rem; min-height:250px; overflow:hidden;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.worth::after{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:var(--moon); opacity:.5; transition:opacity .4s var(--ease);
}
.worth--strong::after{ background:#8FD4B4; }
.worth--contested::after{ background:var(--lamp); }
.worth--thin::after{ background:#B9A6C9; }
.worth--debunked::after{ background:#E58B7B; }
.worth:hover{ border-color:rgba(168,190,240,.45); transform:translateY(-3px); }
.worth:hover::after{ opacity:1; }

.worth__top{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.worth__area{
  font-size:var(--t-xs); letter-spacing:.14em; text-transform:uppercase;
  color:var(--mist); font-weight:600;
}
.worth__title{
  font-family:var(--display); font-size:1.32rem; font-weight:400; line-height:1.2;
  margin-top:.85rem; transition:color .35s var(--ease);
}
.worth:hover .worth__title{ color:var(--moon); }

.worth__body{ position:relative; display:block; margin-top:.65rem; flex:1 1 auto; }
.worth__hook{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  color:var(--mist); font-size:var(--t-sm); line-height:1.6;
}
.worth__eclipse{
  position:absolute; left:0; right:0; bottom:0; height:2.1em;
  background:linear-gradient(to bottom, rgba(16,26,46,0), var(--card) 88%);
}
.worth:hover .worth__hook{ -webkit-line-clamp:5; }

.worth__foot{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  margin-top:1.1rem; padding-top:.9rem; border-top:1px solid var(--edge);
}
.worth__effort{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:var(--t-xs); color:var(--mist);
}
.worth__go{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  color:var(--moon); opacity:.7; transition:opacity .35s var(--ease), gap .35s var(--ease);
}
.worth:hover .worth__go{ opacity:1; gap:.65rem; }

/* single practice */
.practice__head{ padding-top:clamp(2.5rem,6vw,4.5rem); max-width:var(--read); }
.practice__head .eyebrow a{ color:var(--mist); }
.practice__head .eyebrow a:hover{ color:var(--moon); }
.practice__title{
  font-family:var(--display); font-weight:300; letter-spacing:-.025em; line-height:1.04;
  font-size:clamp(2.1rem,1.3rem + 3.4vw,3.6rem); margin-top:1.15rem;
}
.practice__hook{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:var(--t-lg); line-height:1.45; color:var(--moon); margin-top:1.35rem;
}
.practice__meta{
  display:flex; flex-wrap:wrap; gap:1.5rem 3rem; align-items:flex-start;
  margin-top:clamp(1.75rem,3.5vw,2.5rem);
}
.practice__cost-k{
  display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--mist); margin-bottom:.4rem;
}
.practice__cost-v{ font-family:var(--display); font-size:1.15rem; font-weight:300; }
.practice__line{
  height:1px; margin-top:clamp(2rem,4vw,3rem);
  background:linear-gradient(to right, var(--edge), rgba(168,190,240,.5) 25%, var(--edge) 70%, transparent);
}

.practice__blocks{ display:grid; gap:0; }
.pblock{
  display:grid; gap:.75rem 3rem;
  padding-block:clamp(1.75rem,3.5vw,2.5rem);
  border-bottom:1px solid var(--edge);
}
@media (min-width:820px){ .pblock{ grid-template-columns:210px minmax(0,1fr); } }
.pblock__side{ position:relative; }
.pblock__n{
  font-family:var(--display); font-size:.95rem; font-weight:300;
  color:var(--mist); opacity:.55; display:block; margin-bottom:.35rem;
}
.pblock__head{
  font-family:var(--display); font-size:1.35rem; font-weight:300; line-height:1.15; color:var(--light);
}
.pblock__body{ max-width:62ch; }
.pblock__body p{ color:#DCE3F0; line-height:1.72; }
.pblock--do .pblock__head{ color:var(--moon); }
.pblock--fail .pblock__head{ color:var(--lamp); }
.pblock--fail .pblock__body{ position:relative; }

.practice__source{
  margin-top:2.5rem; padding:1.5rem; border:1px solid var(--edge);
  border-left:2px solid var(--lamp); border-radius:var(--r); background:var(--depth);
  max-width:var(--read);
}

/* ============================================================
   18 · THREAD ARCHIVES + REBUILT FOOTER
   ============================================================ */
.thread-hero{
  position:relative; overflow:hidden;
  padding-top:clamp(2.5rem,6vw,4.5rem); padding-bottom:clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--edge);
}
.thread-hero__glow{
  position:absolute; left:50%; top:-40%; width:min(900px,120vw); aspect-ratio:1;
  transform:translateX(-50%); pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(120,150,220,.18), transparent 62%);
}
.thread-hero .wrap{ position:relative; }
.thread-hero__title{
  font-family:var(--display); font-weight:200; letter-spacing:-.03em; line-height:1.02;
  font-size:clamp(2.4rem,1.4rem + 4.6vw,5rem); margin-top:1.15rem; max-width:16ch;
}
.thread-hero__title em{ font-style:italic; font-weight:300; color:var(--moon); }
.thread-hero__line{
  height:1px; margin-top:clamp(1.5rem,3vw,2.25rem); position:relative;
  background:linear-gradient(to right, var(--edge), rgba(168,190,240,.5) 20%, var(--edge) 70%, transparent);
}
.thread-hero__line::after{
  content:""; position:absolute; left:0; top:-2px; width:5px; height:5px; border-radius:50%;
  background:var(--lamp); box-shadow:0 0 14px 2px rgba(224,169,109,.5);
}
.thread-hero__foot{
  display:flex; flex-wrap:wrap; gap:1.25rem 3rem; align-items:baseline;
  justify-content:space-between; margin-top:1.75rem;
}
.thread-hero__name{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:1.5rem; color:var(--mist); opacity:.75; white-space:nowrap;
}
.thread-tally{ margin-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--edge); }
.thread-filters{ padding-top:clamp(2.5rem,5vw,3.5rem); }
.thread-page .related{ border-top:1px solid var(--edge); margin-top:var(--sec); }
.thread-page .related .sec-head{ padding-top:0; }

/* footer */
.foot-cols{ display:grid; gap:2.5rem; padding-bottom:clamp(3rem,6vw,4.5rem); }
@media (min-width:680px){ .foot-cols{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1000px){ .foot-cols{ grid-template-columns:1.7fr 1fr 1fr 1fr; gap:3rem; } }
@media (min-width:680px) and (max-width:999px){ .foot-brand{ grid-column:1 / -1; } }

.foot-social{ display:flex; gap:.6rem; margin-top:1.35rem; }
.foot-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--edge);
  display:grid; place-items:center; color:var(--mist);
  transition:color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.foot-social a:hover{ color:var(--moon); border-color:var(--moon); transform:translateY(-2px); }

.foot-list a{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  color:var(--mist); font-size:var(--t-sm); transition:color .3s var(--ease);
}
.foot-list a:hover{ color:var(--moon); }
.foot-list__n{
  font-size:10px; letter-spacing:.08em; color:var(--mist); opacity:.5;
  font-variant-numeric:tabular-nums; flex:none;
}
.foot-list a:hover .foot-list__n{ opacity:.8; }

.foot-base{ align-items:center; }
.foot-base__note{ opacity:.8; }
.foot-top{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem 1rem .5rem .95rem; border-radius:100px;
  border:1px solid var(--edge); color:var(--mist);
  transition:color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.foot-top:hover{ color:var(--moon); border-color:var(--moon); transform:translateY(-2px); }
.foot-top svg{ transition:transform .3s var(--ease); }
.foot-top:hover svg{ transform:translateY(-2px); }
