/* teacher-training.css — Evolutionary Prana Vinyasa Teacher Training.
   Cloned from the /about cinematic language on top of shared.css
   (light --bone body sections; dark hero, films & closing).
   We resume from this clone and reshape section by section.
   Brand accent = favicon gradient (amber->copper) via .gx (shared.css). */

.wrap--narrow{max-width:960px}
.br-d{display:inline}


.tt-card__sub {
    padding-left: 0.5em;
    padding-right: 0.5em;
}

/* snappy reveal (override shared.css's slower .6s/26px) */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* brand accent (amber) on the light sections (kickers, labels) */
.tt-head .kicker,.tt-path__stamp,.tt-path__creator-label,.tt-defs b,.tt-rootsA__also,.tt-quote__kick,.tt-quote__cite{color:var(--gold)}
.tt-quote__cite span{color:rgba(58,42,30,.55)}

/* shared section header — light sections (ink) */
.tt-head{text-align:center;margin-bottom:clamp(2.2rem,5vh,3.6rem)}
.tt-head__h{font-family:"Cinzel Decorative",serif;font-weight:400;color:var(--ink);font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.18;margin-top:.7rem}
.tt-head__sub{font-weight:300;font-size:clamp(.92rem,1.4vw,1.04rem);color:rgba(58,42,30,.72);margin-top:.85rem;letter-spacing:.03em;max-width:54ch;margin-inline:auto}

/* ============ HERO (dark — all text white, accent word gradient) ============ */
.tt-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black);color:#fff}
.tt-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,11,.46) 0%,rgba(8,7,11,.22) 40%,rgba(8,7,11,.4) 72%,rgba(8,7,11,.72) 100%)}
.tt-hero__in{position:relative;z-index:2;text-align:center;max-width:62rem;padding-top:12vh;padding-bottom:12vh}
.tt-hero__kick{color:#fff;margin-bottom:1.1rem;text-shadow:0 1px 12px rgba(0,0,0,.6);     font-weight: 600;}
/* two-tier title: "Evolutionary Prana Vinyasa" (Cinzel) over "Teacher Training" (Cinzel Decorative) */
.tt-hero__h{display:flex;flex-direction:column;align-items:center;gap:clamp(.1rem,.6vh,.4rem);color:#fff;text-shadow:0 2px 26px rgba(0,0,0,.5),0 1px 5px rgba(0,0,0,.4)}
.tt-hero__pre{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.5rem,3.4vw,2.6rem);letter-spacing:.04em;line-height:1.1}
.tt-hero__main{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.6rem,6.6vw,5rem);line-height:1.02}
.tt-hero__h em{font-style:normal}
.tt-hero__tag{margin:1.4rem auto 0;max-width:42rem;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.18rem,2.1vw,1.65rem);line-height:1.5;color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.6)}
.tt-hero__cta{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2.1rem}
.tt-hero__logo{display:block;width:clamp(140px,15vw,190px);height:auto;margin:1.8rem auto 0;filter:drop-shadow(0 2px 12px rgba(0,0,0,.5))}
.tt-hero__cue{position:absolute;left:50%;bottom:2.4%;transform:translateX(-50%);z-index:2;color:#fff;opacity:.85}
.tt-hero__cue svg{width:32px;height:auto;animation:tt-bob 2.3s linear infinite}
@keyframes tt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* ============ A LETTER FROM SHIVA (light) ============ */
.tt-letter{background:var(--bone);color:var(--ink);padding:clamp(5rem,13vh,9rem) 0}
.tt-letter__body{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.2rem,2.1vw,1.6rem);line-height:1.6;color:rgba(58,42,30,.92);text-align:center}
.tt-letter__body p{margin-bottom:1em}
.tt-letter__pillars{list-style:none;margin:clamp(2.4rem,6vh,4rem) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2.4rem}
.tt-letter__pillars li{border-top:1px solid rgba(233,170,54,.4);padding-top:1rem}
.tt-letter__tag{display:block;font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.66rem;color:var(--gold);margin-bottom:.55rem}
.tt-letter__pillars p{font-weight:300;font-size:.96rem;line-height:1.55;color:rgba(58,42,30,.74)}
.tt-letter__sign{text-align:center;margin-top:clamp(2.4rem,6vh,3.6rem)}
.tt-letter__valed{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.1rem,1.8vw,1.4rem);color:rgba(58,42,30,.78);line-height:1.5;margin-bottom:.4rem}
.tt-letter__sign img{display:block;width:clamp(150px,18vw,210px);height:auto;margin:.4em auto 0}

/* ============ IMAGE BAND (dark image punctuation) ============ */
.tt-band{position:relative;display:grid;place-items:center;min-height:clamp(360px,54vh,560px);overflow:hidden;text-align:center;padding:2rem var(--pad)}
.tt-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-band__veil{position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 50%,rgba(8,7,11,.32),rgba(8,7,11,.62))}
.tt-band__quote{position:relative;z-index:1;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.45rem,3.4vw,2.5rem);line-height:1.3;color:#fff;max-width:20ch;text-shadow:0 1px 18px rgba(0,0,0,.6)}

/* ============ THE PATH / BIO (light) ============ */
.tt-path{position:relative;background:var(--bone);color:var(--ink);padding:clamp(4rem,11vh,8rem) 0}
.tt-path__split{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;max-width:1180px;margin-inline:auto}
.tt-path__stamp{font-family:"Julius Sans One",sans-serif;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;margin-bottom:1.4rem}
.tt-path__h{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.85rem,3.6vw,2.85rem);line-height:1.14;color:var(--ink)}
.tt-path__h em{font-style:italic;color:#E9AA36}
.tt-path__lede{margin-top:1.25rem;font-weight:300;font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.65;color:rgba(58,42,30,.82);max-width:54ch}
.tt-path__creator-label{margin-top:1.9rem;font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:.66rem}
.tt-path__creator{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:.95rem 0 0;padding:0}
.tt-path__creator li{font-family:"Julius Sans One",sans-serif;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(58,42,30,.78);border:1px solid rgba(58,42,30,.2);border-radius:999px;padding:.5em .95em;background:rgba(255,255,255,.55)}
.tt-path__media{margin:0;position:relative}
.tt-path__media img{width:100%;height:auto;border-radius:20px;box-shadow:0 36px 84px -32px rgba(0,0,0,.5)}
.tt-path__creds{display:flex;gap:1.1rem;align-items:center;justify-content:center;margin-top:1.4rem}
.tt-path__creds img{width:74px;height:74px;filter:brightness(0) saturate(100%);opacity:.42}

/* ============ ROOTS — version A (old shivarea about, verbatim) ============ */
.tt-rootsA{background:var(--cream);color:var(--ink);padding:clamp(4.5rem,12vh,8rem) 0;text-align:center}
.tt-rootsA__intro{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.2rem,2.2vw,1.6rem);color:rgba(58,42,30,.78);margin-bottom:clamp(1.8rem,4vh,2.6rem)}
.tt-defs{list-style:none;margin:0 auto clamp(1.8rem,4vh,2.6rem);padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem 2.4rem;max-width:780px}
.tt-defs li{max-width:18rem}
.tt-defs b{display:block;font-family:"Cinzel Decorative",serif;font-weight:400;font-size:1.3rem;margin-bottom:.3rem}
.tt-defs span{font-weight:300;font-size:.92rem;line-height:1.5;color:rgba(58,42,30,.72)}
.tt-rootsA__p{font-weight:300;font-size:clamp(1rem,1.45vw,1.14rem);line-height:1.7;color:rgba(58,42,30,.8);max-width:60ch;margin:0 auto}
.tt-rootsA__also{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;margin:clamp(2rem,5vh,3rem) 0 1.2rem}
.tt-poem{list-style:none;margin:0 auto;padding:0;max-width:54ch;display:flex;flex-direction:column;gap:.55rem}
.tt-poem li{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.4;color:rgba(58,42,30,.82)}

/* ============ TESTIMONIAL · Sally Kempton — light ============ */
.tt-quote{background:var(--bone);color:var(--ink);padding:clamp(5rem,13vh,9rem) 0}
.tt-quote__in{text-align:center}
.tt-quote__kick{margin-bottom:.7rem}
.tt-quote__h{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.18;color:var(--ink);margin-bottom:clamp(1.8rem,4.5vh,2.6rem)}
.tt-quote__q{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.28rem,2.5vw,2rem);line-height:1.5;color:rgba(58,42,30,.92);max-width:30em;margin:0 auto}
.tt-quote__q p{margin-bottom:.85em}
.tt-quote__cite{display:block;margin-top:2rem;font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.05rem,1.7vw,1.3rem);font-style:normal}
.tt-quote__cite span{display:block;margin-top:.6rem;font-family:"Julius Sans One",sans-serif;font-weight:400;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase}
.tt-quote__cite em{font-style:italic}

/* ============ TEND THE FIRE · full-bleed film band (compact) ============ */
.tt-tend{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black);padding:clamp(7rem,20vh,13rem) 0}
.tt-tend__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* big screens: anchor the film to the top so the teacher isn't cropped out */
@media (min-width:1671px){.tt-tend__bg{object-position:center top}}
.tt-tend__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,11,.5),rgba(8,7,11,.4) 50%,rgba(8,7,11,.6) 100%)}
.tt-tend__in{position:relative;z-index:2;text-align:center;color:#fff;max-width:54rem}
.tt-tend__logo{display:block;width:clamp(150px,17vw,205px);height:auto;margin:0 auto 1.5rem;filter:drop-shadow(0 2px 12px rgba(0,0,0,.5))}
.tt-tend__h{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.22;text-shadow:0 1px 16px rgba(0,0,0,.55)}
.tt-tend__cta{margin-top:1.8rem}
.xyzcssctatt{margin-top:2rem}

/* ============ CLOSING CTA (dark) ============ */
.tt-final{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black)}
.tt-final__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-final__veil{position:absolute;inset:0;background:linear-gradient(180deg,var(--black) 0%,rgba(8,7,11,.7) 16%,rgba(8,7,11,.42) 42%,rgba(8,7,11,.72) 74%,#08070b 100%)}
.tt-final__in{position:relative;z-index:2;text-align:center;color:#fff;padding-top:10vh;padding-bottom:10vh}
.tt-final__logo{margin:0 auto 12px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.tt-final .kicker{color:#F6CE9C;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.tt-final__h{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.1rem,5.4vw,4rem);line-height:1.1;margin-top:1rem;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.tt-final__sub{margin-top:1.1rem;font-weight:300;font-size:clamp(.95rem,1.5vw,1.12rem);letter-spacing:.04em;color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.tt-final__cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2rem}

/* ============ WELCOME + PROGRAMS GRID (light bone; 12 tiles -> click popups) ============ */
.tt-programs{background:var(--bone);color:var(--ink);padding:clamp(4.5rem,12vh,8rem) 0}
.tt-programs__head{text-align:center;margin-bottom:clamp(2.4rem,5vh,3.6rem)}
.tt-programs__h{font-family:"Cinzel Decorative",serif;font-weight:400;color:var(--ink);font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.2}
.tt-programs__sub{margin-top:.95rem;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.5rem,2.8vw,2.1rem);color:rgba(58,42,30,.74);line-height:1.25}

/* tiles — faithful copy of backup .square geometry (image in natural flow,
   dark overlay rgba .45, text block parked at top:40%); instant, no fade-in.
   Grid capped + fixed gap so columns never spread on ultra-wide screens.
   Title Cinzel / sub Julius Sans One. */
.tt-grid{list-style:none;max-width:1590px;margin-inline:auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px)}
.tt-card{list-style:none;margin:0}
.tt-card__btn{display:block;position:relative;width:100%;border:0;padding:0;background:#15110d;cursor:pointer;overflow:hidden;transition:filter .35s var(--ease)}
.tt-card__btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* the image IS the background that zooms in-frame (overflow:hidden on btn) */
.tt-card__img{display:block;width:100%;height:auto;transition:transform .7s var(--ease)}
.tt-card__btn:hover .tt-card__img{transform:scale(1.06)}
.tt-card__btn::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:rgba(0,0,0,.45);transition:background .35s var(--ease);pointer-events:none}
.tt-card__wrap{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}
.tt-card__content{position:relative;top:40%;padding:20px clamp(34px,12%,72px);text-align:center;color:#fff;width:100%}
.tt-card__title{display:block;font-family:"Cinzel",serif;text-transform:uppercase;font-weight:500;font-size:clamp(1.05rem,1.45vw,1.35rem);letter-spacing:.04em;line-height:1.2;margin:0 0 .5rem 0;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.tt-card__sub{display:block;font-family:"Julius Sans One",sans-serif;font-weight:400;font-size:clamp(.72rem,.9vw,.84rem);letter-spacing:.06em;line-height:1.45;text-transform:lowercase;color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.55)}
/* hover (home 3x3 pattern): bg image zooms IN-FRAME (tile stays put) + dim siblings */
.tt-card__btn:hover::before{background:rgba(0,0,0,.28)}
.tt-grid:has(.tt-card__btn:hover) .tt-card__btn:not(:hover){filter:brightness(.42)}

/* ---------- modal / popup ---------- */
.tt-modal{position:fixed;inset:0;z-index:300;display:none;padding:max(4vh,18px) max(4vw,16px)}
.tt-modal.is-open{display:grid;place-items:center}
.tt-modal[hidden]{display:none}
.tt-modal.is-open[hidden]{display:grid}
.tt-modal__overlay{position:absolute;inset:0;background:rgba(6,5,9,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.tt-modal__dialog{position:relative;z-index:1;width:min(720px,100%);max-height:90vh;overflow-y:auto;background:var(--bone);color:var(--ink);border-radius:0;padding:clamp(2rem,4vw,3.4rem) clamp(1.8rem,3.5vw,3rem);box-shadow:0 40px 100px -30px rgba(0,0,0,.8);animation:tt-modal-in .28s var(--ease)}
@keyframes tt-modal-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* close X — plain grey glyph (backup mfp-close: opacity .5, no circle, 32px) */
.tt-modal__close{position:absolute;top:.4rem;right:.7rem;width:44px;height:44px;border:0;background:transparent;color:#000;opacity:.5;font-size:32px;line-height:44px;text-align:center;cursor:pointer;transition:opacity .2s var(--ease);z-index:2}
.tt-modal__close:hover,.tt-modal__close:focus{opacity:1}
.tt-modal__h{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.16;color:var(--ink);text-align:center;margin:0 0 1.1rem}
/* divider flourish — backup divider.png (1024x14), under the title */
.tt-modal__divider{display:block;width:100%;height:14px;background:url(/assets/img/tt/divider.png) no-repeat center center;margin:0 auto 22px}
.tt-modal__banner{display:block;width:100%;height:auto;margin:0 auto 1.4rem}
/* body keeps the ORIGINAL alignment: left by default, inline text-align:center
   on the elements that were centred in the backup square pages */
.tt-modal__body{font-weight:400;text-align:left}
.tt-modal__body p{font-size:16px;line-height:1.5;color:#6e4a15;margin:0 0 18px}
.tt-modal__body b,.tt-modal__body strong{color:#990000;font-weight:700}
.tt-modal__body em,.tt-modal__body i{font-style:italic}
.tt-modal__body ul{margin:0 auto 18px;padding:0;list-style-position:inside}
.tt-modal__body li{font-size:16px;line-height:1.5;color:#6e4a15;margin-bottom:.4em}
.tt-modal__body a{color:var(--copper);text-decoration:underline;text-underline-offset:2px}

/* curve divider (light testimonial -> dark closing) */
.tt-curve{line-height:0;margin-top:-1px;margin-bottom:-1px;background:#08070b}
.tt-curve svg{display:block;width:100%;height:clamp(66px,7.6vw,120px)}

/* ============ TEACHER TRAINING TABS (backup teacher-training.html tokens) ============ */
.tt-tabs{background:var(--bone);color:#6e4a15;padding:clamp(3.5rem,9vh,6rem) 0}
/* tab switch scrolls here — keep it clear of the fixed navbar (+breathing room) */
.tt-tabs .page-tabs{max-width:1100px;margin-inline:auto;scroll-margin-top:clamp(90px,12vh,120px)}
/* pill nav — backup .tab-links (#e7d5b4 cream / #992839 maroon selected) */
.tt-tabs .tab-links{margin:0 0 30px}
.tt-tabs .tab-links ul{list-style:none;margin:0;padding:0;text-align:center}
.tt-tabs .tab-links li{display:inline-block;margin:0 3px 6px}
.tt-tabs .tab-links a{display:block;padding:9px 22px;background:#e7d5b4;color:#6e4a15;font-family:"Raleway",sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease)}
.tt-tabs .tab-links a:hover,.tt-tabs .tab-links li.selected a{background:#992839;color:#e7d5b4}
/* panels */
.tt-tabs .tab-content{display:none}
.tt-tabs .tab-content.tab-active{display:block;animation:tt-tab-in .5s var(--ease)}
@keyframes tt-tab-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tt-tabs .tab-content.tab-active{animation:none}}
/* tab title with divider.png flourish above + below (backup .divider-before) */
.tt-tabs .headings{font-family:"Cinzel",serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.7rem,3.8vw,2.7rem);line-height:1.1;text-align:center;color:#6e4a15;margin:0;padding:clamp(1.6rem,4vh,2.6rem) 0}
.tt-tabs .headings::before,.tt-tabs .headings::after{content:"";display:block;min-width:100%;height:14px;background:url(/assets/img/tt/divider.png) no-repeat center center}
.tt-tabs .headings::before{margin:0 0 clamp(1.4rem,3vh,2.2rem)}
.tt-tabs .headings::after{margin:clamp(1.4rem,3vh,2.2rem) 0 0}
/* body copy — backup tokens (centred where .center, 65% column) */
.tt-tabs .tab-description{width:65%;margin:0 auto}
.tt-tabs .full-width .tab-description{width:100%}
.tt-tabs .center{text-align:center}
.tt-tabs .tab-content p{font-size:16px;line-height:1.5;color:#6e4a15;margin:0 0 18px}
.tt-tabs .tab-content .intro{font-size:24px;line-height:1.3;text-transform:capitalize;font-weight:300}
.tt-tabs .tab-content h2,.tt-tabs .tab-content h3{font-family:"Cinzel",serif;margin:50px 0 14px;font-weight:600;color:#6e4a15;font-size:clamp(1.3rem,2.4vw,1.8rem)}
.tt-tabs .tab-content ul{margin:0 0 18px;padding-left:1.2em;text-align:left;display:inline-block}
.tt-tabs .tab-content li{font-size:16px;line-height:1.5;color:#6e4a15;margin-bottom:.4em}
.tt-tabs .tab-content a{color:#992839;text-decoration:underline;text-underline-offset:2px}
.tt-tabs .tab-content img{max-width:100%;height:auto;margin:18px auto;display:block}
/* accordion — backup .accordion (icon-font swapped for CSS +/-) */
.tt-tabs .accordion{margin:0 0 30px;border-bottom:1px solid #e3b741}
.tt-tabs .accordion dt{border-top:1px solid #e3b741;cursor:pointer;padding:20px 40px;margin:0;position:relative;font-weight:700;font-size:18px;text-align:center;color:#6e4a15;-webkit-user-select:none;user-select:none}
.tt-tabs .accordion dt::after{content:"+";position:absolute;top:50%;right:14px;transform:translateY(-50%);font-size:26px;line-height:1;color:#992839}
.tt-tabs .accordion dt.accordion-active::after{content:"\2212"}
.tt-tabs .accordion dd{display:none;padding:0 20px 20px;margin:0;text-align:center}
.tt-tabs .accordion dd.is-open{display:block}
.tt-tabs .accordion-training-wrapper .intro{margin-top:60px}
@media (max-width:760px){
  .tt-tabs .tab-description{width:100%}
  .tt-tabs .accordion dt{padding:18px 34px 18px 10px;text-align:left}
}

/* ============ MENTORSHIP PARALLAX (shivarea ytt300) ============ */
.yp-parallax{position:relative;overflow:hidden;background:var(--plum-deep);padding:clamp(5rem,16vh,10rem) 0;text-align:center}
.yp-parallax__bg{position:absolute;inset:0;background:url(/assets/img/tt/ytt-parallax-banyan.webp) center center/cover no-repeat;background-attachment:fixed}
.yp-parallax__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(74,44,69,.74),rgba(53,36,56,.7))}
.yp-parallax__in{position:relative;z-index:2;color:#fff;max-width:62rem}
.yp-parallax__h{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.4;text-shadow:0 1px 16px rgba(0,0,0,.45)}
.yp-parallax__p{font-family:"Cinzel",serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(.8rem,1.15vw,.98rem);line-height:1.8;color:rgba(255,255,255,.9);margin-top:1.5rem;text-shadow:0 1px 12px rgba(0,0,0,.4)}
@media (max-width:900px){ .yp-parallax__bg{background-attachment:scroll} }

/* ============ HIGHLIGHTS ACCORDION (shivarea ytt300) ============ */
.yp-highlights{background:var(--bone);color:var(--ink);padding:clamp(4rem,11vh,7rem) 0}
.yp-highlights__head{display:flex;flex-direction:row;align-items:center;gap:clamp(.9rem,1.8vw,1.5rem);max-width:1000px;margin:0 auto clamp(1.4rem,3vh,2rem);justify-content: center;}
.yp-highlights__mandala{width:clamp(58px,6.5vw,90px);height:auto;display:block;flex:none}
.yp-highlights__h{font-family:"Cinzel Decorative",serif;font-weight:400;text-align:left;font-size:clamp(1.5rem,3.4vw,2.5rem);text-transform:uppercase;letter-spacing:.03em;color:var(--gold);margin:0;line-height:1.12}
/* accordion in a white card (home .live__hero widget tokens) */
.yp-acc{max-width:1000px;margin-inline:auto;background:#fff;border-radius:18px;padding:clamp(.4rem,1.4vw,1rem) clamp(1.3rem,2.6vw,2.4rem);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.yp-acc__item{border-bottom:1px solid rgba(58,42,30,.18)}
.yp-acc__item:last-child{border-bottom:0}
.yp-acc__head{display:flex;align-items:center;gap:1.1rem;width:100%;background:none;border:0;cursor:pointer;padding:clamp(1.2rem,2.6vh,1.8rem) .2rem;text-align:left}
.yp-acc__icon{flex:none;width:14px;height:14px;position:relative;order:-1}
.yp-acc__icon::before{content:"";position:absolute;left:1px;top:2px;width:9px;height:9px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .3s var(--ease)}
.yp-acc__head[aria-expanded="true"] .yp-acc__icon::before{transform:rotate(-135deg)}
.yp-acc__title{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.05rem,1.8vw,1.5rem);color:var(--gold);line-height:1.22}
.yp-acc__panel{overflow:hidden}
.yp-acc__panel[hidden]{display:none}
.yp-acc__body{padding:.2rem .4rem clamp(1.4rem,3vh,2rem) 2.6rem;animation:tt-tab-in .4s var(--ease)}
.yp-acc__body p{font-size:clamp(.96rem,1.2vw,1.05rem);line-height:1.7;color:rgba(58,42,30,.85);margin:0 0 1em}
.yp-acc__body ul,.yp-acc__body ol{margin:0 0 1em;padding-left:1.3em}
.yp-acc__body li{font-size:1rem;line-height:1.6;color:rgba(58,42,30,.82);margin-bottom:.4em}
.yp-acc__body em,.yp-acc__body i{font-style:italic}
.yp-acc__body strong,.yp-acc__body b{font-weight:600;color:var(--ink)}
@media (max-width:600px){ .yp-acc__body{padding-left:1.2rem} }

/* ============ CLOSING IMAGE (shivarea ytt300 bonfire — aligned to content width) ============ */
.yp-finalimg{line-height:0;background:var(--bone);padding:clamp(1.5rem,4vh,2.6rem) var(--pad) clamp(3rem,8vh,5rem)}
.yp-finalimg img{display:block;width:100%;max-width:1000px;margin-inline:auto;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}

/* ============ MENTORSHIP DETAILS (white — shivarea ytt300, verbatim) ============ */
.yp-details{background:var(--terracotta);color:#fff;padding:clamp(2.5rem,6vh,4rem) 0 clamp(4rem,10vh,7rem)}
.yp-details__in{max-width:760px;margin-inline:auto;text-align:center;padding-bottom: 6em;padding-top: 3em;}
.yp-details__h{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.2rem,2.2vw,1.7rem);color:#fff;margin:clamp(2.2rem,5vh,3rem) 0 1rem;text-shadow:0 1px 12px rgba(0,0,0,.16)}
.yp-details__h:first-child{margin-top:0}
.yp-details__body p{font-size:clamp(.96rem,1.2vw,1.05rem);line-height:1.7;color:rgba(255,255,255,.94);margin:0 0 1em}
.yp-details__body ul{list-style:none;margin:0 0 1em;padding:0}
.yp-details__body li{font-size:clamp(.96rem,1.2vw,1.05rem);line-height:1.6;color:rgba(255,255,255,.94);margin-bottom:.35em}
.yp-details__body em{font-style:italic}
.yp-details__cta{margin-top:clamp(2rem,5vh,3rem)}

/* ============ TEACHER'S PATH MENTORSHIP BAND (shivarea ytt300) ============ */
.yp-mentor{background:var(--terracotta);color:#fff;padding:clamp(3.5rem,9vh,6rem) 0 0;text-align:center}
.yp-mentor__in{max-width:62rem}
.yp-mentor__h{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.35rem,2.9vw,2.3rem);line-height:1.32;text-shadow:0 1px 12px rgba(0,0,0,.18)}
.yp-mentor__name{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.45rem,3vw,2.4rem);margin-top:.5rem}
.yp-mentor__meta{font-family:"Cinzel",serif;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1rem,1.7vw,1.4rem);margin-top:1.1rem;color:rgba(255,255,255,.96)}
.yp-mentor__media{margin:clamp(2.4rem,5vw,3.4rem) auto 0;max-width:1120px;padding:0 var(--pad)}
.yp-mentor__media img{display:block;width:100%;height:auto;max-height:62vh;object-fit:cover;border-radius:18px 18px 18px 18px}

/* orange wavy curve (shivarea section-divider, verbatim path) */
.yp-curve{line-height:0;background:#fff}
.yp-curve svg{display:block;width:100%;height:clamp(44px,6vw,92px)}

/* ============ TEACHING PATH WITH SHIVA REA (solar card, wavy bottom) ============ */
/* orange section with a SINGLE wavy bottom: the bg is clipped (backup
   section-divider clip-path) revealing the white section below; a copper
   stroke traces the wave. White card (straight bottom) sits above it. */
.yp-teaching{position:relative;background:#fff;padding:clamp(3rem,8vh,5rem) var(--pad) clamp(6rem,11vw,11rem)}
.yp-teaching__defs{position:absolute;width:0;height:0}
.yp-teaching__bg{position:absolute;inset:0;z-index:0;background:var(--terracotta);clip-path:url(#yp-tp-clip)}
.yp-teaching__inner{position:relative;z-index:1}
.yp-teaching__label{font-family:"Cinzel Decorative",serif;font-weight:400;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.4rem,3vw,2.3rem);margin:0 0 clamp(2rem,5vh,3rem)}
.yp-teaching__card{position:relative;max-width:1180px;margin-inline:auto;background:#fff;text-align:center;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,3.5rem) clamp(3rem,6vw,4.5rem)}
.yp-teaching__circle{width:clamp(150px,22vw,260px);height:auto;display:block;margin:0 auto clamp(1.2rem,2.4vw,1.8rem)}
.yp-teaching__h{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.4rem,2.8vw,2.2rem);color:var(--copper);line-height:1.28;margin:0 auto 1.5rem;max-width:18ch}
.yp-teaching__sub{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.9rem,1.4vw,1.15rem);color:var(--terracotta);line-height:1.4;margin:0 0 1rem}
.yp-teaching__desc{font-family:"Julius Sans One",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(.78rem,1.1vw,.95rem);color:var(--amber);line-height:1.75;max-width:42ch;margin:1.4rem auto 2rem}
.yp-teaching__cta{background:var(--terracotta);color:#fff}
.yp-teaching__cta:hover{background:var(--copper)}
.yp-teaching__stroke{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}

/* ============ PROGRAM OVERVIEW (shivarea ytt300 + samudra badge) ============ */
.yp-overview{background:#fff;color:var(--ink);padding:clamp(1.5rem,4vh,3rem) 0 clamp(4rem,11vh,7rem)}
.yp-overview__grid{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;max-width:1180px;margin-inline:auto}
.yp-overview__h{font-family:"Cinzel Decorative",serif;font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.6rem,3.2vw,2.4rem);color:var(--ink);margin:0 0 1rem}
.yp-overview__lede{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.7;color:rgba(58,42,30,.85);margin:0 0 1.3rem}
.yp-overview__lede em{font-style:italic}
.yp-overview__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.yp-overview__list li{position:relative;padding-left:1.4rem;font-size:clamp(.96rem,1.2vw,1.05rem);line-height:1.6;color:rgba(58,42,30,.82)}
.yp-overview__list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--amber)}
.yp-overview__list em{font-style:italic}
.yp-overview__badge img{display:block;width:100%;height:auto;max-width:420px;margin-inline:auto}
@media (max-width:860px){
  .yp-overview__grid{grid-template-columns:1fr;text-align:center}
  .yp-overview__list{text-align:left;max-width:580px;margin-inline:auto}
  .yp-overview__badge{order:-1;max-width:280px;margin-inline:auto}
}

/* ============ MEMBERSHIP / JOIN (from become-the-sun bts-final, verbatim) ============ */
.bts-final{position:relative;text-align:center;overflow:hidden;background:var(--black);padding:clamp(5rem,11vw,9rem) 0 clamp(4rem,8vw,6.5rem)}
.bts-final__bg{position:absolute;inset:0;background:url(/assets/img/danda-sunset.webp) center 35%/cover no-repeat;background-attachment:fixed}
@media (max-width:900px){.bts-final__bg{background-attachment:scroll}}
.bts-final__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,7,11,.5) 0%,rgba(8,7,11,.58) 42%,rgba(8,7,11,.62) 100%)}
.bts-final__in{position:relative;z-index:4;max-width:1120px;margin-inline:auto;padding-inline:var(--pad)}
.bts-final__h{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.2rem,5.5vw,3.8rem);color:#fff;line-height:1.05;margin:.6rem 0;text-shadow:0 3px 26px rgba(8,7,11,.7)}
.bts-final__p{font-weight:300;line-height:1.7;font-size:clamp(1rem,1.4vw,1.14rem);color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 1.8rem;text-shadow:0 1px 10px rgba(8,7,11,.6)}
.bts-final::before{content:"";position:absolute;left:0;right:0;top:0;z-index:3;pointer-events:none;height:clamp(44px,4.8vw,82px);background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20100'%20preserveAspectRatio='none'%3E%3Cpath%20fill='%23FBF3E7'%20d='M0%200H1440V12C980%2066%20460%2070%200%2048Z'/%3E%3Cpath%20fill='none'%20stroke='%23E9AA36'%20stroke-width='4'%20d='M0%2048C460%2070%20980%2066%201440%2012'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.bts-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);max-width:1080px;margin:clamp(2.2rem,4vw,3rem) auto 0;text-align:left}
.bts-offer__cta .btn{white-space:normal;text-align:center}
.bts-offer{position:relative;display:flex;flex-direction:column;background:linear-gradient(rgba(8,7,11,.34),rgba(8,7,11,.34)),rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:clamp(1.5rem,2.4vw,2rem);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.bts-offer--feat{background:linear-gradient(rgba(8,7,11,.26),rgba(8,7,11,.26)),rgba(255,255,255,.1);border-color:rgba(233,170,54,.62);box-shadow:0 30px 70px -40px rgba(233,170,54,.6)}
.bts-offer__tag{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;color:#F6CE9C}
.bts-offer--feat .bts-offer__tag{color:var(--gold)}
.bts-offer__name{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(1.2rem,1.8vw,1.5rem);color:#fff;line-height:1.2;margin:.5rem 0 .2rem}
.bts-offer__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:.4rem 0 .2rem}
.bts-offer__was{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:rgba(255,255,255,.56);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(246,206,156,.85)}
.bts-offer__price b{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(1.3rem,2.2vw,1.7rem);color:#fff}
.bts-offer__price i{font-family:"Julius Sans One",sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;color:rgba(255,255,255,.7)}
.bts-offer__desc{font-weight:300;font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.82);margin:.6rem 0 1.2rem}
.bts-offer__cta{margin-top:auto;display:flex;justify-content:center;text-align:center}
@media (max-width:760px){
  .bts-offers{grid-template-columns:1fr;text-align:center}
  .bts-offer__price{justify-content:center}
}

/* ============ responsive ============ */
/* tile text block follows the backup: 40% -> 30% -> 35% down the square */
@media (max-width:1200px){ .tt-card__content{top:30%} }
@media (max-width:800px){ .tt-card__content{top:35%} }
@media (max-width:880px){
  .tt-path__split{grid-template-columns:1fr;gap:2.4rem}
  .tt-path__media{order:-1;max-width:420px;margin-inline:auto}
}
@media (max-width:620px){
  .tt-letter__pillars{grid-template-columns:1fr;gap:1.3rem}
}
/* mobile: single row per image + extra breathing room under each tile */
@media (max-width:640px){
  .tt-grid{grid-template-columns:1fr;gap:22px}
  .tt-card__content{top:38%;padding:20px 14%}
}
@media (prefers-reduced-motion:reduce){ .tt-hero__cue svg{animation:none} .tt-modal__dialog{animation:none} }

/* ============ REVIEWS · long testimonial over sand (verbatim, backup) ============ */
.tt-rev1{position:relative;overflow:hidden;background:var(--ink);padding:clamp(3.4rem,9vh,6.5rem) 0}
.tt-rev1__bg{position:absolute;inset:0;background:url(/assets/img/tt/review-sand.webp) center/cover no-repeat;background-attachment:fixed}
.tt-rev1__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,18,10,.62),rgba(28,18,10,.5))}
.tt-rev1__in{position:relative;z-index:2;max-width:980px;color:#fff}
.tt-rev1__in p{font-family:"Cormorant Garamond",serif;font-size:clamp(1.12rem,1.7vw,1.45rem);line-height:1.66;margin:0 0 1.15em;color:rgba(255,255,255,.94);text-shadow:0 1px 10px rgba(0,0,0,.45)}
.tt-rev1__sign{font-family:"Julius Sans One",sans-serif;font-size:clamp(.8rem,1.2vw,.95rem);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important;margin-top:-.3em!important}

/* ============ REVIEWS · sunset image + quotes (verbatim, backup) ============ */
.tt-rev2{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--bone)}
.tt-rev2__img{background:url(/assets/img/tt/review-sunset.webp) center/cover no-repeat;min-height:clamp(360px,46vw,640px)}
.tt-rev2__col{padding:clamp(2.6rem,6vw,5.5rem) clamp(1.6rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;gap:clamp(1.6rem,3vw,2.6rem)}
.tt-rev2__q{margin:0}
.tt-rev2__q p{font-family:"Cormorant Garamond",serif;font-size:clamp(1.12rem,1.55vw,1.42rem);line-height:1.6;color:var(--ink);margin:0}
.tt-rev2__q cite{display:block;margin-top:.7em;font-family:"Julius Sans One",sans-serif;font-style:normal;font-size:clamp(.78rem,1.1vw,.92rem);letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
@media (max-width:820px){
  .tt-rev2{grid-template-columns:1fr}
  .tt-rev2__img{min-height:clamp(280px,70vw,420px)}
}
@media (max-width:900px){ .tt-rev1__bg{background-attachment:scroll} }

/* ============ CLOSING CTA — same as /about (no top curve) ============ */
.ab-final{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black)}
.ab-final__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-final__veil{position:absolute;inset:0;background:linear-gradient(180deg,var(--black) 0%,rgba(8,7,11,.7) 16%,rgba(8,7,11,.42) 42%,rgba(8,7,11,.72) 74%,#08070b 100%)}
.ab-final__in{position:relative;z-index:2;text-align:center;color:#fff;padding-top:10vh;padding-bottom:10vh}
.ab-final__logo{margin:0 auto 12px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.ab-final .kicker{color:rgba(255,255,255,.92);font-weight:600;font-size:.8rem;letter-spacing:.3em;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.ab-final__h{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.1rem,5.4vw,4rem);line-height:1.1;margin-top:1rem;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.ab-final__sub{margin-top:1.1rem;font-weight:300;font-size:clamp(.95rem,1.5vw,1.12rem);letter-spacing:.04em;color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.ab-final__cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2rem}

/* ============================================================================
   HOW TO JOIN THE TEACHER'S PATH (bone section, verbatim copy) — dark terracotta
   ========================================================================== */
.tt-join{background:rgb(253, 243, 225);color:var(--ink);padding:clamp(4rem,11vh,8rem) 0}
.tt-join .wrap{max-width:880px}
.tt-join__img{margin:0 auto clamp(2.4rem,6vh,4rem);max-width:620px;line-height:0}
.tt-join__img img{width:100%;height:auto;display:block;border-radius:20px;
  box-shadow:0 30px 70px -34px rgba(58,42,30,.6)}
.tt-join__h{font-family:"Cinzel Decorative",serif;font-weight:400;color:var(--copper);
  font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.12;letter-spacing:.01em;
  margin:clamp(2.8rem,7vh,4.6rem) 0 clamp(1.3rem,3.4vh,2.2rem)}
.tt-join__img + .tt-join__h{margin-top:0}
.tt-join__steps{display:grid;gap:clamp(1.5rem,3.4vh,2.4rem)}
.tt-join__step-h{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.18em;
  font-size:.84rem;color:var(--copper);margin:0 0 .9rem}
.tt-join__list{margin:0;padding-left:1.3em;list-style:none}
.tt-join__list>li{position:relative;font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.08rem,1.7vw,1.26rem);line-height:1.55;color:#4a3624;margin-bottom:.62rem}
.tt-join__list>li::before{content:"";position:absolute;left:-1.05em;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--terracotta)}
.tt-join__list b{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.1em;
  font-size:.8rem;font-weight:400;color:#9c4a1f;display:inline-block;margin-bottom:.25rem}
.tt-join__list ul{list-style:none;margin:.5rem 0 .3rem;padding-left:1.2em}
.tt-join__list ul li{position:relative;margin-bottom:.42rem;color:#5a4632;
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.5}
.tt-join__list ul li::before{content:"";position:absolute;left:-1.05em;top:.6em;width:5px;height:5px;
  border-radius:50%;border:1px solid var(--terracotta);background:transparent}
.tt-join__cert p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.08rem,1.7vw,1.26rem);
  line-height:1.6;color:#4a3624;margin:0 0 1rem;max-width:62ch}
.tt-join__cert p b{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.1em;
  font-size:.8rem;font-weight:400;color:#9c4a1f;margin-right:.25em}
.tt-join__cert .tt-join__list{margin:.2rem 0 1.2rem}

/* ============================================================================
   BECOME A KEEPER OF THE FIRE — copied from home.css (golden hour) so the
   firekeeper section renders identically on /teacher-training
   ========================================================================== */
.keeper{position:relative;overflow:hidden;background:#fdf3e1;color:var(--cream);padding:clamp(9rem,26vh,17rem) 0 clamp(4.5rem,12vh,9rem)}
.keeper__bg{position:absolute;inset:0;z-index:0;margin:0;overflow:hidden;transform:translateZ(0);backface-visibility:hidden}
.keeper__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(min-width:1973px){.keeper__bg img{object-fit:fill}}
.keeper__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 40%,rgba(12,10,18,.10) 48%,rgba(12,10,18,.20) 55%,rgba(12,10,18,.32) 62%,rgba(12,10,18,.45) 69%,rgba(12,10,18,.58) 76%,rgba(12,10,18,.70) 82%,rgba(12,10,18,.81) 88%,rgba(12,10,18,.90) 93%,rgba(12,10,18,.96) 97%,#0c0a12 100%);pointer-events:none}
.keeper__stamp,.keeper__h,.keeper__lede,.keeper__letter p,.keeper__facts b,.keeper__facts span,.keeper__steps li,.keeper__steps b,.keeper__aside{text-shadow:0 1px 2px rgba(0,0,0,.7)}
.keeper__h em{text-shadow:0 1px 2px rgba(0,0,0,.55);color:var(--gold)}
.keeper .wrap{position:relative;z-index:1}
.keeper__half{max-width:660px}
.keeper__stamp{font-family:"Julius Sans One",sans-serif;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.keeper__stamp::before{content:"";display:inline-block;width:30px;height:1px;background:var(--gold);vertical-align:middle;margin-right:.9em;opacity:.7}
.keeper__h{font-family:"Cinzel Decorative",serif;font-weight:400;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.06;color:#fff;margin-bottom:1.3rem}
.keeper__h em{font-style:normal;color:#F2BE7E}
.keeper__lede{font-weight:300;font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.65;color:rgba(246,236,217,.82);max-width:54ch;margin-bottom:1.3rem}
.keeper__letter{border-left:2px solid var(--gold);padding-left:1.3rem;margin:1.8rem 0}
.keeper__letter p{font-family:"Cinzel",serif;font-style:italic;font-weight:400;font-size:1.1rem;line-height:1.6;color:rgba(246,236,217,.9)}
.keeper__letter cite{display:block;margin-top:.7rem;font-style:normal;font-family:"Julius Sans One",sans-serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.keeper__facts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 2rem;margin:2rem 0;padding:0}
.keeper__facts b{display:block;font-family:"Cinzel",serif;font-weight:500;font-size:1.18rem;color:var(--peach);margin-bottom:.15rem}
.keeper__facts span{font-size:.84rem;color:rgba(246,236,217,.66);line-height:1.5;display:block}
.keeper__steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:2.2rem 0 .6rem;padding:0}
.keeper__steps li{counter-increment:step;font-size:.82rem;line-height:1.55;color:rgba(246,236,217,.66)}
.keeper__steps li::before{content:counter(step,decimal-leading-zero);display:block;font-family:"Cinzel",serif;font-style:italic;font-size:1.7rem;color:var(--gold);opacity:.7;margin-bottom:.3rem}
.keeper__steps b{display:block;color:var(--cream);font-size:.95rem;margin-bottom:.2rem;font-weight:600}
.keeper__cta{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;margin-top:2rem}
.keeper__aside{font-size:.74rem;line-height:1.6;color:rgba(246,236,217,.55);letter-spacing:.04em;max-width:34ch}
@media(max-width:680px){.keeper__steps{grid-template-columns:1fr}}
@media(max-width:560px){.keeper__facts{grid-template-columns:1fr}}
