/* =========================================================================
   Brotherhood of Being : site stylesheet
   Brand source of truth: /home/claude/bob/brand (BRAND.md, tokens.json)
   Modes set the ground for each section:
     arrive = night + firelight glow   teach = bone     truth = char
     circle = pine                     anchor = night + glow (final CTA)
   Contrast rules: ember is never small text. Small accent text is flame on
   dark and ember-deep on bone. Primary button = flame fill + night text.
   ========================================================================= */

/* ---------- Fonts (self-hosted, SIL OFL) ---------- */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/Fraunces-VF.woff2") format("woff2");}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url("/assets/fonts/Fraunces-Italic-VF.woff2") format("woff2");}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url("/assets/fonts/SourceSans3-VF.woff2") format("woff2");}

/* ---------- Tokens ---------- */
:root{
  --night:#0E2419; --pine:#173A2A; --moss:#4E6A4B; --sage:#A9B8A0;
  --bone:#F3EEE3; --parchment:#E6DDCB;
  --ember:#D9622B; --ember-deep:#A8471A; --flame:#F2A43A;
  --char:#121311; --ash:#2A2B26;
  --dusk:#1C2333; --moon:#AFC0DC; --hearth:#3B1D12; --earth:#2F2B1E; --straw:#D8C07E;
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --body:"Source Sans 3", "Segoe UI", Helvetica, Arial, sans-serif;
  --radius:14px; --radius-sm:8px;
  --wrap:1200px; --col:720px;
  --gutter:clamp(20px, 5vw, 40px);
  --section:clamp(72px, 11vw, 136px);
  --glow:radial-gradient(120% 70% at 50% 115%, rgba(242,164,58,.30) 0%, rgba(217,98,43,.14) 35%, rgba(0,0,0,0) 70%);
  --grain: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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Modes ---------- */
.mode-arrive  {--bg:var(--night);--fg:var(--bone);--fg-2:var(--sage);--accent:var(--flame);--accent-strong:var(--ember);--line:rgba(243,238,227,.14);--focus:var(--flame);}
.mode-teach   {--bg:var(--bone); --fg:var(--ash); --fg-2:var(--moss);--accent:var(--ember-deep);--accent-strong:var(--ember);--line:rgba(42,43,38,.14);--focus:var(--ember-deep);}
.mode-truth   {--bg:var(--char); --fg:var(--bone);--fg-2:var(--sage);--accent:var(--flame);--accent-strong:var(--ember);--line:rgba(243,238,227,.14);--focus:var(--flame);}
.mode-circle  {--bg:var(--pine); --fg:var(--bone);--fg-2:var(--sage);--accent:var(--flame);--accent-strong:var(--ember);--line:rgba(243,238,227,.16);--focus:var(--flame);}
.mode-anchor  {--bg:var(--night);--fg:var(--bone);--fg-2:var(--sage);--accent:var(--flame);--accent-strong:var(--ember);--line:rgba(243,238,227,.14);--focus:var(--flame);}
[class*="mode-"]{background-color:var(--bg);color:var(--fg);}
.mode-arrive,.mode-anchor{background-image:var(--glow),var(--grain);}
.mode-truth,.mode-circle{background-image:var(--grain);}
.mode-arrive.no-glow{background-image:var(--grain);}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px;}
body{margin:0;background:var(--night);color:var(--bone);font-family:var(--body);font-size:clamp(1.0625rem,.35vw + 1rem,1.1875rem);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
img,svg,video,iframe{max-width:100%;display:block;}
a{color:inherit;}
p{margin:0 0 1em;}
h1,h2,h3,h4{font-family:var(--display);font-weight:650;line-height:1.06;letter-spacing:-.012em;margin:0 0 .5em;font-optical-sizing:auto;text-wrap:balance;}
h1{font-size:clamp(2.5rem,7vw,5rem);line-height:1.02;}
h2{font-size:clamp(2.125rem,5vw,3.5rem);}
h3{font-size:clamp(1.375rem,2vw,1.625rem);line-height:1.15;}
h1 em,h2 em{font-style:italic;font-weight:560;color:var(--accent-em, inherit);}
[class*="mode-"] h1 em,[class*="mode-"] h2 em{--accent-em:var(--accent);}
.mode-teach h2 em{--accent-em:var(--ember-deep);}
ul,ol{margin:0;padding:0;}
strong{font-weight:700;}
::selection{background:var(--flame);color:var(--night);}

/* Focus: visible on every ground */
:focus-visible{outline:3px solid var(--focus,var(--flame));outline-offset:3px;border-radius:4px;}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--flame);color:var(--night);padding:.7em 1.1em;border-radius:8px;font-weight:700;text-decoration:none;}
.skip:focus{top:12px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}
.narrow{max-width:calc(var(--col) + 2 * var(--gutter));}
.section{padding-block:var(--section);position:relative;}
.center{text-align:center;}
.center .rule{margin-inline:auto;}
.lead{font-size:clamp(1.1875rem,.6vw + 1.05rem,1.375rem);line-height:1.55;color:var(--fg);max-width:40em;}
.center .lead{margin-inline:auto;}
.muted{color:var(--fg-2);}
.small{font-size:.9375rem;line-height:1.55;}
.stack>*+*{margin-top:1rem;}

/* ---------- Brand devices ---------- */
.eyebrow{font-family:var(--body);font-weight:700;font-size:.8125rem;line-height:1.3;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 1.1rem;display:block;}
.rule{display:block;width:56px;height:5px;border-radius:3px;background:var(--ember);margin:0 0 1.75rem;border:0;}
.section-head{margin-bottom:clamp(2.5rem,5vw,4rem);}
.section-head .lead{margin-top:.25rem;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:.85em 1.6em;border-radius:999px;font-family:var(--body);font-weight:700;font-size:1.0625rem;line-height:1.15;letter-spacing:.01em;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .2s ease,box-shadow .25s ease,background-color .2s ease,color .2s ease,border-color .2s ease;}
.btn-primary{background:var(--flame);color:var(--night);}
.btn-primary:hover{background:#F6B55A;box-shadow:0 10px 30px -10px rgba(242,164,58,.65);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--fg);border-color:currentColor;}
.btn-ghost:hover{background:rgba(243,238,227,.08);transform:translateY(-1px);}
.mode-teach .btn-ghost{color:var(--night);}
.mode-teach .btn-ghost:hover{background:rgba(14,36,25,.06);}
.btn-row{display:flex;flex-wrap:wrap;gap:.875rem;align-items:center;}
.center .btn-row{justify-content:center;}
.btn .arrow{transition:transform .2s ease;}
.btn:hover .arrow{transform:translateX(3px);}
.text-link{color:var(--accent);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.22em;}
.text-link:hover{text-decoration-thickness:2.5px;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(14,36,25,.88);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(243,238,227,.08);--focus:var(--flame);color:var(--bone);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;}
.brand{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;}
.brand img{height:36px;width:auto;}
.nav{display:flex;align-items:center;gap:.25rem;}
.nav-links{display:none;list-style:none;gap:.25rem;}
.nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;font-weight:600;font-size:1rem;text-decoration:none;color:var(--bone);border-radius:8px;}
.nav-links a:hover{color:var(--flame);}
.nav .btn{min-height:44px;padding:.55em 1.15em;font-size:1rem;}
.nav .btn .short{display:inline;}.nav .btn .long{display:none;}
@media (min-width:560px){.nav .btn .short{display:none;}.nav .btn .long{display:inline;}}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:.25rem;background:transparent;border:1px solid rgba(243,238,227,.22);border-radius:10px;color:var(--bone);cursor:pointer;}
.menu-toggle svg{width:22px;height:22px;}
.mobile-menu{border-top:1px solid rgba(243,238,227,.08);}
.mobile-menu ul{list-style:none;padding:.5rem var(--gutter) 1.25rem;}
.mobile-menu a{display:flex;align-items:center;min-height:48px;font-weight:600;font-size:1.125rem;text-decoration:none;color:var(--bone);border-bottom:1px solid rgba(243,238,227,.08);}
.mobile-menu a:hover{color:var(--flame);}
@media (max-width:379px){.brand img{height:30px;}.nav .btn{padding:.55em .9em;}}
@media (min-width:980px){
  .nav-links{display:flex;}
  .menu-toggle,.mobile-menu{display:none !important;}
  .brand img{height:40px;}
}

/* ---------- Hero (ARRIVE) ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(72px,12vw,150px) clamp(96px,14vw,180px);text-align:center;isolation:isolate;}
.hero .wrap{position:relative;z-index:2;}
.hero-mark{width:clamp(88px,12vw,120px);height:auto;margin:0 auto 1.75rem;overflow:visible;}
.hero h1{max-width:15ch;margin-inline:auto;}
.hero .promise{font-family:var(--display);font-style:italic;font-weight:450;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.3;color:var(--flame);margin:.2rem auto 2.25rem;}
.hero .btn-row{justify-content:center;}
.hero-meta{margin:2rem auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.25rem;color:var(--sage);font-size:.9875rem;font-weight:600;list-style:none;}
.hero-meta li{display:inline-flex;align-items:center;gap:.5rem;}
.hero-meta li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ember);margin-right:.75rem;}
@media (max-width:560px){.hero-meta{flex-direction:column;align-items:center;gap:.35rem;}.hero-meta li+li::before{display:none;}}
.hero-ring{position:absolute;left:50%;top:clamp(48px,6vw,88px);width:min(1400px,190vw);transform:translateX(-50%);z-index:0;pointer-events:none;}
.embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.embers span{position:absolute;bottom:-12px;width:4px;height:4px;border-radius:50%;background:var(--flame);box-shadow:0 0 8px 2px rgba(242,164,58,.55);opacity:0;animation:rise 9s linear infinite;}
.embers span:nth-child(1){left:44%;animation-delay:0s;animation-duration:9s;}
.embers span:nth-child(2){left:52%;animation-delay:1.6s;animation-duration:11s;width:3px;height:3px;}
.embers span:nth-child(3){left:48%;animation-delay:3.1s;animation-duration:8s;}
.embers span:nth-child(4){left:56%;animation-delay:4.4s;animation-duration:12s;width:3px;height:3px;}
.embers span:nth-child(5){left:40%;animation-delay:5.8s;animation-duration:10s;width:2px;height:2px;}
.embers span:nth-child(6){left:60%;animation-delay:7.2s;animation-duration:9.5s;width:2px;height:2px;}
.embers span:nth-child(7){left:50%;animation-delay:2.4s;animation-duration:13s;width:3px;height:3px;}
.embers span:nth-child(8){left:46%;animation-delay:6.5s;animation-duration:11.5s;width:2px;height:2px;}
@keyframes rise{
  0%{transform:translate(0,0) scale(1);opacity:0;}
  10%{opacity:.9;}
  60%{opacity:.5;}
  100%{transform:translate(var(--drift,24px),-70vh) scale(.4);opacity:0;}
}
.embers span:nth-child(even){--drift:-30px;}
.flame-inner{transform-origin:50% 100%;transform-box:fill-box;animation:flicker 3.2s ease-in-out infinite;}
@keyframes flicker{0%,100%{transform:scaleY(1) scaleX(1);}35%{transform:scaleY(1.06) scaleX(.97);}65%{transform:scaleY(.96) scaleX(1.02);}}

/* ---------- Pillars (TEACH) ---------- */
.pillars{display:grid;gap:1.25rem;list-style:none;counter-reset:pillar;}
.pillar{background:var(--parchment);border-radius:var(--radius);padding:2rem 1.75rem 2rem;position:relative;}
.pillar .num{font-family:var(--display);font-weight:700;font-size:3rem;line-height:1;color:var(--ember-deep);display:block;margin-bottom:1.25rem;letter-spacing:-.02em;}
.pillar h3{color:var(--night);margin-bottom:.6rem;}
.pillar p{margin:0;color:var(--ash);}
@media (min-width:820px){.pillars{grid-template-columns:repeat(3,1fr);gap:1.5rem;}.pillar{padding:2.5rem 2.25rem;}}

/* ---------- Truth band (TRUTH) ---------- */
.truth-band{padding-block:clamp(80px,12vw,150px);}
.truth-band blockquote{margin:0 auto;max-width:22ch;font-family:var(--display);font-weight:620;font-size:clamp(2.25rem,6.2vw,4.75rem);line-height:1.05;letter-spacing:-.018em;text-align:center;text-wrap:balance;}
.truth-band blockquote em{color:var(--flame);font-weight:500;}
.truth-band .rule{margin:0 auto 2.25rem;}

/* ---------- Who it's for (CIRCLE) ---------- */
.split{display:grid;gap:clamp(2.5rem,6vw,5rem);align-items:start;}
@media (min-width:900px){.split{grid-template-columns:1.05fr 1fr;}}
.checks{list-style:none;display:grid;gap:1rem;}
.checks li{position:relative;padding:1.15rem 1.25rem 1.15rem 3.25rem;background:rgba(243,238,227,.05);border:1px solid var(--line);border-radius:var(--radius);}
.checks li::before{content:"";position:absolute;left:1.25rem;top:1.5rem;width:12px;height:12px;border-radius:50%;background:var(--flame);box-shadow:0 0 12px 2px rgba(242,164,58,.45);}
.not-card{margin-top:2rem;padding:1.5rem 1.5rem;border-left:5px solid var(--ember);background:rgba(0,0,0,.18);border-radius:0 var(--radius) var(--radius) 0;}
.not-card p{margin:0;}
.not-card strong{color:var(--flame);}

/* ---------- Circle flow (TEACH) ---------- */
.flow{list-style:none;display:grid;gap:1rem;counter-reset:step;}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;background:#FBF8F1;border:1px solid rgba(42,43,38,.1);border-radius:var(--radius);padding:1.5rem 1.35rem;}
.chip{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;position:relative;flex:none;}
.chip svg{width:26px;height:26px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.chip-arrive{background:var(--night);background-image:radial-gradient(90% 70% at 50% 120%,rgba(242,164,58,.55),rgba(0,0,0,0) 70%);} .chip-arrive svg{stroke:var(--flame);}
.chip-practice{background:var(--earth);} .chip-practice svg{stroke:var(--straw);}
.chip-connect{background:var(--hearth);} .chip-connect svg{stroke:var(--flame);}
.chip-teach{background:var(--bone);box-shadow:inset 0 0 0 2px var(--moss);} .chip-teach svg{stroke:var(--ember-deep);}
.chip-inward{background:var(--dusk);} .chip-inward svg{stroke:var(--moon);color:var(--moon);}
.chip-anchor{background:var(--night);background-image:radial-gradient(90% 70% at 50% 120%,rgba(242,164,58,.55),rgba(0,0,0,0) 70%);} .chip-anchor svg{stroke:var(--flame);}
.step-label{display:block;font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ember-deep);margin:.1rem 0 .3rem;}
.step h3{font-size:1.3rem;color:var(--night);margin:0 0 .35rem;}
.step p{margin:0;color:var(--ash);font-size:1.03rem;}
@media (min-width:720px){.flow{grid-template-columns:repeat(2,1fr);gap:1.25rem;}}
@media (min-width:1080px){.flow{grid-template-columns:repeat(3,1fr);}.step{grid-template-columns:1fr;padding:1.9rem 1.75rem;}.chip{margin-bottom:.35rem;}}
.after-note{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-radius:var(--radius);background:var(--parchment);}
.after-note p{margin:0;max-width:44ch;color:var(--ash);}

/* ---------- Next circle (ARRIVE) ---------- */
.next-card{position:relative;max-width:880px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem);border-radius:22px;background:linear-gradient(180deg,rgba(23,58,42,.9),rgba(14,36,25,.75));border:1px solid rgba(243,238,227,.14);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);text-align:center;}
.next-card::before{content:"";position:absolute;inset:-1px;border-radius:22px;padding:1px;background:linear-gradient(180deg,rgba(242,164,58,.55),rgba(217,98,43,0) 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.next-date{font-family:var(--display);font-weight:650;font-size:clamp(2.25rem,6vw,4rem);line-height:1.02;letter-spacing:-.015em;margin:.25rem 0 .9rem;}
.next-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .75rem;list-style:none;margin:0 0 1.25rem;}
.next-meta li{padding:.4rem .9rem;border-radius:999px;border:1px solid rgba(243,238,227,.2);font-weight:600;font-size:.975rem;color:var(--bone);}
.next-leader{color:var(--sage);margin:0 0 .35rem;}
.next-leader strong{color:var(--bone);}
.next-topic{font-family:var(--display);font-style:italic;font-size:1.25rem;color:var(--flame);margin:0 0 .5rem;}
.next-local{color:var(--sage);font-size:.95rem;margin:0 0 1.75rem;min-height:1.5em;}
.next-card .btn-row{justify-content:center;}
.next-note{margin:1.5rem auto 0;color:var(--sage);font-size:.95rem;max-width:46ch;}
.upcoming{margin:2.5rem auto 0;max-width:880px;}
.upcoming h3{font-family:var(--body);font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);text-align:center;margin-bottom:1rem;}
.upcoming ul{list-style:none;display:grid;gap:.75rem;}
.upcoming li{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid rgba(243,238,227,.12);border-radius:12px;background:rgba(0,0,0,.14);}
.upcoming li span:last-child{color:var(--sage);text-align:right;}
@media (min-width:760px){.upcoming ul{grid-template-columns:repeat(3,1fr);}.upcoming li{flex-direction:column;text-align:center;}.upcoming li span:last-child{text-align:center;}}

/* ---------- Video (TRUTH) ---------- */
.video-grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center;}
@media (min-width:960px){.video-grid{grid-template-columns:.85fr 1.15fr;}}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--night);box-shadow:0 30px 70px -30px rgba(0,0,0,.8);border:1px solid rgba(243,238,227,.1);max-width:100%;}
.video .yt{position:absolute;inset:0;cursor:pointer;display:grid;place-items:center;text-decoration:none;color:var(--bone);}
.video .yt:focus-visible{outline:3px solid var(--flame);outline-offset:-6px;border-radius:var(--radius);}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02);}
.video .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,36,25,.05) 30%,rgba(14,36,25,.75)),radial-gradient(80% 60% at 50% 120%,rgba(217,98,43,.35),rgba(0,0,0,0) 70%);}
.video .play{position:relative;width:84px;height:84px;border-radius:50%;background:var(--flame);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(242,164,58,.18),0 20px 40px -10px rgba(0,0,0,.6);transition:transform .2s ease;}
.video .yt:hover .play{transform:scale(1.06);}
.video .play svg{width:30px;height:30px;margin-left:5px;fill:var(--night);}
.video .caption{position:absolute;left:1.25rem;right:1.25rem;bottom:1rem;color:var(--bone);font-weight:600;font-size:.95rem;text-shadow:0 1px 8px rgba(0,0,0,.6);text-align:left;}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- Testimonials (TEACH) ---------- */
.quotes{display:grid;gap:1.25rem;list-style:none;}
.quotes>li{display:flex;}
.quotes .quote{flex:1;}
@media (min-width:860px){.quotes{grid-template-columns:1.25fr 1fr 1fr;}}
.quote{margin:0;background:var(--parchment);border-radius:var(--radius);padding:2rem 1.75rem 1.75rem;display:flex;flex-direction:column;position:relative;}
.quote::before{content:"\201C";font-family:var(--display);font-weight:700;font-size:4.5rem;line-height:.8;color:var(--ember);display:block;margin-bottom:.25rem;}
.quote blockquote{margin:0 0 1.5rem;font-family:var(--display);font-style:italic;font-weight:420;font-size:clamp(1.2rem,1.4vw,1.35rem);line-height:1.4;color:var(--night);flex:1;}
.quote blockquote p{margin:0;}
.quote figcaption{font-weight:700;color:var(--ash);border-top:1px solid rgba(42,43,38,.15);padding-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:baseline;}
.quote figcaption span{font-weight:400;color:var(--ash);font-size:.9375rem;}
.quote figcaption a{color:var(--night);font-weight:700;font-size:.9375rem;text-underline-offset:.2em;}
.share-row{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:center;text-align:center;}
.share-row p{margin:0;color:var(--ash);}

/* ---------- Leaders (CIRCLE) ---------- */
.leaders{list-style:none;display:grid;gap:1.25rem;}
@media (min-width:640px){.leaders{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1100px){.leaders{grid-template-columns:repeat(4,1fr);}}
.leader{background:rgba(14,36,25,.45);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.5rem 1.75rem;display:flex;flex-direction:column;align-items:flex-start;}
.avatar{position:relative;width:104px;height:104px;margin-bottom:1.35rem;display:grid;place-items:center;}
.avatar::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 104'%3E%3Cpath d='M68.4,6.9 A48,48 0 1,1 35.6,6.9' fill='none' stroke='%23D9622B' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='52' cy='6' r='3.2' fill='%23F2A43A'/%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:2;pointer-events:none;}
.avatar::after{content:"";position:absolute;inset:9px;border-radius:50%;background:radial-gradient(80% 70% at 50% 110%,rgba(242,164,58,.28),rgba(14,36,25,0) 70%),var(--night);}
.avatar .initials{z-index:1;font-family:var(--display);font-weight:600;font-size:2rem;letter-spacing:.02em;color:var(--bone);position:relative;}
/* PHOTO SWAP: put <img src="/assets/img/leaders/NAME.webp" alt=""> inside .avatar and it covers the initials. */
.avatar img{position:absolute;inset:9px;width:calc(100% - 18px);height:calc(100% - 18px);border-radius:50%;object-fit:cover;z-index:1;}
.leader h3{margin:0 0 .25rem;font-size:1.45rem;}
.leader .rotation{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--flame);margin:0 0 .9rem;}
.leader p.bio{color:var(--bone);opacity:.92;font-size:1.02rem;margin:0 0 1.25rem;flex:1;}
.leader a{color:var(--flame);font-weight:700;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1.5px;overflow-wrap:anywhere;}
.leader a:hover{text-decoration-thickness:2.5px;}

/* ---------- Agreements (ARRIVE, no glow) ---------- */
.agreements{list-style:none;display:grid;gap:1.25rem;counter-reset:ag;}
@media (min-width:760px){.agreements{grid-template-columns:repeat(2,1fr);}}
.agreement{padding:1.9rem 1.75rem;border-radius:var(--radius);border:1px solid var(--line);background:rgba(243,238,227,.035);counter-increment:ag;position:relative;}
.agreement::before{content:counter(ag);position:absolute;top:1.5rem;right:1.6rem;font-family:var(--display);font-weight:700;font-size:2.25rem;line-height:1;color:var(--ember);opacity:.95;}
.agreement h3{margin:0 0 .5rem;padding-right:2.5rem;}
.agreement p{margin:0;color:var(--sage);}
.also{margin-top:1.75rem;padding:1.5rem 1.75rem;border-radius:var(--radius);background:rgba(0,0,0,.2);}
.also h3{font-family:var(--body);font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--flame);margin:0 0 .85rem;}
.also ul{list-style:none;display:grid;gap:.5rem 1.5rem;}
@media (min-width:760px){.also ul{grid-template-columns:repeat(2,1fr);}}
.also li{padding-left:1.25rem;position:relative;color:var(--bone);}
.also li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--ember);}
.fine{margin-top:1.5rem;color:var(--sage);font-size:.95rem;}

/* ---------- FAQ (TEACH) ---------- */
.faq{border-top:1px solid rgba(42,43,38,.16);}
.faq details{border-bottom:1px solid rgba(42,43,38,.16);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem .25rem;font-family:var(--display);font-weight:600;font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.25;color:var(--night);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--moss);position:relative;transition:transform .25s ease,background-color .2s;}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--night);transform:translate(-50%,-50%);}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s ease;}
.faq details[open] summary .pm{background:var(--parchment);}
.faq details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0deg);}
.faq summary:hover{color:var(--ember-deep);}
.faq .answer{padding:0 .25rem 1.5rem;color:var(--ash);max-width:62ch;}
.faq .answer p:last-child{margin-bottom:0;}
.faq .answer a{color:var(--ember-deep);font-weight:700;text-underline-offset:.2em;}

/* ---------- Next step cards (CIRCLE) ---------- */
.steps{list-style:none;display:grid;gap:1.25rem;}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1140px){.steps{grid-template-columns:repeat(4,1fr);}}
.card{display:flex;flex-direction:column;padding:2rem 1.6rem 1.75rem;border-radius:var(--radius);background:rgba(14,36,25,.5);border:1px solid var(--line);position:relative;}
.card.featured{background:linear-gradient(180deg,rgba(242,164,58,.12),rgba(14,36,25,.55) 60%);border:1.5px solid rgba(242,164,58,.7);}
.card .tag{align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;background:rgba(243,238,227,.08);color:var(--sage);margin-bottom:1.25rem;}
.card.featured .tag{background:var(--flame);color:var(--night);}
.card h3{margin:0 0 .6rem;}
.card p{color:var(--bone);opacity:.92;margin:0 0 .75rem;font-size:1.02rem;}
.card .next{color:var(--sage);font-size:.9375rem;margin-bottom:1.5rem;}
.card .btn{margin-top:auto;}
.card .btn{width:100%;}
.card .extra{margin:0 0 .75rem;font-size:.975rem;line-height:1.7;}
.card .extra a{color:var(--flame);font-weight:700;text-underline-offset:.2em;}

/* ---------- Join (ANCHOR) ---------- */
.join-grid{display:grid;gap:clamp(2.5rem,6vw,4.5rem);align-items:center;}
@media (min-width:940px){.join-grid{grid-template-columns:1fr 1fr;}}
.benefits{list-style:none;display:grid;gap:.85rem;margin:1.75rem 0 0;}
.benefits li{display:grid;grid-template-columns:24px 1fr;gap:.75rem;align-items:start;}
.benefits svg{width:22px;height:22px;margin-top:.18em;stroke:var(--flame);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.form-card{background:var(--pine);background-image:var(--grain);border:1px solid rgba(243,238,227,.14);border-radius:20px;padding:clamp(1.75rem,4vw,2.75rem);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);}
.form-card h3{margin-bottom:.4rem;}
.form-card .sub{color:var(--sage);margin-bottom:1.5rem;font-size:1rem;}
.field{margin-bottom:1rem;}
.field label{display:block;font-weight:700;font-size:.95rem;margin-bottom:.4rem;color:var(--bone);}
.field input{width:100%;min-height:52px;padding:.8rem 1rem;border-radius:10px;border:1.5px solid rgba(243,238,227,.28);background:rgba(14,36,25,.65);color:var(--bone);font:inherit;font-size:1.0625rem;transition:border-color .2s, box-shadow .2s;}
.field input::placeholder{color:rgba(169,184,160,.85);}
.field input:hover{border-color:rgba(243,238,227,.45);}
.field input:focus{outline:none;border-color:var(--flame);box-shadow:0 0 0 3px rgba(242,164,58,.35);}
.field-row{display:grid;gap:0 1rem;}
@media (min-width:480px){.field-row{grid-template-columns:1fr 1fr;}}
.form-card .btn{width:100%;margin-top:.5rem;font-size:1.125rem;}
.form-fine{margin:1rem 0 0;font-size:.875rem;line-height:1.5;color:var(--sage);}
.form-fine a{color:var(--bone);text-underline-offset:.2em;}
.sendfox-message{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(242,164,58,.14);border:1px solid rgba(242,164,58,.5);color:var(--bone);}
.hp{position:absolute;left:-5000px;}
.closing{margin-top:clamp(3.5rem,8vw,6rem);text-align:center;font-family:var(--display);font-style:italic;font-weight:420;font-size:clamp(1.5rem,3vw,2.25rem);color:var(--bone);}
.closing .rule{margin:0 auto 1.5rem;}

/* ---------- Optional Senja wall ---------- */
.senja-wrap{margin-top:3rem;}

/* ---------- Inner pages ---------- */
.page-hero{padding-block:clamp(64px,10vw,120px) clamp(56px,8vw,96px);text-align:center;position:relative;overflow:hidden;}
.page-hero h1{font-size:clamp(2.4rem,6vw,4.25rem);max-width:18ch;margin-inline:auto;}
.page-hero .lead{margin-inline:auto;color:var(--bone);}
.prose{max-width:var(--col);}
.prose h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:2.5rem 0 .75rem;color:var(--night);}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.25rem;margin:1.75rem 0 .5rem;color:var(--night);}
.prose p,.prose li{color:var(--ash);}
.prose ul{padding-left:1.25rem;margin:0 0 1em;}
.prose li{margin-bottom:.45em;}
.prose a{color:var(--ember-deep);font-weight:700;text-underline-offset:.2em;}
.prose .updated{color:var(--moss);font-weight:600;}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.25em;font-size:.98rem;}
.table-scroll{overflow-x:auto;}
.prose th,.prose td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid rgba(42,43,38,.15);vertical-align:top;color:var(--ash);}
.prose th{font-weight:700;color:var(--night);background:var(--parchment);}
.callout{padding:1.4rem 1.5rem;border-left:5px solid var(--ember);background:var(--parchment);border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;}
.callout p{margin:0;color:var(--ash);}
.callout a,.prose .callout a{color:var(--night);}
.todo{background:#FFE7A8;color:#3B1D12;padding:0 .3em;border-radius:4px;font-weight:700;}
.contact-grid{display:grid;gap:1.25rem;}
@media (min-width:820px){.contact-grid{grid-template-columns:repeat(2,1fr);}}
.panel{background:var(--parchment);border-radius:var(--radius);padding:2rem 1.75rem;}
.panel h2{font-size:1.6rem;color:var(--night);margin-bottom:.5rem;}
.panel p{color:var(--ash);}
.panel .text-link{color:var(--night);}
.panel a.big{font-family:var(--display);font-weight:650;font-size:clamp(1.25rem,3.4vw,1.75rem);color:var(--night);text-decoration-color:var(--ember);text-decoration-thickness:2px;overflow-wrap:anywhere;text-underline-offset:.18em;}
.gform{width:100%;min-height:1600px;border:0;border-radius:var(--radius);background:#fff;}
.welcome-steps{list-style:none;display:grid;gap:1rem;counter-reset:ws;margin-bottom:2.5rem;}
.welcome-steps li{counter-increment:ws;display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start;background:var(--parchment);border-radius:var(--radius);padding:1.4rem 1.4rem;}
.welcome-steps li::before{content:counter(ws);width:44px;height:44px;border-radius:50%;background:var(--night);color:var(--flame);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.3rem;}
.welcome-steps h2{font-size:1.3rem;margin:.35rem 0 .3rem;color:var(--night);}
.welcome-steps p{margin:0;color:var(--ash);}

/* ---------- Footer ---------- */
.site-footer{background:var(--char);background-image:var(--grain);color:var(--bone);padding-block:clamp(56px,8vw,88px) 40px;--focus:var(--flame);}
.footer-top{display:grid;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(243,238,227,.1);}
@media (min-width:900px){.footer-top{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.footer-brand img{height:44px;width:auto;margin-bottom:1.1rem;}
.footer-brand p{color:var(--sage);max-width:34ch;font-size:1rem;}
.site-footer h2{font-family:var(--body);font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--flame);margin:0 0 1rem;}
.site-footer ul{list-style:none;display:grid;gap:.15rem;}
.site-footer ul a{display:inline-flex;align-items:center;min-height:44px;color:var(--bone);text-decoration:none;font-weight:500;}
.site-footer ul a:hover{color:var(--flame);text-decoration:underline;text-underline-offset:.2em;}
.crisis{margin:2.25rem 0 0;padding:1.4rem 1.5rem;border-radius:var(--radius);border:1px solid rgba(242,164,58,.35);background:rgba(242,164,58,.06);}
.crisis p{margin:0;color:var(--bone);font-size:.98rem;}
.crisis strong{color:var(--flame);}
.crisis a{color:var(--flame);font-weight:700;text-underline-offset:.2em;}
.legal-fine{margin-top:1.75rem;color:var(--sage);font-size:.875rem;line-height:1.6;}
.legal-fine p{margin:0 0 .6rem;}
.legal-fine a{color:var(--bone);}

/* ---------- Motion ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
.no-js .reveal{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .embers{display:none;}
  .reveal{opacity:1;transform:none;}
}

/* Themes we sit with */
.themes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 2rem;}
.themes .theme{position:relative;padding:.85rem 0 .85rem 2.1rem;border-bottom:1px solid rgba(243,238,227,.12);font-size:1.0625rem;line-height:1.45;color:var(--bone);}
.themes .theme::before{content:"";position:absolute;left:0;top:1.25rem;width:12px;height:12px;border-radius:50%;border:2px solid var(--flame);}
.themes-note{margin-top:1.6rem;color:var(--sage);font-size:1rem;}
@media (max-width:720px){.themes{grid-template-columns:minmax(0,1fr);}}

.senja-wrap{margin:0 0 1.6rem;min-height:60px;}

.alt-email{font-size:.95rem;color:var(--moss);}
