/* ============ TOKENS — DIVINE ============ */
:root{
  --paper:#EDF1F5;        /* cool light paper (beige retired) */
  --paper-2:#E1E9EF;      /* deeper cool band */
  --powder:#A9C6D6;       /* signature powder blue */
  --powder-soft:#C6DAE4;
  --powder-deep:#7A90A8;  /* mid steel-blue (accent) */
  --slate:#7A90A8;
  --slate-1:#48596B;      /* deep slate-blue — dark sections + headings */
  --slate-2:#3D4C5C;      /* deeper — footer */
  --slate-mid:#7A90A8;
  --ink:#3A4A5B;          /* text */
  --ink-soft:#5D6E7E;
  --camel:#7A90A8;        /* accent (repurposed cool) */
  --camel-deep:#5F7488;   /* deeper accent */
  --cream:#F1F6FA;        /* cool near-white (wordmark on dark/powder) */
  --hair:rgba(58,74,91,.14);
  --hair-soft:rgba(58,74,91,.07);
  --serif:'Switzer','Neue Montreal',system-ui,sans-serif;
  --sans:'Switzer','Neue Montreal',system-ui,sans-serif;
  --mono:'Switzer','Neue Montreal',system-ui,sans-serif;
  --soft:normal;
  --pad:clamp(20px,5vw,72px);
  --maxw:1280px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--powder-deep);color:var(--cream)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--powder-deep);outline-offset:4px}
em{font-style:normal}
.ser{font-family:var(--serif);font-variation-settings:var(--soft)}
.ser-i{font-family:var(--serif);font-style:italic;font-weight:400;font-variation-settings:var(--soft)}
.kicker{
  font-family:var(--sans);text-transform:uppercase;letter-spacing:.26em;
  font-size:clamp(10px,1vw,12px);font-weight:500;color:var(--camel-deep);
  position:relative;padding-left:34px;
}
.kicker::before{content:"";position:absolute;left:0;top:50%;width:24px;height:1px;background:var(--camel)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.idx{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--slate-mid)}

/* ============ SCROLL RAIL ============ */
#rail{position:fixed;right:clamp(18px,3.4vw,48px);top:50%;transform:translateY(-50%);height:min(62vh,520px);width:1px;z-index:40;pointer-events:none}
.rail-track{position:relative;width:1px;height:100%;background:var(--hair)}
.rail-fill{position:absolute;top:0;left:0;width:100%;height:0;background:linear-gradient(180deg,var(--powder-deep),var(--slate-1))}
.rail-head{position:absolute;left:50%;top:0;width:7px;height:7px;border-radius:50%;background:var(--slate-1);transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(72,89,107,.14)}
.rail-head::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid var(--powder-deep);animation:railPulse 2.4s ease-out infinite}
@keyframes railPulse{0%{transform:scale(.5);opacity:.7}100%{transform:scale(2.4);opacity:0}}
.rail-node{position:absolute;left:50%;width:0;height:0;pointer-events:auto}
.rail-node .rdot{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:var(--hair);transform:translate(-50%,-50%);transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.rail-node.on .rdot{background:var(--powder-deep);box-shadow:0 0 0 3px rgba(122,144,168,.22)}
.rail-node .rlabel{position:absolute;right:0;top:0;transform:translate(-8px,-50%);white-space:nowrap;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-mid);opacity:0;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.rail-node.on .rlabel{opacity:.8;transform:translate(-16px,-50%)}
.rail-node:hover .rlabel{opacity:1;cursor:pointer}

/* ============ HEADER ============ */
header{position:fixed;top:0;left:0;width:100%;z-index:60;transition:background .4s var(--ease),border-color .4s var(--ease);border-bottom:1px solid transparent}
header.scrolled{background:rgba(237,241,245,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;transition:padding .4s var(--ease)}
header.scrolled .nav{padding-top:14px;padding-bottom:14px}
.brand{display:flex;flex-direction:column;line-height:1}
.brand .mark{font-family:var(--serif);font-variation-settings:var(--soft);font-size:26px;font-weight:400;letter-spacing:.005em;color:var(--ink)}
.brand .brand-logo{height:22px;width:auto;display:block;margin-bottom:5px}
.brand .mark-sub{font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--camel-deep);margin-top:0;padding-left:2px}
.header-right{display:flex;align-items:center;gap:20px}
.member-link{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid transparent;transition:color .25s var(--ease),border-color .25s var(--ease)}
.member-link:hover,.member-link:focus-visible{color:var(--ink);border-color:var(--powder-deep)}
.menu-btn{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;color:var(--ink);font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:8px 2px}
.menu-btn .bars{display:inline-flex;flex-direction:column;gap:4px;width:22px}
.menu-btn .bars span{height:1.5px;background:var(--ink);width:100%;transition:width .35s var(--ease)}
.menu-btn:hover .bars span:first-child{width:14px}

/* ============ MENU OVERLAY ============ */
.overlay{position:fixed;inset:0;z-index:80;background:var(--slate-1);color:var(--cream);clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);display:flex;flex-direction:column;pointer-events:none}
.overlay.open{clip-path:inset(0 0 0 0);pointer-events:auto}
.overlay .nav{width:100%;border-bottom:1px solid rgba(241,246,250,.16)}
.overlay .brand .mark{color:var(--cream)}
.close-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;background:none;border:none;color:var(--cream);cursor:pointer;font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:color .25s var(--ease),transform .25s var(--ease)}
.close-btn::after{content:"\00d7";display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(241,246,250,.34);border-radius:50%;font-size:16px;line-height:1;transition:transform .35s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.close-btn:hover,.close-btn:focus-visible{color:var(--powder)}
.close-btn:hover::after,.close-btn:focus-visible::after{transform:rotate(90deg);background:rgba(241,246,250,.08);border-color:var(--powder)}
.ov-body{flex:1;display:flex;align-items:center;position:relative}
.ov-inner{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.ov-links{list-style:none}
.ov-links li{overflow:hidden}
.ov-links a{display:flex;align-items:baseline;gap:22px;font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(40px,8vw,88px);line-height:1.08;letter-spacing:-.01em;padding:5px 0;color:var(--cream);transform:translateY(110%);transition:transform .6s var(--ease),color .3s}
.overlay.open .ov-links a{transform:translateY(0)}
.overlay.open .ov-links li:nth-child(1) a{transition-delay:.12s}
.overlay.open .ov-links li:nth-child(2) a{transition-delay:.19s}
.overlay.open .ov-links li:nth-child(3) a{transition-delay:.26s}
.overlay.open .ov-links li:nth-child(4) a{transition-delay:.33s}
.overlay.open .ov-links li:nth-child(5) a{transition-delay:.40s}
.ov-links a .n{font-family:var(--mono);font-size:14px;color:var(--camel);font-weight:400;transform:translateY(-.5em)}
.ov-links a:hover{color:var(--powder)}
.ov-meta{text-align:right;font-size:13px;line-height:1.75;color:rgba(241,246,250,.62)}
.ov-meta a:hover{color:var(--powder)}
.ov-secondary{display:grid;gap:7px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(241,246,250,.14)}
.ov-secondary a{display:inline-flex;justify-content:flex-end;min-height:32px;align-items:center;color:rgba(241,246,250,.78);transition:color .25s var(--ease),transform .25s var(--ease)}
.ov-secondary a:hover,.ov-secondary a:focus-visible{color:var(--cream);transform:translateX(-4px)}
.ov-member{display:inline-flex!important;align-items:center;justify-content:center!important;min-height:44px;margin-bottom:20px;padding:0 18px;border:1px solid rgba(241,246,250,.32);border-radius:999px;color:var(--cream)!important;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)!important}
.ov-member:hover,.ov-member:focus-visible{background:var(--cream);border-color:var(--cream);color:var(--slate-1)!important;transform:none!important}
.ov-line{position:absolute;left:var(--pad);top:0;height:100%;width:2px;pointer-events:none}
.ov-line svg{height:100%;width:2px;overflow:visible}
.ov-line path{fill:none;stroke:var(--camel);stroke-width:1.4;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1.1s var(--ease) .25s}
.overlay.open .ov-line path{stroke-dashoffset:0}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.02em;padding:17px 32px;border-radius:100px;cursor:pointer;border:1px solid transparent;transition:transform .5s var(--ease),background .35s,color .35s,box-shadow .35s;will-change:transform}
.btn-primary{background:var(--slate-1);color:var(--cream);box-shadow:0 14px 32px -18px rgba(72,89,107,.9);position:relative;overflow:hidden}
.btn-primary:hover{background:var(--slate-2);box-shadow:0 20px 44px -16px rgba(72,89,107,.9)}
.btn-primary .dot{width:6px;height:6px;border-radius:50%;background:var(--camel)}
.btn-primary::after{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .55s var(--ease)}
.btn-primary:hover::after{left:125%}
.btn-light{background:var(--cream);color:var(--slate-1);border-color:var(--cream)}
.btn-light:hover{background:transparent;color:var(--cream)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.link-ink{display:inline-flex;align-items:center;gap:9px;font-weight:500;font-size:14px;letter-spacing:.01em;border-bottom:1px solid var(--hair);padding-bottom:3px;transition:border-color .3s,gap .3s}
.link-ink:hover{border-color:var(--ink);gap:15px}
.link-ink .arw{transition:transform .3s var(--ease)}
.link-ink:hover .arw{transform:translateX(4px)}

/* ============ HERO ============ */
.hero{position:relative;padding-top:clamp(96px,10vw,128px);padding-bottom:clamp(48px,7vw,96px);background:linear-gradient(180deg,var(--powder-soft) 0%,var(--paper) 62%)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,68px);align-items:center}
.hero-copy{position:relative;z-index:3}
.hero h1{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(48px,7.6vw,116px);line-height:.95;letter-spacing:-.02em;margin:26px 0 0}
.hero h1 .ser-i{color:var(--powder-deep)}
.hero h1 .line{display:block;overflow:hidden;padding:.03em 0}
.hero h1 .line > span{display:inline-block;transform:translateY(114%);transition:transform .95s var(--ease)}
.hero.in h1 .line:nth-child(1) > span{transition-delay:.05s}
.hero.in h1 .line:nth-child(2) > span{transition-delay:.16s}
.hero.in h1 .line:nth-child(3) > span{transition-delay:.27s}
.hero.in h1 .line > span{transform:translateY(0)}
.hero-sub{max-width:46ch;margin-top:30px;font-size:clamp(15px,1.5vw,18px);font-weight:300;color:var(--ink-soft);line-height:1.68;opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease) .55s,transform .8s var(--ease) .55s}
.hero.in .hero-sub{opacity:1;transform:none}
.hero-sub b{font-weight:600;color:var(--ink)}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:38px;opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease) .7s,transform .8s var(--ease) .7s}
.hero.in .hero-cta{opacity:1;transform:none}
.hero-media{position:relative;z-index:2}
.hero-frame{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px}
.hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(169,198,214,.22),rgba(72,89,107,.14));mix-blend-mode:multiply;pointer-events:none}
.hero-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02);transform:scale(1.06);will-change:transform}
.hero-tag{position:absolute;left:0;bottom:22px;transform:translateX(-28%);background:var(--cream);border:1px solid var(--hair);padding:12px 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);z-index:4}
.hero-tag b{color:var(--camel-deep)}

/* ============ TAGLINE MARQUEE ============ */
.marquee{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:clamp(16px,2.4vw,26px) 0;overflow:hidden;background:var(--paper);position:relative;z-index:3}
.marquee-track{display:flex;width:max-content;animation:march 30s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(22px,3.4vw,40px);letter-spacing:.01em;padding:0 clamp(16px,2.4vw,34px);color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center;gap:clamp(16px,2.4vw,34px)}
.marquee-track span i{font-style:italic;color:var(--powder-deep)}
.marquee-track .dotm{width:6px;height:6px;border-radius:50%;background:var(--camel);flex:0 0 auto}
@keyframes march{to{transform:translateX(-50%)}}

/* ============ SECTION SHELL ============ */
section{position:relative}
.band{padding:clamp(76px,11vw,148px) 0;position:relative}
.band.cream2{background:var(--paper-2)}
.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(30px,5vw,58px)}
.sec-head .idx{padding-top:4px}
.reveal{opacity:0;transform:translateY(30px);filter:blur(8px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:blur(0)}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* ============ STORY — THIS IS ME ============ */
.story-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(30px,5vw,72px);align-items:center}
.story-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px}
.story-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(169,198,214,.2),rgba(72,89,107,.12));mix-blend-mode:multiply;pointer-events:none}
.story-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02);transform:scale(1.05)}
.story-big{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(25px,3.1vw,42px);line-height:1.28;letter-spacing:-.01em;color:var(--ink)}
.story-big .ser-i{color:var(--powder-deep)}
.story-body{margin-top:24px;max-width:50ch;font-weight:300;font-size:16px;line-height:1.72;color:var(--ink-soft)}
.story-body em{font-style:normal;color:var(--camel-deep)}
.sign{margin-top:26px;font-family:var(--serif);font-style:italic;font-variation-settings:var(--soft);font-size:30px;color:var(--ink)}
.sign small{display:block;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-mid);margin-top:6px}
.editorial-copy{display:grid;gap:16px;max-width:70ch;color:var(--ink-soft)}
.editorial-copy>p{font-weight:300;line-height:1.75}
.editorial-copy .story-big{color:var(--ink)}
.editorial-quote{font-family:var(--serif);font-size:clamp(22px,2.6vw,34px);font-weight:400!important;line-height:1.28!important;color:var(--ink)!important}
.story-details{margin-top:8px;padding-top:18px;border-top:1px solid var(--hair)}
.story-details summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:16px;color:var(--ink);font-weight:600;cursor:pointer;list-style:none}
.story-details summary::-webkit-details-marker{display:none}
.story-details summary::after{content:"+";font-size:24px;font-weight:300;transition:transform .25s var(--ease)}
.story-details[open] summary::after{transform:rotate(45deg)}
.story-details__body{display:grid;gap:16px;padding-top:20px}
.story-details__body p{font-weight:300;line-height:1.75}

/* ============ CHALLENGE — WHAT I PROVIDE ============ */
.challenge{background:var(--slate-1);color:var(--cream);position:relative;overflow:hidden}
.challenge .kicker{color:var(--powder)}
.challenge .kicker::before{background:var(--powder)}
.challenge .idx{color:rgba(241,246,250,.4)}
.ch-head h2{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(38px,6vw,82px);line-height:1;letter-spacing:-.02em;max-width:15ch;margin-top:22px}
.ch-head h2 .ser-i{color:var(--powder)}
.ch-head p{max-width:48ch;margin-top:24px;font-weight:300;color:rgba(241,246,250,.74);font-size:17px;line-height:1.7}
.ch-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);margin-top:clamp(44px,6vw,78px);align-items:start}
.progress-label{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(241,246,250,.55);margin-bottom:20px;gap:12px}
.progress-label b{color:var(--cream);font-weight:600}
.nodes{display:grid;grid-template-columns:repeat(14,1fr);gap:14px 10px}
.node{position:relative;display:grid;place-items:center;aspect-ratio:1}
.node::before{content:"";position:absolute;left:100%;top:50%;width:10px;height:1px;background:rgba(241,246,250,.16)}
.node:nth-child(14n)::before,.node:last-child::before{display:none}
.node .dot{width:9px;height:9px;border-radius:50%;background:rgba(241,246,250,.18);transition:background .45s ease,transform .45s var(--ease),box-shadow .45s ease}
.node.lit .dot{background:var(--powder);box-shadow:0 0 0 4px rgba(169,198,214,.22)}
.node.gold .dot{background:var(--camel);box-shadow:0 0 0 5px rgba(122,144,168,.26)}
.node.pop .dot{transform:scale(1.35)}
.node .num{position:absolute;top:-15px;font-family:var(--mono);font-size:8px;color:rgba(241,246,250,.4)}
.node.gold .num,.node.lit .num{color:var(--powder)}
.stack{list-style:none;margin-top:2px}
.stack li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid rgba(241,246,250,.12)}
.stack li:first-child{padding-top:0}
.check{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:1px solid var(--powder);display:grid;place-items:center;margin-top:2px}
.check svg{width:12px;height:12px;stroke:var(--powder);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.stack li > span:last-child{display:flex;flex-direction:column}
.stack .st-t{display:block;font-weight:500;font-size:16px}
.stack .st-v{display:block;font-weight:300;font-size:13.5px;color:rgba(241,246,250,.6);margin-top:3px;line-height:1.5}
.ch-price{margin-top:36px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ch-price .amt{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(44px,6vw,68px);letter-spacing:-.02em;line-height:.9}
.ch-price .meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,246,250,.55);padding-bottom:8px}
.ch-price .meta s{color:rgba(241,246,250,.35)}
.guarantee{margin-top:28px;border:1px solid rgba(122,144,168,.5);border-radius:4px;padding:22px 24px;background:rgba(122,144,168,.07)}
.guarantee .g-k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--camel);text-transform:uppercase}
.guarantee p{margin-top:10px;font-size:15px;line-height:1.6;font-weight:300;color:var(--cream)}
.guarantee p b{font-weight:600}
.scarcity{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.02em;color:rgba(241,246,250,.6)}
.scarcity .pulse{width:8px;height:8px;border-radius:50%;background:var(--camel);animation:pulseDot 2.4s ease-in-out infinite;flex:0 0 auto}
@keyframes pulseDot{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
.ch-btn-row{margin-top:32px}

/* ============ COACHING — SECONDARY ============ */
.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center}
.coach-photo{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;order:2}
.coach-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(169,198,214,.2),rgba(72,89,107,.12));mix-blend-mode:multiply;pointer-events:none}
.coach-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.02);transform:scale(1.05)}
.coach-copy h2{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(32px,4.6vw,60px);line-height:1.02;letter-spacing:-.02em;margin-top:20px;max-width:14ch}
.coach-copy h2 .ser-i{color:var(--powder-deep)}
.coach-frame{margin-top:24px;border-left:2px solid var(--powder-deep);padding:6px 0 6px 22px;max-width:48ch}
.coach-frame p{font-weight:300;font-size:16px;line-height:1.65;color:var(--ink-soft)}
.coach-frame p b{font-weight:600;color:var(--ink)}
.coach-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center}

/* ============ HOW TO START ============ */
.how{text-align:center}
.how-head{max-width:20ch;margin:0 auto clamp(44px,6vw,72px)}
.how-head--wide{max-width:72ch}
.how-head--wide .editorial-copy{max-width:68ch}
.how-head h2{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(34px,5vw,68px);line-height:1.02;letter-spacing:-.02em;margin-top:18px}
.how-head h2 .ser-i{color:var(--powder-deep)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);text-align:left}
.step{position:relative;padding-top:30px;border-top:1px solid var(--hair)}
.step .sn{font-family:var(--mono);font-size:13px;color:var(--camel-deep);letter-spacing:.05em}
.step h3{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.1;margin-top:16px;color:var(--ink)}
.step p{margin-top:14px;font-weight:300;font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:34ch}
.coaching-inclusions,.coaching-process{grid-template-columns:repeat(2,minmax(0,1fr))}
.coaching-faq{display:grid;grid-template-columns:1fr}

.program-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,22px);margin-top:clamp(34px,5vw,64px);text-align:left}
.program-gallery figure{min-width:0}
.program-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;filter:saturate(.9);transition:transform .75s var(--ease),filter .45s ease}
.program-gallery figure:hover img{transform:translateY(-5px);filter:saturate(1)}
.program-gallery figcaption{margin-top:12px;color:var(--ink-soft);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.program-gallery--feature{grid-template-columns:1fr}
.program-gallery--feature img{aspect-ratio:3/2;object-position:center 58%}
.program-cta{display:flex;justify-content:center;margin-top:32px}

.hero-frame--landscape{aspect-ratio:3/2}
.coaching-image-pair{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:clamp(14px,2vw,24px);align-items:end;max-width:1080px;margin:clamp(50px,7vw,88px) auto 0}
.coaching-image-pair figure{min-width:0;overflow:hidden;border-radius:6px}
.coaching-image-pair img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .75s var(--ease),filter .45s ease}
.coaching-image-pair__wide{aspect-ratio:16/10}
.coaching-image-pair__portrait{aspect-ratio:4/5;margin-bottom:clamp(-28px,-2vw,-12px)}
.coaching-image-pair figure:first-child img{object-position:center 44%}
.coaching-image-pair figure:last-child img{object-position:center 48%}
.coaching-image-pair figure:hover img{transform:scale(1.025);filter:saturate(1)}

/* ============ FINAL CTA ============ */
.final{background:var(--powder);color:var(--slate-1);text-align:center;padding:clamp(92px,14vw,180px) 0;position:relative;overflow:hidden}
.final .kicker{color:var(--slate-1)}
.final .kicker::before{background:var(--slate-1)}
.final h2{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(52px,10vw,150px);line-height:.92;letter-spacing:-.02em;margin:24px auto 0;max-width:12ch;color:var(--cream)}
.final h2 .ser-i{color:var(--slate-1)}
.final p{margin:26px auto 0;max-width:44ch;font-weight:300;color:rgba(72,89,107,.86);font-size:17px;line-height:1.7}
.final-cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center}
.final .btn-primary{background:var(--slate-1)}
.final .link-ink{border-color:rgba(72,89,107,.35);color:var(--slate-1)}
.final .link-ink:hover{border-color:var(--slate-1)}

/* ============ FOOTER ============ */
footer{background:var(--slate-2);color:rgba(241,246,250,.7);border-top:1px solid rgba(241,246,250,.14);padding:clamp(50px,7vw,80px) 0 40px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(241,246,250,.14)}
.foot-word{font-family:var(--serif);font-variation-settings:var(--soft);font-weight:400;font-size:clamp(34px,5vw,58px);letter-spacing:0;color:var(--cream);line-height:1}
.foot-word .foot-logo{height:clamp(34px,5vw,52px);width:auto;display:block}
.foot-word small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--camel);margin-top:8px}
.foot-tag{margin-top:18px;font-weight:300;font-size:14px;max-width:32ch;line-height:1.6}
.foot-tag span{display:block}
.foot-legal{margin-top:14px;color:rgba(241,246,250,.54);font-size:10px;letter-spacing:.09em;line-height:1.55;text-transform:uppercase}
.foot-col h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-mid);margin-bottom:18px;font-weight:500}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:12px}
.foot-col a{font-size:14.5px;font-weight:300;color:rgba(241,246,250,.75);transition:color .25s}
.foot-col a:hover{color:var(--powder)}
.foot-bot{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;padding-top:28px;font-size:12.5px;color:rgba(241,246,250,.5)}
.foot-bot a:hover{color:var(--powder)}
.foot-bot .rv a{color:var(--cream);font-weight:600}
.consent-manage{border:0;background:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-decoration:none}
.consent-manage:hover,.consent-manage:focus-visible{color:var(--powder);text-decoration:underline;text-underline-offset:3px}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-media{max-width:440px}
  .hero-tag{transform:translateX(-10%)}
  .story-grid,.coach-grid,.ch-cols{grid-template-columns:1fr}
  .coach-photo{order:0;max-width:440px}
  .story-photo{max-width:440px}
  .steps{grid-template-columns:1fr}
  .coaching-inclusions,.coaching-process,.coaching-faq{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr;gap:34px}
  .member-link{display:none}
  .ov-body{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain}
  .ov-inner{grid-template-columns:1fr;gap:24px;padding-top:clamp(72px,12vh,110px);padding-bottom:28px}
  .ov-meta{text-align:left}
  .ov-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-bottom:18px;padding-bottom:18px}
  .ov-secondary a{justify-content:flex-start;min-height:36px}
  .ov-member{justify-content:center!important;width:100%;margin-bottom:14px}
  #rail{display:none}
  .nodes{grid-template-columns:repeat(7,1fr)}
  .node:nth-child(14n)::before{display:block}
  .node:nth-child(7n)::before{display:none}
}
@media(max-width:560px){
  .hero-tag{transform:none;left:12px;bottom:12px}
  .nodes{grid-template-columns:repeat(7,1fr);gap:18px 8px}
  .program-gallery{grid-template-columns:1fr}
  .program-gallery figure:nth-child(2),.program-gallery figure:nth-child(3){margin-top:12px}
  .coaching-image-pair{grid-template-columns:1fr;max-width:680px}
  .coaching-image-pair__wide,.coaching-image-pair__portrait{aspect-ratio:3/2;margin-bottom:0}
}

/* ============ ENTRANCE VEIL — DIVINE ============ */
#veil{position:fixed;inset:0;z-index:200;background:var(--powder);display:grid;place-items:center;transition:transform .95s cubic-bezier(.76,0,.24,1);will-change:transform}
#veil.up{transform:translateY(-101%)}
.veil-card{position:relative;text-align:center;transition:transform .95s cubic-bezier(.76,0,.24,1),opacity .5s ease;will-change:transform}
#veil.up .veil-card{transform:translateY(-40vh);opacity:.5}
.veil-word{font-family:var(--serif);font-variation-settings:'SOFT' 65,'opsz' 144,'WONK' 0;font-size:clamp(66px,14vw,164px);color:var(--cream);font-weight:400;letter-spacing:-.005em;display:flex;justify-content:center;overflow:hidden;line-height:1.06;padding-bottom:.04em}
.veil-word span{display:inline-block;transform:translateY(118%);animation:vlUp .95s var(--ease) forwards}
.veil-word span:nth-child(1){animation-delay:.12s}
.veil-word span:nth-child(2){animation-delay:.19s}
.veil-word span:nth-child(3){animation-delay:.26s}
.veil-word span:nth-child(4){animation-delay:.33s}
.veil-word span:nth-child(5){animation-delay:.40s}
.veil-word span:nth-child(6){animation-delay:.47s}
.veil-by{margin-top:6px;font-family:var(--sans);font-size:clamp(11px,1.4vw,14px);letter-spacing:.42em;text-transform:uppercase;color:var(--slate-1);opacity:0;animation:veilFade .7s ease .72s forwards}
.veil-rule{width:34px;height:1px;margin:26px auto 0;background:var(--cream);transform:scaleX(0);animation:ruleDrawX .7s var(--ease) .92s forwards}
.veil-tag{margin-top:22px;font-family:var(--sans);font-size:clamp(10px,1.2vw,12px);letter-spacing:.34em;text-transform:uppercase;color:var(--slate-1);opacity:0;animation:veilFade .8s ease 1.08s forwards}
.veil-logo{width:min(66vw,560px);height:auto;margin:0 auto;clip-path:inset(0 100% 0 0);animation:logoWipe 1.2s cubic-bezier(.76,0,.24,1) .2s forwards}
@keyframes logoWipe{to{clip-path:inset(0 0 0 0)}}
@keyframes vlUp{to{transform:translateY(0)}}
@keyframes veilFade{to{opacity:1}}
@keyframes ruleDrawX{to{transform:scaleX(1)}}

/* ============ GRAIN ============ */
#grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:90;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainShift 9s steps(6) infinite}
@keyframes grainShift{0%,100%{transform:translate(0,0)}16%{transform:translate(-2%,1%)}33%{transform:translate(1%,-2%)}50%{transform:translate(-1%,2%)}66%{transform:translate(2%,1%)}83%{transform:translate(-2%,-1%)}}

/* ============ CURSOR ============ */
html.has-cursor,html.has-cursor a,html.has-cursor button{cursor:none}
#cur-dot,#cur-ring{position:fixed;top:0;left:0;pointer-events:none;border-radius:50%;z-index:300;opacity:0}
html.cur-on #cur-dot,html.cur-on #cur-ring{opacity:1}
#cur-dot{width:6px;height:6px;background:var(--camel);transform:translate(-50%,-50%)}
#cur-ring{width:30px;height:30px;border:1px solid rgba(134,170,192,.7);transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s,background .3s}
#cur-ring.hot{width:54px;height:54px;border-color:var(--camel);background:rgba(122,144,168,.09)}

/* ============ MICRO POLISH ============ */
.hero-frame{clip-path:inset(14% 9% 14% 9% round 3px);transition:clip-path 1.15s var(--ease) .3s}
.hero.in .hero-frame{clip-path:inset(0 0 0 0 round 3px)}
.story-photo.reveal,.coach-photo.reveal{clip-path:inset(11% 7% 11% 7% round 3px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease),clip-path 1.15s var(--ease) .1s}
.story-photo.reveal.in,.coach-photo.reveal.in{clip-path:inset(0 0 0 0 round 3px)}
.hero-frame img,.story-photo img,.coach-photo img{transition:transform 1.2s var(--ease),filter .6s ease}
.hero-frame:hover img,.story-photo:hover img,.coach-photo:hover img{transform:scale(1.115);filter:saturate(1) contrast(1.04)}
.step{transition:transform .45s var(--ease)}
.step:hover{transform:translateY(-6px)}
.step:hover .sn{color:var(--camel)}

/* ============ NEUE MONTREAL DISPLAY + LOGO ICON ============ */
.hero h1,.ch-head h2,.coach-copy h2,.how-head h2,.final h2,.ov-links a,.veil-word,.brand .mark,.foot-word,.ch-price .amt{font-weight:500;letter-spacing:-.025em}
.story-big,.step h3{font-weight:400}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hero h1 .line > span,.hero-sub,.hero-cta,.reveal{opacity:1!important;transform:none!important;filter:none!important}
  .marquee-track{animation:none}
  .rail-head::after{animation:none!important}
  .veil-word span{transform:none!important}
  .veil-logo{clip-path:none!important;animation:none!important}
  .veil-by,.veil-tag{opacity:1!important}
  .veil-rule{transform:scaleX(1)!important}
  #veil,#grain,#cur-dot,#cur-ring{display:none!important}
  .hero-frame,.story-photo.reveal,.coach-photo.reveal{clip-path:none!important}
}

/* ============ SHARED: OFFER LIST (subpages) ============ */
.offer-list{list-style:none;display:grid;gap:14px;margin-top:28px}
.offer-list li{border:1px solid var(--hair);border-radius:4px;padding:18px 22px;background:var(--paper);transition:transform .4s var(--ease),border-color .4s var(--ease)}
.offer-list li:hover{transform:translateX(6px);border-color:var(--powder-deep)}
.offer-list b{font-weight:600;font-size:15.5px;color:var(--ink)}
.offer-list span{display:block;margin-top:5px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;font-weight:300}
.page-hero{padding-top:clamp(150px,18vw,220px)}

/* subpages never show the preloader veil (only the main page does, once per session) */
#veil{display:none !important}
