/** Shopify CDN: Minification failed

Line 332:0 Unexpected "{"
Line 332:1 Expected identifier but found "%"
Line 335:2 Unexpected "{"
Line 335:3 Expected identifier but found "%"
Line 1367:0 Unexpected "51%"

**/
 *{ box-sizing:border-box; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html,body{background:#0a2240; color:#FFFFFF; }
body{ font-family:'Rubik',sans-serif; overflow-x:hidden; }
::selection{ background:#ea6852; color:#FFF; }
img{ max-width:100%; display:block; }

:root{
  --ink:#0A2240; --inkDeep:#0a2240; --inkBlue:#0a2240; --slate:#5A6068; --mute:#9AA0A6;
  --line:#E6E8EA; --wash:#F1F2F3; --soft:#F7F8F9; --paper:#FFFFFF; --cream:#F7F8F9;
  --sky:#95D4E9; --skySoft:#E8F4FA;
  --coral:#ea6852; --coralDeep:#D9543D; --coralLight:#ff9d6c; --coralPale:#FBE9E4;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-slow: cubic-bezier(0.16, 1, 0.3, 1);
}
html, body{
  overflow-x: clip !important;
  overflow-y: visible !important;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ============== LOADER ============== */
#loader{ position:fixed; inset:0; z-index:200; background:var(--inkDeep);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .8s ease, visibility .8s ease; }
#loader.gone{ opacity:0; visibility:hidden; pointer-events:none; }
.l-heart{ width:96px; height:auto; animation:hbLoader 1.2s var(--ease) infinite; }
@keyframes hbLoader{ 0%,100%{ transform:scale(1); opacity:.9;} 50%{ transform:scale(1.18); opacity:1;} }

/* ============== PERSISTENT HEART BADGE ============== */
.hb-badge{ position:fixed; top:20px; right:20px; z-index:80;
  width:44px; height:44px; opacity:0; pointer-events:none;
  transition:opacity .8s var(--ease); }
.hb-badge.on{ opacity:1; pointer-events:auto; cursor:pointer; }
.hb-badge img{ width:100%; height:100%; object-fit:contain;
  animation:hbPulse 1.6s var(--ease) infinite;
  filter:drop-shadow(0 4px 14px rgba(234,104,82,.5)); }
@keyframes hbPulse{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.12);} }
.hb-tooltip{ position:absolute; right:54px; top:50%; transform:translateY(-50%) translateX(8px);
  background:var(--ink); color:#FFF; font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  padding:7px 12px; border-radius:9999px; white-space:nowrap;
  opacity:0; transition:opacity .4s ease, transform .4s var(--ease); font-weight:600; pointer-events:none; }
.hb-badge:hover .hb-tooltip{ opacity:1; transform:translateY(-50%) translateX(0); }
.hb-session{ position:absolute; bottom:-6px; right:-6px;
  background:var(--coral); color:#FFF; font-size:9px; font-weight:800;
  padding:3px 6px; border-radius:9999px; min-width:18px; text-align:center;
  border:2px solid var(--inkDeep); letter-spacing:.03em; }

/* ============== NAVIGATION ============== */
nav.site{ position:fixed; top:0; left:0; right:0; z-index:90;
  display:flex; justify-content:space-between; align-items:center;
  padding:24px 40px;
  transition:background .5s ease, padding .5s ease, backdrop-filter .5s ease, color .5s ease;
  color:#FFF; }
nav.site.solid{ background:rgba(10,34,64,.78); backdrop-filter:saturate(140%) blur(20px); padding:14px 40px; }
nav.site.dark{ color:var(--ink); }
nav.site.dark.solid{ background:rgba(255,255,255,.92); border-bottom:1px solid var(--line); }
nav.site .brand{ font-family:'Rubik',sans-serif; font-weight:700; font-size:18px; letter-spacing:-.02em; color:inherit; text-decoration:none; }
nav.site .brand .dot{ color:var(--coral); }
nav.site .links{ display:none; gap:28px; }
nav.site .links a{ font-size:11px; letter-spacing:.06em; color:inherit; text-decoration:none; transition:opacity .3s ease, color .3s ease; opacity:.7; }
nav.site .links a:hover{ opacity:1; color:var(--coral); }
nav.site .nav-cta{ display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:600; padding:10px 18px; border-radius:9999px;
  background:var(--coral); color:#FFF; text-decoration:none; letter-spacing:.04em;
  transition:background .3s ease, gap .35s var(--ease); }
nav.site .nav-cta:hover{ background:var(--coralDeep); gap:14px; }
@media(min-width:1024px){ nav.site .links{ display:flex; } }

/* ============== 01 HERO ============== */
.hero{ position:relative; height:calc(100vh - 120px); min-height:560px; overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%, var(--inkBlue) 0%, var(--inkDeep) 75%);
  color:#FFF; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:40px; }
.hero-stars{ position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 12% 18%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 78% 32%, rgba(255,255,255,.3), transparent),
    radial-gradient(1px 1px at 42% 64%, rgba(149,212,233,.5), transparent),
    radial-gradient(1px 1px at 88% 78%, rgba(255,255,255,.35), transparent),
    radial-gradient(1px 1px at 22% 88%, rgba(255,255,255,.25), transparent),
    radial-gradient(1px 1px at 62% 12%, rgba(255,255,255,.3), transparent),
    radial-gradient(1.5px 1.5px at 8% 52%, rgba(234,104,82,.4), transparent);
  opacity:.6; }
.hero-counter-top{ position:absolute; top:90px; left:40px; z-index:5;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.55); font-weight:600;
  display:flex; align-items:center; gap:10px; }
.hero-counter-top .live{ width:8px; height:8px; border-radius:50%; background:var(--coral); animation:livePulse 1.4s var(--ease) infinite; }
@keyframes livePulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(234,104,82,.6);} 50%{ box-shadow:0 0 0 10px rgba(234,104,82,0);} }
.hero-counter-top strong{ color:#FFF; font-weight:700; letter-spacing:.04em; }

/* The typewriter questions */
.hero-typewriter{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:0 40px;
  z-index:6;
  pointer-events:none;
  transition:opacity 1s var(--ease-slow);
}
.hero-typewriter.gone{ opacity:0; }
.hero-typewriter .q-line{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(28px,4vw,52px);
  line-height:1.35; letter-spacing:-.02em;
  color:rgba(255,255,255,.92);
  max-width:840px;
  min-height:1.4em;
}
.hero-typewriter .q-line .caret{
  display:inline-block; width:3px; height:1em; background:var(--coral);
  margin-left:6px; vertical-align:middle;
  animation:caretBlink 1s ease infinite;
}
@keyframes caretBlink{ 50%{ opacity:0;} }

/* Final hero stage: appears after questions complete */
.hero-final{
  position:relative; z-index:5;
  display:flex; flex-direction:column; align-items:center;
  width:100%; max-width:1100px;
  opacity:0; transform:translateY(20px);
  transition:opacity 1.4s var(--ease-slow), transform 1.4s var(--ease-slow);
}
.hero-final.in{ opacity:1; transform:translateY(0); }
@keyframes heartbeat{
  0%,100%{ transform:scale(1);}
  14%{ transform:scale(1.08);}
  28%{ transform:scale(1);}
  42%{ transform:scale(1.04);}
  56%{ transform:scale(1);}
}
.hero-wordmark img{ width:clamp(200px,26vw,360px); height:auto; }
.hero-tagline{ margin-top:24px;
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(18px,1.8vw,24px); line-height:1.45; letter-spacing:-.015em;
  color:rgba(255,255,255,.7); max-width:520px; text-align:center; }
.hero-tagline span{ color:var(--coral); font-style:italic; }
.hero-skip{
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.4); font-weight:600;
  background:none; border:1px solid rgba(255,255,255,.18); border-radius:9999px;
  padding:7px 14px; cursor:pointer; z-index:8;
  transition:opacity .4s ease, background .3s ease;
}
.hero-skip:hover{ background:rgba(255,255,255,.08); }
.hero-skip.gone{ opacity:0; pointer-events:none; }

/* ============== 02 REFRAME: scroll-scrubbed ============== */
/* FIX 3: height restored to 180vh so the scroll-scrub has travel distance.
   With 100vh the pin filled the whole wrap, total = height - innerHeight = 0,
   and progress snapped 0→1 instantly (strike-through never animated). */
.reframe-wrap{ position:relative; background:var(--ink); height:180vh; }
.reframe-pin{ position:sticky; top:0; height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding:40px; overflow:hidden; }
.reframe-container{ position:relative; width:100%; max-width:1400px; margin:0 auto; }
.reframe-marker{ position:absolute; top:0; left:0;
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.4); font-weight:600;
  display:flex; align-items:center; gap:14px; z-index:3; }
.reframe-marker::after{ content:''; width:48px; height:1px; background:rgba(255,255,255,.2); }

.reframe-grid{
  margin-top:80px;
  display:grid; grid-template-columns:1fr; gap:48px; align-items:start;
}
@media(min-width:1024px){ .reframe-grid{ grid-template-columns:1.4fr 1fr; gap:80px; } }

.reframe-h{
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(40px, min(6.5vw, 12.5vh), 96px); line-height:.95; letter-spacing:-.05em;
  color:#FFF;
  position:relative;
}
.reframe-h .layer{
  display:block;
}
.reframe-h .strike{ position:relative; display:inline-block; transition:color .8s var(--ease-slow); }
.reframe-h .strike::after{
  content:''; position:absolute; left:-4px; right:-4px; top:52%;
  height:5px; background:var(--coral); transform:translateY(-50%) scaleX(0);
  transform-origin:left center;
  transition:transform 1.2s var(--ease-slow);
  border-radius:3px;
}
.reframe-wrap.headline-strike .reframe-h .strike::after{ transform:translateY(-50%) scaleX(1); }
.reframe-wrap.headline-strike .reframe-h .strike{ color:rgba(255,255,255,.4); }

/* The reveal layer that overlays after all weights strike */
.reframe-h .reveal-layer{
  display:block;
  opacity:0; max-height:0; overflow:hidden;
  transition:opacity .8s var(--ease-slow), max-height 1s var(--ease-slow);
  margin-top:0;
 padding-bottom:.18em;}
.reframe-wrap.fully-advanced .reframe-h .reveal-layer{ opacity:1; max-height:none; overflow:visible; margin-top:18px; }
.reframe-h .yes-it{ color:var(--coral); font-style:italic; }

.reframe-weights{ display:flex; flex-direction:column; gap:0; margin-top:8px; }
.reframe-weight{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 0; border-bottom:1px solid rgba(255,255,255,.1);
  font-size:14px; font-weight:500;
  color:rgba(255,255,255,.85);
  position:relative;
  transition:padding-left .4s var(--ease), color .8s var(--ease-slow), opacity .8s var(--ease-slow);
}
.reframe-weight::before{
  content:''; position:absolute; left:0; right:100%; top:50%;
  height:2px; background:var(--coral); transform:translateY(-50%);
  transition:right 1s var(--ease-slow);
  border-radius:1px;
}
.reframe-weight.struck{  color:rgba(255,255,255,.35); }
.reframe-weight.struck::before{ right:0; }
.reframe-weight .meta{ font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--coral); opacity:.7; font-weight:600; }

/* Right column: answers that appear at scroll-end */
.reframe-answers{
  display:flex; flex-direction:column; gap:14px;
  opacity:0; transform:translateY(20px);
  transition:opacity 1s var(--ease-slow), transform 1s var(--ease-slow);
}
.reframe-wrap.fully-advanced .reframe-answers{
  opacity:1; transform:translateY(0);
}
.reframe-answer{
  display:flex; align-items:flex-start; gap:18px;
  padding:18px 22px; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1); border-radius:14px;
  transition:background .35s ease, border-color .35s ease, transform .5s var(--ease);
}
.reframe-answer:hover{ background:rgba(234,104,82,.1); border-color:var(--coral); transform:translateX(4px); }
.reframe-answer .ra-num{ font-family:'Rubik',sans-serif; font-weight:700; font-size:11px; color:var(--coral); letter-spacing:.04em; min-width:20px; padding-top:2px; }
.reframe-answer .ra-text{ font-size:14px; line-height:1.5; color:rgba(255,255,255,.85); }
.reframe-answer .ra-text em{ color:#FFF; font-style:italic; font-weight:500; }

.reframe-progress{ position:absolute; left:0; bottom:0;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.4); font-weight:600;
  display:flex; align-items:center; gap:14px; z-index:3; }
.reframe-progress-bar{ width:160px; height:1px; background:rgba(255,255,255,.15); position:relative; overflow:hidden; }
.reframe-progress-bar .fill{ position:absolute; left:0; top:0; height:100%;
  background:var(--coral); width:0%; }

/* ============== 03 MOMENT OF SILENCE ============== */
.silence-section{
  background:var(--ink); color:#FFF;
  min-height:50vh; padding:80px 40px;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  text-align:center;
}
.silence-heart-bg{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:60vh; height:auto; opacity:.05; pointer-events:none;
  animation:heartbeat 2.2s var(--ease) infinite;
}
.silence-line{
  position:relative; z-index:2;
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(22px,3.2vw,42px); line-height:1.4; letter-spacing:-.02em;
  color:rgba(255,255,255,.9); max-width:840px;
}
.silence-line .accent{ color:var(--coral); }

/* ============== 04 THREE WORLDS: sticky-left ============== */
.worlds-wrap{
  background:#FFF; color:var(--ink); position:relative;
}

.worlds-intro{ padding:96px 40px 24px; text-align:center; }
.worlds-intro .marker{ font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--mute); font-weight:600; margin-bottom:24px; }
.worlds-intro h2{ font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(32px,5vw,64px); line-height:1.05; letter-spacing:-.04em;
  color:var(--ink); max-width:920px; margin:0 auto; }
.worlds-intro h2 em{ color:var(--coral); font-style:italic; font-weight:800; }

.worlds-canvas{
  position:relative;
  padding:64px 40px 64px;
}
.worlds-grid{
  position:relative;
  display:grid; grid-template-columns:1fr; gap:40px;
  max-width:1280px; margin:0 auto;
}
@media(min-width:1024px){ .worlds-grid{ grid-template-columns:1fr 1fr; gap:80px; } }

/* Sticky left rail with morphing sub-logo */
.worlds-sticky{
  position:relative;
}
@media(min-width:1024px){
  .worlds-sticky{
    position:sticky; top:96px;
    height:calc(100vh - 192px);
    min-height:520px; max-height:680px;
    display:flex; align-items:center; justify-content:center;
  }
  /* FIX 1: This was wrapped in raw Liquid {% comment %}…{% endcomment %} tags.
     On a static page the browser cannot strip them, so .world-chapter was
     incorrectly applied (min-height:100vh), which made every chapter taller
     than the viewport and broke the active-image detection in onWorldsScroll().
     Converted to a real CSS comment so the rule stays disabled, as intended. */
  /* .world-chapter{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
  } */
}
.worlds-visual{
  width:100%; aspect-ratio:1/1;
  max-width:520px;
  background:var(--coral);
  border-radius:24px; padding:48px;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
{% comment %} .worlds-visual::before{
  content:''; position:absolute; left:0; right:0; top:0; height:2px;
  background:var(--coral);
} {% endcomment %}
.worlds-visual::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 75% 25%, rgba(255,255,255,.16), transparent 60%);
  pointer-events:none;
}
.worlds-visual-img{
  position:absolute; inset:48px;
  display:flex; align-items:center; justify-content:center;
  opacity:0;
  transition:opacity .7s var(--ease);
}
.worlds-visual-img.active{ opacity:1; }
.worlds-visual-img img{
  width:100%; max-width:480px; height:auto;
  /* FIX 2: was {% comment %} filter:brightness(0) invert(1); {% endcomment %} */
  /* filter:brightness(0) invert(1); */
}
.worlds-ripple-rail{
  position:absolute; right:24px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:18px; align-items:center;
  z-index:3;
}
.worlds-ripple-rail .r-dot{
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,.3);
  transition:background .5s var(--ease), transform .5s var(--ease);
  cursor:pointer;
}
.worlds-ripple-rail .r-dot.live{ background:#FFF; transform:scale(1.4); }
.worlds-ripple-rail .r-line{ width:1px; height:24px; background:rgba(255,255,255,.2); }

/* Right column: scroll-stacked world chapters */
.worlds-chapters{ display:flex; flex-direction:column; gap:48px; }
.world-chapter{
  padding:56px 0;
  border-top:1px solid var(--line);
}
.world-chapter:first-child{ border-top:none; padding-top:0; }
.world-chapter .wc-num{
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--coral); font-weight:700; margin-bottom:14px;
}
.world-chapter .wc-title{
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(32px,4vw,52px); letter-spacing:-.035em; line-height:1.05;
  color:var(--ink); margin:0 0 20px;
}
.world-chapter .wc-title em{ color:var(--coral); font-style:italic; }
.world-chapter .wc-body{
  font-size:15px; line-height:1.7; color:var(--slate); margin:0 0 28px;
}
.world-chapter .wc-body strong{ color:var(--ink); font-weight:600; }
.world-chapter .wc-practice{
  display:flex; align-items:flex-start; gap:18px;
  padding:18px 22px; background:var(--soft); border:1px solid var(--line);
  border-radius:14px;
  transition:border-color .35s ease, background .35s ease;
}
.world-chapter .wc-practice:hover{ border-color:var(--coral); background:var(--coralPale); }
.wc-practice .wp-icon{ width:42px; height:42px; border-radius:10px;
  background:#FFF; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:var(--coral); }
.wc-practice .wp-icon svg{ width:20px; height:20px; }
.wc-practice .wp-label{ font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--mute); font-weight:700; margin-bottom:3px; }
.wc-practice .wp-name{ font-family:'Rubik',sans-serif; font-weight:700; font-size:14px; color:var(--ink); letter-spacing:-.01em; }
.wc-practice .wp-detail{ font-size:11px; color:var(--slate); margin-top:2px; line-height:1.5; }

/* ============== 05 LIVE MAP ============== */
.live-section{
  background:var(--inkDeep); color:#FFF;
  padding:80px 40px;
  position:relative; overflow:hidden;
}
.live-grid{
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1fr; gap:40px;
}
@media(min-width:1024px){ .live-grid{ grid-template-columns:1.3fr 1fr; gap:64px; align-items:center; } }

.live-left .marker{
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.55); font-weight:600;
  display:flex; align-items:center; gap:14px;
}
.live-left .marker .live-dot{ width:8px; height:8px; border-radius:50%; background:var(--coral);
  animation:livePulse 1.4s var(--ease) infinite; }
.live-left h2{
  margin-top:18px;
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(32px,5vw,62px); line-height:1.02; letter-spacing:-.04em;
  color:#FFF;
}
.live-left h2 em{ color:var(--coral); font-style:italic; }
.live-left p{
  margin-top:18px;
  font-size:15px; line-height:1.6; color:rgba(255,255,255,.7); max-width:480px;
}

.live-map{
  position:relative;
  background:linear-gradient(180deg, rgba(10,34,64,.5), rgba(10,34,64,.5));
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:32px;
  aspect-ratio:5/6;
  max-height:640px;
}
.live-map-svg{ width:100%; height:100%; }
.live-map-svg .land{
  fill:rgba(149,212,233,.06);
  stroke:rgba(149,212,233,.18);
  stroke-width:1;
}
@keyframes cityPulse{
  0%{ box-shadow:0 0 0 0 rgba(234,104,82,.6); }
  70%{ box-shadow:0 0 0 22px rgba(234,104,82,0); }
  100%{ box-shadow:0 0 0 0 rgba(234,104,82,0); }
}
.live-map-title{
  position:absolute; top:32px; left:32px;
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.5); font-weight:600;
}

.live-ticker{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:24px; height:100%; max-height:560px;
  display:flex; flex-direction:column;
}
.live-ticker-head{
  display:flex; justify-content:space-between; align-items:center;
  padding-bottom:14px; margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.live-ticker-head .lt-title{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#FFF; font-weight:700; }
.live-ticker-head .lt-count{
  font-family:'Rubik',sans-serif; font-weight:800; font-size:14px;
  color:var(--coral); letter-spacing:.02em;
}
.live-ticker-list{
  flex:1; overflow:hidden;
  display:flex; flex-direction:column; gap:0;
  position:relative;
  mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.live-ticker-track{
  display:flex; flex-direction:column;
  animation:tickerUp 36s linear infinite;
}
@keyframes tickerUp{ to{ transform:translateY(-50%);} }
.lt-row{
  display:flex; align-items:center; gap:12px;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.lt-avatar{
  width:28px; height:28px; border-radius:50%;
  background:var(--coral); color:#FFF;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; letter-spacing:.02em; flex-shrink:0;
}
.lt-name{ font-family:'Rubik',sans-serif; font-weight:500; font-size:13px; color:#FFF; }
.lt-meta{ font-size:10px; color:rgba(255,255,255,.45); letter-spacing:.04em; margin-left:auto; }

/* ============== 06 PLEDGE ============== */
.pledge-section{ background:var(--coral); color:#FFF; padding:80px 40px;
  position:relative; overflow:hidden; }
.pledge-bg-heart{ position:absolute; right:-100px; bottom:-100px;
  width:480px; height:480px; opacity:.08; pointer-events:none; filter:brightness(0) invert(1); }
.pledge-grid{ position:relative; max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1fr; gap:48px; align-items:center; }
@media(min-width:1024px){ .pledge-grid{ grid-template-columns:1fr 1fr; gap:80px; } }
.pledge-left .marker{ font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.7); font-weight:600;
  display:flex; align-items:center; gap:14px; }
.pledge-left .marker::after{ content:''; width:48px; height:1px; background:rgba(255,255,255,.4); }
.pledge-h{ margin-top:18px; font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(34px,4.8vw,62px); line-height:1.02; letter-spacing:-.04em; color:#FFF; }
.pledge-h em{ font-style:italic; color:rgba(255,255,255,.85); }
.pledge-h .live-num{
  color:#FFF; font-style:normal; display:inline-block;
  border-bottom:3px solid #FFF; padding-bottom:2px;
}
.pledge-sub{ margin-top:20px; font-size:14px; line-height:1.65; color:rgba(255,255,255,.8); max-width:480px; }
.pledge-live-tag{ display:inline-flex; align-items:center; gap:8px; margin-top:28px;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#FFF; font-weight:600; }
.pledge-live-tag .dot{ width:8px; height:8px; border-radius:50%; background:#FFF;
  animation:livePulse2 1.4s ease infinite; }
@keyframes livePulse2{ 0%,100%{ box-shadow:0 0 0 0 rgba(255,255,255,.5);} 50%{ box-shadow:0 0 0 8px rgba(255,255,255,0);} }

.pledge-card{ position:relative; background:#FFF; color:var(--ink);
  border-radius:18px; padding:32px 28px 28px;
  box-shadow:0 30px 80px rgba(10,34,64,.25);
  transform:rotate(-1.5deg); transition:transform .5s var(--ease);
  background-image:
    repeating-linear-gradient(0deg, transparent 0, transparent 28px, rgba(10,34,64,0.02) 28px, rgba(10,34,64,0.02) 29px);
}
.pledge-card:hover{ transform:rotate(0deg); }
.pledge-card-header{ display:flex; justify-content:space-between; align-items:flex-start;
  padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.pledge-card-header .title{ font-family:'Rubik',sans-serif; font-weight:800; font-size:17px; letter-spacing:-.02em; color:var(--ink); }
.pledge-card-header .subtitle{ font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--coral); font-weight:700; margin-top:4px; }
.pledge-card-header .mini-heart{ width:28px; height:28px; }

.pledge-items{ display:flex; flex-direction:column; gap:0; }
.pledge-item{ display:grid; grid-template-columns:22px 1fr;
  align-items:flex-start; gap:13px; padding:12px 0;
  border-bottom:1px dashed var(--line); cursor:pointer;
  transition:padding-left .35s var(--ease); position:relative; }
.pledge-item:last-child{ border-bottom:none; }
.pledge-item:hover{ padding-left:4px; }
.pledge-item .p-check{ width:20px; height:20px; border-radius:5px;
  border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center;
  transition:background .35s ease, border-color .35s ease; margin-top:2px; flex-shrink:0; }
.pledge-item.checked .p-check{ background:var(--coral); border-color:var(--coral); }
.pledge-item .p-check svg{ width:11px; height:11px; color:#FFF; opacity:0; transition:opacity .3s ease; stroke-width:3; }
.pledge-item.checked .p-check svg{ opacity:1; }
.pledge-item .p-text{ font-family:'Rubik',sans-serif; font-weight:500; font-size:13.5px; line-height:1.5; color:var(--ink); }
.pledge-item .p-text em{ color:var(--coral); font-style:normal; font-weight:600; }

/* Floating heart particle from checkbox */
.heart-particle{
  position:fixed; width:16px; height:16px;
  background-image:url('./images/rb-heart.png');
  background-size:contain; background-repeat:no-repeat;
  pointer-events:none; z-index:75;
  filter:drop-shadow(0 4px 10px rgba(234,104,82,.6));
}

.pledge-card-footer{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center; }
.pledge-name-input{ border:none; outline:none; background:transparent;
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-size:16px;
  color:var(--ink); border-bottom:1px dashed var(--coral); padding:3px 0; width:55%; }
.pledge-name-input::placeholder{ color:var(--mute); opacity:.6; }
.pledge-msg-input{ border:none; outline:none; background:transparent;
  font-family:Rubik, sans-serif; font-style:italic; font-size:16px;
  color:var(--ink); border-bottom:1px dashed var(--coral); padding:3px 0; width:55%; width:100%; margin-top:12px; }
.pledge-msg-input::placeholder{ color:var(--mute); opacity:.6; }

.pledge-date{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); font-weight:600; }

.pledge-cta-row{ max-width:1280px; margin:40px auto 0;
  display:flex; gap:12px; flex-wrap:wrap; position:relative; z-index:2; }
.pledge-cta{ display:inline-flex; align-items:center; gap:10px;
  background:var(--ink); color:#FFF; padding:13px 20px; border-radius:9999px;
  font-family:'Rubik',sans-serif; font-weight:600; font-size:12px;
  text-decoration:none; letter-spacing:.04em; border:none; cursor:pointer;
  transition:background .35s ease, gap .4s var(--ease); }
.pledge-cta:hover{ background:var(--coralDeep); gap:14px; }
.pledge-cta.ghost{ background:transparent; border:1.5px solid rgba(255,255,255,.4); color:#FFF; }
.pledge-cta.ghost:hover{ background:rgba(255,255,255,.1); border-color:#FFF; }

/* ============== 07 VOICES: masonry wall ============== */
.voices-section{
  background:var(--cream); color:var(--ink);
  padding:80px 40px; position:relative;
}
.voices-head{
  max-width:1280px; margin:0 auto 32px;
  display:flex; justify-content:space-between; align-items:end;
  flex-wrap:wrap; gap:16px;
}
.voices-head .marker{ font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--mute); font-weight:600; }
.voices-head h2{ margin-top:14px;
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(28px,4.5vw,52px); line-height:1.05; letter-spacing:-.04em;
  color:var(--ink); }
.voices-head h2 em{ color:var(--coral); font-style:italic; }
.voices-share{ font-size:11px; letter-spacing:.04em; color:var(--ink); font-weight:600;
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  padding:10px 16px; border:1.5px solid var(--ink); border-radius:9999px;
  transition:background .3s ease, color .3s ease, gap .4s var(--ease); }
.voices-share:hover{ background:var(--ink); color:#FFF; gap:12px; }

.voices-wall{
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1fr; gap:16px;
}
@media(min-width:768px){ .voices-wall{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media(min-width:1024px){ .voices-wall{ grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(220px,auto); } }

.v-card{
  position:relative;
  padding:28px 26px;
  border-radius:18px;
  display:flex; flex-direction:column; gap:14px;
  cursor:pointer;
  transition:transform .5s var(--ease), box-shadow .5s ease;
  overflow:hidden;
}
.v-card:hover{ transform:translateY(-4px); box-shadow:0 20px 50px rgba(10,34,64,.1); }
.v-card.tone-coral{ background:var(--coral); color:#FFF; }
.v-card.tone-ink{ background:var(--ink); color:#FFF; }
.v-card.tone-cream{ background:#FFF; color:var(--ink); border:1px solid var(--line); }
.v-card.size-tall{ grid-row:span 2; }

.v-card .v-tag{
  display:inline-flex; align-items:center; gap:8px;
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  font-weight:700; align-self:flex-start;
}
.v-card .v-tag::before{ content:''; width:6px; height:6px; border-radius:50%; }
.v-card.tone-coral .v-tag{ color:rgba(255,255,255,.85); }
.v-card.tone-coral .v-tag::before{ background:#FFF; }
.v-card.tone-ink .v-tag{ color:var(--coral); }
.v-card.tone-ink .v-tag::before{ background:var(--coral); }
.v-card.tone-cream .v-tag{ color:var(--coral); }
.v-card.tone-cream .v-tag::before{ background:var(--coral); }

.v-card .v-quote{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(18px,1.8vw,24px); line-height:1.35; letter-spacing:-.015em;
  margin:0;
}
.v-card.font-sans .v-quote{
  font-family:'Rubik',sans-serif; font-style:normal; font-weight:700;
  letter-spacing:-.02em;
}
.v-card.font-sans-light .v-quote{
  font-family:'Rubik',sans-serif; font-style:normal; font-weight:300;
  letter-spacing:-.015em;
}
.v-card .v-quote em{ font-style:italic; }
.v-card.tone-coral .v-quote em{ color:rgba(255,255,255,.7); }
.v-card.tone-ink .v-quote em,
.v-card.tone-cream .v-quote em{ color:var(--coral); }

.v-card .v-extended{
  display:none;
  font-size:13px; line-height:1.6;
  opacity:.85;
  margin:0;
}
.v-card.tone-coral .v-extended{ color:rgba(255,255,255,.85); }
.v-card.tone-ink .v-extended{ color:rgba(255,255,255,.65); }
.v-card.tone-cream .v-extended{ color:var(--slate); }
.v-card.expanded .v-extended{ display:block; }

.v-card .v-author{
  display:flex; align-items:center; gap:12px;
  margin-top:auto; padding-top:16px;
}
.v-card.tone-coral .v-author{ border-top:1px solid rgba(255,255,255,.18); }
.v-card.tone-ink .v-author{ border-top:1px solid rgba(255,255,255,.1); }
.v-card.tone-cream .v-author{ border-top:1px solid var(--line); }
.v-avatar{
  width:32px; height:32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; letter-spacing:.02em; flex-shrink:0;
}
.v-card.tone-coral .v-avatar{ background:#FFF; color:var(--coral); }
.v-card.tone-ink .v-avatar{ background:var(--coral); color:#FFF; }
.v-card.tone-cream .v-avatar{ background:var(--coral); color:#FFF; }
.v-author .name{ font-family:'Rubik',sans-serif; font-weight:600; font-size:13px; }
.v-author .role{ font-size:10px; opacity:.6; letter-spacing:.04em; margin-top:1px; }
.v-card .v-expand{
  position:absolute; top:24px; right:24px;
  width:24px; height:24px; border-radius:50%;
  border:1px solid currentColor;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; opacity:.45;
  transition:opacity .3s ease, transform .35s var(--ease);
}
.v-card:hover .v-expand{ opacity:1; }
.v-card.expanded .v-expand{ transform:rotate(45deg); opacity:1; }

/* ============================================================
   08 MANIFESTO: Premium collectible chapter
   ============================================================ */
.manifesto-section{
  background:#F7F8F9; color:var(--ink);
  padding:96px 40px 80px;
  border-top:1px solid var(--line);
  position:relative; overflow:hidden;
}

/* Editorial cover */
.manifesto-cover{
  max-width:1280px; margin:0 auto 64px;
  display:grid; grid-template-columns:1fr; gap:48px; align-items:center;
}
@media(min-width:1024px){
  .manifesto-cover{ grid-template-columns:1.15fr .85fr; gap:80px; }
}
.mf-marker{
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--coral); font-weight:700;
  display:flex; align-items:center; gap:14px;
  margin-bottom:24px;
}
.mf-marker::after{ content:''; width:48px; height:1px; background:var(--coral); }
.mf-cover-title{
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(36px,6vw,76px); line-height:1.02; letter-spacing:-.045em;
  color:var(--ink); margin:0;
}
.mf-cover-title em{ color:var(--coral); font-style:italic; }
.mf-cover-tag{
  margin-top:24px;
  font-size:15px; line-height:1.65; color:var(--slate); max-width:520px;
}
.mf-cover-meta{
  margin-top:36px;
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
  max-width:480px;
  padding-top:24px; border-top:1px solid var(--line);
}
.mf-meta-item{ display:flex; flex-direction:column; gap:4px; }
.mf-meta-item .lbl{
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--mute); font-weight:600;
}
.mf-meta-item .val{
  font-family:'Rubik',sans-serif; font-weight:600; font-size:14px; color:var(--ink); letter-spacing:-.01em;
}

/* The book illustration */
.mf-cover-right{ display:flex; justify-content:center; }
.mf-book{
  position:relative;
  width:280px; height:380px;
  perspective:1200px;
}
.mf-book-spine{
  position:absolute; left:0; top:6px; bottom:6px; width:14px;
  background:linear-gradient(90deg, var(--coralDeep), var(--coral));
  border-radius:3px 0 0 3px;
  box-shadow:inset -2px 0 4px rgba(10,34,64,.2);
}
.mf-book-cover{
  position:absolute; left:10px; top:0; right:0; bottom:0;
  background:var(--coral);
  border-radius:2px 12px 12px 2px;
  padding:32px 28px;
  display:flex; flex-direction:column;
  color:#FFF;
  box-shadow:
    8px 14px 0 -2px rgba(10,34,64,.12),
    18px 30px 60px rgba(10,34,64,.18);
  transform:rotateY(-6deg);
  transform-origin:left center;
  transition:transform .6s var(--ease-slow);
}
.mf-book:hover .mf-book-cover{ transform:rotateY(-2deg); }
.mf-book-heart{
  width:36px; height:auto;
  filter:brightness(0) invert(1);
  opacity:.95;
}
.mf-book-stack{
  margin-top:auto; display:flex; flex-direction:column;
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:34px; line-height:.95; letter-spacing:-.035em;
  color:#FFF;
}
.mf-book-stack .it{ font-style:italic; font-weight:800; }
.mf-book-foot{
  margin-top:18px; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.25);
  display:flex; justify-content:space-between;
  font-size:9px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.85);
}

/* Chapters */
.manifesto-chapters{
  max-width:1080px; margin:0 auto;
  border-top:1px solid var(--line);
}
.mf-chapter{
  border-bottom:1px solid var(--line);
  background:transparent;
  transition:background .4s ease;
}
.mf-chapter.open{ background:#FFF; }
.mf-chapter-head{
  display:grid; grid-template-columns:64px 1fr 32px;
  align-items:center; gap:20px;
  padding:28px 32px; cursor:pointer;
  transition:padding .4s var(--ease);
}
.mf-chapter.open .mf-chapter-head{ padding-bottom:14px; }
.mf-chapter-head:hover{ padding-left:40px; }
.mf-ch-num{
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:32px; color:var(--coral); letter-spacing:-.03em; line-height:1;
}
.mf-ch-eyebrow{
  font-size:9px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--mute); font-weight:600; margin-bottom:6px;
}
.mf-ch-title{
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(20px,2.4vw,28px); line-height:1.15; letter-spacing:-.025em;
  color:var(--ink); margin:0;
}
.mf-ch-toggle{
  position:relative; width:24px; height:24px;
  justify-self:end;
}
.mf-ch-toggle span{
  position:absolute; left:50%; top:50%;
  background:var(--ink);
  transition:transform .4s var(--ease), background .4s ease;
}
.mf-ch-toggle span:first-child{ width:14px; height:1.5px; transform:translate(-50%,-50%); }
.mf-ch-toggle span:last-child{ width:1.5px; height:14px; transform:translate(-50%,-50%); }
.mf-chapter.open .mf-ch-toggle span:last-child{ transform:translate(-50%,-50%) scaleY(0); }
.mf-chapter.open .mf-ch-toggle span{ background:var(--coral); }

.mf-chapter-body{
  max-height:0; overflow:hidden;
  padding:0 32px;
  transition:max-height .6s var(--ease-slow), padding .4s var(--ease);
}
.mf-chapter.open .mf-chapter-body{
  max-height:1800px;
  padding:0 32px 36px 116px;
}
.mf-chapter-body .mf-lead{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(18px,2vw,24px); line-height:1.4; letter-spacing:-.015em;
  color:var(--ink); margin:8px 0 24px;
}
.mf-chapter-body > p{
  font-family:'Rubik',sans-serif; font-size:15px; line-height:1.75; color:var(--slate); margin:0 0 16px;
  max-width:660px;
}
.mf-chapter-body > p strong{ color:var(--ink); font-weight:600; }
.mf-chapter-body > p em{ color:var(--coral); font-style:italic; font-weight:500; }

/* Pull quote inside ch.1 */
.mf-pull{
  margin:24px 0 0;
  padding:20px 24px;
  border-left:3px solid var(--coral);
  background:rgba(234,104,82,0.05);
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:18px; line-height:1.45; color:var(--ink);
  border-radius:0 8px 8px 0;
  max-width:660px;
}
.mf-pull-by{ display:block; margin-top:14px; font-family:'Rubik',sans-serif; font-style:normal; font-weight:600;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }

/* Truth list: ch.2 */
.mf-truth-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:18px;
  max-width:720px;
}
.mf-truth-list li{
  display:grid; grid-template-columns:40px 1fr; gap:18px;
  padding:18px 0; border-bottom:1px dashed var(--line);
  align-items:flex-start;
}
.mf-truth-list li:last-child{ border-bottom:none; }
.mf-truth-list .num{
  font-family:'Rubik',sans-serif; font-weight:800; font-size:14px;
  color:var(--coral); letter-spacing:.04em;
  padding-top:2px;
}
.mf-truth-list .copy{ font-size:14.5px; line-height:1.7; color:var(--slate); }
.mf-truth-list em{ color:var(--ink); font-weight:600; font-style:italic; }

/* Principles: ch.3 */
.mf-principles{
  display:grid; grid-template-columns:1fr; gap:14px;
  max-width:720px;
}
@media(min-width:768px){
  .mf-principles{ grid-template-columns:1fr 1fr; gap:14px; }
}
.mf-principle{
  background:#FFF; border:1px solid var(--line);
  border-radius:14px; padding:22px 24px;
  display:flex; flex-direction:column; gap:8px;
  transition:border-color .35s ease, transform .5s var(--ease), background .35s ease;
}
.mf-principle:hover{ border-color:var(--coral); transform:translateY(-2px); background:#FFF; }
.mf-principle .mp-num{
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--coral); font-weight:700;
}
.mf-principle .mp-name{
  font-family:'Rubik',sans-serif; font-weight:800; font-size:18px;
  letter-spacing:-.02em; color:var(--ink); line-height:1.15;
}
.mf-principle .mp-detail{
  font-size:13px; line-height:1.6; color:var(--slate);
}

/* Three worlds grid: ch.4 */
.mf-three-grid{
  display:grid; grid-template-columns:1fr; gap:18px;
  max-width:760px; margin-bottom:20px;
}
@media(min-width:1024px){ .mf-three-grid{ grid-template-columns:repeat(3,1fr); } }
.mf-three{
  background:#FFF; border:1px solid var(--line);
  border-radius:14px; padding:24px;
  display:flex; flex-direction:column; gap:16px;
  transition:border-color .35s ease, transform .5s var(--ease);
}
.mf-three:hover{ border-color:var(--coral); transform:translateY(-2px); }
.mf-three img{
  width:100%; max-width:140px; height:auto;
}
.mf-three-body{
  font-size:13px; line-height:1.6; color:var(--slate);
}
.mf-three-body strong{ color:var(--ink); font-weight:700; }
.mf-after{ font-family:'Rubik',sans-serif !important; font-size:14.5px !important; line-height:1.7 !important; color:var(--slate) !important;
  max-width:660px; padding-top:8px; }
.mf-after strong{ color:var(--coral) !important; font-weight:700; font-style:italic; }

/* Actions: ch.5 */
.mf-actions{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:8px;
  max-width:720px;
}
.mf-actions li{
  display:grid; grid-template-columns:56px 1fr; align-items:flex-start; gap:14px;
  padding:14px 16px; background:#FFF; border:1px solid var(--line);
  border-radius:10px;
  transition:border-color .35s ease, transform .4s var(--ease), background .35s ease;
}
.mf-actions li:hover{ border-color:var(--coral); transform:translateX(4px); }
.mf-actions .day{
  font-family:'Rubik',sans-serif; font-weight:800; font-size:11px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--coral);
  padding:4px 0;
}
.mf-actions .act{ font-size:13.5px; line-height:1.6; color:var(--slate); }
.mf-actions em{ color:var(--ink); font-style:italic; font-weight:500; }

/* Questions: ch.6 */
.mf-questions{
  list-style:none; padding:0; margin:0 0 24px;
  counter-reset:q;
  display:flex; flex-direction:column; gap:12px;
  max-width:720px;
}
.mf-questions li{
  counter-increment:q;
  position:relative;
  padding:18px 24px 18px 64px;
  background:#FFF; border:1px solid var(--line); border-radius:10px;
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:18px; line-height:1.4; color:var(--ink);
}
.mf-questions li::before{
  content:counter(q,decimal-leading-zero);
  position:absolute; left:24px; top:18px;
  font-family:'Rubik',sans-serif; font-style:normal; font-weight:800;
  font-size:14px; letter-spacing:.04em; color:var(--coral);
}
.mf-space-note{
  margin-top:8px;
  font-family:'Rubik',sans-serif; font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--mute); font-weight:600; text-align:center;
  padding:14px 0; border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
  max-width:660px;
}

/* Vow: ch.7 */
.mf-vow{
  background:var(--ink); color:#FFF;
  padding:36px 32px;
  border-radius:16px;
  max-width:660px;
  margin:8px 0 20px;
  position:relative;
}
.mf-vow::before{
  content:'❝';
  position:absolute; top:14px; left:24px;
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-size:60px;
  color:var(--coral); line-height:1;
}
.mf-vow p{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(20px,2.4vw,28px); line-height:1.45; letter-spacing:-.015em;
  color:#FFF; margin:0; padding-left:44px;
}
.mf-vow-sign{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center;
  max-width:660px;
}
.mf-vow-sign .line-lbl{
  font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--mute); font-weight:600;
}
.mf-vow-sign .line{
  flex:1; min-width:160px; height:1px; background:var(--ink); opacity:.6;
}
.mf-vow-sign .line.short{ flex:0 0 120px; min-width:auto; }

/* Doors: ch.8 */
.mf-doors{
  display:grid; grid-template-columns:1fr; gap:10px;
  max-width:560px; margin-top:24px;
}
@media(min-width:768px){ .mf-doors{ grid-template-columns:1fr 1fr; } }
.mf-door{
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:14px;
  padding:16px 22px;
  background:#FFF; border:1px solid var(--line);
  border-radius:10px; text-decoration:none; color:var(--ink);
  transition:border-color .35s ease, background .35s ease, transform .5s var(--ease);
}
.mf-door:hover{ background:var(--coral); color:#FFF; border-color:var(--coral); transform:translateY(-2px); }
.mf-door .d-eye{
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--coral); font-weight:700;
}
.mf-door:hover .d-eye{ color:#FFF; }
.mf-door .d-name{
  font-family:'Rubik',sans-serif; font-weight:700; font-size:14px; letter-spacing:-.01em;
}
.mf-door .d-arr{ font-size:14px; opacity:.6; transition:transform .4s var(--ease); }
.mf-door:hover .d-arr{ transform:translateX(4px); opacity:1; }

/* Manifesto download row */
.manifesto-download-row{
  max-width:1080px; margin:64px auto 0;
  padding:36px;
  background:var(--ink); color:#FFF;
  border-radius:20px;
  display:grid; grid-template-columns:1fr; gap:28px; align-items:center;
  position:relative; overflow:hidden;
}
@media(min-width:768px){ .manifesto-download-row{ grid-template-columns:1fr auto; gap:36px; } }
.mdr-eyebrow{
  font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--coral);
  font-weight:700; margin-bottom:10px;
}
.mdr-title{
  font-family:'Rubik',sans-serif; font-weight:800; font-size:clamp(24px,3vw,36px);
  letter-spacing:-.03em; line-height:1.1; color:#FFF; margin:0 0 10px;
}
.mdr-sub{
  font-size:14px; line-height:1.55; color:rgba(255,255,255,.7); max-width:480px; margin:0;
}
.mdr-right{ display:flex; gap:8px; flex-wrap:wrap; }
.mdr-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.08); color:#FFF;
  padding:14px 20px; border-radius:9999px;
  border:1px solid rgba(255,255,255,.18);
  font-family:'Rubik',sans-serif; font-weight:600; font-size:11.5px;
  letter-spacing:.04em; cursor:pointer;
  transition:background .35s ease, border-color .35s ease, transform .4s var(--ease);
}
.mdr-btn:hover{ background:var(--coral); border-color:var(--coral); transform:translateY(-2px); }
.mdr-btn .mdr-arr{ font-size:14px; }

/* ============================================================
   09 THE WALL: community ending
   ============================================================ */
.wall-section{
  background:var(--inkDeep); color:#FFF;
  padding:72px 40px 48px;
  position:relative; overflow:hidden;
}
.wall-section::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(800px 500px at 20% 10%, rgba(234,104,82,0.08), transparent 60%),
    radial-gradient(900px 600px at 80% 90%, rgba(149,212,233,0.06), transparent 60%);
  pointer-events:none;
}
.wall-cover{
  max-width:820px; margin:0 auto 36px;
  text-align:center; position:relative; z-index:2;
}
.wall-eyebrow{
  display:inline-flex; align-items:center; gap:14px;
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.55); font-weight:700; margin-bottom:18px;
}
.wall-eyebrow::before, .wall-eyebrow::after{ content:''; width:32px; height:1px; background:rgba(255,255,255,.25); }
.wall-h{
  font-family:'Rubik',sans-serif; font-weight:800;
  font-size:clamp(34px,5.4vw,72px); line-height:1; letter-spacing:-.04em;
  color:#FFF; margin:0;
}
.wall-h em{ color:var(--coral); font-style:italic; font-weight:800; }
.wall-sub{
  margin-top:20px;
  font-size:14px; line-height:1.6; color:rgba(255,255,255,.7);
  max-width:520px; margin-left:auto; margin-right:auto;
}
.wall-sub strong{ color:#FFF; font-weight:600; }
.wall-live{
  margin-top:18px;
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 18px; border:1px solid rgba(255,255,255,.18); border-radius:9999px;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.75); font-weight:600;
}
.wall-live strong{ color:var(--coral); font-weight:700; }
.wall-live .wld{
  width:8px; height:8px; border-radius:50%; background:var(--coral);
  animation:livePulse 1.4s var(--ease) infinite;
}

/* The grid of pledge tiles */
.wall-grid{
  max-width:1320px; margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  grid-auto-rows:1fr;
  grid-template-rows:repeat(2, 1fr);
  gap:8px;
  overflow:hidden;
  position:relative; z-index:2;
}
@media(min-width:560px){ .wall-grid{ grid-template-columns:repeat(3, 1fr); } }
@media(min-width:900px){ .wall-grid{ grid-template-columns:repeat(4, 1fr); } }
@media(min-width:1200px){ .wall-grid{ grid-template-columns:repeat(6, 1fr); gap:10px; } }
.wall-tile{
  position:relative;
  aspect-ratio:1/1;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  padding:14px;
  display:flex; flex-direction:column; justify-content:space-between;
  cursor:pointer; overflow:hidden;
  transition:background .4s var(--ease), border-color .4s var(--ease), transform .5s var(--ease-slow);
  opacity:0; transform:translateY(10px) scale(.96);
  animation:tileIn .6s var(--ease-slow) forwards;
}
@keyframes tileIn{
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.wall-tile.coral{ background:var(--coral); border-color:var(--coral); }
.wall-tile.coral .wt-name{ color:#FFF; }
.wall-tile.coral .wt-line{ color:rgba(255,255,255,.92); }
.wall-tile.coral .wt-meta{ color:rgba(255,255,255,.7); }
.wall-tile:hover{
  background:rgba(234,104,82,.95); border-color:var(--coral); transform:translateY(-3px);
}
.wall-tile:hover .wt-name,
.wall-tile:hover .wt-line{ color:#FFF; }
.wall-tile:hover .wt-meta{ color:rgba(255,255,255,.7); }
.wall-tile .wt-name{
  font-family:'Rubik',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:-.01em; color:#FFF; line-height:1.2;
}
.wall-tile .wt-line{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:12px; line-height:1.3; color:rgba(255,255,255,.7);
  opacity:0; transition:opacity .4s ease;
}
.wall-tile:hover .wt-line{ opacity:1; }
.wall-tile .wt-default{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:13px; line-height:1.25; color:rgba(255,255,255,.55);
  transition:opacity .35s ease;
}
.wall-tile:hover .wt-default{ opacity:0; }
.wall-tile .wt-meta{
  font-size:9px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.4); font-weight:600;
}

/* Specifically marked "you" tile after pledge commit */
.wall-tile.you{
  background:#FFF; border:2px solid var(--coral);
  animation:youGlow 2s ease infinite, tileIn .6s var(--ease-slow) forwards;
}
.wall-tile.you .wt-name{ color:var(--ink); }
.wall-tile.you .wt-line, .wall-tile.you .wt-default{ color:var(--coral); opacity:1; }
.wall-tile.you .wt-meta{ color:var(--coral); }
@keyframes youGlow{
  0%,100%{ box-shadow:0 0 0 0 rgba(234,104,82,0); }
  50%{ box-shadow:0 0 0 6px rgba(234,104,82,.15); }
}

.wall-foot{
  max-width:720px; margin:40px auto 0;
  text-align:center; position:relative; z-index:2;
}
.wall-heart{
  width:40px; margin:0 auto 14px;
  animation:heartbeat 1.8s var(--ease) infinite;
}
.wall-foot-line{
  font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:clamp(18px,2vw,26px); line-height:1.35; color:#FFF;
  margin:0 0 20px;
}
.wall-foot-line em{ color:var(--coral); font-style:italic; }
.wall-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 22px; border-radius:9999px;
  background:var(--coral); color:#FFF; text-decoration:none;
  font-family:'Rubik',sans-serif; font-weight:600; font-size:12px; letter-spacing:.04em;
  transition:background .35s ease, gap .4s var(--ease), transform .4s var(--ease);
}
.wall-cta:hover{ background:var(--coralDeep); gap:14px; transform:translateY(-2px); }

/* Post-pledge toast */
.post-pledge-toast{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(120%);
  background:var(--ink); color:#FFF;
  padding:14px 22px 14px 14px; border-radius:9999px;
  display:flex; align-items:center; gap:14px;
  box-shadow:0 20px 50px rgba(10,34,64,.4);
  z-index:120; cursor:pointer;
  transition:transform .8s var(--ease-slow), opacity .6s ease;
  opacity:0;
  max-width:calc(100vw - 32px);
}
.post-pledge-toast.on{ transform:translateX(-50%) translateY(0); opacity:1; }
.post-pledge-toast img{
  width:36px; height:36px;
  animation:heartbeat 1.4s var(--ease) infinite;
}
.post-pledge-toast .ppt-eye{
  font-size:9px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--coral); font-weight:700;
}
.post-pledge-toast .ppt-line{
  font-family:'Rubik',sans-serif; font-weight:600; font-size:14px; letter-spacing:-.01em;
  display:flex; align-items:center; gap:8px;
}
.post-pledge-toast:hover .ppt-line span{ transform:translateX(4px); }
.post-pledge-toast .ppt-line span{ transition:transform .4s var(--ease); display:inline-block; }

/* ============== EASTER EGG ============== */
.easter-egg{ position:fixed; inset:0; z-index:300;
  background:rgba(10,34,64,.95); backdrop-filter:blur(20px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .6s ease, visibility .6s ease; }
.easter-egg.on{ opacity:1; visibility:visible; pointer-events:auto; }
.ee-card{ background:transparent; padding:48px; max-width:480px; text-align:center; color:#FFF; }
.ee-card img{ width:48px; margin:0 auto 24px; animation:heartbeat 1.6s var(--ease) infinite; }
.ee-card h4{ font-family:'Hurme Geometric Sans','Rubik',sans-serif; font-style:italic; font-weight:400;
  font-size:24px; line-height:1.4; margin:0 0 16px; }
.ee-card p{ font-size:13px; letter-spacing:.04em; color:rgba(255,255,255,.6); margin:0; }
.ee-card .close{ margin-top:32px;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--coral);
  cursor:pointer; background:none; border:none; font-weight:600; }

/* ============== MOBILE ============== */
@media(max-width:768px){
  nav.site{ padding:14px 20px; }
  nav.site.solid{ padding:10px 20px; }
  nav.site .nav-cta{ padding:8px 14px; font-size:10px; }
  .hb-badge{ width:38px; height:38px; top:14px; right:14px; }
  .hero{ padding:32px 20px; }
  .hero-counter-top{ top:15px; left:20px; }
  .reframe-wrap{ height:auto; }
  .reframe-pin{ position:relative; padding:64px 20px; min-height:auto; height:auto; }
  .reframe-marker{ position:static; margin-bottom:24px; }
  .reframe-progress{ display:none; }
  .reframe-grid{ margin-top:32px; gap:32px; }
  .silence-section{ padding:48px 20px; }
  .worlds-intro{ padding:64px 20px 24px; }
  .worlds-canvas{ padding:32px 20px 64px; }
  .worlds-sticky{ position:relative; top:0; height:auto; }
  .world-chapter{ padding:32px 0; }
  .live-section{ padding:64px 20px; }
  .live-grid{ gap:32px; }
  .live-map{aspect-ratio:4/5; }
  .pledge-section{ padding:64px 20px; }
  .pledge-card{ transform:rotate(0); padding:24px 20px; }
  .pledge-grid{ gap:32px; }
  .voices-section{ padding:64px 20px; }
  .v-card.size-tall{ grid-row:auto; }
  /* Manifesto mobile */
  .manifesto-section{ padding:64px 20px 56px; }
  .manifesto-cover{ margin-bottom:40px; gap:32px; }
  .mf-cover-meta{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .mf-book{ width:220px; height:300px; }
  .mf-book-stack{ font-size:26px; }
  .mf-chapter-head{ grid-template-columns:44px 1fr 24px; gap:14px; padding:22px 20px; }
  .mf-chapter-head:hover{ padding-left:24px; }
  .mf-ch-num{ font-size:24px; }
  .mf-chapter.open .mf-chapter-body{ padding:0 20px 28px 20px; }
  .mf-vow{ padding:28px 22px; }
  .mf-vow p{ padding-left:0; font-size:18px; }
  .mf-vow::before{ display:none; }
  .manifesto-download-row{ padding:28px 22px; margin-top:48px; }
  .mdr-right{ flex-direction:column; align-items:stretch; }
  .mdr-btn{ justify-content:space-between; }
  /* Wall mobile */
  .wall-section{ padding:48px 20px 36px; }
  .wall-grid{ gap:6px; }
  .wall-tile{ padding:10px; border-radius:8px; }
  .wall-tile .wt-name{ font-size:11px; }
  .wall-tile .wt-default,.wall-tile .wt-line{ font-size:10px; }
  .wall-tile .wt-meta{ font-size:8px; }
  .wall-cover{ margin-bottom:28px; }
  .wall-foot{ margin-top:32px; }
  /* Toast mobile */
  .post-pledge-toast{ bottom:14px; padding:10px 18px 10px 10px; }
  .post-pledge-toast img{ width:30px; height:30px; }
  .post-pledge-toast .ppt-line{ font-size:13px; }
}

/* ============================================================
   ACCESSIBILITY LAYER (additive: no change to default visuals)
   ============================================================ */
/* Skip link: visible only on keyboard focus */
.skip-link{ position:fixed; top:-60px; left:16px; z-index:300;
  background:var(--coral); color:#FFF; font-size:13px; font-weight:600;
  padding:10px 18px; border-radius:9999px; text-decoration:none;
  transition:top .3s var(--ease); }
.skip-link:focus{ top:16px; }

/* Visible keyboard focus on interactive elements (mouse users unaffected) */
a:focus-visible, button:focus-visible, input:focus-visible,
[role="button"]:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--coral); outline-offset:3px; border-radius:6px;
}
/* Pointer affordance for the elements we promoted to buttons */
.pledge-item, .v-card[data-voice], .mf-chapter-head, .hb-badge.on{ cursor:pointer; }


.reframe-h, .worlds-intro h2, .world-chapter .wc-title, .live-left h2, .pledge-h, .voices-head h2, .mf-cover-title, .mdr-title, .wall-h{font-weight:700 !important; letter-spacing:-.025em !important; font-style:normal !important; line-height:1.08;}
.reframe-marker, .worlds-intro .marker, .live-left .marker, .pledge-left .marker, .voices-head .marker, .mf-marker, .mdr-eyebrow, .wall-eyebrow, .world-chapter .wc-num{font-weight:600 !important;}

51%{transform:scaleY(1); transform-origin:bottom;}
.worlds-visual-img img{width:100%; max-width:400px; height:auto;}
footer{background:var(--inkDeep); color:rgba(255,255,255,.6); padding:32px 40px 20px; font-family:'Rubik',sans-serif; font-size:11px; display:flex; flex-direction:column; gap:16px;}
footer{padding:24px 20px;}
footer .row{display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center;}
footer .brand{font-family:'Rubik',sans-serif; font-weight:700; font-size:14px; color:#FFF; letter-spacing:-.01em; text-decoration:none;}
footer .brand{display:inline-flex; align-items:center;}
footer .brand .dot{color:var(--coral);}
footer .links{display:flex; gap:18px; flex-wrap:wrap;}
footer .links a{color:rgba(255,255,255,.65); text-decoration:none; transition:color .3s ease;}
footer .links a:hover{color:var(--coral);}
footer .copy{opacity:.45; font-size:10px;}
.hero-typewriter .q-line, .silence-line{font-weight:500; letter-spacing:-.01em;}
nav.site .brand img{height:22px; width:auto; display:block;}
footer .brand img{height:18px; width:auto; display:block;}

/* reframe headline on the locked system: stack and 500 weight, size untouched */
.reframe-h{ font-family:'Rubik',Calibri,Arial,sans-serif; font-weight:500 !important; }


/* standard register below the worlds intro. hero, reframe, silence and the worlds intro line stay untouched. */
.world-chapter .wc-title{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:clamp(19px,2.1vw,26px); line-height:1.25; letter-spacing:-.025em; font-weight:500 !important; font-style:normal; }
.live-left h2, .pledge-h, .voices-head h2, .wall-h, .mf-cover-title, .mdr-title{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:clamp(26px,2.9vw,36px); line-height:1.12; letter-spacing:-.025em; font-weight:500 !important; font-style:normal; }
.world-chapter .wc-title em, .live-left h2 em, .pledge-h em, .voices-head h2 em, .wall-h em{ font-style:normal; color:var(--coral); letter-spacing:-.006em; }
.world-chapter .wc-marker, .live-left .marker, .pledge-left .marker, .voices-head .marker, .wall-eyebrow, .wc-practice .wp-label, .live-ticker-head .lt-title{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:11px; letter-spacing:.22em; font-weight:700 !important; text-transform:uppercase; font-style:normal; }
.world-chapter .wc-num, .mf-ch-num, .live-ticker-head .lt-count{ font-weight:600; letter-spacing:-.02em; }
.mf-book-stack{ font-weight:500; }
.world-chapter .wc-body, .live-left p, .mf-chapter-body > p, .wall-sub{ font-size:16px; line-height:1.75; letter-spacing:-.005em; }
.v-card.font-sans-light .v-quote{ font-weight:400; }


/* no italics except what users wrote: voices quotes, wall lines, pledge inputs */
em, i, .hero-typewriter .q-line, .hero-tagline, .hero-tagline span, .reframe-h .yes-it,
.silence-line, .mf-book-stack .it, .mf-chapter-body .mf-lead, .mf-pull, .mf-after strong,
.mf-questions li, .mf-vow p, .wall-foot-line, .ee-card h4{ font-style:normal; }
.v-card .v-quote, .v-card .v-quote em, .wall-tile .wt-line, .wall-tile .wt-default,
.pledge-name-input, .pledge-msg-input{ font-style:italic; }


/* no intro: the hero opens directly on the raising better wordmark */
.hero-typewriter{ display:none !important; }
.hero-skip{ display:none !important; }
.hero-final{ opacity:1 !important; transform:translateY(0) !important; }

.flex.flex-wrap.flex-md-nowrap.gap.justify-center.justify-between-1025.align-center.topbar__section-inner.gap-10.gap-lg-25.fs-custom.body_weight {
    display: flex;
    align-items: center;
    justify-content: center;
}

.flex.flex-wrap.flex-md-nowrap.gap.justify-center.justify-between-1025.align-center.topbar__section-inner.gap-10.gap-lg-25.fs-custom.body_weight .swiper-action.gradient.show-arrow.static.absolute-md.align-center.left-0.inset-y-0.z-3.flex.gap-20.pe-1025-25.pe-0 {
    display: none;
}
.flex.flex-wrap.flex-md-nowrap.gap.justify-center.justify-between-1025.align-center.topbar__section-inner.gap-10.gap-lg-25.fs-custom.body_weight .swiper-slide.text-center {text-align:center !important;}



/* spacing pass: void areas tightened. desktop values here, mobile restated below. */
.hero{ height:auto; min-height:0; padding:150px 40px 130px; }
.silence-section{ min-height:0; padding:110px 40px; }
.reframe-wrap{ height:150vh; }
@media(max-width:768px){
  .hero{ padding:96px 20px 80px; }
  .silence-section{ padding:72px 20px; }
  .reframe-wrap{ height:auto; }
}


/* emotional balance: dark stays where trust lives, three sections open into light pauses */

/* the silence pause reads on soft ground */
.silence-section{ background:var(--soft); color:var(--ink); }
.silence-line{ color:var(--ink); }


/* the handbook reads on a light ground, its ink text legible again; the coral book, navy vow and download card stay as designed objects */
.manifesto-section{ background:var(--wash); }


/* worlds intro on the font system; em specificity hole closed for the no-italics ruling */
.worlds-intro .marker{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:11px; letter-spacing:.22em; font-weight:700 !important; text-transform:uppercase; }
.worlds-intro h2{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:clamp(26px,2.9vw,36px); line-height:1.12; letter-spacing:-.025em; font-weight:500 !important; font-style:normal; }
.worlds-intro h2 em{ font-style:normal; color:var(--coral); letter-spacing:-.006em; }
.hero-typewriter .q-line em, .reframe-answer .ra-text em, .silence-line em,
.world-chapter .wc-title em, .live-left h2 em, .pledge-h em, .voices-head h2 em, .wall-h em,
.mf-cover-title em, .mf-chapter-body > p em, .mf-truth-list em, .mf-actions em, .wall-foot-line em{ font-style:normal; }


/* reading comfort: the opened chapter becomes a calm reading room */
.mf-chapter.open{ border-radius:14px; border-bottom-color:transparent; box-shadow:0 10px 34px rgba(10,34,64,.06); }
.mf-chapter.open .mf-chapter-body{ max-height:4200px; padding:8px 44px 46px 116px; }
.mf-chapter-body > p{ font-size:16.5px; line-height:1.85; margin:0 0 20px; max-width:640px; }
.mf-lead{ line-height:1.55; margin-bottom:22px; }
.mf-truth-list{ gap:20px; }
.mf-truth-list li{ padding:20px 0; line-height:1.7; }
.mf-actions li{ padding:18px 22px; border-radius:12px; line-height:1.7; }
.mf-questions li{ padding:20px 26px 20px 64px; border-radius:12px; line-height:1.7; }
.mf-pull{ padding:24px 28px; border-radius:0 12px 12px 0; line-height:1.6; }
.mf-after{ padding-top:16px; line-height:1.75 !important; }
@media(max-width:768px){
  .mf-chapter.open .mf-chapter-body{ padding:4px 20px 32px; }
}


/* expanded chapters: system exactness inside, and quick-grasp anchors */
.mf-chapter-body .mf-lead, .mf-pull, .mf-questions li{ font-family:'Rubik',Calibri,Arial,sans-serif; }
.mf-truth-list .num, .mf-questions li::before{ font-weight:600; }
.mf-principle .mp-name{ font-weight:600; }
.mf-three-body strong, .mf-after strong{ font-weight:600; }
.mf-truth-list em, .mf-actions em{ color:var(--coral); font-weight:500; letter-spacing:-.006em; }
.mf-truth-list .copy{ font-size:15.5px; line-height:1.7; }
.mf-principle .mp-detail, .mf-three-body{ font-size:14px; line-height:1.65; }
.mf-actions .act{ font-size:14.5px; line-height:1.65; }
.mf-actions .day{ font-weight:700; letter-spacing:.22em; }


/* the reveal: raising better breaks onto its own line and carries the moment */
.reframe-h .yes-it{ display:block; font-size:1.12em; }


/* rhythm tightening: void space reduced across the page, pacing kept */
.hero{ padding:120px 40px 100px;height: 100vh; }
.reframe-grid{ margin-top:56px; }
.silence-section{ padding:88px 40px; }
.worlds-intro{ padding:80px 40px 24px; }
.worlds-canvas{ padding:48px 40px; }
.worlds-chapters{ gap:24px; }
.world-chapter{ padding:40px 0; }
.live-section{ padding:68px 40px; }
.pledge-section{ padding:68px 40px; }
.voices-section{ padding:68px 40px; }
.manifesto-section{ padding:80px 40px 64px; }
.manifesto-cover{ margin-bottom:44px; }
.manifesto-download-row{ margin-top:44px; }
.wall-section{ padding:64px 40px 44px; }
@media(max-width:768px){
  .hero{ padding:72px 20px 60px; }
  .silence-section{ padding:56px 20px; }
  .worlds-intro{ padding:52px 20px 20px; }
  .worlds-canvas{ padding:28px 20px 44px; }
  .live-section, .pledge-section, .voices-section{ padding:52px 25px; overflow:hidden; }
  .manifesto-section{ padding:52px 20px 44px; }
  .manifesto-download-row{ margin-top:36px; }
  .wall-section{ padding:44px 20px 32px; }
}


/* voices grid compacted: cards size to their words, no forced double-height voids */
.voices-wall{ gap:16px; grid-auto-rows:minmax(170px,auto); }
.v-card{ padding:24px 22px; }
.v-card.size-tall{ grid-row:auto; }


/* silence section: void trimmed, the line keeps its own breathing room */
.silence-line{ margin:0; }
.silence-section{ padding:56px 40px; }
@media(max-width:768px){
  .silence-section{ padding:40px 20px; }
}


/* practice tile hover: sky instead of the coral tint */
.world-chapter .wc-practice:hover{ border-color:var(--sky); background:var(--skySoft); }


/* india map: layered land, graticule, connection arcs, cities scaled by pledges */
.live-map-svg .grat line{ stroke:rgba(149,212,233,.07); stroke-width:.5; }
.live-map-svg .grat-in line{ stroke:rgba(149,212,233,.14); }
.live-map-svg .land-glow{ fill:rgba(149,212,233,.22); }
.live-map-svg .land-fill{ fill:url(#ggLandFill); }
.live-map-svg .isle{ fill:rgba(149,212,233,.12); stroke:rgba(149,212,233,.38); stroke-width:.6; }
.live-map-svg .land-edge{ fill:none; stroke:rgba(149,212,233,.42); stroke-width:1.1; stroke-linejoin:round; }
.live-map-svg .arc{ fill:none; stroke:rgba(149,212,233,.16); stroke-width:.7; }
.live-map-svg .arc-live{ fill:none; stroke:var(--coral); stroke-width:1.4; stroke-linecap:round; opacity:.85;
  stroke-dasharray:5 999; animation:arcFlow 8s linear infinite; animation-delay:var(--d,0s); }
.live-map-svg .mspark{ pointer-events:none; }
.live-map-svg .sp-core{ fill:var(--coral); opacity:.55; }
.live-map-svg .sp-ping{ fill:var(--coral); opacity:.26; transform-box:fill-box; transform-origin:center;
  animation:cityPing 6.4s var(--ease) infinite; animation-delay:var(--d,0s); }
.live-map-svg .mcity{ cursor:pointer; outline:none; }
.live-map-svg .mcity .hub{ fill:url(#ggHubGlow); pointer-events:none; }
.live-map-svg .mcity .ping{ fill:var(--coral); opacity:.4; transform-box:fill-box; transform-origin:center;
  animation:cityPing 3.4s var(--ease) infinite; animation-delay:var(--d,0s); }
.live-map-svg .mcity .halo{ fill:none; stroke:#FFF; stroke-width:1.2; opacity:0; transition:opacity .3s ease; }
.live-map-svg .mcity .core{ fill:var(--coral); transform-box:fill-box; transform-origin:center; transition:transform .3s var(--ease); }
.live-map-svg .mcity:hover .core, .live-map-svg .mcity:focus .core{ transform:scale(1.35); }
.live-map-svg .mcity:hover .halo, .live-map-svg .mcity:focus .halo{ opacity:.75; }
.live-map-svg .mlabel{ opacity:0; transform:translateY(4px); transition:opacity .28s ease, transform .28s var(--ease); pointer-events:none; }
.live-map-svg .mcity:hover .mlabel, .live-map-svg .mcity:focus .mlabel{ opacity:1; transform:translateY(0); }
.live-map-svg .ml-stem{ stroke:rgba(255,255,255,.35); stroke-width:1; }
.live-map-svg .mlabel rect{ fill:var(--ink); stroke:rgba(255,255,255,.18); }
.live-map-svg .ml-city{ fill:#FFF; font-family:'Rubik',Calibri,Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.01em; text-anchor:middle; }
.live-map-svg .ml-num{ fill:rgba(255,255,255,.72); font-family:'Rubik',Calibri,Arial,sans-serif; font-size:9px; font-weight:500; letter-spacing:.08em; text-anchor:middle; }

/* the map frame */
.live-map{ background:radial-gradient(120% 90% at 50% 0%, rgba(149,212,233,.10), rgba(10,34,64,.55) 60%, rgba(10,34,64,.75) 100%);
  border-color:rgba(255,255,255,.10); box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 24px 60px rgba(10,34,64,.35); }
.live-map-title{ display:inline-flex; align-items:center; gap:8px; }
.live-map-title::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--coral); animation:livePulse2 1.6s ease infinite; }

@keyframes cityPing{
  0%{ transform:scale(1); opacity:.4; }
  70%{ transform:scale(3.4); opacity:0; }
  100%{ transform:scale(3.4); opacity:0; }
}
@keyframes arcFlow{
  0%{ stroke-dashoffset:0; opacity:0; }
  8%{ opacity:.85; }
  55%{ stroke-dashoffset:-320; opacity:.85; }
  70%{ stroke-dashoffset:-420; opacity:0; }
  100%{ stroke-dashoffset:-420; opacity:0; }
}
@media (prefers-reduced-motion: reduce){
  .live-map-svg .sp-ping, .live-map-svg .mcity .ping, .live-map-svg .arc-live, .live-map-title::before{ animation:none; }
  .live-map-svg .arc-live{ opacity:.5; stroke-dasharray:none; }
}




/* heart badge, load screen and heart particles removed. markup stays so the
   developer's scroll and pledge handlers keep their elements and never throw. */
#loader{ display:none !important; }
.hb-badge{ display:none !important; }
.heart-particle{ display:none !important; }


/* handbook accordions on the about us register: eyebrows 10/.42/700, h3 titles at 500,
   body 16/1.75, leads 18/1.7, full rubik stacks throughout */
.mf-chapter .mf-ch-eyebrow{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:10px; letter-spacing:.42em; font-weight:700; }
.mf-chapter .mf-ch-title{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:clamp(19px,2.1vw,26px); font-weight:500; line-height:1.25; letter-spacing:-.025em; }
.mf-chapter .mf-ch-num{ font-family:'Rubik',Calibri,Arial,sans-serif; font-weight:600; letter-spacing:-.02em; }
.mf-chapter-body .mf-lead{ font-size:18px; font-weight:400; line-height:1.7; letter-spacing:-.005em; }
.mf-chapter-body > p,
.mf-truth-list .copy,
.mf-actions .act,
.mf-principle .mp-detail,
.mf-three-body,
.mf-questions li,
.mf-pull,
.mf-cover-tag{ font-size:16px; line-height:1.75; letter-spacing:-.005em; }
.mf-three-body{ font-weight:400; }
.mf-after{ font-family:'Rubik',Calibri,Arial,sans-serif !important; font-size:16px !important; line-height:1.75 !important; letter-spacing:-.005em; }
.mf-vow p{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:18px; line-height:1.7; letter-spacing:-.005em; font-weight:400; }
.mf-principle .mp-name{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:17px; font-weight:600; letter-spacing:-.02em; }
.mf-truth-list .num, .mf-questions li::before{ font-family:'Rubik',Calibri,Arial,sans-serif; font-weight:600; letter-spacing:-.02em; }
.mf-actions .day{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:10px; letter-spacing:.42em; font-weight:700; }


/* the silence statement, recomposed: quiet premise, then the line that should stay with you */
.silence-line .sl-setup{ display:block; font-family:'Rubik',Calibri,Arial,sans-serif; font-size:16px; line-height:1.75; letter-spacing:-.005em; font-weight:500; color:var(--slate); margin-bottom:20px; }
.silence-line .sl-hero{ display:block; font-family:'Rubik',Calibri,Arial,sans-serif; font-size:clamp(30px,4vw,52px); line-height:1.08; letter-spacing:-.03em; font-weight:500; color:var(--ink); }
@media(max-width:768px){
  .silence-line .sl-setup{ font-size:15px; margin-bottom:14px; }
  .silence-line .sl-hero{ font-size:clamp(26px,7vw,34px); }
}


/* hero: balanced breathing room, not compressed */
.hero{ padding:104px 40px 84px; }
@media(max-width:768px){
  .hero{ padding:64px 20px 56px; }
}



/* worlds intro title on the live section's system: same marker spec, same heading scale */
.worlds-intro .marker{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700 !important; margin-bottom:18px; }
.worlds-intro h2{ font-family:'Rubik',Calibri,Arial,sans-serif; font-size:clamp(26px,2.9vw,36px); font-weight:500 !important; line-height:1.12; letter-spacing:-.025em; margin-top:0; }


/* worlds intro: the phrase carries the line, weight matched to the heading */
.worlds-intro h2 em{ font-weight:500; }

/* live section: map spans both rows on desktop, ticker sits under the copy */
@media(min-width:1024px){
  .live-grid{ align-items:start; }
  .live-left  { grid-column:1; grid-row:1; }
  .live-ticker{ grid-column:1; grid-row:2; max-height:none; height:auto; }
  .live-map   { grid-column:2; grid-row:1 / span 2; }
}

/* mobile: let the map set its own height, label above it, no dead bands */
@media(max-width:768px){
  .live-map{ aspect-ratio:auto; max-height:none; padding:20px; }
  .live-map-svg{ height:auto; display:block; }
  .live-map-title{ position:static; margin-bottom:10px; }
  .live-ticker{ height:auto; max-height:420px; }
}

/* live ticker: fixed viewing window so the -50% loop never gaps */
.live-ticker { height: auto; max-height: none; }
.live-ticker-list { flex: none; height: 280px; overflow: hidden; }

@media (max-width: 768px) {
  .live-ticker-list { height: 240px; }
}