/* ============================================================
   PURNAM — SHARED DESIGN SYSTEM (redesign v2: warm-tableau)
   Ported from the approved prototype. Edit here; rebuild propagates.
   ============================================================ */

/* ==========================================================================
   PURNAM — programme page
   Elevates assets/purnam.css. Tokens unchanged; new components added.
   ========================================================================== */

:root{
  --paper:#FAF1E4; --paper-warm:#FFF8E8; --paper-cool:#F4EADB; --paper-deep:#EFE2CD;
  --ink:#1F1308; --ink-soft:#4A3228; --ink-muted:#7A6050; --ink-faint:#A89078;
  --saffron:#C84818; --saffron-deep:#A8300A; --saffron-soft:#F5A040; --gold:#D4993E;
  --wa:#25D366; --wa-dark:#1EB654;
  --rule:rgba(31,19,8,.14); --rule-soft:rgba(31,19,8,.08);

  --ff-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --ff-sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --ff-deva:'Noto Serif Devanagari','Sanskrit Text',serif;

  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;
  --s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:160px;

  --measure:66ch;
  --shadow-sm:0 1px 2px rgba(31,19,8,.04),0 2px 8px rgba(31,19,8,.04);
  --shadow-md:0 2px 4px rgba(31,19,8,.05),0 12px 32px rgba(31,19,8,.07);
  --radius:14px;
  --rail:0px;
}
@media(min-width:1100px){ :root{ --rail:132px; } }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;
     -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
     -webkit-tap-highlight-color:transparent}
body{font-family:var(--ff-serif);font-weight:400;font-size:18px;line-height:1.65;
     color:var(--ink);background:var(--paper);overflow-x:hidden}
:lang(hi) body,html[lang^="hi"] body{font-family:var(--ff-deva)}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
h1,h2,h3,h4,p,li{overflow-wrap:break-word}

/* paper grain */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.032;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply}

.container{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--s-5);position:relative;z-index:2}
section{position:relative;z-index:2}
.measure{max-width:var(--measure)}
.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}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);
  padding:12px 20px;border-radius:0 0 8px 0;font-family:var(--ff-sans);font-size:14px}
.skip:focus{left:0}

/* ---------- reading progress ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:120;background:transparent;pointer-events:none}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--saffron));
  transform-origin:0 50%;transition:width .1s linear}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:100;padding:var(--s-4) 0;
  background:rgba(250,241,228,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rule-soft)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5)}
.nav-brand{display:flex;align-items:center;gap:var(--s-3);font-family:var(--ff-serif);
  font-weight:500;font-size:21px;letter-spacing:-.01em}
.nav-brand-mark{width:30px;height:30px;flex-shrink:0}
.nav-links{display:flex;gap:var(--s-5);align-items:center;font-family:var(--ff-sans);
  font-size:14px;letter-spacing:.01em}
.nav-links a:not(.nav-cta){color:var(--ink-soft);padding-bottom:2px;border-bottom:1px solid transparent}
.nav-links a:not(.nav-cta):hover{color:var(--saffron);border-bottom-color:var(--saffron)}
.nav-lang{font-family:var(--ff-deva)}
.nav-cta{background:var(--ink);color:var(--paper);padding:9px 18px;border-radius:999px;
  font-weight:500;transition:background .2s ease}
.nav-cta:hover{background:var(--saffron-deep)}
@media(max-width:760px){ .nav-links a:not(.nav-cta):not(.nav-lang){display:none} .nav-links{gap:var(--s-4)} }

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);
  font-family:var(--ff-sans);font-size:15px;font-weight:500;padding:15px 28px;
  border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  border:1px solid transparent;cursor:pointer}
.btn-whatsapp{background:var(--wa);color:#fff}
.btn-whatsapp:hover{background:var(--wa-dark);transform:translateY(-1px);box-shadow:0 8px 22px rgba(37,211,102,.28)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-warm)}

/* ---------- eyebrow / section heads ---------- */
.eyebrow{font-family:var(--ff-sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--saffron);font-weight:500;display:block}
.section-head{max-width:760px;margin-bottom:var(--s-8)}
.section-head--centered{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{font-family:var(--ff-serif);font-weight:300;font-size:clamp(29px,4.2vw,46px);
  line-height:1.12;letter-spacing:-.02em;margin:var(--s-4) 0 var(--s-4)}
.section-head h2 em{font-style:italic;color:var(--saffron);font-weight:400}
.section-head p{font-size:clamp(17px,1.6vw,19px);line-height:1.6;color:var(--ink-soft);font-weight:300}

/* ---------- HERO ---------- */
.hero{padding:var(--s-9) 0 var(--s-7);overflow:hidden;position:relative}
.hero::before{content:'';position:absolute;top:-260px;right:-180px;width:680px;height:680px;
  background:radial-gradient(circle,rgba(245,160,64,.20) 0%,transparent 62%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--s-7);align-items:center}
@media(min-width:900px){ .hero-grid{grid-template-columns:1.08fr .92fr;gap:var(--s-8)} }
.hero-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);
  font-family:var(--ff-sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-muted);margin-bottom:var(--s-5)}
.hero-kicker .k-strong{color:var(--saffron);font-weight:500;letter-spacing:.2em}
.hero-kicker .sep{color:var(--ink-faint)}
.hero h1{font-family:var(--ff-serif);font-weight:300;font-size:clamp(34px,5.6vw,60px);
  line-height:1.06;letter-spacing:-.028em;margin-bottom:var(--s-5)}
.hero h1 em{font-style:italic;color:var(--saffron);font-weight:400}
.hero-sub{font-size:clamp(17px,2vw,21px);line-height:1.58;color:var(--ink-soft);
  font-weight:300;max-width:60ch;margin-bottom:var(--s-6)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
@media(max-width:420px){ .hero-actions{flex-direction:column;align-items:stretch} .hero-actions .btn{width:100%} }

/* trust strip — facts only, no claims, no badges */
.trust{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--rule-soft);
  display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);
  font-family:var(--ff-sans);font-size:13px;color:var(--ink-muted)}
.trust span{display:inline-flex;align-items:center;gap:7px;line-height:1.4}
.trust svg{flex:0 0 auto;color:var(--saffron);opacity:.85}
.trust .deva{font-family:var(--ff-deva)}

.hero-art{position:relative}
.hero-art svg{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.hero-art figcaption{margin-top:var(--s-3);font-family:var(--ff-sans);font-size:12px;
  color:var(--ink-faint);line-height:1.5;text-align:center}

/* ---------- ANSWER-FIRST (AEO extraction target) ---------- */
.answer-first{padding:var(--s-7) 0 var(--s-8)}
.answer-card{max-width:74ch;margin:0 auto;padding:var(--s-6) var(--s-6) var(--s-6) var(--s-7);
  position:relative;background:var(--paper-warm);border:1px solid var(--rule-soft);
  border-left:3px solid var(--saffron);border-radius:0 var(--radius) var(--radius) 0;
  box-shadow:var(--shadow-sm)}
.answer-card p{font-family:var(--ff-serif);font-size:clamp(19px,2.2vw,23px);line-height:1.58;
  font-weight:300;letter-spacing:-.005em}
.answer-card .eyebrow{margin-bottom:var(--s-4)}
@media(max-width:640px){ .answer-card{padding:var(--s-5) var(--s-5) var(--s-5) var(--s-5)} }

/* ---------- REFERRAL / SAFETY ---------- */
.referral{max-width:74ch;margin:0 auto;padding:var(--s-5) var(--s-6);
  background:#FFF4E2;border:1px solid rgba(200,72,24,.22);border-left:4px solid var(--saffron-deep);
  border-radius:0 var(--radius) var(--radius) 0}
.referral-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);
  font-family:var(--ff-sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--saffron-deep);font-weight:600}
.referral p{font-size:16px;line-height:1.7;color:var(--ink-soft);font-weight:300}
.referral p strong{color:var(--ink);font-weight:500}

/* ---------- SCENARIOS — "the day you don't see" ---------- */
.scenarios{padding:var(--s-9) 0;background:var(--paper-cool);
  border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.gal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);
  margin-bottom:var(--s-6)}
.gal-head .section-head{margin-bottom:0}
.gal-nav{display:none;gap:var(--s-2);flex:0 0 auto}
@media(min-width:900px){ .gal-nav{display:flex} }
.gal-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--rule);
  background:var(--paper-warm);color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:all .2s ease}
.gal-btn:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gal-btn:disabled{opacity:.32;cursor:default}

.gal-scroller{display:flex;gap:var(--s-5);overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding:var(--s-2) 0 var(--s-5);
  scrollbar-width:thin;scrollbar-color:var(--ink-faint) transparent}
.gal-scroller::-webkit-scrollbar{height:5px}
.gal-scroller::-webkit-scrollbar-thumb{background:var(--ink-faint);border-radius:3px}
.gal-scroller::before,.gal-scroller::after{content:'';flex:0 0 max(0px,calc((100vw - 1180px)/2))}
.gal-card{flex:0 0 clamp(240px,74vw,332px);scroll-snap-align:center;
  background:var(--paper-warm);border:1px solid var(--rule-soft);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .3s ease,box-shadow .3s ease}
@media(min-width:900px){ .gal-card{flex-basis:308px;scroll-snap-align:start} }
.gal-card:hover,.gal-card:focus-within{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.gal-card figure{margin:0;line-height:0}
.gal-card svg{width:100%;height:auto;display:block}
.gal-time{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-5) 0;
  font-family:var(--ff-sans);font-size:12px;letter-spacing:.14em;color:var(--saffron);font-weight:500}
.gal-time .dot{width:5px;height:5px;border-radius:50%;background:var(--saffron);opacity:.7}
.gal-card p{padding:var(--s-3) var(--s-5) var(--s-6);font-family:var(--ff-serif);font-size:17px;
  line-height:1.55;color:var(--ink);font-weight:300}
.gal-foot{margin-top:var(--s-4);font-family:var(--ff-sans);font-size:13px;color:var(--ink-muted);
  text-align:center}
.gal-foot .swipe{display:inline-flex;align-items:center;gap:7px}
@media(min-width:900px){ .gal-foot .swipe{display:none} }

/* ---------- SUBSTANCE ---------- */
.prose{padding:var(--s-10) 0}
.prose-wrap{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:1100px){
  .prose-wrap{grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--s-7);
    max-width:940px;margin:0 auto}
}
.prose-rail{display:none}
@media(min-width:1100px){
  .prose-rail{display:block;position:sticky;top:120px;align-self:start;
    font-family:var(--ff-sans);font-size:12px;line-height:1.5;color:var(--ink-faint)}
  .prose-rail ol{list-style:none;counter-reset:r}
  .prose-rail li{counter-increment:r;padding:7px 0 7px var(--s-4);border-left:2px solid var(--rule-soft);
    transition:color .25s ease,border-color .25s ease}
  .prose-rail li.on{color:var(--saffron);border-left-color:var(--saffron)}
  .prose-rail a{display:block}
}
.prose-body{max-width:var(--measure)}
.prose-body h2{font-family:var(--ff-serif);font-weight:300;font-size:clamp(26px,3.4vw,36px);
  line-height:1.18;letter-spacing:-.02em;margin:var(--s-9) 0 var(--s-5);scroll-margin-top:110px}
.prose-body h2:first-of-type{margin-top:0}
.prose-body p{font-size:18.5px;line-height:1.78;color:var(--ink-soft);font-weight:300;margin-bottom:var(--s-5)}
.prose-body p em{font-style:italic;color:var(--ink)}
.prose-body strong{color:var(--ink);font-weight:500}
.prose-body > p:first-of-type::first-letter{
  font-family:var(--ff-serif);float:left;font-size:64px;line-height:.82;font-weight:400;
  color:var(--saffron);margin:6px var(--s-3) 0 0}
html[lang^="hi"] .prose-body > p:first-of-type::first-letter{float:none;font-size:inherit;
  color:inherit;margin:0} /* Devanagari matras break drop caps — disable for hi */
.rule-orn{display:flex;align-items:center;justify-content:center;gap:var(--s-3);
  margin:var(--s-8) 0;color:var(--ink-faint)}
.rule-orn::before,.rule-orn::after{content:'';height:1px;flex:1;max-width:120px;background:var(--rule)}
.rule-orn span{width:5px;height:5px;border-radius:50%;background:var(--saffron);opacity:.6}
.pull{margin:var(--s-7) 0;padding:var(--s-5) 0 var(--s-5) var(--s-6);
  border-left:3px solid var(--gold);font-family:var(--ff-serif);font-style:italic;
  font-size:clamp(21px,2.6vw,26px);line-height:1.42;color:var(--ink);font-weight:300;
  letter-spacing:-.01em}

/* ---------- TRY TODAY ---------- */
.try-today{padding:var(--s-10) 0;background:var(--paper-warm);
  border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.try-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:var(--s-5);
  max-width:1000px;margin:0 auto}
.try-item{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--radius);
  padding:var(--s-6) var(--s-5);position:relative;transition:transform .25s ease,box-shadow .25s ease}
.try-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.try-num{font-family:var(--ff-serif);font-size:34px;line-height:1;font-weight:300;
  color:var(--saffron);opacity:.42;margin-bottom:var(--s-4);font-variant-numeric:oldstyle-nums}
.try-item h3{font-family:var(--ff-serif);font-weight:400;font-size:20px;line-height:1.3;
  margin-bottom:var(--s-3)}
.try-item p{font-size:16px;line-height:1.65;color:var(--ink-soft);font-weight:300}

/* ---------- TRANSITION ---------- */
.transition{padding:var(--s-9) 0;text-align:center}
.transition p{max-width:52ch;margin:0 auto;font-family:var(--ff-serif);font-style:italic;
  font-weight:300;font-size:clamp(21px,3vw,31px);line-height:1.38;letter-spacing:-.012em}
.transition em{font-style:normal;color:var(--saffron-deep)}

/* ---------- PROGRAMME / TIMELINE ---------- */
.program{padding:var(--s-10) 0;background:var(--paper-cool);border-top:1px solid var(--rule-soft)}
.timeline{max-width:820px;margin:0 auto;position:relative}
.timeline::before{content:'';position:absolute;left:13px;top:14px;bottom:14px;width:2px;
  background:linear-gradient(180deg,var(--saffron),var(--gold),var(--rule));opacity:.45}
@media(min-width:760px){ .timeline::before{left:96px} }
.tl-step{position:relative;display:grid;grid-template-columns:1fr;gap:var(--s-2);
  padding:0 0 var(--s-7) var(--s-7)}
@media(min-width:760px){
  .tl-step{grid-template-columns:96px 1fr;gap:var(--s-7);padding-left:0;align-items:start}
}
.tl-step:last-child{padding-bottom:0}
.tl-marker{font-family:var(--ff-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--saffron);font-weight:600;padding-top:3px}
@media(min-width:760px){ .tl-marker{text-align:right} }
.tl-step::before{content:'';position:absolute;left:7px;top:6px;width:15px;height:15px;
  border-radius:50%;background:var(--paper-cool);border:2px solid var(--saffron);z-index:2}
@media(min-width:760px){ .tl-step::before{left:90px} }
.tl-body h3{font-family:var(--ff-serif);font-weight:400;font-size:clamp(19px,2.2vw,23px);
  line-height:1.3;margin-bottom:var(--s-3)}
.tl-body p{font-size:16.5px;line-height:1.7;color:var(--ink-soft);font-weight:300}

/* ---------- FORMAT ---------- */
.format{padding:var(--s-9) 0}
.format-card{max-width:760px;margin:0 auto;background:var(--paper-warm);
  border:1px solid var(--rule-soft);border-top:3px solid var(--saffron);
  border-radius:var(--radius);padding:var(--s-7) var(--s-6);text-align:center;box-shadow:var(--shadow-sm)}
.format-lede{font-family:var(--ff-serif);font-size:clamp(19px,2.2vw,23px);line-height:1.5;
  font-weight:300;margin-bottom:var(--s-6);max-width:46ch;margin-left:auto;margin-right:auto}
.format-lede em{font-style:italic;color:var(--saffron-deep)}
.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s-5);
  margin-bottom:var(--s-6);padding:var(--s-5) 0;border-top:1px solid var(--rule-soft);
  border-bottom:1px solid var(--rule-soft)}
.fg-item{display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}
.fg-item svg{color:var(--saffron);opacity:.9}
.fg-k{font-family:var(--ff-sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.fg-v{font-family:var(--ff-serif);font-size:16px;color:var(--ink);line-height:1.35;text-align:center}
.format-note{font-family:var(--ff-sans);font-size:14px;line-height:1.6;color:var(--ink-muted)}

/* ---------- FOR / NOT FOR ---------- */
.fit{padding:var(--s-10) 0}
.fit-grid{display:grid;grid-template-columns:1fr;gap:var(--s-6);max-width:960px;margin:0 auto}
@media(min-width:780px){ .fit-grid{grid-template-columns:1fr 1fr;gap:var(--s-7)} }
.fit-col{background:var(--paper-warm);border:1px solid var(--rule-soft);border-radius:var(--radius);
  padding:var(--s-6) var(--s-5)}
.fit-col--not{background:transparent;border-style:dashed}
.fit-col h3{font-family:var(--ff-serif);font-weight:400;font-size:clamp(20px,2.3vw,24px);
  margin-bottom:var(--s-5)}
.fit-col h3 em{font-style:italic;color:var(--saffron)}
.fit-col ul{list-style:none}
.fit-col li{position:relative;padding-left:var(--s-6);font-size:16.5px;line-height:1.6;
  color:var(--ink-soft);font-weight:300;margin-bottom:var(--s-4)}
.fit-col li:last-child{margin-bottom:0}
.fit-col li svg{position:absolute;left:0;top:3px;color:var(--saffron)}
.fit-col--not li svg{color:var(--ink-faint)}

/* ---------- OUTCOMES ---------- */
.outcomes{padding:var(--s-10) 0;background:var(--paper-warm);
  border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.outcome-list{list-style:none;max-width:800px;margin:0 auto;display:grid;gap:var(--s-4)}
.outcome-list li{display:grid;grid-template-columns:36px 1fr;gap:var(--s-4);align-items:start;
  padding:var(--s-4) var(--s-5);background:var(--paper);border:1px solid var(--rule-soft);
  border-radius:var(--radius);font-family:var(--ff-serif);font-size:clamp(17px,1.9vw,19.5px);
  line-height:1.55;font-weight:300}
.outcome-ico{width:32px;height:32px;border-radius:50%;background:rgba(200,72,24,.09);
  display:grid;place-items:center;color:var(--saffron);margin-top:2px}

/* ---------- CREDIBILITY ---------- */
.credibility{padding:var(--s-10) 0}
.cred-grid{display:grid;grid-template-columns:1fr;gap:var(--s-7);max-width:1000px;margin:0 auto}
@media(min-width:820px){ .cred-grid{grid-template-columns:1fr 1fr;gap:var(--s-8)} }
.cred-person{display:flex;gap:var(--s-5);align-items:flex-start;margin-bottom:var(--s-5)}
.cred-photo{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  border:1px solid var(--rule);background:var(--paper-deep)}
.cred-block h3{font-family:var(--ff-serif);font-weight:400;font-size:clamp(20px,2.2vw,24px);
  margin-bottom:var(--s-4)}
.cred-block h3 em{font-style:italic;color:var(--saffron)}
.cred-list{list-style:none}
.cred-list li{position:relative;padding-left:var(--s-5);font-size:16px;line-height:1.6;
  color:var(--ink-soft);font-weight:300;margin-bottom:var(--s-3)}
.cred-list li::before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;
  border-radius:50%;background:var(--saffron);opacity:.75}
.cred-block p{font-size:16.5px;line-height:1.72;color:var(--ink-soft);font-weight:300}
.cred-block p+p{margin-top:var(--s-4)}
.cred-foot{max-width:640px;margin:var(--s-7) auto 0;text-align:center;font-family:var(--ff-serif);
  font-size:clamp(17px,1.9vw,20px);line-height:1.55;color:var(--ink-soft);font-weight:300}
.cred-foot em{font-style:italic;color:var(--saffron)}

/* ---------- ABOUT PURNAM ---------- */
.about{padding:var(--s-10) 0;background:var(--paper-cool);
  border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.about-inner{max-width:760px;margin:0 auto;text-align:center}
.about-label{display:inline-block;font-family:var(--ff-sans);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-muted);font-weight:500;
  padding-bottom:var(--s-3);margin-bottom:var(--s-4);border-bottom:1px solid var(--rule);}
.about-inner .eyebrow{display:block;margin-top:0}
.about-inner h2{font-family:var(--ff-serif);font-weight:300;font-size:clamp(29px,4.2vw,46px);
  line-height:1.12;letter-spacing:-.02em;margin:var(--s-4) 0 var(--s-5)}
.about-inner h2 em{font-style:italic;color:var(--saffron);font-weight:400}
.about-lede{font-family:var(--ff-serif);font-size:clamp(18px,2.1vw,22px);line-height:1.6;
  color:var(--ink-soft);font-weight:300;max-width:60ch;margin:0 auto var(--s-7)}
.about-lede strong{color:var(--ink);font-weight:500}
.about-quote{max-width:56ch;margin:0 auto var(--s-6);padding:var(--s-5) 0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  font-family:var(--ff-serif);font-style:italic;font-weight:300;
  font-size:clamp(19px,2.4vw,25px);line-height:1.42;letter-spacing:-.01em;color:var(--ink)}
.about-quote em{font-style:normal;color:var(--saffron-deep)}
.about-tag{margin-top:var(--s-2)}

/* ---------- METHOD / WHERE THIS COMES FROM ---------- */
.method{padding:0 0 var(--s-10)}
.method-card{max-width:820px;margin:0 auto;background:var(--paper-warm);
  border:1px solid var(--rule-soft);border-left:3px solid var(--gold);
  border-radius:0 var(--radius) var(--radius) 0;padding:var(--s-6) var(--s-7)}
.method-card .eyebrow{margin-bottom:var(--s-4)}
.method-body{max-width:64ch}
.method-body p{font-size:16.5px;line-height:1.72;color:var(--ink-soft);font-weight:300}
.method-body p+p{margin-top:var(--s-4)}
@media(max-width:640px){ .method-card{padding:var(--s-5) var(--s-5)} }

/* ---------- ANTI-POSITIONING ---------- */
.anti{padding:var(--s-8) 0 var(--s-9)}
.anti-inner{max-width:840px;margin:0 auto;text-align:center}
.anti-chips{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-top:var(--s-5)}
.anti-chip{font-family:var(--ff-sans);font-size:13.5px;color:var(--ink-muted);
  background:var(--paper-warm);border:1px solid var(--rule-soft);border-radius:999px;
  padding:9px var(--s-4);display:inline-flex;align-items:center;gap:7px}
.anti-chip svg{color:var(--ink-faint);flex:0 0 auto}

/* ---------- FAQ ---------- */
.faq{padding:var(--s-10) 0;background:var(--paper-cool);border-top:1px solid var(--rule-soft)}
.faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--rule)}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{list-style:none;cursor:pointer;padding:var(--s-5) var(--s-6) var(--s-5) 0;
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);
  font-family:var(--ff-serif);font-size:clamp(17.5px,2.1vw,21px);line-height:1.38;font-weight:400;
  position:relative;transition:color .2s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--saffron-deep)}
.faq-icon{flex:0 0 auto;width:22px;height:22px;position:relative;margin-top:5px}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:var(--saffron);
  border-radius:2px;transition:transform .28s ease,opacity .28s ease}
.faq-icon::before{top:10px;left:0;width:22px;height:2px}
.faq-icon::after{left:10px;top:0;width:2px;height:22px}
.faq-item[open] .faq-icon::after{transform:rotate(90deg);opacity:0}
.faq-body{padding:0 var(--s-7) var(--s-5) 0;font-size:16.5px;line-height:1.72;
  color:var(--ink-soft);font-weight:300;max-width:70ch}

/* ---------- CTA ---------- */
.cta{padding:var(--s-10) 0;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;top:-320px;left:50%;transform:translateX(-50%);
  width:860px;height:860px;background:radial-gradient(circle,rgba(245,160,64,.13) 0%,transparent 62%);
  pointer-events:none}
.cta-inner{position:relative;z-index:2;max-width:720px;margin:0 auto;text-align:center}
.cta .eyebrow{color:var(--saffron-soft)}
.cta h2{font-family:var(--ff-serif);font-weight:300;font-size:clamp(30px,4.4vw,46px);
  line-height:1.12;letter-spacing:-.02em;margin:var(--s-4) 0 var(--s-5);color:var(--paper)}
.cta h2 em{font-style:italic;color:var(--saffron-soft);font-weight:400}
.cta-intro{font-size:18px;line-height:1.68;color:rgba(250,241,228,.84);font-weight:300;
  margin:0 auto var(--s-6);max-width:52ch}
.cta-intro em{font-style:italic;color:var(--saffron-soft)}
.cta-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);
  background:var(--wa);color:#fff;padding:17px var(--s-7);border-radius:12px;
  font-family:var(--ff-sans);font-size:16px;font-weight:500;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.cta-whatsapp:hover{background:var(--wa-dark);transform:translateY(-1px);box-shadow:0 10px 26px rgba(37,211,102,.32)}
.cta-tiny{font-family:var(--ff-sans);font-size:13px;color:rgba(250,241,228,.56);
  font-weight:300;margin-top:var(--s-4);line-height:1.5}
.cta-qr{display:none;margin:var(--s-6) auto 0;padding:var(--s-4);background:rgba(250,241,228,.06);
  border:1px solid rgba(250,241,228,.12);border-radius:12px;width:max-content}
@media(min-width:900px){ .cta-qr{display:block} }
.cta-qr figcaption{font-family:var(--ff-sans);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(250,241,228,.5);margin-top:var(--s-3)}
.cta-disclaimer{margin-top:var(--s-8);padding-top:var(--s-5);
  border-top:1px solid rgba(250,241,228,.12);font-family:var(--ff-sans);font-size:12px;
  color:rgba(250,241,228,.46);font-weight:300;line-height:1.65;max-width:70ch;margin-left:auto;margin-right:auto}

/* ---------- RELATED ---------- */
.related{padding:var(--s-9) 0 var(--s-10)}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:var(--s-5);
  max-width:1000px;margin:0 auto}
.related-card{display:flex;flex-direction:column;background:var(--paper-warm);
  border:1px solid var(--rule-soft);border-radius:var(--radius);overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.related-card:hover{transform:translateY(-3px);border-color:var(--saffron);box-shadow:var(--shadow-md)}
.related-card svg{width:100%;height:auto;display:block;line-height:0}
.related-card .rc-body{padding:var(--s-5)}
.related-card .rc-meta{font-family:var(--ff-sans);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--saffron);margin-bottom:var(--s-3);display:block}
.related-card h3{font-family:var(--ff-serif);font-weight:400;font-size:18.5px;line-height:1.32}

/* ---------- FOOTER ---------- */
.footer{padding:var(--s-8) 0 var(--s-7);border-top:1px solid var(--rule-soft);
  font-family:var(--ff-sans);font-size:14px;color:var(--ink-soft)}
.footer-inner{display:grid;grid-template-columns:1fr;gap:var(--s-6);margin-bottom:var(--s-6)}
@media(min-width:720px){ .footer-inner{grid-template-columns:2fr 1fr 1fr;gap:var(--s-7)} }
.footer-brand{display:flex;align-items:center;gap:var(--s-3);font-family:var(--ff-serif);
  font-size:21px;font-weight:500;color:var(--ink);margin-bottom:var(--s-4)}
.footer-tagline{font-family:var(--ff-serif);font-style:italic;font-size:16px;
  max-width:34ch;line-height:1.5;font-weight:300}
.footer-deva{font-family:var(--ff-deva);color:var(--saffron);font-size:16px;margin-top:var(--s-3)}
.footer-col h5{font-family:var(--ff-sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-muted);font-weight:500;margin-bottom:var(--s-4)}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:var(--s-3)}
.footer-col a:hover{color:var(--saffron)}
.footer-bottom{padding-top:var(--s-5);border-top:1px solid var(--rule-soft);display:flex;
  justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-4);
  font-size:12px;color:var(--ink-muted)}
.footer-bottom-left{display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap}

/* ---------- STICKY MOBILE BAR ---------- */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:110;
  padding:10px var(--s-4) calc(10px + env(safe-area-inset-bottom));
  background:rgba(250,241,228,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--rule);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);
  transform:translateY(110%);transition:transform .3s ease;visibility:hidden}
.sticky-bar.on{transform:translateY(0);visibility:visible}
@media(min-width:900px){ .sticky-bar{display:none} }
.sb-text{font-family:var(--ff-sans);font-size:12.5px;line-height:1.35;color:var(--ink-soft);min-width:0}
.sb-text strong{display:block;font-family:var(--ff-serif);font-size:15px;font-weight:500;color:var(--ink)}
.sb-btn{flex:0 0 auto;background:var(--wa);color:#fff;border-radius:999px;padding:12px 20px;
  font-family:var(--ff-sans);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px}
body{padding-bottom:0}
@media(max-width:899px){ body.has-bar{padding-bottom:76px} }

/* ---------- REVEAL / MOTION / A11Y ---------- */
html.js-reveal-ready .reveal{opacity:0;transform:translateY(22px);
  transition:opacity .75s ease,transform .75s ease}
html.js-reveal-ready .reveal.visible{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--saffron);outline-offset:3px;border-radius:3px}
.gal-card:focus-visible{outline-offset:-2px}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
  html.js-reveal-ready .reveal{opacity:1;transform:none}
  .gal-scroller{scroll-snap-type:none}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){ :root{--s-9:76px;--s-10:92px;--s-11:110px} }
@media(max-width:640px){
  :root{--s-7:32px;--s-8:48px;--s-9:58px;--s-10:68px;--s-11:80px}
  body{font-size:17px}
  .container{padding:0 var(--s-4)}
  .hero{padding:var(--s-8) 0 var(--s-7)}
  .prose-body p{font-size:17.5px;line-height:1.72}
  .prose-body > p:first-of-type::first-letter{font-size:52px}
  .format-card{padding:var(--s-6) var(--s-5)}
  .gal-scroller{gap:var(--s-4)}
}
/* ---------- HUB (programmes index) ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-5);
  max-width:1120px;margin:0 auto}
.hub-card{display:flex;flex-direction:column;background:var(--paper-warm);
  border:1px solid var(--rule-soft);border-top:3px solid var(--saffron);border-radius:var(--radius);
  overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.hub-card:hover{transform:translateY(-3px);border-color:var(--saffron);box-shadow:var(--shadow-md)}
.hub-card svg{width:100%;height:auto;background:var(--paper-deep)}
.hub-card .hc-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}
.hub-card h3{font-family:var(--ff-serif);font-weight:400;font-size:20px;line-height:1.3;color:var(--ink)}
.hub-card p{font-size:15px;line-height:1.6;color:var(--ink-soft);font-weight:300}
.hub-card .hc-meta{font-family:var(--ff-sans);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-muted)}

/* ---------- LEGAL PAGES ---------- */
.legal{padding:var(--s-9) 0 var(--s-10)}
.legal-inner{max-width:74ch;margin:0 auto}
.legal-inner h1{font-family:var(--ff-serif);font-weight:300;font-size:clamp(34px,4.6vw,50px);
  line-height:1.1;letter-spacing:-.025em;margin-bottom:var(--s-4)}
.legal-meta{font-family:var(--ff-sans);font-size:13px;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:var(--s-8)}
.legal-inner h2{font-family:var(--ff-serif);font-weight:400;font-size:clamp(22px,2.6vw,28px);
  line-height:1.2;margin:var(--s-8) 0 var(--s-4)}
.legal-inner h3{font-family:var(--ff-serif);font-weight:500;font-size:20px;margin:var(--s-6) 0 var(--s-3)}
.legal-inner p{font-size:17px;line-height:1.75;color:var(--ink-soft);font-weight:300;margin-bottom:var(--s-4)}
.legal-inner ul,.legal-inner ol{margin:0 0 var(--s-5) var(--s-5)}
.legal-inner li{font-size:17px;line-height:1.7;color:var(--ink-soft);font-weight:300;margin-bottom:var(--s-2)}
.legal-inner strong{color:var(--ink);font-weight:500}
.legal-inner a{color:var(--saffron-deep);border-bottom:1px solid var(--rule)}
.legal-inner a:hover{border-bottom-color:var(--saffron)}
.legal-inner table{width:100%;border-collapse:collapse;margin-bottom:var(--s-5);font-size:15px}
.legal-inner th,.legal-inner td{text-align:left;padding:var(--s-3) var(--s-4);
  border-bottom:1px solid var(--rule-soft);font-weight:300;color:var(--ink-soft);line-height:1.55}
.legal-inner th{font-family:var(--ff-sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-muted);font-weight:500}
