/* ENPOWER premium redesign layer, 2026-07-13 */
:root{
  --ep-deep:#061923;
  --ep-navy:#08283a;
  --ep-navy-soft:#10394d;
  --ep-cream:#f2ede5;
  --ep-paper:#fbf8f2;
  --ep-gold:#c9a96e;
  --ep-gold-light:#f1d58f;
  --ep-ink:#172731;
  --ep-line:rgba(201,169,110,.25);
  --ep-shadow:0 32px 90px rgba(1,13,20,.22);
  --ep-radius:28px;
}

html{background:var(--ep-deep)}
body{background:var(--ep-cream);letter-spacing:-.005em}
body::before{
  content:"";position:fixed;inset:0;z-index:999;pointer-events:none;
  border:1px solid rgba(201,169,110,.12);
}
.page-progress{
  position:fixed;inset:0 auto auto 0;z-index:220;width:var(--page-progress,0%);height:2px;
  pointer-events:none;background:linear-gradient(90deg,var(--ep-gold),var(--ep-gold-light));
  box-shadow:0 0 20px rgba(241,213,143,.65);
}
.wrap{max-width:1320px;padding-inline:clamp(1.35rem,5vw,5rem)}
h1,h2,h3,h4{letter-spacing:.025em;text-wrap:balance}
h1{line-height:1.08}
/* Contain the drifting mesh gradient. It is positioned inset:-12% and runs the
   infinite meshDrift animation (translate up 2%, scale 1.06), so in any section
   that does not clip it, it creeps upward over the section above and washes a
   purple-blue veil across that content. Reported repeatedly on the About page,
   where it covered the three principles cards. clip-path is used rather than
   overflow:hidden because the founder portrait column uses position:sticky and
   an overflow ancestor would break it. */
main>section:has(>.mesh-gradient){clip-path:inset(0)}
h2{line-height:1.05}
p{max-width:68ch;text-wrap:pretty}
.lead,.lede{font-weight:300;letter-spacing:.005em}
.eyebrow,.promise-line,.theme,.teaser-meta,.role{
  letter-spacing:.22em!important;font-size:.68rem!important;font-weight:600!important;
}
.eyebrow::before,.promise-line::before,.teaser-meta::before{
  content:"";display:inline-block;width:34px;height:1px;margin:0 12px 3px 0;background:currentColor;opacity:.62;
}

/* Shared floating navigation */
.site-header{
  position:fixed!important;top:18px!important;left:50%!important;right:auto!important;
  width:min(1320px,calc(100% - 36px))!important;transform:translateX(-50%);
  border:1px solid rgba(201,169,110,.2)!important;border-radius:999px!important;
  background:rgba(4,24,35,.76)!important;backdrop-filter:blur(18px) saturate(125%);
  box-shadow:0 14px 50px rgba(0,10,16,.24);overflow:visible;
}
.nav-inner{max-width:none!important;padding:.48rem .65rem .48rem 1rem!important}
.brand{gap:.8rem!important}
.brand img{width:38px!important;height:38px!important;filter:drop-shadow(0 5px 12px rgba(201,169,110,.24))}
.brand span{font-size:.82rem!important;letter-spacing:.42em!important}
.nav-links{gap:.25rem!important}
.nav-links a:not(.btn){font-size:.69rem!important;letter-spacing:.15em!important;padding:.7rem 1rem!important}
.nav-links .btn,.site-header .btn-gold{
  border-radius:999px!important;padding:.72rem 1.35rem!important;min-height:42px!important;
  box-shadow:none!important;
}
.site-header + main,body>main{isolation:isolate}

/* Shared buttons and surfaces */
.btn,.cta-btn,.home-link{
  border-radius:999px!important;letter-spacing:.16em!important;position:relative;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.btn::after,.cta-btn::after,.home-link::after{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.5) 48%,transparent 72%);
  transform:translateX(-130%);transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.btn:hover::after,.cta-btn:hover::after,.home-link:hover::after{transform:translateX(130%)}
.btn:hover,.cta-btn:hover,.home-link:hover{transform:translateY(-3px)!important}
.btn-gold,.cta-btn,.home-link{
  background:linear-gradient(115deg,#a97717 0%,#d3aa45 32%,#f4df9a 51%,#c89422 76%,#9d6c12 100%)!important;
  color:#061923!important;border:1px solid rgba(255,239,184,.55)!important;
  box-shadow:0 16px 40px rgba(171,122,25,.22)!important;
}
.btn-ghost{border:1px solid rgba(242,237,229,.35)!important;background:rgba(255,255,255,.025)!important}
.cream,.section-cream,.sec-cream{background:var(--ep-cream)!important;color:var(--ep-ink)!important}
.navy,.section-navy,.section-deep,.sec-navy{background:var(--ep-deep)!important}
.mesh-gradient{
  opacity:.82!important;background:
    radial-gradient(circle at var(--mx,78%) var(--my,24%),rgba(106,76,147,.28),transparent 31%),
    radial-gradient(circle at 22% 75%,rgba(26,112,126,.25),transparent 34%),
    linear-gradient(145deg,#061923 0%,#0a2c3e 50%,#061923 100%)!important;
}
.grain{opacity:.25!important}

/* Home: asymmetric editorial hero */
.page-home .hero{
  min-height:100svh!important;padding:clamp(8.5rem,15vh,11rem) 0 5.5rem!important;
  display:grid;align-items:center;overflow:hidden;
}
.page-home .hero::before{
  content:"ENPOWER";position:absolute;left:clamp(1rem,4vw,4rem);bottom:-.12em;z-index:0;
  font-family:'Cinzel',serif;font-size:clamp(5rem,15vw,14rem);font-weight:700;line-height:1;
  letter-spacing:.04em;color:rgba(249,245,240,.035);pointer-events:none;
}
.page-home .hero::after{
  content:"";position:absolute;width:min(46vw,670px);aspect-ratio:1;right:-8vw;top:12%;z-index:0;
  border-radius:50%;border:1px solid rgba(201,169,110,.18);
  box-shadow:inset 0 0 0 38px rgba(201,169,110,.018),inset 0 0 0 90px rgba(201,169,110,.018);
}
.page-home .hero-inner{
  position:relative;z-index:2;display:grid!important;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto auto;
  align-items:center;gap:1.5rem 2rem;text-align:left!important;
}
.page-home .hero-key{
  grid-column:8/13;grid-row:1/4;justify-self:center;width:min(34vw,470px)!important;
  position:relative;filter:drop-shadow(0 36px 58px rgba(0,0,0,.28));
}
.page-home .hero-key::before{
  content:"";position:absolute;inset:9%;border:1px solid rgba(201,169,110,.23);border-radius:50%;
  animation:ep-orbit 18s linear infinite;
}
.page-home .hero-logo{width:100%!important;aspect-ratio:1;object-fit:contain;transform:rotate(-8deg);padding:8%}
.page-home .hero h1{
  grid-column:1/9;grid-row:1;font-size:clamp(3rem,6.9vw,6.9rem)!important;line-height:1.08!important;
  letter-spacing:-.015em!important;max-width:9.5em!important;text-align:left!important;
  text-shadow:0 18px 55px rgba(0,0,0,.22);
}
.page-home .hero h1 .mask{display:block}
.page-home .hero .lead{grid-column:1/7;grid-row:2;margin:0!important;font-size:clamp(1rem,1.45vw,1.2rem)!important;line-height:1.7}
.page-home .hero-cta{grid-column:1/8;grid-row:3;justify-content:flex-start!important;margin:0!important}
@keyframes ep-orbit{to{transform:rotate(360deg)}}

/* Home sections */
.page-home main>section:not(.hero){position:relative;padding-block:clamp(6.5rem,11vw,10rem)!important}
.page-home main>section:not(.hero)::after{
  position:absolute;top:clamp(2rem,4vw,4rem);right:clamp(1.5rem,4vw,4rem);
  font-family:'Cinzel',serif;font-size:clamp(4rem,8vw,8rem);line-height:1;color:rgba(201,169,110,.11);
}
.page-home #mirror::after{content:"01"}.page-home #reframe::after{content:"02"}.page-home #principles::after{content:"03"}
.page-home #founders::after{content:"04"}.page-home #programme::after{content:"05"}.page-home #close::after{content:"06"}
.page-home #mirror .measure{
  max-width:1200px!important;display:grid;grid-template-columns:repeat(12,1fr);gap:1.2rem 2.2rem;
  text-align:left!important;
}
.page-home #mirror .eyebrow{grid-column:1/6}.page-home #mirror .goldthread{grid-column:1/6;margin:0!important}
.page-home #mirror h2{grid-column:1/8;font-size:clamp(2.6rem,5.4vw,5.6rem)!important;letter-spacing:-.01em}
.page-home #mirror .rule{display:none}
.page-home #mirror .lead{grid-column:8/13;grid-row:2/5;align-self:center;margin:0!important;font-size:1.08rem}
.page-home #mirror .pullquote{
  grid-column:1/7;max-width:none!important;margin:2rem 0 0!important;padding:2rem 2rem 2rem 0!important;
  text-align:left!important;border-top:1px solid var(--ep-line);font-size:clamp(1.25rem,2.2vw,1.85rem)!important;
}
.page-home #mirror .pullquote:last-child{grid-column:7/13;padding-left:2rem;transform:translateY(3.5rem)}
.page-home #reframe .measure{max-width:1000px!important;text-align:left!important;margin-left:max(0px,calc((100vw - 1320px)/2))}
.page-home #reframe h2{font-size:clamp(3rem,6vw,6rem)!important;max-width:11ch}
.page-home .reframe-points{max-width:1320px!important;display:grid!important;grid-template-columns:repeat(3,1fr);gap:1rem!important}
.page-home .reframe-points li{
  position:relative;display:block!important;min-height:310px;padding:2rem!important;border:1px solid rgba(201,169,110,.16)!important;
  border-radius:var(--ep-radius)!important;background:
    radial-gradient(380px circle at var(--spot-x,50%) var(--spot-y,0%),rgba(241,213,143,.12),transparent 42%),
    rgba(255,255,255,.028)!important;box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.page-home .reframe-points .dot{width:38px!important;height:38px!important;margin-bottom:4.5rem}
.page-home .reframe-points p{margin:0!important}
.page-home .grid-3{gap:0!important;border-top:1px solid rgba(23,39,49,.15)}
.page-home .principle{
  position:relative;padding:4rem 2.4rem!important;border-radius:0!important;border:0!important;border-bottom:1px solid rgba(23,39,49,.15)!important;
  background:transparent!important;min-height:390px;
}
.page-home .principle+.principle{border-left:1px solid rgba(23,39,49,.15)!important}
.page-home .principle::before{
  content:"I";position:absolute;right:1.6rem;top:.5rem;font-family:'Cinzel',serif;font-size:8rem;color:rgba(11,43,64,.055)
}
.page-home .principle:nth-child(2)::before{content:"II"}.page-home .principle:nth-child(3)::before{content:"III"}
.page-home .principle h3{font-size:clamp(1.35rem,2.1vw,2rem)!important}
.page-home .founders-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:clamp(3rem,8vw,8rem)!important;align-items:center}
.page-home .founders-portrait-wrap{width:100%!important;position:relative}
.page-home .founders-portrait-wrap::before{
  content:"";position:absolute;inset:8% -4% -5% 10%;border:1px solid rgba(201,169,110,.25);border-radius:50% 50% 4% 4%;
}
.page-home .founders-portrait{width:100%!important;filter:drop-shadow(0 40px 50px rgba(0,0,0,.3))}
.page-home .founders-copy h2{font-size:clamp(2.5rem,4.8vw,5rem)!important}
.page-home .founder-block{border-top:1px solid rgba(201,169,110,.2);padding:1.3rem 0!important}
.page-home .teaser-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:clamp(3rem,9vw,9rem)!important;align-items:center}
.page-home .teaser-figure{height:min(72vw,760px);border-radius:48% 48% 18px 18px!important;overflow:hidden;box-shadow:var(--ep-shadow)}
.page-home .teaser-figure img{width:100%;height:100%!important;object-fit:cover;object-position:center top}
.page-home #programme h2{font-size:clamp(3rem,6vw,6.5rem)!important;letter-spacing:-.02em}
.page-home .close-band{min-height:90svh;display:grid;place-items:center;text-align:left!important}
.page-home .close-band .wrap{display:grid;grid-template-columns:1fr 4fr;gap:1rem 3rem;align-items:start}
.page-home .close-emblem{grid-row:1/6;width:110px!important;margin:0!important}
.page-home .close-band .eyebrow,.page-home .close-band .goldthread,.page-home .close-band .statement,.page-home .close-band .support,.page-home .close-band .btn{grid-column:2}
.page-home .close-band .goldthread{margin:0!important}
.page-home .close-band .statement{font-size:clamp(2.3rem,5vw,5.2rem)!important;line-height:1.05!important;max-width:18ch!important;text-align:left!important}
.page-home .close-band .support{max-width:58ch!important;text-align:left!important}
.page-home .close-band .btn{justify-self:start}

/* Programme page */
.page-programme .hero{
  min-height:100svh!important;padding:clamp(9rem,16vh,12rem) 0 6rem!important;text-align:left!important;overflow:hidden;
}
.page-programme .hero .wrap{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem 2rem;text-align:left!important}
.page-programme .hero .emblem{
  position:absolute!important;width:min(52vw,710px)!important;height:auto!important;right:-10%;top:50%!important;
  transform:translateY(-50%) rotate(-12deg)!important;opacity:.68!important;filter:drop-shadow(0 40px 70px rgba(0,0,0,.36))!important;
}
.page-programme .promise-line,.page-programme .hero h1,.page-programme .hero .sub,.page-programme .hero-cta,.page-programme .hero .micro{grid-column:1/8;position:relative;z-index:2;text-align:left!important;margin-left:0!important;margin-right:0!important}
.page-programme .hero h1{font-size:clamp(3.4rem,7.4vw,7.6rem)!important;letter-spacing:-.02em!important;max-width:9.3em!important}
.page-programme .hero .sub{max-width:57ch!important;font-size:1.08rem!important}
.page-programme .hero-cta{justify-content:flex-start!important}
.page-programme main>section:not(.hero){padding-block:clamp(6rem,10vw,10rem)!important}
.page-programme .mirror-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;gap:clamp(3rem,8vw,8rem)!important;align-items:center}
.page-programme .mirror-grid h2{font-size:clamp(2.5rem,5vw,5rem)!important;letter-spacing:-.015em}
.page-programme .mirror-figure{height:min(78vw,790px);border-radius:50% 50% 20px 20px!important;overflow:hidden;box-shadow:var(--ep-shadow)}
.page-programme .mirror-figure img{height:100%!important;width:100%;object-fit:cover}
.page-programme .premise-quote{font-size:clamp(3rem,7.8vw,8rem)!important;line-height:.98!important;max-width:12ch!important;text-align:left!important;margin-left:0!important}
.page-programme .section-navy.center .wrap{text-align:left!important}
.page-programme .section-navy.center .lede{margin-left:0!important;max-width:68ch!important}
.page-programme .stat-row{max-width:none!important;grid-template-columns:1fr 1fr!important;gap:1px!important;background:rgba(201,169,110,.18);border:1px solid rgba(201,169,110,.18)}
.page-programme .stat{background:var(--ep-deep);padding:2.5rem!important;min-height:250px;text-align:left!important}
.page-programme .stat .num{font-size:clamp(3rem,7vw,7rem)!important}
.page-programme .owvn{gap:1rem!important;align-items:stretch}
.page-programme .col-old,.page-programme .col-new{border-radius:var(--ep-radius);padding:clamp(1.5rem,3vw,2.6rem)!important}
.page-programme .col-old{background:#e5ded4!important;opacity:.82}
.page-programme .col-new{background:var(--ep-deep)!important;color:var(--ep-cream)!important;box-shadow:var(--ep-shadow)}
.page-programme .col-old .card,.page-programme .col-new .card{background:transparent!important;border:0!important;border-top:1px solid currentColor!important;border-radius:0!important;padding:1.5rem 0!important}
.page-programme .col-new .card{border-color:rgba(201,169,110,.24)!important}
.page-programme .newway-band{border-radius:var(--ep-radius)!important;border:1px solid rgba(201,169,110,.22)!important}
.page-programme #weeks .center{text-align:left!important;max-width:980px}
.page-programme #weeks h2{font-size:clamp(3rem,6.4vw,6.5rem)!important;max-width:12ch}
.page-programme .week{
  border:1px solid rgba(201,169,110,.2)!important;border-radius:var(--ep-radius)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.18)!important;
}
.page-programme .week-num{font-size:clamp(4.4rem,8vw,8rem)!important;color:rgba(241,213,143,.88)!important}
.page-programme .inc-grid{display:grid!important;grid-template-columns:repeat(12,1fr)!important;gap:1rem!important}
.page-programme .inc{
  grid-column:span 6;min-height:230px;padding:2rem!important;border:1px solid rgba(23,39,49,.12)!important;
  border-radius:24px!important;background:
    radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,0%),rgba(201,169,110,.15),transparent 45%),
    rgba(255,255,255,.45)!important;box-shadow:0 20px 60px rgba(7,30,45,.06);
}
.page-programme .inc:nth-child(3),.page-programme .inc:nth-child(6){grid-column:span 7}
.page-programme .inc:nth-child(4),.page-programme .inc:nth-child(5){grid-column:span 5}
.page-programme .section-deep .founder{gap:clamp(3rem,8vw,8rem)!important;align-items:center}
.page-programme .portrait-holder{border-radius:48% 48% 22px 22px!important;overflow:hidden;border:1px solid rgba(201,169,110,.22);background:radial-gradient(circle at 50% 30%,rgba(201,169,110,.18),transparent 55%)}
.page-programme .value-card{
  border-radius:32px!important;border:1px solid rgba(201,169,110,.4)!important;background:var(--ep-deep)!important;
  color:var(--ep-cream)!important;box-shadow:0 44px 120px rgba(7,30,45,.28)!important;overflow:hidden;
}
.page-programme .value-head{background:linear-gradient(135deg,rgba(201,169,110,.13),transparent)!important}
.page-programme .vline{border-color:rgba(201,169,110,.16)!important}
.page-programme .founding{border-radius:24px!important;background:linear-gradient(145deg,rgba(201,169,110,.2),rgba(255,255,255,.035))!important;border:1px solid rgba(241,213,143,.25)!important}
.page-programme .founding .price{font-size:clamp(5rem,11vw,9rem)!important;line-height:.85!important;color:var(--ep-gold-light)!important}
.page-programme .faq{max-width:1000px!important}
.page-programme .faq details{border-radius:0!important;border:0!important;border-top:1px solid rgba(23,39,49,.18)!important;background:transparent!important}
.page-programme .enrol{min-height:100svh;display:grid;place-items:center;text-align:left!important}
.page-programme .enrol .wrap{position:relative;display:grid;grid-template-columns:1fr 3fr;gap:2rem 4rem;align-items:center}
.page-programme .enrol .emblem{width:min(24vw,260px)!important;margin:0!important}
.page-programme .enrol .reveal{text-align:left!important}
.page-programme .enrol h2{font-size:clamp(3.2rem,7vw,7rem)!important}
.page-programme .enrol .lede{margin-left:0!important}
.page-programme .enrol .hero-cta{justify-content:flex-start!important}

/* About page */
.page-about .hero{
  min-height:100svh!important;padding:clamp(9rem,16vh,12rem) 0 6rem!important;display:grid;align-items:center;text-align:left!important;overflow:hidden;
}
.page-about .hero::after{
  content:"";position:absolute;width:min(54vw,760px);aspect-ratio:1;right:-8vw;top:12%;
  background:url('enpower-emblem.png') center/contain no-repeat;opacity:.28;transform:rotate(-14deg);filter:drop-shadow(0 40px 60px rgba(0,0,0,.3));
}
.page-about .hero .wrap{position:relative;z-index:2;text-align:left!important}
.page-about .hero h1{font-size:clamp(4rem,9vw,9rem)!important;letter-spacing:-.025em!important;max-width:8.5em}
.page-about .hero .lead{max-width:58ch!important;margin-left:0!important}
.page-about .hero-tag{display:inline-flex!important;margin-left:0!important}
.page-about .pad{padding-block:clamp(6rem,10vw,10rem)!important}
.page-about .sec-cream.pad>.wrap>h2{font-size:clamp(3rem,6vw,6rem)!important;max-width:12ch}
.page-about .sec-cream.pad>.wrap>.lead{max-width:72ch!important;margin-left:0!important}
.page-about .principles-grid{gap:0!important;border-top:1px solid rgba(23,39,49,.16)}
.page-about .principles-grid .principle{border:0!important;border-radius:0!important;background:transparent!important;padding:3.5rem 2rem!important;min-height:390px}
.page-about .principles-grid .principle+.principle{border-left:1px solid rgba(23,39,49,.16)!important}
.page-about .principles-grid .num{
  font-family:'Cinzel',serif;
  font-size:clamp(.8rem,.9vw,.95rem)!important;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
  color:rgba(11,43,64,.48)!important;
  margin-bottom:1.15rem;
}
.page-about .founder-grid{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr)!important;gap:clamp(3rem,8vw,8rem)!important;align-items:start!important}
.page-about .founder.reverse .founder-grid{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)!important}
.page-about .portrait-col{position:sticky;top:120px;min-height:620px;display:flex;align-items:flex-end;justify-content:center;border-radius:48% 48% 24px 24px;overflow:hidden;border:1px solid rgba(201,169,110,.2);background:radial-gradient(circle at 50% 30%,rgba(201,169,110,.18),transparent 55%)}
.page-about .portrait{width:100%!important;max-width:620px!important;filter:drop-shadow(0 35px 45px rgba(0,0,0,.24))}
.page-about .story-col h2{font-size:clamp(3rem,6vw,6.4rem)!important;letter-spacing:-.02em!important}
.page-about .story-col>p:not(.eyebrow):not(.pull){font-size:1rem;line-height:1.9}
.page-about .pull{font-size:clamp(1.35rem,2.5vw,2rem)!important;text-align:left!important;padding:2rem 0!important;border-top:1px solid rgba(201,169,110,.3)!important}
.page-about .mini-principles{border-radius:24px!important;border:1px solid rgba(201,169,110,.18)!important;background:rgba(255,255,255,.03)!important;padding:1.3rem 1.5rem!important}
.page-about .close{max-width:1100px!important;text-align:left!important;display:grid;grid-template-columns:1fr 4fr;gap:1rem 3rem}
.page-about .close>img{grid-row:1/7;margin:0!important;width:100px!important}
.page-about .close>*:not(img){grid-column:2}
.page-about .close h2{font-size:clamp(3rem,6vw,6rem)!important}
.page-about .converge-trio{justify-content:flex-start!important}
.page-about .close .lead{margin-left:0!important}

/* Thank-you page */
.page-thankyou main{min-height:100svh!important;padding:9rem 0 5rem!important;display:grid;place-items:center;overflow:hidden}
.page-thankyou main::before{
  content:"";position:absolute;width:min(74vw,880px);aspect-ratio:1;border:1px solid rgba(201,169,110,.16);border-radius:50%;
  box-shadow:inset 0 0 0 70px rgba(201,169,110,.018),inset 0 0 0 150px rgba(201,169,110,.018);
}
.page-thankyou .confirm{
  position:relative;z-index:2;max-width:880px!important;padding:clamp(2.5rem,7vw,6rem)!important;
  border:1px solid rgba(201,169,110,.24);border-radius:32px;background:rgba(4,24,35,.58);backdrop-filter:blur(18px);
  box-shadow:0 40px 120px rgba(0,0,0,.32);
}
.page-thankyou .confirm h1{font-size:clamp(3rem,7vw,7rem)!important;letter-spacing:-.015em!important}
.page-thankyou .emblem{width:130px!important;height:130px!important}

/* Shared premium footer */
.site-footer{padding-block:clamp(4rem,8vw,7rem)!important;background:#041722!important;border-top:1px solid rgba(201,169,110,.16)!important}
.footer-inner{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:1rem 2rem!important;text-align:left!important;align-items:center}
.footer-inner>img{grid-row:1/3;width:70px!important;height:70px!important}
.footer-word{font-size:.88rem!important;letter-spacing:.28em!important;margin:0!important}
.footer-nav{justify-content:flex-end!important;margin:0!important}
.footer-legal{grid-column:auto!important;margin:.5rem 0 0!important;text-align:left!important}
.page-programme .center>.eyebrow{display:block;text-align:center!important;margin-inline:auto!important}

@media(max-width:900px){
  .site-header{top:10px!important;width:calc(100% - 20px)!important;border-radius:22px!important}
  .nav-links{top:calc(100% + 8px)!important;inset-inline:0!important;border:1px solid rgba(201,169,110,.2)!important;border-radius:20px!important;background:rgba(4,24,35,.98)!important;padding:1rem!important}
  .page-home .hero-inner,.page-programme .hero .wrap{display:block!important}
  .page-home .hero{padding-top:8rem!important;text-align:center!important}
  .page-home .hero-key{display:block;width:min(58vw,330px)!important;margin:0 auto 1.5rem}
  .page-home .hero h1,.page-home .hero .lead{text-align:center!important;margin-inline:auto!important}
  .page-home .hero h1{font-size:clamp(2.65rem,10vw,5rem)!important}
  .page-home .hero-cta{justify-content:center!important;margin-top:1.7rem!important}
  .page-home #mirror .measure{display:block!important;text-align:center!important}
  .page-home #mirror .goldthread{margin-inline:auto!important}
  .page-home #mirror .lead{margin-top:2rem!important}
  .page-home #mirror .pullquote,.page-home #mirror .pullquote:last-child{padding:2rem 0!important;transform:none!important;text-align:center!important}
  .page-home .reframe-points{grid-template-columns:1fr!important}
  .page-home .reframe-points li{min-height:0}
  .page-home .founders-grid,.page-home .teaser-grid{grid-template-columns:1fr!important}
  .page-home .teaser-figure{height:min(120vw,680px)}
  .page-home .close-band .wrap,.page-programme .enrol .wrap,.page-about .close{display:block!important;text-align:center!important}
  .page-home .close-emblem,.page-programme .enrol .emblem,.page-about .close>img{margin:0 auto 1.5rem!important}
  .page-home .close-band .statement,.page-home .close-band .support,.page-programme .enrol .reveal{text-align:center!important;margin-inline:auto!important}
  .page-home .close-band .btn{display:inline-flex}
  .page-programme .hero{text-align:center!important}
  .page-programme .hero .emblem{position:relative!important;right:auto!important;top:auto!important;transform:rotate(-8deg)!important;width:min(58vw,330px)!important;margin:0 auto 1rem!important;opacity:.9!important}
  .page-programme .promise-line,.page-programme .hero h1,.page-programme .hero .sub,.page-programme .hero-cta,.page-programme .hero .micro{text-align:center!important;margin-inline:auto!important}
  .page-programme .hero h1{font-size:clamp(2.7rem,10vw,5rem)!important}
  .page-programme .hero-cta{justify-content:center!important}
  .page-programme .mirror-grid{grid-template-columns:1fr!important}
  .page-programme .premise-quote{font-size:clamp(2.7rem,10vw,5.5rem)!important}
  .page-programme .inc-grid{grid-template-columns:1fr!important}
  .page-programme .inc,.page-programme .inc:nth-child(n){grid-column:auto!important;min-height:0}
  .page-about .hero::after{width:90vw;right:-35vw;opacity:.16}
  .page-about .founder-grid,.page-about .founder.reverse .founder-grid{grid-template-columns:1fr!important}
  .page-about .portrait-col{position:relative;top:auto;min-height:0}
  .page-about .founder.reverse .portrait-col{order:0!important}
  .page-about .founder.reverse .story-col{order:1!important}
  .footer-inner{grid-template-columns:1fr!important;text-align:center!important}
  .footer-inner>img{grid-row:auto;margin:auto}
  .footer-nav{justify-content:center!important}
  .footer-legal{grid-column:auto;text-align:center!important}
}

@media(max-width:640px){
  body::before{display:none}
  .wrap{padding-inline:1.2rem}
  .page-home main>section:not(.hero)::after{font-size:4.2rem;top:1.4rem;right:1rem}
  .page-home .hero::after{width:86vw;right:-32vw;top:11%}
  .page-home .hero-key{width:min(54vw,250px)!important}
  .page-home .hero h1{font-size:clamp(2.25rem,11vw,3.6rem)!important}
  .page-home .grid-3{display:block!important}
  .page-home .principle+.principle,.page-about .principles-grid .principle+.principle{border-left:0!important}
  .page-home .close-band .statement{font-size:clamp(2rem,9vw,3.6rem)!important}
  .page-programme .hero h1{font-size:clamp(2.25rem,10.5vw,3.7rem)!important}
  .page-programme .stat-row{grid-template-columns:1fr!important}
  .page-programme .owvn{grid-template-columns:1fr!important}
  .page-programme .flow{gap:.45rem!important}
  .page-programme .flow .arrow{display:none}
  .page-programme .value-body{padding-inline:1.1rem!important}
  .page-programme .vline{gap:.7rem}
  .page-programme .founding .price{font-size:4.5rem!important}
  .page-about .hero h1{font-size:clamp(3rem,14vw,5rem)!important}
  .page-about .principles-grid{display:block!important}
  .page-about .story-col h2{font-size:clamp(2.6rem,12vw,4rem)!important}
  .page-about .converge-trio{display:grid!important;grid-template-columns:1fr!important}
  .page-thankyou .confirm{border-radius:22px;padding:2rem 1.25rem!important}
}

@media(prefers-reduced-motion:reduce){
  .page-home .hero-key::before{animation:none!important}
  .btn::after,.cta-btn::after,.home-link::after{display:none!important}
}

/* Final composition tuning */
.page-home .hero h1{grid-column:1/10!important}
.page-home .hero h1 .mask:nth-child(2) .l{
  display:block;font-size:clamp(.82rem,2.35vw,2.35rem);letter-spacing:.08em;white-space:nowrap;
}
.page-programme .hero{padding:clamp(8.5rem,14vh,10rem) 0 4rem!important}
.page-programme .hero h1{
  grid-column:1/9!important;font-size:clamp(3.2rem,5.7vw,6rem)!important;line-height:1!important;
}
.page-programme .hero h1 .line:nth-child(2)>span{
  display:block;font-size:clamp(1.35rem,3.1vw,3.3rem);letter-spacing:.07em;line-height:1.08;
}
.page-programme .hero .sub,.page-programme .hero .hero-cta,.page-programme .hero .micro{grid-column:1/7!important}
.page-about .hero{padding:clamp(8rem,13vh,9.5rem) 0 3.5rem!important}
.page-about .hero h1{font-size:clamp(3.8rem,7.6vw,7.6rem)!important}

@media(max-width:900px){
  .page-home .hero h1 .mask:nth-child(2) .l{font-size:clamp(.82rem,3.45vw,1.8rem)}
  .page-programme .hero{padding-top:7.8rem!important}
  .page-programme .hero h1 .line:nth-child(2)>span{font-size:clamp(1.15rem,5.2vw,2.5rem)}
  .page-about .hero{padding-top:7.8rem!important}
}

@media(max-width:420px){
  .page-home .hero h1 .mask:nth-child(2) .l{font-size:.78rem;letter-spacing:.05em}
  .page-programme .hero h1{font-size:clamp(2.15rem,10vw,3.2rem)!important}
  .page-programme .hero h1 .line:nth-child(2)>span{font-size:1.05rem;letter-spacing:.045em}
}

/* Mobile safety and navigation state */
html,body{max-width:100%;overflow-x:clip!important}

@media(max-width:900px){
  .site-header .nav-links{
    position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;
    transform:translateY(-12px)!important;opacity:0!important;visibility:hidden!important;
    pointer-events:none!important;transition:opacity .25s ease,transform .25s ease,visibility .25s ease!important;
  }
  .site-header .nav-links[data-open="true"]{
    transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  html:not(.js) .site-header .nav-links{
    position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .page-about .hero h1{
    max-width:100%!important;font-size:clamp(2.2rem,10vw,3rem)!important;letter-spacing:.01em!important;line-height:1.04!important;
  }
  .page-about .hero h1 .lr:nth-child(2)>span{font-size:.76em;letter-spacing:.04em}
}

@media(max-width:420px){
  .page-about .hero h1{font-size:2.25rem!important}
}

/* Final narrow-screen heading safety */
@media(max-width:640px){
  .page-programme .enrol h2{
    max-width:100%!important;font-size:clamp(2.25rem,10vw,3.4rem)!important;letter-spacing:.02em!important;
  }
  .page-about .story-col h2{
    max-width:100%!important;font-size:clamp(2.2rem,10vw,3.4rem)!important;letter-spacing:.01em!important;
  }
}

/* Decorative layer bounds on narrow screens */
@media(max-width:900px){
  .mesh-gradient,.stars,.sparkle,.glint{
    left:0!important;right:0!important;width:100%!important;max-width:100%!important;transform:none!important;
  }
}

/* Long founder name fit */
@media(max-width:640px){
  .page-about .story-col h2{font-size:clamp(2rem,8.4vw,2.6rem)!important}
}

/* Readability and editorial composition pass */
.page-programme .section-navy.center .wrap{
  text-align:center!important;
}
.page-programme .section-navy.center .lede{
  margin-inline:auto!important;
}
.page-programme #weeks .center{
  max-width:860px;
  margin-inline:auto;
  text-align:center!important;
}
.page-programme #weeks h2{
  margin-inline:auto;
}
.page-programme .value-card .vline span:first-child,
.page-programme .value-card .vtotal{
  color:var(--ep-cream)!important;
}
.page-programme .value-card .vline .amt,
.page-programme .value-card .vtotal .amt,
.page-programme .value-card .founding .label{
  color:var(--ep-gold-light)!important;
}
.page-programme .value-card .founding .note{
  color:rgba(242,237,229,.86)!important;
}
.page-about .sec-cream.pad>.wrap>.eyebrow,
.page-about .sec-cream.pad>.wrap>h2,
.page-about .sec-cream.pad>.wrap>.lead{
  max-width:760px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.page-about .sec-cream.pad>.wrap>.rule{
  margin-inline:auto!important;
}
.page-about .founder{
  overflow:visible!important;
}
.page-about .portrait-col{
  align-self:start!important;
  min-height:0;
  align-items:flex-start;
  top:108px;
}
.page-about .story-col h2{
  max-width:100%;
  font-size:clamp(2.1rem,4vw,3.65rem)!important;
  line-height:1.04!important;
  overflow-wrap:normal;
  text-wrap:balance;
}

@media(max-width:900px){
  .page-about .portrait-col{
    top:auto;
  }
}
/* Independent review corrections */
.page-programme .col-new .col-head,
.page-programme .col-new .card h4{
  color:var(--ep-gold-light)!important;
}
.page-programme .col-new .card p{
  color:rgba(242,237,229,.86)!important;
}
.page-home #mirror .measure{
  grid-template-columns:repeat(12,1fr);
  text-align:center!important;
}
.page-home #mirror .eyebrow,
.page-home #mirror .goldthread,
.page-home #mirror h2,
.page-home #mirror .lead{
  grid-column:2/12;
  margin-inline:auto!important;
}
.page-home #mirror .goldthread{
  margin-top:.75rem!important;
}
.page-home #mirror .lead{
  grid-row:auto;
  max-width:72ch;
}
.page-home #mirror .pullquote,
.page-home #mirror .pullquote:last-child{
  margin-top:2rem!important;
  padding:2rem!important;
  text-align:center!important;
  transform:none;
}
.page-home #reframe .measure{
  margin-inline:auto!important;
  text-align:center!important;
}
.page-home #reframe h2,
.page-home #reframe .lead{
  max-width:780px!important;
  margin-inline:auto!important;
}
.page-programme .enrol{
  text-align:center!important;
}
.page-programme .enrol .wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  max-width:960px;
  margin-inline:auto!important;
}
.page-programme .enrol .emblem{
  width:min(22vw,230px)!important;
  margin:0 auto 2rem!important;
}
.page-programme .enrol .reveal{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  margin-inline:auto!important;
  text-align:center!important;
}
.page-programme .enrol .eyebrow{
  width:max-content;
  max-width:100%;
  margin:0 auto 1.2rem!important;
}
.page-programme .enrol h2{
  width:100%;
  max-width:11ch;
  margin-inline:auto!important;
  line-height:1.02!important;
  text-align:center!important;
}
.page-programme .enrol h2 span{display:block;white-space:nowrap}
.page-programme .enrol .thread{margin-inline:auto!important}
.page-programme .enrol .lede{
  margin-inline:auto!important;
}
.page-programme .enrol .close-line,
.page-programme .enrol .honest{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.page-programme .enrol .hero-cta{
  justify-content:center!important;
}
.page-about{
  background:var(--ep-deep)!important;
}
.page-about .hero{
  min-height:min(88svh,820px)!important;
  box-sizing:border-box!important;
}
.page-about main>.sec-cream.pad:first-of-type{
  padding-bottom:clamp(4.5rem,7vw,7rem)!important;
}
.page-about .story-col h2>span{
  display:block;
  white-space:nowrap;
}
.page-thankyou{
  background:var(--ep-deep)!important;
}

@media(max-width:420px){
  .page-programme .vline{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.6rem;
    font-size:.92rem;
  }
  .page-programme .vline .amt{
    text-align:right;
  }
}

@media(max-width:900px){
  .page-about .hero{
    min-height:auto!important;
    padding-bottom:5.5rem!important;
  }
}

.page-about .hero .wrap{padding-block:clamp(2.5rem,5vw,4.5rem)!important}

/* Art-direction pass: tighter rhythm, varied layouts, and safe display type */
.page-programme main>section:not(.hero){
  padding-block:clamp(5rem,7vw,7.5rem)!important;
}
.page-programme .premise-quote{
  max-width:14ch!important;
  font-size:clamp(2.8rem,6vw,5.7rem)!important;
}
.page-programme #weeks h2{
  font-size:clamp(2.8rem,5.4vw,5.5rem)!important;
}
.page-programme .inc{
  min-height:190px;
  padding:1.6rem!important;
}
.page-about .pad{
  padding-block:clamp(5rem,7vw,7.5rem)!important;
}
.page-about .sec-cream.pad>.wrap>h2{
  max-width:14ch!important;
  font-size:clamp(2.6rem,4.7vw,4.8rem)!important;
}

@media(min-width:861px){
  .page-programme .weeks{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.25rem;
    max-width:1120px;
    margin:3rem auto 0;
  }
  .page-programme .weeks::before{display:none}
  .page-programme .week{
    position:relative!important;
    top:auto!important;
    min-height:350px!important;
    margin:0!important;
    grid-template-columns:120px minmax(0,1fr);
    gap:1.6rem;
    padding:2rem!important;
    align-items:center;
  }
  .page-programme .week-num{
    font-size:clamp(4rem,6vw,6.2rem)!important;
  }
}

@media(max-width:900px){
  .page-home main>section:not(.hero),
  .page-programme main>section:not(.hero),
  .page-about .pad{
    padding-block:4.5rem!important;
  }
  .page-home #reframe h2{
    max-width:100%!important;
    font-size:clamp(2rem,8.2vw,2.4rem)!important;
    line-height:1.08!important;
    letter-spacing:.01em!important;
  }
  .page-programme .premise-quote{
    max-width:100%!important;
    font-size:clamp(2.25rem,9.2vw,3.35rem)!important;
    line-height:1.03!important;
  }
  .page-programme .week{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:1rem!important;
    padding:1.5rem!important;
    margin-bottom:1rem!important;
  }
  .page-programme .week-num{
    font-size:3.2rem!important;
  }
  .page-programme .week p{
    font-size:.94rem;
    line-height:1.68;
  }
  .page-programme .inc{
    padding:1.35rem!important;
    border-radius:18px!important;
  }
  .page-programme .col-old,
  .page-programme .col-new{
    padding:1.25rem!important;
  }
  .page-about .sec-cream.pad>.wrap>h2{
    max-width:100%!important;
    font-size:clamp(2.2rem,9.6vw,2.5rem)!important;
    line-height:1.08!important;
    letter-spacing:.025em!important;
  }
  .page-about .principles-grid .principle{
    min-height:0!important;
    padding:2.25rem 1rem!important;
  }
  .page-about .portrait{
    max-width:290px!important;
  }
  .page-about .story-col>p:not(.eyebrow):not(.pull){
    line-height:1.75;
  }
}

@media(max-width:420px){
  .page-home #reframe h2{font-size:2rem!important}
  .page-about .sec-cream.pad>.wrap>h2{font-size:2.2rem!important}
}
.page-programme .week{opacity:1!important;transform:none!important}

@media(max-width:900px){
  .page-about .close h2{max-width:100%!important;font-size:clamp(1.9rem,8vw,2.3rem)!important;line-height:1.08!important;letter-spacing:.02em!important}
}

/* Full premium architecture pass */
.site-header{
  transition:top .3s ease,background-color .3s ease,box-shadow .3s ease,border-color .3s ease!important;
}
.site-header .nav-inner{
  min-height:66px!important;
  transition:min-height .3s ease,padding .3s ease!important;
}
.site-header .brand img,
.site-header .brand span,
.site-header .nav-links a{
  transition:width .3s ease,height .3s ease,font-size .3s ease,padding .3s ease,letter-spacing .3s ease!important;
}
.site-header.is-condensed{
  top:8px!important;
  background:rgba(4,24,35,.94)!important;
  border-color:rgba(201,169,110,.32)!important;
  box-shadow:0 10px 34px rgba(0,10,16,.34)!important;
}
.site-header.is-condensed .nav-inner{
  min-height:52px!important;
  padding-block:.2rem!important;
}
.site-header.is-condensed .brand{min-height:38px!important}
.site-header.is-condensed .brand img{width:30px!important;height:30px!important}
.site-header.is-condensed .brand span{font-size:.74rem!important;letter-spacing:.36em!important}
.site-header.is-condensed .nav-links a:not(.btn){padding-block:.45rem!important}
.site-header.is-condensed .nav-links .btn{min-height:38px!important;padding-block:.55rem!important}
main>section[id],#enrol,#weeks{scroll-margin-top:92px}
h1,h2,h3,h4{text-wrap:balance}

/* Programme: one concise pivot instead of repeated diagnosis sections */
.page-programme .programme-pivot{
  position:relative;overflow:clip;padding-block:clamp(5rem,7vw,7.25rem)!important;
}
.page-programme .pivot-layout{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:clamp(2.5rem,6vw,6.5rem);align-items:start;
}
@media(min-width:901px){.page-programme .pivot-figure{position:sticky;top:110px;align-self:start}}
.page-programme .pivot-copy{text-align:left}
.page-programme .pivot-copy .gold-rule{margin-inline:0}
.page-programme .pivot-copy h2{
  max-width:11ch;margin:.8rem 0 1.4rem;color:var(--ep-cream);
  font-size:clamp(2.8rem,5vw,5.3rem)!important;line-height:1.02!important;
  text-transform:none!important;letter-spacing:-.015em!important;
}
.page-programme .pivot-copy .lede,
.page-programme .pivot-copy>p:last-child{color:rgba(242,237,229,.86)}
.page-programme .pivot-figure{
  position:relative;margin:0;overflow:hidden;border-radius:var(--ep-radius);
  border:1px solid rgba(241,213,143,.27);box-shadow:0 32px 90px rgba(0,0,0,.34);
}
.page-programme .pivot-figure::after{display:none;}
.page-programme .pivot-figure img{
  display:block;width:100%;height:auto;object-fit:contain;
  transform:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.page-programme .pivot-figure:hover img{transform:none}
.page-programme .pivot-figure figcaption{display:none;}
.page-programme .movement-list{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:clamp(2.2rem,5vw,4.5rem);border-top:1px solid rgba(201,169,110,.34);
  border-bottom:1px solid rgba(201,169,110,.22);
}
.page-programme .movement-list article{
  position:relative;padding:clamp(1.6rem,3vw,2.5rem);border-right:1px solid rgba(201,169,110,.2);
}
.page-programme .movement-list article:last-child{border-right:0}
.page-programme .movement-list article>span{
  display:block;margin-bottom:1.8rem;color:rgba(241,213,143,.62);
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.2em;
}
.page-programme .movement-list h3{
  margin:0 0 .75rem;color:var(--ep-gold-light);font-size:clamp(.85rem,1.1vw,1rem);
  letter-spacing:.06em;white-space:nowrap;
}
.page-programme .movement-list p{margin:0;color:rgba(242,237,229,.82);font-size:.94rem;line-height:1.7}
.page-programme .pivot-close{
  position:relative;z-index:1;max-width:38ch;margin:clamp(2rem,4vw,3.5rem) auto 0;
  color:var(--ep-cream);font-family:'Montserrat',sans-serif;font-size:clamp(1.12rem,2vw,1.45rem);
  font-weight:300;line-height:1.55;text-align:center;
}
.page-programme .guides-section .wrap{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;align-items:start;
}
.page-programme .guides-section .wrap>.center{
  grid-column:1/5;margin:0!important;padding-right:clamp(1rem,3vw,2.5rem);text-align:left!important;
}
.page-programme .guides-section .wrap>.center .gold-rule{margin-inline:0}
.page-programme .guides-section .wrap>.center .lede{margin-inline:0}
.page-programme .guides-section .founder{grid-column:5/9}
.page-programme .guides-section .founder.rev{grid-column:9/13}
.page-programme .guides-section .founder,
.page-programme .guides-section .founder.rev{
  grid-template-columns:1fr!important;gap:1.4rem!important;align-items:start!important;
  margin:0!important;padding:clamp(1.4rem,2.5vw,2rem)!important;
  border:1px solid rgba(201,169,110,.2);border-radius:var(--ep-radius);
  background:rgba(255,255,255,.035);box-shadow:0 24px 65px rgba(0,0,0,.18);
}
.page-programme .guides-section .founder.rev .portrait-holder{order:0!important}
.page-programme .guides-section .portrait-holder{min-height:0!important}
.page-programme .guides-section .portrait-holder img{
  width:100%!important;height:230px!important;object-fit:cover;object-position:50% 12%;border-radius:18px;
}
.page-programme .guides-section .founder h3{
  font-size:clamp(1.2rem,1.8vw,1.6rem)!important;text-transform:none!important;letter-spacing:.02em!important;
}
.page-programme .guides-section .founder p{font-size:.9rem;line-height:1.68}
.page-programme .guides-section .founder p:last-child{margin-bottom:0}

/* About: chapter-led founder narratives */
.page-about .founder-grid{align-items:start!important}
.page-about .founder-timeline{
  position:relative;margin:2.2rem 0 0;padding:0 0 0 1.75rem;list-style:none;
}
.page-about .founder-timeline::before{
  content:"";position:absolute;left:4px;top:.45rem;bottom:1.2rem;width:1px;
  background:linear-gradient(180deg,var(--ep-gold-light),rgba(201,169,110,.16));
}
.page-about .founder-timeline li{
  position:relative;padding:0 0 2rem 1.25rem;
}
.page-about .founder-timeline li:last-child{padding-bottom:0}
.page-about .founder-timeline li::before{
  content:"";position:absolute;left:-1.73rem;top:.38rem;width:9px;height:9px;border-radius:50%;
  background:var(--ep-gold-light);box-shadow:0 0 0 5px rgba(201,169,110,.12);
}
.page-about .founder-timeline .chapter{
  display:block;margin-bottom:.5rem;color:var(--ep-gold-light);
  font-family:'Cinzel',serif;font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
}
.page-about .sec-cream .founder-timeline .chapter{color:#8a641b}
.page-about .founder-timeline h3{
  margin:0 0 .65rem;font-family:'Montserrat',sans-serif;font-size:clamp(1.05rem,1.7vw,1.3rem);
  font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none;
}
.page-about .founder-timeline p{margin:0!important;font-size:.98rem!important;line-height:1.72}
.page-about .founder-timeline blockquote{
  margin:0 0 .85rem;color:var(--ep-gold-light);font-family:'Cinzel',serif;
  font-size:clamp(1.12rem,2vw,1.45rem);font-weight:600;line-height:1.45;
}
.page-about .sec-cream .founder-timeline blockquote{color:#745315}
.page-about .founder-turn{
  margin:.35rem 0 1.6rem;padding:1.35rem 1.4rem 1.45rem 2rem!important;
  border:1px solid rgba(201,169,110,.26);border-radius:20px;background:rgba(255,255,255,.035);
}
.page-about .sec-cream .founder-turn{background:rgba(255,255,255,.55)}

/* Small editorial interactions */
.page-programme .faq details{
  transition:background-color .25s ease,border-color .25s ease,transform .25s ease;
}
.page-programme .faq details[open]{
  background:rgba(255,255,255,.48);border-color:rgba(201,169,110,.42);transform:translateX(4px);
}
.page-programme .faq summary{scroll-margin-top:90px}

@media(max-width:900px){
  .site-header.is-condensed{top:6px!important}
  .site-header.is-condensed .nav-inner{min-height:50px!important}
  .page-programme .pivot-layout{grid-template-columns:1fr;gap:2rem}
  .page-programme .pivot-copy{text-align:center}
  .page-programme .pivot-copy .gold-rule{margin-inline:auto}
  .page-programme .pivot-copy h2{max-width:12ch;margin-inline:auto;font-size:clamp(2.35rem,9vw,3.6rem)!important}
  .page-programme .pivot-copy p{margin-inline:auto}
  .page-programme .pivot-figure img{height:auto}
  .page-programme .movement-list{grid-template-columns:1fr}
  .page-programme .movement-list article{border-right:0;border-bottom:1px solid rgba(201,169,110,.16)}
  .page-programme .movement-list article:last-child{border-bottom:0}
  .page-programme .movement-list article>span{margin-bottom:.75rem}
  .page-programme .guides-section .wrap{grid-template-columns:1fr}
  .page-programme .guides-section .wrap>.center{grid-column:auto}
  .page-programme .guides-section .founder,
  .page-programme .guides-section .founder.rev{grid-column:auto;grid-template-columns:112px minmax(0,1fr)!important}
  .page-programme .guides-section .portrait-holder img{height:160px!important}
  .page-about .portrait-col{position:relative!important;top:auto!important}
  .page-about .founder-timeline{margin-top:1.65rem;padding-left:1.35rem}
  .page-about .founder-timeline li{padding:0 0 1.5rem 1rem}
  .page-about .founder-timeline li::before{left:-1.36rem}
  .page-about .founder-turn{margin:.2rem 0 1.35rem;padding:1.15rem 1.1rem 1.25rem 1.35rem!important}
}
@media(max-width:560px){
  .page-programme .programme-pivot{padding-block:4rem!important}
  .page-programme .pivot-figure{border-radius:20px}
  .page-programme .pivot-figure figcaption{font-size:.6rem;letter-spacing:.13em}
  .page-programme .guides-section .founder,
  .page-programme .guides-section .founder.rev{
    grid-template-columns:1fr!important;text-align:center;
  }
  .page-programme .guides-section .portrait-holder img{
    width:150px!important;height:180px!important;margin-inline:auto;
  }
  .page-programme .guides-section .founder p{margin-inline:auto}
  .page-about .founder .story-col{padding-top:1.5rem!important}
  .page-about .founder-timeline h3{font-size:1.05rem!important}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.site-header *,
  .page-programme .pivot-figure img,
  .page-programme .faq details{transition:none!important}
  .page-programme .pivot-figure:hover img{transform:scale(1.02)}
}
/* Sol review fix pass */
@media(min-width:901px){
  .page-programme .pivot-layout{
    grid-template-columns:minmax(0,.98fr) minmax(420px,1.02fr);
  }
}
.page-programme .pivot-copy h2{
  max-width:none;
  font-size:clamp(2.1rem,2.9vw,2.35rem)!important;
  line-height:1.08!important;
}
.page-programme .pivot-copy h2>span{display:block}
.page-programme .pivot-copy h2>span:last-child{white-space:nowrap}

@media(min-width:901px){
  .page-about .hero h1{
    max-width:min(11em,calc(100vw - 10rem))!important;
    font-size:clamp(3.6rem,6.2vw,6.4rem)!important;
  }
  .page-home #reframe h2{
    font-size:clamp(2.9rem,5.55vw,5.6rem)!important;
  }
  .page-home .founders-copy h2{
    font-size:clamp(2.45rem,4.1vw,4.4rem)!important;
  }
  .page-home #programme h2{
    font-size:clamp(2.9rem,5.65vw,6rem)!important;
  }
}

@media(max-width:900px){
  .page-programme .pivot-layout{grid-template-columns:1fr!important}
  .page-programme .pivot-copy h2{
    max-width:100%!important;
    font-size:clamp(1.45rem,6vw,1.9rem)!important;
    line-height:1.12!important;
    letter-spacing:0!important;
  }
}
/* Keep the founders portrait anchored while the longer proof column scrolls. */
@media(min-width:901px){
  .page-home #founders{overflow:clip!important}
  .page-home #founders .founders-grid>.reveal:first-child{
    position:sticky!important;
    top:102px;
    align-self:start!important;
    z-index:1;
  }
}
/* Keep the Reframe headline on one optical centre with deliberate line breaks. */
#reframe-title{text-align:center}
.page-home #reframe h2>span{display:block}
@media(min-width:901px){
  .page-home #reframe>.measure.center{
    max-width:1100px!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  .page-home #reframe h2{
    max-width:1000px!important;
    margin-inline:auto!important;
    font-size:clamp(2.8rem,4.25vw,4.5rem)!important;
    line-height:1.06!important;
    letter-spacing:-.01em!important;
  }
  .page-home #reframe h2>span{display:block;white-space:nowrap}
  .page-home #reframe .lead{max-width:760px!important;margin-inline:auto!important}
}
/* Homepage closing promise: restrained, centred and easy to scan. */
.page-home #close.close-band{
  min-height:72svh!important;
  padding-block:clamp(5.5rem,9vw,8rem)!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
}
.page-home #close .wrap{
  width:min(920px,calc(100% - clamp(2rem,8vw,6rem)))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:0!important;
  text-align:center!important;
}
.page-home #close .close-emblem{
  width:72px!important;
  height:72px!important;
  margin:0 auto 1.35rem!important;
}
.page-home #close .eyebrow,
.page-home #close .goldthread,
.page-home #close .statement,
.page-home #close .btn{grid-column:auto!important}
.page-home #close .goldthread{
  width:min(220px,58vw)!important;
  margin:.9rem auto 1.5rem!important;
}
.page-home #close .statement{
  max-width:18ch!important;
  margin:0 auto 2.1rem!important;
  font-size:clamp(2.15rem,3.8vw,3.85rem)!important;
  line-height:1.1!important;
  letter-spacing:.005em!important;
  text-align:center!important;
}
.page-home #close .btn{
  align-self:center!important;
  justify-self:auto!important;
}
@media(max-width:520px){
  .page-home #close.close-band{
    min-height:auto!important;
    padding-block:5.25rem!important;
  }
  .page-home #close .close-emblem{
    width:62px!important;
    height:62px!important;
  }
  .page-home #close .statement{
    max-width:17ch!important;
    margin-bottom:1.8rem!important;
    font-size:clamp(1.85rem,8.2vw,2.7rem)!important;
  }
}

/* Premium continuity pass: recurring signatures, tactile cards and clear wayfinding. */
.page-programme .gold-rule,
.page-about .rule{
  width:132px!important;
  height:9px!important;
  border:0!important;
  background:
    linear-gradient(45deg,transparent 37%,var(--ep-gold-light) 38% 62%,transparent 63%) center/8px 8px no-repeat,
    linear-gradient(-45deg,transparent 37%,var(--ep-gold-light) 38% 62%,transparent 63%) center/8px 8px no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(201,169,110,.75) 18%,rgba(241,213,143,.9) 50%,rgba(201,169,110,.75) 82%,transparent 100%) center/100% 1px no-repeat!important;
  opacity:.9;
}
.page-programme main>section:not(.hero) .center>.eyebrow,
.page-about .sec-cream.pad>.wrap>.eyebrow{
  margin-bottom:.85rem!important;
}
.page-programme .invitation-section>.wrap>.invitation-intro{
  display:flex;
  width:100%;
  flex-direction:column;
  align-items:center;
  text-align:center!important;
}
.page-programme .invitation-section .invitation-intro>.eyebrow{
  width:max-content;
  max-width:100%;
  margin-inline:auto!important;
}
.page-programme .invitation-section .invitation-intro>.gold-rule,
.page-programme .invitation-section .invitation-intro>h2,
.page-programme .invitation-section .invitation-intro>.lede,
.page-programme .invitation-section .invitation-intro>.thread{
  margin-inline:auto!important;
  text-align:center!important;
}
.page-programme .invitation-section .invitation-intro>h2{
  width:max-content;
  max-width:100%!important;
}
.page-programme .invitation-section .invitation-intro>h2 span{
  display:block;
  white-space:nowrap;
}
@media(max-width:700px){
  .page-programme .invitation-section .invitation-intro>h2{
    font-size:clamp(1.3rem,6.4vw,2.8rem)!important;
  }
}
.page-programme .faq-section>.wrap>.center{
  display:flex;
  width:100%;
  flex-direction:column;
  align-items:center;
  text-align:center!important;
}
.page-programme .faq-section>.wrap>.center>.eyebrow{
  width:max-content;
  max-width:100%;
  margin-inline:auto!important;
}
.page-programme .section-cream>.wrap>.center h2{
  max-width:16ch;
  margin-inline:auto;
  font-size:clamp(2.2rem,4vw,4rem)!important;
  line-height:1.08!important;
}
.page-programme #weeks>.wrap>.weeks-intro{
  width:100%;
  max-width:860px;
  margin-inline:auto;
  text-align:center!important;
}
.page-programme #weeks .weeks-intro>.eyebrow{
  width:max-content;
  max-width:100%;
  margin-inline:auto!important;
}
.page-programme #weeks .weeks-intro>.gold-rule,
.page-programme #weeks .weeks-intro>h2,
.page-programme #weeks .weeks-intro>.lede{
  margin-inline:auto!important;
  text-align:center!important;
}
.page-programme #weeks h2{
  max-width:16ch!important;
  font-size:clamp(2.5rem,4.2vw,4.25rem)!important;
  line-height:1.06!important;
}
.page-programme #weeks .lede{max-width:68ch}
.page-programme .week,
.page-programme .inc,
.page-programme .guides-section .founder{
  position:relative!important;
  overflow:hidden;
  isolation:isolate;
}
.page-programme .week::before,
.page-programme .inc::before,
.page-programme .guides-section .founder::before{
  content:"";
  position:absolute;
  inset:0 12% auto;
  height:2px;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--ep-gold),var(--ep-gold-light),var(--ep-gold),transparent);
  opacity:.88;
}
.page-programme .week::after,
.page-programme .inc::after,
.page-programme .guides-section .founder::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:2;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px rgba(255,255,255,.14),inset 0 0 0 1px rgba(201,169,110,.04);
}
.page-programme .week{
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.page-programme .week-num{
  padding-right:1.35rem;
  border-right:1px solid rgba(201,169,110,.24);
  text-align:center;
  text-shadow:0 10px 34px rgba(201,169,110,.2);
}
/* Equalise the number-to-divider gap: proportional Cinzel digits centre with
   uneven slack, so on widths where the divider is visible, hug the number
   flush to the right with a fixed gap instead of centring it. */
@media(min-width:701px){
  .page-programme .week-num{
    padding-right:10px;
    text-align:right;
    letter-spacing:normal;
  }
}
/* 701-900px band: the number column is only 72px here, so the 3.2rem numerals
   overflow their content box and the number-to-divider gap goes inconsistent.
   Shrink the numerals to fit with room to spare so right-alignment holds. */
@media(min-width:701px) and (max-width:900px){
  .page-programme .week-num{
    font-size:2.75rem!important;
  }
}
.page-programme .inc{
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.page-programme .inc .key{
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 8px 24px rgba(145,107,42,.2),inset 0 1px rgba(255,255,255,.58);
}
.page-programme .guides-section .founder{
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.page-programme .portrait-holder::after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(241,213,143,.22);
  border-radius:42% 42% 14px 14px;
  pointer-events:none;
}
.page-home .principle,
.page-about .principles-grid .principle{
  position:relative;
  overflow:hidden;
}
.page-home .principle::after,
.page-about .principles-grid .principle::after{
  content:"";
  position:absolute;
  top:0;
  left:22%;
  right:22%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--ep-gold),var(--ep-gold-light),var(--ep-gold),transparent);
  opacity:.78;
}
@media(min-width:901px){
  .page-about .portrait-col::before,
  .page-about .portrait-col::after{
    content:"";
    position:absolute;
    width:56px;
    height:56px;
    z-index:3;
    pointer-events:none;
    opacity:.7;
  }
  .page-about .portrait-col::before{
    top:7%;
    left:5%;
    border-top:1px solid var(--ep-gold-light);
    border-left:1px solid var(--ep-gold-light);
  }
  .page-about .portrait-col::after{
    right:5%;
    bottom:7%;
    border-right:1px solid var(--ep-gold-light);
    border-bottom:1px solid var(--ep-gold-light);
  }
}
@media(hover:hover) and (pointer:fine){
  .page-programme .week:hover,
  .page-programme .inc:hover,
  .page-programme .guides-section .founder:hover{
    transform:translateY(-4px)!important;
    border-color:rgba(241,213,143,.38)!important;
    box-shadow:0 30px 80px rgba(2,17,26,.2)!important;
  }
}
@media(max-width:700px){
  .page-programme #weeks h2{font-size:clamp(2.15rem,9vw,3rem)!important}
  .page-programme .week-num{
    padding-right:.9rem;
    border-right:0;
  }
  .page-programme .gold-rule,
  .page-about .rule{width:112px!important}
}
@media(prefers-reduced-motion:reduce){
  .page-programme .week,
  .page-programme .inc,
  .page-programme .guides-section .founder{transition:none!important}
  .page-programme .week:hover,
  .page-programme .inc:hover,
  .page-programme .guides-section .founder:hover{transform:none!important}
}

.page-programme .enrol .emblem{height:auto!important;aspect-ratio:1}
.page-thankyou .emblem{width:96px!important;height:96px!important}
/* Keep the mirror image compact and anchored while the longer copy scrolls. */
@media(min-width:901px){
  .page-programme .programme-mirror .mirror-grid{
    align-items:start!important;
  }
  .page-programme .programme-mirror .mirror-figure{
    position:sticky!important;
    top:110px;
    align-self:start!important;
    justify-self:center;
    width:min(100%,380px);
    height:clamp(440px,40vw,500px);
    border-radius:50% 50% 20px 20px!important;
  }
  .page-programme .programme-mirror .mirror-figure img{
    object-position:50% 88%;
  }
}

/* Enrolment form. Lives in the deep navy close, so copy is cream and accents are foil gold. */
.enrol-form{
  max-width:34rem;margin:2.6rem auto 0;text-align:left;
  padding:clamp(1.6rem,3vw,2.4rem);
  border:1px solid rgba(201,169,110,.28);border-radius:var(--ep-radius);
  background:rgba(255,255,255,.03);
  box-shadow:0 24px 70px rgba(1,13,20,.28);
  scroll-margin-top:100px;
}
.enrol-form .ef-field{margin-bottom:1.05rem;width:100%}
.enrol-form label{
  display:block;margin-bottom:.4rem;
  font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ep-gold-light);
}
.enrol-form .ef-optional{
  text-transform:none;letter-spacing:.02em;
  color:rgba(242,237,229,.55);font-size:.78rem;
}
.enrol-form input[type="text"],
.enrol-form input[type="email"],
.enrol-form input[type="tel"]{
  width:100%;padding:.85rem 1rem;
  color:var(--ep-cream);
  background:rgba(6,25,35,.55);
  border:1px solid rgba(201,169,110,.3);border-radius:14px;
  font:inherit;font-size:1rem;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.enrol-form input::placeholder{color:rgba(242,237,229,.4)}
.enrol-form input:focus-visible{
  outline:none;
  border-color:var(--ep-gold);
  box-shadow:0 0 0 3px rgba(201,169,110,.22);
}
.enrol-form .ef-consent{
  display:flex;gap:.65rem;align-items:flex-start;
  margin:1.1rem 0 1.3rem;
}
.enrol-form .ef-consent input{margin-top:.25rem;flex:0 0 auto;accent-color:var(--ep-gold)}
.enrol-form .ef-consent label{
  margin:0;text-transform:none;letter-spacing:.01em;
  font-size:.9rem;line-height:1.5;color:rgba(242,237,229,.8);
}
.enrol-form .cf-turnstile{margin-bottom:1.2rem}
.enrol-form button[type="submit"]{width:100%;justify-content:center}
.enrol-form button[disabled]{opacity:.6;cursor:progress}
.enrol-form .ef-status{
  margin:.9rem 0 0;min-height:1.2em;
  font-size:.9rem;color:var(--ep-gold-light);
}
.enrol-form .ef-status.is-error{color:#f0b8a8}
.enrol-form .ef-note{
  margin:.7rem 0 0;
  font-size:.82rem;line-height:1.55;color:rgba(242,237,229,.6);
}
.enrol-form .ef-note a{color:var(--ep-gold-light);text-decoration:underline}

@media (max-width:520px){
  .enrol-form{padding:1.4rem;border-radius:22px}
}

/* Founding cohort price, added 2026-07-20 */
.page-programme .value-price-label{margin:18px 0 0;font-family:"Montserrat",sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,237,229,.62)}
.page-programme .value-price{margin:4px 0 0;font-family:"Cinzel",serif;font-size:clamp(2.4rem,5vw,3.2rem);font-weight:600;line-height:1;color:var(--ep-gold-light)}

/* ============================================================================
   SYSTEMIC CONSISTENCY PASS, 2026-07-22
   Addresses Alexandra's video feedback items V1, V2, V3, V8 and V14.
   Deliberately appended last and scoped with !important so it resolves the
   existing per-section overrides without rewriting thirty individual rules.
   To revert, delete this block. Nothing above it is modified.
   ============================================================================ */

/* --- V8: ONE GOLD -----------------------------------------------------------
   Five distinct golds were being painted across the site. Only two belong to
   the brand palette. --ep-gold-light was #f1d58f, a value that appears nowhere
   in the ENPOWER brand spec, and it sat beside the real Pale Gold #fae8a0,
   nine points away, which is the clash Alexandra could see as "two yellows".
   Resolution: one flat gold everywhere (Gilded Serenity #c9a96e, 6.8:1 on the
   navy, passes WCAG AA), with Pale Gold surviving only inside the shimmer
   gradients so the metal still sparkles. */
:root{
  --ep-gold-light:#c9a96e;
  --ep-gold-sparkle:#fae8a0;
}
.page-progress{
  background:linear-gradient(90deg,var(--ep-gold),var(--ep-gold-sparkle))!important;
}

/* --- V2 + V14: ONE SECTION HEADING SCALE ------------------------------------
   Section-level headings measured between 24px and 112px for the same semantic
   level: home 86.4/68/41.6, about 96/96/75.2, programme 64/64/64/67.2/112/24.
   "Living Proof, Not Theory" at 24px against peers at 64px is the specific
   heading Alexandra called noticeably smaller. One scale now governs all of
   them. Hero h1 is deliberately excluded; it is its own tier and was not
   raised as a problem. */
/* Each selector below deliberately MIRRORS an existing selector one-for-one so
   the specificity matches and later-in-file wins. A generic descendant rule was
   tried first and lost: the existing rules run up to [1,1,1] because some use an
   id, and in two cases the identical selector is declared twice with different
   values. Mirroring is uglier but it is predictable, which matters more.
   .guides-section h2 is in the list because it matched NO font-size rule at all
   and was inheriting the browser default of 24px. That unstyled heading is the
   one Alexandra called noticeably smaller. */
.page-home #mirror h2,
.page-home #reframe h2,
.page-home #programme h2,
.page-home .founders-copy h2,
.page-home main>section:not(.hero)>.wrap>h2,
.page-about .sec-cream.pad>.wrap>h2,
.page-about .close h2,
.page-about main>section:not(.hero)>.wrap>h2,
.page-programme #weeks h2,
.page-programme .pivot-copy h2,
.page-programme .enrol h2,
.page-programme .mirror-grid h2,
.page-programme .section-cream>.wrap>.center h2,
.page-programme .guides-section h2,
.page-thankyou main>section:not(.hero)>.wrap>h2{
  font-size:clamp(2rem,3.8vw,3.8rem)!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
  text-wrap:balance;
}
/* SAFETY NET, and this is the important half.
   Several of these headings are built from <span> line units carrying
   white-space:nowrap, so a span physically cannot wrap. On the home page
   "A pattern you can change." demanded 1336px inside a 1100px container and
   "Two women. One shared truth." demanded 917px inside a 475px column, so the
   text ran straight off the right of the page instead of wrapping. Sizing alone
   cannot fix the 475px case at any readable size. Allowing the span to wrap when
   it genuinely cannot fit degrades gracefully and makes overflow impossible at
   any future size or copy length. The span still starts its own line, so the
   intended line breaks are preserved. */
.page-home #mirror h2>span,
.page-home #reframe h2>span,
.page-home #programme h2>span,
.page-home .founders-copy h2>span,
.page-home main>section:not(.hero)>.wrap>h2>span,
.page-about .sec-cream.pad>.wrap>h2>span,
.page-about .close h2>span,
.page-programme #weeks h2>span,
.page-programme .pivot-copy h2>span,
.page-programme .enrol h2>span,
.page-programme .mirror-grid h2>span,
.page-programme .section-cream>.wrap>.center h2>span,
.page-programme .guides-section h2>span{
  white-space:normal!important;
}
/* NARROW-COLUMN EXCEPTION.
   "Living Proof, Not Theory" sits in a 331px sidebar column, not a full-width
   band, so it cannot carry the standard section size: at 60.8px it demanded
   646px. It was previously unstyled at the browser default 24px, which is the
   heading Alexandra flagged as too small. This is the middle tier that both
   fits the column and reads as a real heading. */
.page-programme .guides-section h2{
  font-size:clamp(1.6rem,2.5vw,2.4rem)!important;
}
@media (max-width:900px){
  .page-programme .guides-section h2{font-size:clamp(1.5rem,3.4vw,2rem)!important}
}

/* Founder direct email on the About page (C1/C2). Small gold contact link under
   each founder's role tagline, mailboxes confirmed monitored by Alexandra
   2026-07-23. */
.page-about .founder-email{
  display:inline-block;margin-top:.5rem;
  font-family:"Montserrat",sans-serif;font-size:.82rem;letter-spacing:.06em;
  color:var(--ep-gold)!important;text-decoration:none;
  border-bottom:1px solid rgba(201,169,110,.4);padding-bottom:2px;
  transition:color .25s,border-color .25s;
}
.page-about .founder-email:hover{color:#fae8a0!important;border-color:#fae8a0}

/* HOME TEASER: MATCH THE IMAGE HEIGHT TO THE TEXT COLUMN.
   The founders image was 760px tall against a 546px text column, so it hung
   over by 107px at the top AND the bottom. Setting a percentage height on the
   figure removes it from the row's intrinsic height calculation, so the row is
   sized by the text column instead and the image is capped to exactly that.
   The result: the top of the image lines up with "THE 4-WEEK LIVE PROGRAMME"
   and the bottom lines up with the button.
   Applied only at the two-column breakpoint. Below 900px the grid stacks and a
   percentage height would collapse the image to nothing. */
@media (min-width:901px){
  .page-home .teaser-grid{align-items:stretch!important}
  .page-home .teaser-figure{height:100%!important;min-height:0!important;align-self:stretch!important}
  /* The image is taken out of flow so it contributes ZERO intrinsic height.
     Without this the img still reported its own 623px and the row stayed taller
     than the copy, leaving 97px of dead space under the button. Absolutely
     positioned, the row is sized purely by the text column and the image fills
     whatever that turns out to be. The arch is a border-radius plus
     overflow:hidden on the figure, which still clips an absolute child, and the
     figure was already position:relative, so the shape is unaffected. */
  .page-home .teaser-figure img{
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;
    object-fit:cover;object-position:50% 28%;
  }
}

/* ============================================================================
   V13 + V17, 2026-07-22. The key should glow; the numbers should sparkle.
   ============================================================================ */

/* V13: the programme hero "key" emblem was a dim watermark at opacity .68 with
   a DARK drop-shadow, which read as faded rather than as the brand signature.
   Alexandra wants it always golden and glowing. Lifted to .92 and the dark
   shadow replaced with a warm gold halo. The emblem sits at right:-10% while
   the hero text is grid-column 1/8 on the left, so raising it does not fall
   behind the copy. */
.page-programme .hero .emblem{
  opacity:.92!important;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,.28)) drop-shadow(0 0 42px rgba(201,169,110,.55))!important;
}
@media (max-width:820px){
  .page-programme .hero .emblem{opacity:.95!important}
}

/* V17: the section numbers were flat gold. Give them the same living-gold
   shimmer the buttons and hero key already have. A brand-gold gradient is
   clipped to the digits and drifts slowly. Reduced-motion users get the same
   gradient, held still. The two number families:
     .week-num           the large 01-04 week markers
     .movement-list span the small 01/02/03 step markers */
.page-programme .week-num,
.page-programme .movement-list article>span{
  background:linear-gradient(115deg,#c8960a 0%,#d4a017 26%,#fae8a0 50%,#d4a017 74%,#c8960a 100%)!important;
  background-size:220% 100%!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;color:transparent!important;
}
/* The "Week" label inside .week-num must not inherit the transparent fill, or
   it vanishes. Hold it as solid gold. */
.page-programme .week-num small{
  -webkit-text-fill-color:var(--ep-gold)!important;color:var(--ep-gold)!important;
  background:none!important;
}
@media (prefers-reduced-motion:no-preference){
  .page-programme .week-num,
  .page-programme .movement-list article>span{
    animation:enpGoldShimmer 5.5s ease-in-out infinite!important;
  }
}
@keyframes enpGoldShimmer{
  0%,70%{background-position:150% 0}
  100%{background-position:-50% 0}
}
/* Mirroring the desktop selectors means this rule also outranks the existing
   responsive overrides, so the smaller tiers have to be restated here. */
@media (max-width:900px){
  .page-home #mirror h2,.page-home #reframe h2,.page-home #programme h2,
  .page-home .founders-copy h2,.page-home main>section:not(.hero)>.wrap>h2,
  .page-about .sec-cream.pad>.wrap>h2,.page-about .close h2,
  .page-about main>section:not(.hero)>.wrap>h2,
  .page-programme #weeks h2,.page-programme .pivot-copy h2,
  .page-programme .enrol h2,.page-programme .mirror-grid h2,
  .page-programme .section-cream>.wrap>.center h2,
  .page-programme .guides-section h2,
  .page-thankyou main>section:not(.hero)>.wrap>h2{
    font-size:clamp(1.8rem,4vw,2.5rem)!important;
  }
}
@media (max-width:560px){
  .page-home #mirror h2,.page-home #reframe h2,.page-home #programme h2,
  .page-home .founders-copy h2,.page-home main>section:not(.hero)>.wrap>h2,
  .page-about .sec-cream.pad>.wrap>h2,.page-about .close h2,
  .page-about main>section:not(.hero)>.wrap>h2,
  .page-programme #weeks h2,.page-programme .pivot-copy h2,
  .page-programme .enrol h2,.page-programme .mirror-grid h2,
  .page-programme .section-cream>.wrap>.center h2,
  .page-programme .guides-section h2,
  .page-thankyou main>section:not(.hero)>.wrap>h2{
    font-size:clamp(1.55rem,6.6vw,2rem)!important;
  }
}

/* --- V3: BREATHING SPACE ----------------------------------------------------
   Every section heading measured margin-bottom 0px, so the decorative rule and
   the body copy sat hard against the type. */
.page-home #mirror h2,.page-home #reframe h2,.page-home #programme h2,
.page-home .founders-copy h2,.page-home main>section:not(.hero)>.wrap>h2,
.page-about .sec-cream.pad>.wrap>h2,.page-about .close h2,
.page-about main>section:not(.hero)>.wrap>h2,
.page-programme #weeks h2,.page-programme .pivot-copy h2,
.page-programme .enrol h2,.page-programme .mirror-grid h2,
.page-programme .section-cream>.wrap>.center h2,
.page-programme .guides-section h2,
.page-thankyou main>section:not(.hero)>.wrap>h2{
  margin-bottom:.5em!important;
}

/* --- V1: ONE RULE TREATMENT -------------------------------------------------
   Three different decorative rule renderings were measured across the pages.
   Colour and spacing are unified here. Geometry is deliberately NOT forced,
   because the variants differ in kind rather than degree and that judgement
   needs to be made against a visible render, not a measurement. */
hr.rule,.rule{
  margin-block:1.15rem 1.9rem!important;
  border:0!important;
  opacity:.9;
}
.page-about hr.rule,.page-about .rule{
  background-image:linear-gradient(45deg,transparent 37%,var(--ep-gold) 38%,var(--ep-gold) 62%,transparent 63%)!important;
}

/* --- V19 + V18 + V6: STOP SQUEEZING THE HEADINGS ----------------------------
   Six headings carried a max-width measured in ch units, several as tight as
   12ch. On a Cinzel display face that forces a break after roughly twelve
   characters regardless of how much room the section actually has, which is
   exactly Alexandra's "pushed together despite the space available" on
   "A Path Home, One Week at a Time". Relaxed to a generous measure and left to
   text-wrap:balance to choose the line shape. Hero h1 max-widths are in em and
   are deliberately left alone. */
.page-home #reframe h2{max-width:20ch!important}
.page-programme #weeks h2{max-width:22ch!important}
.page-about .sec-cream.pad>.wrap>h2{max-width:22ch!important}
@media (max-width:900px){
  .page-programme .pivot-copy h2{max-width:18ch!important}
}
