@font-face{font-family:Manrope;src:url('../fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--night:#091229;--night-2:#101a3a;--ink:#111a33;--slate:#58617a;--indigo:#5d63d8;--peri:#8c91ef;--cloud:#f7f5f0;--mist:#e8eaf8;--peach:#efb789;--white:#fff;--line:rgba(17,26,51,.13);--shadow:0 28px 70px rgba(17,26,51,.12);--font:Manrope,Arial,sans-serif;--wrap:min(1180px,calc(100% - 48px));--radius:24px}
html{scroll-behavior:smooth;background:var(--cloud)}
body{font-family:var(--font);color:var(--ink);background:var(--cloud);font-size:16px;line-height:1.65;overflow-x:hidden}
a{color:inherit}button{color:inherit}.wrap{width:var(--wrap);margin-inline:auto}.narrow{width:min(760px,100%);margin-inline:auto}.section{padding:clamp(80px,9vw,132px) 0;position:relative}.eyebrow{font-size:.72rem;line-height:1.2;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--indigo);margin-bottom:20px}.section-head{max-width:820px;margin-bottom:54px}.section-head.center{text-align:center;margin-inline:auto}.section-head.center p,.section-head.center h2{max-width:none}.section-head h2,h2{font-size:clamp(2.35rem,5vw,4.9rem);line-height:.99;letter-spacing:-.055em;font-weight:650}.section-head p{max-width:690px;color:var(--slate);font-size:1.08rem;margin-top:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:14px 23px;border-radius:999px;background:var(--indigo);color:#fff;text-decoration:none;font-size:.87rem;line-height:1.2;font-weight:800;box-shadow:0 14px 34px rgba(93,99,216,.28);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.button:hover{transform:translateY(-3px);background:#5057cd;box-shadow:0 20px 40px rgba(93,99,216,.34)}.button:focus-visible,.proof-card:focus-visible,.vsl-play:focus-visible,summary:focus-visible{outline:3px solid var(--peach);outline-offset:4px}.button--light{background:#fff;color:var(--night);box-shadow:0 14px 40px rgba(0,0,0,.18)}.button--light:hover{background:var(--cloud)}.button--small{min-height:44px;padding:10px 17px;font-size:.76rem}.review-bar{position:relative;z-index:120;background:#332054;color:#fff;text-align:center;padding:9px 18px;font-size:.72rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.nav{position:absolute;top:36px;left:0;right:0;z-index:100;color:#fff;transition:background .25s ease,box-shadow .25s ease,top .25s ease}.nav.is-scrolled{position:fixed;top:0;background:rgba(9,18,41,.9);backdrop-filter:blur(18px);box-shadow:0 1px rgba(255,255,255,.12)}.nav__inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:13px}.brand__mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;font-size:.76rem;font-weight:800;letter-spacing:.08em}.brand b{display:block;font-size:.8rem;letter-spacing:.13em}.brand small{display:block;font-size:.61rem;letter-spacing:.15em;opacity:.68;margin-top:2px}.nav__note{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-left:auto}.hero{min-height:calc(100svh - 36px);position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--night)}.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%}.hero__media img{object-fit:cover;object-position:center 42%;filter:saturate(.9) contrast(1.05)}.hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,10,27,.96) 0%,rgba(5,10,27,.79) 43%,rgba(5,10,27,.2) 78%),linear-gradient(0deg,rgba(5,10,27,.94) 0%,transparent 60%)}.hero::after{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 78% 22%,rgba(140,145,239,.22),transparent 35%);pointer-events:none}.hero__content{position:relative;z-index:2;padding:180px 0 clamp(70px,8vw,110px);max-width:790px}.hero .eyebrow{color:#d8d9ff}.hero h1{font-size:clamp(3.4rem,7.7vw,7.4rem);line-height:.88;letter-spacing:-.069em;font-weight:610;max-width:790px}.hero__sub{max-width:680px;font-size:clamp(1.05rem,1.7vw,1.32rem);line-height:1.55;color:rgba(255,255,255,.9);margin:28px 0 30px}.hero__actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero__micro{font-size:.75rem;line-height:1.55;color:rgba(255,255,255,.66);max-width:225px}.hero__proof{margin-top:34px;display:flex;align-items:center;gap:13px;font-size:.76rem;color:rgba(255,255,255,.76)}.hero__proof strong{color:#fff}.proof-dots{display:flex}.proof-dots span{width:27px;height:27px;border-radius:50%;border:2px solid rgba(9,18,41,.8);background:linear-gradient(135deg,var(--peach),var(--peri));margin-left:-7px}.proof-dots span:first-child{margin-left:0}.scroll-cue{display:none}.signal-bar{background:#fff;border-bottom:1px solid var(--line)}.signal-grid{display:grid;grid-template-columns:repeat(4,1fr)}.signal{padding:24px 28px;border-right:1px solid var(--line)}.signal:last-child{border:0}.signal strong{display:block;font-size:.96rem;letter-spacing:-.02em}.signal span{font-size:.72rem;color:var(--slate);text-transform:uppercase;letter-spacing:.1em}.recognition{background:var(--cloud)}.recognition-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(55px,8vw,110px);align-items:start}.recognition__aside{position:sticky;top:120px}.recognition__aside h2{font-size:clamp(2.8rem,5.2vw,5.4rem)}.recognition__copy{font-size:1.1rem;color:#343e58}.recognition__copy>p{margin-bottom:24px}.recognition__copy blockquote{margin:45px 0;padding:28px 30px;border-left:4px solid var(--peach);background:#fff;border-radius:0 var(--radius) var(--radius) 0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.25;letter-spacing:-.035em;color:var(--ink);box-shadow:var(--shadow)}.recognition-list{display:grid;gap:10px;margin-top:34px}.recognition-list li{display:flex;gap:13px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.recognition-list i{font-style:normal;width:28px;height:28px;border-radius:50%;background:var(--mist);color:var(--indigo);display:grid;place-items:center;font-weight:800;flex:none}.bridge{min-height:720px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--night)}.bridge__media,.bridge__media img{position:absolute;inset:0;width:100%;height:100%}.bridge__media img{object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.04)}.bridge::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,18,41,.97),rgba(9,18,41,.67) 55%,rgba(9,18,41,.18)),linear-gradient(0deg,rgba(9,18,41,.9),transparent 70%)}.bridge__copy{position:relative;z-index:2;max-width:720px}.bridge__copy h2{margin-bottom:25px}.bridge__copy p{max-width:640px;color:rgba(255,255,255,.8);font-size:1.05rem}.bridge__copy p+p{margin-top:18px}.mechanism{background:#fff}.mechanism-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}.mechanism-visual{position:relative;border-radius:30px;overflow:hidden;min-height:690px;background:var(--night);box-shadow:var(--shadow)}.mechanism-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.9) contrast(1.02)}.mechanism-visual::after{content:'A live, facilitated process';position:absolute;left:24px;right:24px;bottom:24px;padding:18px 21px;border-radius:15px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);color:var(--ink);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.phase-list{display:grid;gap:14px;margin-top:38px}.phase{position:relative;padding:24px 24px 24px 78px;border:1px solid var(--line);border-radius:20px;background:var(--cloud);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.phase:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(93,99,216,.3)}.phase span{position:absolute;left:22px;top:23px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--indigo);color:#fff;font-size:.72rem;font-weight:800}.phase h3{font-size:1.2rem;letter-spacing:-.025em;margin-bottom:5px}.phase p{color:var(--slate);font-size:.91rem;line-height:1.55}.qualify{background:var(--mist)}.qualify-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.qualify-card{padding:42px;border-radius:var(--radius);background:#fff;border:1px solid rgba(17,26,51,.09);transition:transform .22s ease,box-shadow .22s ease}.qualify-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.qualify-card--not{background:var(--night);color:#fff}.qualify-card h3{font-size:1.5rem;letter-spacing:-.035em;margin-bottom:23px}.qualify-card ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}.qualify-card li{position:relative;padding-left:28px;color:var(--slate)}.qualify-card--not li{color:rgba(255,255,255,.72)}.qualify-card li::before{content:'✓';position:absolute;left:0;color:var(--indigo);font-weight:900}.qualify-card--not li::before{content:'—';color:var(--peach)}.offer{background:var(--night);color:#fff}.offer .section-head p{color:rgba(255,255,255,.68)}.offer-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.offer-card{grid-column:span 4;min-height:295px;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.055);transition:transform .22s ease,background .22s ease,border-color .22s ease}.offer-card:nth-child(1),.offer-card:nth-child(2){grid-column:span 6}.offer-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.085);border-color:rgba(140,145,239,.45)}.offer-card__num{display:block;color:var(--peach);font-size:.7rem;letter-spacing:.16em;font-weight:800;margin-bottom:65px}.offer-card h3{font-size:1.3rem;line-height:1.22;letter-spacing:-.035em;margin-bottom:12px}.offer-card p{font-size:.91rem;color:rgba(255,255,255,.66)}.offer__footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:40px;padding-top:35px;border-top:1px solid rgba(255,255,255,.15)}.offer__footer p{max-width:620px;color:rgba(255,255,255,.74)}.proof{background:#fff}.proof-note{padding:18px 22px;background:var(--mist);border-radius:16px;color:var(--slate);font-size:.84rem;margin-bottom:34px}.proof-group{margin-top:52px}.proof-group__head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:20px}.proof-group__head h3{font-size:1.2rem;letter-spacing:-.025em}.proof-group__head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--slate)}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.proof-card{position:relative;border:1px solid var(--line);padding:10px;border-radius:18px;background:var(--cloud);cursor:zoom-in;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.proof-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.proof-card img{width:100%;height:330px;object-fit:contain;border-radius:11px;background:#f0f0f0}.proof-card::after{content:'Open full size';position:absolute;right:16px;top:16px;background:rgba(9,18,41,.88);color:#fff;border-radius:999px;padding:7px 10px;font-size:.62rem;font-weight:800;letter-spacing:.06em}.watch{background:radial-gradient(circle at 22% 18%,rgba(93,99,216,.22),transparent 34%),linear-gradient(145deg,#050a18 0%,var(--night-2) 100%);color:#fff;overflow:hidden}.watch .section-head p{color:rgba(255,255,255,.76)}.watch .eyebrow{color:#cfd2ff}.watch-grid{display:block}.watch-grid--video{max-width:1120px;margin-inline:auto}.vsl{position:relative;border-radius:28px;overflow:hidden;min-height:0;aspect-ratio:16/9;background:var(--night);border:1px solid rgba(255,255,255,.13);box-shadow:0 36px 90px rgba(0,0,0,.38)}.vsl__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% center;filter:saturate(.82) brightness(.72)}.vsl::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,18,41,.88),transparent 65%);pointer-events:none}.vsl-play{position:absolute;z-index:2;inset:0;width:100%;height:100%;border:0;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:flex-end;text-align:left;padding:38px}.vsl-play__circle{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--night);font-size:1.25rem;margin-right:20px;flex:none}.vsl-play strong{display:block;font-size:1.4rem;line-height:1.2}.vsl-play small{display:block;color:rgba(255,255,255,.7);font-size:.76rem;margin-top:6px}.vsl.is-loaded{position:relative;inset:auto}.vsl.is-loaded .vsl-local-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;background:#000;object-fit:contain}.guarantee{background:linear-gradient(135deg,#f6d2b5 0%,#e6e7f8 58%,#d9dcf7 100%)}.guarantee-grid{display:grid;grid-template-columns:.67fr 1.33fr;gap:65px;align-items:center}.guarantee-seal{aspect-ratio:1;border-radius:50%;border:1px solid rgba(17,26,51,.28);display:grid;place-items:center;text-align:center;padding:25px;box-shadow:0 0 0 14px rgba(255,255,255,.23),0 0 0 29px rgba(255,255,255,.12)}.guarantee-seal span{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.guarantee-seal strong{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.9;letter-spacing:-.06em}.guarantee-copy h2{font-size:clamp(2.5rem,5vw,5rem)}.guarantee-copy p{margin-top:22px;color:#35405e;font-size:1.02rem;max-width:720px}.guarantee-terms{margin-top:30px;padding:20px 22px;border-radius:16px;background:rgba(255,255,255,.48);border:1px solid rgba(17,26,51,.12);font-size:.85rem}.path{background:#fff}.path-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:65px;align-items:center}.path-copy p{color:var(--slate);font-size:1.02rem;margin:22px 0 30px}.path-note{padding-top:20px;border-top:1px solid var(--line);font-size:.78rem;color:var(--slate)}.path-map{padding:28px;border-radius:28px;background:var(--mist);border:1px solid var(--line)}.path-step{position:relative;padding:25px 25px 25px 72px;background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:12px}.path-step:first-child{margin-top:0;background:var(--night);color:#fff}.path-step span{position:absolute;left:24px;top:25px;font-size:.68rem;color:var(--indigo);font-weight:800}.path-step:first-child span{color:var(--peach)}.path-step h3{font-size:1.05rem}.path-step p{font-size:.78rem;color:var(--slate);margin-top:4px}.path-step:first-child p{color:rgba(255,255,255,.65)}.faq{background:var(--cloud)}.faq-list{max-width:850px;margin-inline:auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;position:relative;padding:26px 56px 26px 0;font-size:1.05rem;font-weight:800}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:0;top:22px;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--indigo);font-size:1.1rem}details[open] summary::after{content:'−'}details p{color:var(--slate);padding:0 55px 28px 0;max-width:760px}.close{color:#fff;background:radial-gradient(circle at 82% 36%,rgba(93,99,216,.27),transparent 35%),linear-gradient(135deg,#050a18 0%,#101a3a 100%);overflow:hidden}.close-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(42px,6vw,82px);align-items:center}.close__copy{position:relative;z-index:2;max-width:720px}.close h2{font-size:clamp(3rem,6.7vw,6.5rem)}.close p{font-size:1.08rem;color:rgba(255,255,255,.79);max-width:650px;margin:25px 0 30px}.close__portrait{position:relative;margin:0;max-width:650px;justify-self:end;filter:drop-shadow(0 30px 55px rgba(0,0,0,.35))}.close__portrait img{display:block;width:100%;height:auto;object-fit:contain}.close__portrait figcaption{position:absolute;left:8%;right:8%;bottom:5%;display:flex;justify-content:space-between;gap:18px;align-items:end;padding:17px 19px;border:1px solid rgba(255,255,255,.17);border-radius:15px;background:rgba(5,10,24,.79);backdrop-filter:blur(13px)}.close__portrait figcaption strong{font-size:.86rem}.close__portrait figcaption span{font-size:.68rem;color:rgba(255,255,255,.66);text-align:right}.footer{padding:35px 0;background:#050a18;color:rgba(255,255,255,.62)}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr .8fr;gap:30px;align-items:start;font-size:.72rem}.footer .brand{color:#fff}.footer a{color:#fff}.mobile-cta{display:none}.proof-dialog{width:min(1100px,94vw);max-height:92vh;border:0;border-radius:22px;padding:48px;background:#fff;box-shadow:0 40px 100px rgba(0,0,0,.45)}.proof-dialog::backdrop{background:rgba(5,10,24,.88);backdrop-filter:blur(8px)}.proof-dialog img{width:100%;max-height:76vh;object-fit:contain}.dialog-close{position:absolute;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--night);color:#fff;cursor:pointer}.fade-up{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.fade-up.visible{opacity:1;transform:none}
.cosmic-section{isolation:isolate;overflow:hidden;background-color:var(--night)}
.cosmic-section:not(.hero)::before{content:'';position:absolute;inset:-13%;z-index:1;pointer-events:none;background-image:url("../images/v2-quantum-cosmos-pinpoint-stars.webp");background-size:cover;background-position:center;filter:saturate(1.08) contrast(1.04);transform:scale(1.1) translate3d(-1.1%,-.5%,0);opacity:.96;will-change:transform,filter;animation:quantumDrift 32s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.cosmic-section::after{content:'';position:absolute;inset:-8%;z-index:1;pointer-events:none;opacity:.4;mix-blend-mode:screen;background:radial-gradient(ellipse at 74% 34%,rgba(140,145,239,.3),transparent 32%),radial-gradient(ellipse at 24% 76%,rgba(239,183,137,.16),transparent 28%);will-change:opacity,transform;animation:quantumBloom 11s ease-in-out infinite alternate}
.cosmic-section>.wrap,.hero__inner,.bridge__copy{position:relative;z-index:3}
.cosmic-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.98;contain:strict}
.hero.cosmic-section::after{inset:-8%;opacity:.42;background-image:url("../images/v2-quantum-cosmos-pinpoint-stars.webp");background-size:cover;background-position:center 52%;filter:saturate(1.04) contrast(1.02);mix-blend-mode:screen;animation:quantumDrift 34s cubic-bezier(.45,.05,.55,.95) infinite alternate;-webkit-mask-image:radial-gradient(ellipse 30% 49% at 84% 45%,transparent 0 58%,rgba(0,0,0,.18) 72%,#000 100%);mask-image:radial-gradient(ellipse 30% 49% at 84% 45%,transparent 0 58%,rgba(0,0,0,.18) 72%,#000 100%)}
.hero .cosmic-canvas{opacity:.62;-webkit-mask-image:radial-gradient(ellipse 30% 49% at 84% 45%,transparent 0 58%,rgba(0,0,0,.18) 72%,#000 100%);mask-image:radial-gradient(ellipse 30% 49% at 84% 45%,transparent 0 58%,rgba(0,0,0,.18) 72%,#000 100%)}
.hero::before{-webkit-mask-image:radial-gradient(ellipse 30% 49% at 84% 45%,transparent 0 58%,rgba(0,0,0,.18) 72%,#000 100%);mask-image:radial-gradient(ellipse 30% 49% at 84% 45%,transparent 0 58%,rgba(0,0,0,.18) 72%,#000 100%)}
.hero__media{inset:13% 1.6% 4% auto;width:min(43vw,640px);overflow:hidden;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 100%)}
.hero__media img{object-fit:cover;object-position:50% 45%;transform:none;filter:saturate(.94) contrast(1.04) brightness(1.05)}
.hero__proof .proof-dots img{display:block;inline-size:27px;block-size:27px;min-width:27px;max-width:27px;min-height:27px;max-height:27px;flex:0 0 27px;object-fit:cover;border-radius:50%;border:2px solid rgba(9,18,41,.8);box-shadow:0 3px 10px rgba(5,10,27,.34)}
.hero__proof .proof-dots img+img{margin-left:-7px}
.vsl__poster{object-position:center center;filter:saturate(.93) contrast(1.04) brightness(.88)}
.vsl-youtube-link{position:absolute;z-index:4;right:18px;top:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(5,10,27,.76);color:#fff;font-size:.69rem;font-weight:800;text-decoration:none;backdrop-filter:blur(10px)}
.vsl-youtube-link:hover{background:rgba(5,10,27,.94)}
.cosmic-section.bridge::before{background-image:linear-gradient(90deg,rgba(9,18,41,.94) 0%,rgba(9,18,41,.62) 54%,rgba(9,18,41,.18) 100%),linear-gradient(0deg,rgba(9,18,41,.75),transparent 68%),url("../images/v2-quantum-veil-pinpoint-stars.webp");background-size:100% 100%,100% 100%,cover;background-position:0 0,0 0,center 56%;opacity:.58}
.bridge__copy{text-shadow:0 2px 24px rgba(5,10,27,.82)}
.cosmic-section.offer::before{background-image:linear-gradient(180deg,rgba(5,10,27,.38),rgba(5,10,27,.56)),url("../images/v2-quantum-veil-pinpoint-stars.webp");background-position:0 0,center 42%;background-size:100% 100%,cover}
.cosmic-section.watch::before{background-image:url("../images/v2-quantum-cosmos-pinpoint-stars.webp");background-position:center 62%}
.cosmic-section.close::before{background-image:linear-gradient(90deg,rgba(5,10,27,.64) 0%,rgba(5,10,27,.48) 55%,rgba(5,10,27,.2) 100%),url("../images/v2-quantum-veil-pinpoint-stars.webp");background-position:0 0,center 72%;background-size:100% 100%,cover}
@keyframes quantumDrift{0%{transform:scale(1.1) translate3d(-1.1%,-.5%,0);filter:saturate(1.02) contrast(1.02)}52%{filter:saturate(1.13) contrast(1.06)}100%{transform:scale(1.17) translate3d(1.8%,1.1%,0);filter:saturate(1.08) contrast(1.04)}}
@keyframes quantumBloom{0%{opacity:.24;transform:scale(.98) translate3d(-1%,0,0)}55%{opacity:.48}100%{opacity:.32;transform:scale(1.06) translate3d(1.5%,-1%,0)}}
.mechanism-visual::after{content:'A live, three-stage working session'}
@media(max-width:900px){:root{--wrap:min(100% - 36px,760px)}.section{padding:86px 0}.nav__note{display:none}.hero h1{font-size:clamp(3.5rem,10vw,5.8rem)}.signal-grid{grid-template-columns:1fr 1fr}.signal:nth-child(2){border-right:0}.signal:nth-child(-n+2){border-bottom:1px solid var(--line)}.recognition-grid,.mechanism-grid,.watch-grid,.guarantee-grid,.path-grid,.close-grid{grid-template-columns:1fr}.recognition__aside{position:static}.mechanism-visual{min-height:560px;order:-1}.qualify-grid{grid-template-columns:1fr}.offer-card,.offer-card:nth-child(1),.offer-card:nth-child(2){grid-column:span 6}.watch-grid{gap:18px}.kevin-card{min-height:520px}.vsl{min-height:520px}.guarantee-seal{width:min(310px,80vw);margin-inline:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>*:nth-child(2){grid-column:1/-1;grid-row:2}}
@media(max-width:600px){:root{--wrap:min(100% - 28px,520px);--radius:19px}.review-bar{font-size:.62rem;padding:8px 12px}.nav{top:30px}.nav__inner{height:62px}.nav .button{font-size:.62rem;padding:9px 11px;min-height:40px}.brand__mark{width:31px;height:31px}.brand b{font-size:.67rem}.brand small{font-size:.52rem}.hero{min-height:calc(100svh - 30px);align-items:flex-end}.hero__media img{object-position:72% center}.hero::before{background:linear-gradient(0deg,rgba(5,10,27,.98) 0%,rgba(5,10,27,.75) 57%,rgba(5,10,27,.32) 100%)}.cosmic-section.offer::before{background-size:100% 100%,auto 112%;background-position:0 0,center}.cosmic-section.close::before{background-image:linear-gradient(180deg,rgba(5,10,27,.6),rgba(5,10,27,.42)),url("../images/v2-quantum-veil-pinpoint-stars.webp");background-size:100% 100%,auto 112%;background-position:0 0,center}.hero__content{padding:125px 0 34px;max-width:none}.hero h1{font-size:clamp(2.55rem,12vw,3.5rem);line-height:.92}.hero__sub{font-size:.91rem;line-height:1.52;margin:20px 0 22px}.hero__actions{display:block}.hero .button{width:100%}.hero__micro{max-width:none;text-align:center;margin-top:11px;font-size:.72rem}.hero__proof{margin-top:18px;justify-content:center;font-size:.67rem}.scroll-cue{display:block;background:var(--night);color:rgba(255,255,255,.67);text-align:center;padding:14px 15px;font-size:.63rem;letter-spacing:.15em;text-transform:uppercase}.scroll-cue span{display:inline-block;margin-left:8px;animation:bounce 1.5s infinite}@keyframes bounce{50%{transform:translateY(5px)}}.section{padding:58px 0}.section-head{margin-bottom:34px}.section-head h2,h2,.recognition__aside h2,.guarantee-copy h2{font-size:clamp(2rem,10vw,2.75rem);line-height:1}.section-head p{font-size:.92rem;margin-top:17px}.eyebrow{font-size:.7rem;margin-bottom:15px}.signal{padding:17px 14px}.signal strong{font-size:.82rem}.signal span{font-size:.59rem}.recognition-grid{gap:30px}.recognition__copy{font-size:.94rem}.recognition__copy blockquote{margin:30px 0;padding:23px;font-size:1.3rem}.recognition-list li{font-size:.88rem}.bridge{min-height:620px}.bridge__copy p{font-size:.92rem}.mechanism-grid{gap:30px}.mechanism-visual{min-height:390px}.mechanism-visual::after{left:14px;right:14px;bottom:14px;padding:13px;font-size:.64rem}.phase{padding:20px 18px 20px 65px}.phase span{left:17px;top:19px;width:34px;height:34px}.phase p{font-size:.83rem}.qualify-grid{gap:13px}.qualify-card{padding:25px 22px}.qualify-card li{font-size:.87rem}.offer-grid{display:grid;grid-template-columns:1fr}.offer-card,.offer-card:nth-child(1),.offer-card:nth-child(2){grid-column:auto;min-height:0;padding:23px}.offer-card__num{margin-bottom:35px}.offer__footer{display:block}.offer__footer .button{width:100%;margin-top:22px}.proof-group{margin-top:38px}.proof-group__head{display:block}.proof-group__head span{display:block;margin-top:5px}.proof-grid{grid-template-columns:1fr}.proof-card img{height:auto;max-height:520px}.proof-card::after{content:'Tap full size'}.kevin-card{min-height:460px}.vsl{min-height:430px}.vsl-play{padding:25px;display:block}.vsl-play__circle{margin:0 0 17px}.vsl-play strong{font-size:1.2rem}.guarantee-grid{gap:45px}.guarantee-seal{width:230px}.guarantee-copy p{font-size:.9rem}.path-grid{gap:35px}.path-map{padding:14px}.path-step{padding:21px 17px 21px 56px}.path-step span{left:18px;top:22px}.faq-list summary{font-size:.92rem;padding:21px 45px 21px 0}.faq-list summary::after{top:17px}.faq-list details p{font-size:.87rem;padding-right:0}.close h2{font-size:clamp(2.7rem,13vw,4rem)}.close p{font-size:.92rem}.close .button{width:100%}.close-grid{gap:42px}.close__portrait{width:min(100%,420px);justify-self:center}.close__portrait figcaption{left:6%;right:6%;bottom:4%;display:block}.close__portrait figcaption span{display:block;text-align:left;margin-top:3px}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-grid>*:nth-child(2){grid-column:auto;grid-row:auto}.footer .brand{justify-content:center}.proof-dialog{padding:48px 12px 14px}.mobile-cta{position:fixed;z-index:95;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;min-height:50px;padding:12px 16px;border-radius:999px;background:var(--indigo);color:#fff;text-decoration:none;font-size:.72rem;font-weight:800;box-shadow:0 18px 45px rgba(9,18,41,.35);transform:translateY(130%);transition:transform .25s ease}.mobile-cta.is-visible{transform:none}}
@media(max-width:380px){.hero h1{font-size:2.43rem}.nav .button{font-size:.58rem}.brand small{display:none}.signal strong{font-size:.76rem}.proof-dots span{width:23px;height:23px}}
@media(max-width:600px){.hero::before,.hero.cosmic-section::after,.hero .cosmic-canvas{-webkit-mask-image:radial-gradient(ellipse 38% 33% at 68% 28%,transparent 0 58%,rgba(0,0,0,.16) 74%,#000 100%);mask-image:radial-gradient(ellipse 38% 33% at 68% 28%,transparent 0 58%,rgba(0,0,0,.16) 74%,#000 100%)}.hero.cosmic-section::after{opacity:.3}.hero .cosmic-canvas{opacity:.48}}
@media(max-width:600px){.hero__media{inset:96px 14px auto auto;width:72%;height:auto;aspect-ratio:1110/1305;border-radius:28px;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 10%,#000 100%);mask-image:linear-gradient(0deg,transparent 0,#000 10%,#000 100%);box-shadow:0 22px 52px rgba(5,10,27,.34)}.hero__media img{object-position:50% 45%;transform:none}.hero__content{padding-top:430px}.vsl-youtube-link{right:10px;top:10px;font-size:.62rem;padding:7px 10px}}
@media(max-width:380px){.hero__proof .proof-dots img{inline-size:23px;block-size:23px;min-width:23px;max-width:23px;min-height:23px;max-height:23px;flex-basis:23px}}
@media(prefers-reduced-motion:reduce){.fade-up{opacity:1;transform:none}.scroll-cue span,.cosmic-section::after{animation:none}.cosmic-section:not(.hero)::before,.hero.cosmic-section::after{animation:none}.cosmic-section::before,.hero.cosmic-section::after{transform:scale(1.1);filter:saturate(1.05) contrast(1.04)}.cosmic-canvas{opacity:.72}}.watch-grid--video .vsl{min-height:0}

/* VSL-first opening: reference-inspired hierarchy, Return Home visual language. */
.hero--vsl{min-height:auto;display:block;text-align:center;padding:clamp(138px,10vw,180px) 0 clamp(24px,2.5vw,38px);background:var(--night)}
.hero--vsl .hero__content{padding:0;max-width:1240px;margin-inline:auto}
.hero--vsl .eyebrow{max-width:900px;margin:0 auto 27px;color:#c9a0ff;font-size:clamp(.7rem,.9vw,.85rem);line-height:1.35;letter-spacing:.19em}
.hero--vsl h1{max-width:1240px;margin-inline:auto;font-size:clamp(3.5rem,6.45vw,6.35rem);line-height:.96;letter-spacing:-.062em;font-weight:640;text-wrap:balance}
.hero__highlight{display:inline-block;white-space:nowrap;padding:.035em .18em .09em;margin:.06em .03em 0;background:linear-gradient(180deg,#fff,#f5f4fb);color:#1a1923;border-radius:.18em;line-height:.9;letter-spacing:-.065em;box-shadow:0 17px 48px rgba(85,58,164,.34),0 0 0 1px rgba(255,255,255,.7);transform:rotate(-.75deg)}
.hero--vsl .hero__sub{max-width:1060px;margin:34px auto 0;font-size:clamp(1.08rem,1.55vw,1.36rem);line-height:1.5;color:rgba(255,255,255,.8);text-wrap:balance}
.hero--vsl::before{background:linear-gradient(180deg,rgba(9,18,41,.12) 0%,rgba(9,18,41,.34) 62%,var(--night) 100%);-webkit-mask-image:none;mask-image:none}
.hero--vsl.cosmic-section::after{inset:0;background-image:url("../images/v2-quantum-cosmos-pinpoint-stars.webp");background-size:min(1900px,118vw) auto;background-repeat:no-repeat;background-position:center 46%;mix-blend-mode:normal;filter:saturate(.84) contrast(1.01) brightness(.7);opacity:.34;animation:quantumDrift 34s cubic-bezier(.45,.05,.55,.95) infinite alternate;-webkit-mask-image:linear-gradient(180deg,#000 0 68%,transparent 100%);mask-image:linear-gradient(180deg,#000 0 68%,transparent 100%)}
.hero--vsl .cosmic-canvas{opacity:.28;-webkit-mask-image:none;mask-image:none}
.watch--hero{padding:0 0 clamp(72px,7vw,102px);margin-top:-1px;background:var(--night)}
.watch--hero.cosmic-section::before{inset:0;background-image:linear-gradient(180deg,var(--night) 0%,rgba(9,18,41,.76) 18%,rgba(9,18,41,.28) 55%,var(--night) 100%),url("../images/v2-quantum-cosmos-pinpoint-stars.webp");background-size:100% 100%,min(1900px,118vw) auto;background-repeat:no-repeat;background-position:0 0,center 58%;filter:saturate(.8) contrast(1.01) brightness(.68);transform:none;opacity:.3;animation:none}
.watch--hero.cosmic-section::after{opacity:.12}
.watch--hero .cosmic-canvas{opacity:.3}
.watch--hero .wrap{position:relative;z-index:3}
.watch--hero .vsl{max-width:1080px;margin-inline:auto;border-radius:30px;border-color:rgba(207,210,255,.2);box-shadow:0 42px 110px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.045),0 0 70px rgba(93,99,216,.13)}
.watch--hero .vsl__poster{filter:none;object-position:center center}
.vsl__story{position:absolute;z-index:2;left:6%;top:49%;transform:translateY(-50%);max-width:430px;text-align:left;text-shadow:0 3px 24px rgba(0,0,0,.58);pointer-events:none}
.vsl__story span{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;padding:9px 14px 9px 12px;color:#091229;background:linear-gradient(135deg,#fff4ed,#ffc8b6);border:1px solid rgba(255,255,255,.78);border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.3),0 0 0 4px rgba(255,208,191,.1);font-size:.7rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;font-weight:800;text-shadow:none;transform:rotate(-1.2deg)}
.vsl__story span::before{content:'▶';font-size:.58rem;line-height:1;transform:translateY(-.5px)}
.vsl__story strong{display:block;color:#fff;font-size:clamp(2.4rem,4.1vw,4.25rem);line-height:.96;letter-spacing:-.055em;font-weight:700}
.vsl__story small{display:block;margin-top:18px;color:rgba(255,255,255,.67);font-size:.77rem;letter-spacing:.04em}
.watch--hero .vsl-play{z-index:3;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:0 34px 34px;background:linear-gradient(180deg,transparent 64%,rgba(3,7,20,.7) 100%)}
.watch--hero .vsl-play__circle{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);width:68px;height:68px;margin:0;background:linear-gradient(135deg,#fff,#d9dcff);box-shadow:0 14px 36px rgba(0,0,0,.35),0 0 0 9px rgba(255,255,255,.1);transition:transform .2s ease,box-shadow .2s ease}
.watch--hero .vsl-play:hover .vsl-play__circle{transform:translateX(-50%) scale(1.07);box-shadow:0 18px 44px rgba(0,0,0,.38),0 0 0 12px rgba(140,145,239,.2)}
.vsl-play__label{display:none}
.watch__after{max-width:780px;margin:34px auto 0;text-align:center;display:grid;justify-items:center;gap:14px}
.watch__after .hero__micro{max-width:650px;margin:0;color:rgba(255,255,255,.62);font-size:.77rem;line-height:1.5}
.watch--hero .hero__proof{max-width:760px;margin:25px auto 0;justify-content:center;text-align:left}

@media(max-width:900px){
  .hero--vsl{padding-top:142px;padding-bottom:32px}
  .hero--vsl h1{font-size:clamp(3.25rem,9.6vw,5.35rem)}
  .vsl__story{max-width:350px}
  .vsl__story strong{font-size:clamp(2rem,5.8vw,3.45rem)}
}
@media(min-width:1800px){
  .hero--vsl{padding-top:clamp(145px,7vw,176px);padding-bottom:20px}
  .hero--vsl .hero__content{width:min(82vw,1900px);max-width:none}
  .hero--vsl .eyebrow{max-width:1300px;margin-bottom:24px}
  .hero--vsl h1{max-width:1900px;font-size:clamp(6.35rem,5.35vw,8.25rem);line-height:.94}
  .hero--vsl .hero__sub{max-width:1450px;margin-top:27px}
  .watch--hero .wrap{width:min(72vw,1700px)}
  .watch--hero .watch-grid--video{width:100%;max-width:none}
  .watch--hero .vsl{width:100%;max-width:min(66vw,1600px)}
}
@media(max-width:600px){
  .hero--vsl{min-height:auto;align-items:initial;padding:124px 0 24px}
  .hero--vsl .hero__content{padding:0}
  .hero--vsl h1{font-size:clamp(2.75rem,12.2vw,3.8rem);line-height:.96;letter-spacing:-.058em}
  .hero--vsl .eyebrow{max-width:350px;margin-bottom:21px;font-size:.7rem;line-height:1.45;letter-spacing:.13em}
  .hero__highlight{display:inline-block;margin-top:.1em;padding:.05em .16em .1em;border-radius:.2em}
  .hero--vsl .hero__sub{font-size:.98rem;line-height:1.48;margin-top:25px}
  .watch--hero{padding-top:8px;padding-bottom:74px}
  .watch--hero .vsl{aspect-ratio:16/10;border-radius:20px}
  .watch--hero .vsl__poster{object-fit:cover;object-position:center center}
  .vsl__story{left:6%;top:46%;max-width:52%;transform:translateY(-50%)}
  .vsl__story span{gap:6px;padding:6px 9px 6px 8px;font-size:.5rem;letter-spacing:.11em;margin-bottom:10px;box-shadow:0 7px 18px rgba(0,0,0,.28),0 0 0 3px rgba(255,208,191,.09)}
  .vsl__story span::before{font-size:.45rem}
  .vsl__story strong{font-size:clamp(1.45rem,7.2vw,2rem);line-height:.96}
  .vsl__story small{font-size:.57rem;margin-top:10px}
  .watch--hero .vsl-play{padding:0 20px 18px;justify-content:center}
  .watch--hero .vsl-play__circle{bottom:18px;width:52px;height:52px;font-size:1rem;box-shadow:0 10px 28px rgba(0,0,0,.36),0 0 0 7px rgba(255,255,255,.1)}
  .watch__after{margin-top:25px}
  .watch__after .button{width:100%}
  .watch--hero .hero__proof{align-items:flex-start;text-align:left;font-size:.69rem;line-height:1.45}
}
@media(prefers-reduced-motion:reduce){
  .hero--vsl.cosmic-section::after,.watch--hero.cosmic-section::before{animation:none;transform:none}
}

/* Supplied video proof: review-only until each identifiable client releases the footage. */
.video-testimonials{background:linear-gradient(180deg,#f7f8fc 0%,#eef0f7 100%);overflow:hidden}
.video-testimonials::before{content:'';position:absolute;inset:auto -12% -42% 42%;height:520px;background:radial-gradient(ellipse,rgba(179,184,255,.24),transparent 68%);pointer-events:none}
.video-testimonials .wrap{position:relative;z-index:1}
.video-testimonials__release{width:fit-content;max-width:760px;margin:-24px auto 34px;padding:9px 15px;border:1px solid rgba(84,74,157,.2);border-radius:999px;background:#fff;color:#534a87;font-size:.7rem;line-height:1.35;font-weight:800;letter-spacing:.07em;text-align:center;text-transform:uppercase;box-shadow:0 8px 24px rgba(13,20,47,.05)}
.video-testimonials__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:stretch}
.video-testimonial{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(27,34,66,.11);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(21,27,55,.1)}
.video-testimonial__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#050a1b}
.video-testimonial__video{display:block;width:100%;height:100%;object-fit:cover;background:#050a1b}
.video-testimonial__media--portrait .video-testimonial__video{object-fit:contain}
.video-testimonial__badge{position:absolute;z-index:2;top:14px;left:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(5,10,27,.78);color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;backdrop-filter:blur(10px)}
.video-testimonial__copy{display:flex;flex:1;flex-direction:column;padding:27px 29px 30px}
.video-testimonial__person{margin:0 0 10px;color:var(--indigo);font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.video-testimonial h3{margin:0;color:var(--night);font-size:clamp(1.55rem,2.25vw,2.15rem);line-height:1.04;letter-spacing:-.04em}
.video-testimonial blockquote{margin:22px 0 18px;padding-left:18px;border-left:3px solid #b8baf4;color:#303756;font-size:1rem;line-height:1.55;font-weight:650}
.video-testimonial__context{margin:auto 0 0;padding-top:18px;border-top:1px solid rgba(27,34,66,.1);color:#69708a;font-size:.75rem;line-height:1.55}
@media(max-width:760px){.video-testimonials__release{margin-top:-14px;border-radius:16px}.video-testimonials__grid{grid-template-columns:1fr;gap:22px}.video-testimonial{border-radius:22px}.video-testimonial__copy{padding:23px 22px 25px}.video-testimonial__media{aspect-ratio:16/10}}
@media(max-width:600px){.mobile-cta{opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .2s ease,visibility 0s linear .25s}.mobile-cta.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}}

/* ══════════════════════════════════════════════════════════════════
   LAUNCH LAYER — the-return-home.html
   Everything below is additive. The review build (return-home-v2.html)
   still points at style.css and is unaffected by any of it.
   ══════════════════════════════════════════════════════════════════ */

/* ── Global corrections ─────────────────────────────────────────── */

/* Intrinsic width/height attrs give the browser an aspect ratio to reserve,
   which stops the layout shifting as images arrive. Without height:auto the
   attribute becomes a definite height and crushes the image at mobile widths. */
img{height:auto}

/* Anchor jumps used to park the heading underneath the sticky nav. */
section[id]{scroll-margin-top:96px}

/* The review bar is gone, so the 36px it used to occupy goes back. This used
   to also force min-height:100svh, which outranked .hero--vsl{min-height:auto}
   by source order and stretched a compact headline block to a full viewport —
   leaving ~300px of void under the subhead before the video. The VSL hero
   sizes to its content; the video below it is what should meet the fold. */
.nav{top:0}
.nav__inner{height:82px}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:14px 20px;background:var(--indigo);color:#fff;font-size:.8rem;font-weight:800;border-radius:0 0 12px 0}
.skip-link:focus{left:0}

/* ── The Impersonator ───────────────────────────────────────────── */

.villain{min-height:760px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--night)}
.villain__media,.villain__media img{position:absolute;inset:0;width:100%;height:100%}
.villain__media img{object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.05)}
.villain::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,11,28,.95) 0%,rgba(6,11,28,.8) 44%,rgba(6,11,28,.12) 82%),linear-gradient(0deg,rgba(6,11,28,.72),transparent 62%)}
.villain__inner{position:relative;z-index:2}
.villain__copy{max-width:640px;text-shadow:0 2px 26px rgba(5,10,27,.85)}
.villain__copy h2{margin-bottom:28px;font-size:clamp(3rem,7vw,6.4rem);letter-spacing:-.06em}
.villain__copy p{color:rgba(255,255,255,.78);font-size:1.02rem}
.villain__copy p+p{margin-top:18px}
.villain__lede{font-size:1.2rem!important;color:rgba(255,255,255,.94)!important;line-height:1.5}
.villain__punch{margin-top:26px!important;padding-left:22px;border-left:2px solid var(--peach);font-size:1.28rem!important;line-height:1.34;font-weight:650;letter-spacing:-.02em;color:#fff!important}

/* ── The 12-week path map ───────────────────────────────────────── */

.spine{margin-top:8px}

/* One continuous twelve-week bar, divided into three phases. No gap between
   the segments: the band edges have to land exactly on the tick columns
   underneath, or the whole thing stops reading as a single track. */
.spine__bands{display:grid;grid-template-columns:repeat(12,1fr);border-radius:20px 20px 0 0;overflow:hidden;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.13);border-bottom:0}
.band{grid-column:var(--from)/var(--to);position:relative;padding:30px 26px 34px;border-left:1px solid rgba(255,255,255,.1)}
.band:first-child{border-left:0}
.band::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--band-colour)}
.band--identify{--band-colour:var(--peri)}
.band--clear{--band-colour:var(--peach)}
.band--return{--band-colour:#fff}
.band__tag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--band-colour);margin-bottom:12px}
.band h3{font-size:1.7rem;letter-spacing:-.035em;font-weight:650;margin-bottom:12px;color:#fff}
.band p{font-size:.87rem;line-height:1.6;color:rgba(255,255,255,.66)}

/* The week ruler. Same 12 columns, so every tick sits under its own week. */
.spine__track{list-style:none;margin:0;padding:22px 0 20px;display:grid;grid-template-columns:repeat(12,1fr);position:relative;border:1px solid rgba(255,255,255,.13);border-top:0;border-radius:0 0 20px 20px;background:rgba(255,255,255,.035)}
.spine__track::before{content:'';position:absolute;left:calc(100%/24);right:calc(100%/24);top:32px;height:1px;background:linear-gradient(90deg,var(--peri),var(--peach) 55%,#fff)}
.tick{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:1}
.tick__dot{width:11px;height:11px;border-radius:50%;background:var(--tick-colour);box-shadow:0 0 0 4px rgba(9,18,41,.9),0 0 14px var(--tick-colour)}
.tick--identify{--tick-colour:var(--peri)}
.tick--clear{--tick-colour:var(--peach)}
.tick--return{--tick-colour:#fff}
.tick__num{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.spine__tracknote{margin-top:20px;font-size:.92rem;color:rgba(255,255,255,.66);text-align:center}
.spine__tracknote strong{color:#fff}

/* The four support layers genuinely do run the whole twelve weeks, so they
   sit underneath the track rather than beside the phases. */
.spine__rails{margin-top:46px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.spine__railshead{grid-column:1/-1;display:flex;align-items:center;gap:16px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.5)}
.spine__railshead::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent)}
.rail{padding:22px 24px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-left:2px solid var(--peri)}
.rail__label{display:block;font-size:.94rem;font-weight:800;letter-spacing:-.01em;color:#fff;margin-bottom:8px}
.rail p{font-size:.84rem;line-height:1.6;color:rgba(255,255,255,.62)}
.rail__short{display:none}
.pathmap__cta{margin-top:52px;text-align:center}
.pathmap__cta .hero__micro{margin-top:18px;margin-inline:auto;max-width:520px}

/* ── Before / after ─────────────────────────────────────────────── */

.shift-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.shift-table__head{display:grid;grid-template-columns:1fr 1fr;background:var(--mist)}
.shift-table__label{padding:16px 26px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.shift-table__label--before{color:var(--slate)}
.shift-table__label--after{color:var(--indigo);border-left:1px solid var(--line)}
.shift-rows{margin:0}
.shift-nav{display:none}
.shift-switch{display:none}
.shift-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.shift-row dt,.shift-row dd{margin:0;padding:19px 26px;font-size:1rem;line-height:1.45}
.shift-row dt{color:var(--slate)}
.shift-row dd{border-left:1px solid var(--line);color:var(--ink);font-weight:650;letter-spacing:-.015em}
.shift-row--final dt,.shift-row--final dd{font-size:1.32rem;font-weight:700;letter-spacing:-.03em;padding-block:26px}
.shift-row--final dd{background:var(--night);color:#fff}

/* ── The arithmetic ─────────────────────────────────────────────── */

.arithmetic{color:#fff;background:var(--night)}
.arithmetic h2{color:#fff}
.arithmetic p{color:rgba(255,255,255,.74);font-size:1.02rem}
.arithmetic h2+p{margin-top:24px}
.arithmetic__lede{font-size:1.14rem!important;color:rgba(255,255,255,.9)!important}
.arithmetic-list{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:2px}
.arithmetic-list li{padding:19px 24px;background:rgba(255,255,255,.04);border-left:2px solid rgba(255,255,255,.2);font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.7)}
.arithmetic-list li:first-child{border-radius:14px 14px 0 0}
.arithmetic-list li:last-child{border-radius:0 0 14px 14px}
.arithmetic-list strong{color:#fff;font-weight:800}
.arithmetic__punch{margin-top:34px!important;font-size:1.5rem!important;line-height:1.24;font-weight:650;letter-spacing:-.032em;color:#fff!important}
.arithmetic__punch+p{margin-top:18px}

/* ── Proof rails ────────────────────────────────────────────────── */

/* All 24 receipts stay. Four horizontal swipe rows instead of four stacked
   6-up grids: same evidence, roughly a quarter of the scroll height, and
   swiping is the gesture people already use for message threads. */
.proof-rails{display:grid;gap:44px}
.proof-rail__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px}
.proof-rail__head h3{font-size:1.28rem;letter-spacing:-.03em;font-weight:700}
.proof-rail__count{flex:none;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--indigo)}
.proof-rail__count i{font-style:normal;margin-left:6px;animation:nudge 2.4s ease-in-out infinite}
@keyframes nudge{0%,100%{opacity:.4;transform:translateX(0)}50%{opacity:1;transform:translateX(4px)}}
.proof-strip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 4px;padding:4px 4px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(93,99,216,.4) transparent}
.proof-strip::-webkit-scrollbar{height:6px}
.proof-strip::-webkit-scrollbar-thumb{background:rgba(93,99,216,.4);border-radius:99px}
.proof-strip::-webkit-scrollbar-track{background:transparent}
.proof-strip:focus-visible{outline:3px solid var(--peach);outline-offset:4px;border-radius:18px}
.proof-strip .proof-card{flex:0 0 300px;scroll-snap-align:start}
.proof-strip .proof-card img{height:380px;object-fit:contain}
.proof-strip .proof-card::after{right:14px;top:14px;font-size:.58rem;padding:6px 9px}

/* ── Guarantee ──────────────────────────────────────────────────── */

.guarantee-promise{margin-top:20px;padding:20px 24px;border-radius:16px;background:var(--night);color:#fff;font-size:1.08rem;line-height:1.5;font-weight:650;letter-spacing:-.015em}
.guarantee-quote{margin:26px 0 0;padding-left:22px;border-left:2px solid var(--peach);font-size:1.14rem;line-height:1.5;letter-spacing:-.02em;color:var(--ink)}
.guarantee-quote span{display:block;margin-top:12px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--slate)}

/* ── Scarcity ───────────────────────────────────────────────────── */

.scarcity{background:var(--night-2);color:#fff;padding:clamp(56px,7vw,86px) 0}
.scarcity__inner{width:min(880px,calc(100% - 48px));margin-inline:auto;text-align:center}
.scarcity__eyebrow{color:var(--peri);margin-bottom:18px}
.scarcity h2{font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.02;letter-spacing:-.045em;color:#fff;margin:0;text-wrap:balance;overflow-wrap:break-word}
.scarcity__num{color:var(--peach);font-size:1.32em;line-height:0;letter-spacing:-.05em}
.scarcity__lede{margin:18px 0 0;font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,.66)}
.scarcity__copy{margin-top:clamp(32px,4vw,46px);text-align:left}
.scarcity__copy blockquote{margin:0;padding-left:22px;border-left:2px solid var(--peri);font-size:1.05rem;line-height:1.56;color:rgba(255,255,255,.88)}
.scarcity__copy blockquote span{display:block;margin-top:12px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.5)}
.scarcity__note{margin-top:22px;font-size:.88rem;line-height:1.6;color:rgba(255,255,255,.6)}

/* ── Responsive ─────────────────────────────────────────────────── */

@media(max-width:1020px){
  .spine__bands{grid-template-columns:1fr;border-radius:20px;border-bottom:1px solid rgba(255,255,255,.13)}
  .band{grid-column:auto;border-left:0;border-top:1px solid rgba(255,255,255,.1)}
  .band:first-child{border-top:0}
  .band::before{width:4px;height:auto;bottom:0;right:auto}
  .band{padding-left:30px}
  .spine__track{margin-top:14px;border-radius:20px;border-top:1px solid rgba(255,255,255,.13)}
  .spine__rails{grid-template-columns:1fr}
}

@media(max-width:760px){
  .villain{min-height:640px}
  .villain__copy h2{font-size:clamp(2.6rem,13vw,3.6rem)}
  .villain__lede{font-size:1.05rem!important}
  .villain__punch{font-size:1.14rem!important}

  /* Twelve numbered ticks will not fit across a 390px viewport, so the ruler
     drops to dots and the weeks are named at each end instead. */
  .spine__track{padding:20px 14px 18px}
  .spine__track::before{left:calc(100%/24 + 14px);right:calc(100%/24 + 14px)}
  .tick__num{display:none}
  .tick{gap:0}
  .spine__track::after{content:'Week 1 → Week 12';position:absolute;left:0;right:0;bottom:-26px;text-align:center;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.42)}
  .spine__tracknote{margin-top:44px;font-size:.86rem}

  /* The two-column table cannot survive a phone. Stacking all ten pairs gave a
     twenty-line wall with no cue for which line was which, and a swipe deck hid
     the comparison — a before/after only reads as one when both states are held
     in relation to each other. So on a phone the whole list stays on screen and
     a single toggle transforms every line in place: muted grey with grey dots
     becomes navy with indigo dots. The change is something the reader does,
     which is also what the offer itself claims — same person, different state. */
  .shift-table{border:1px solid var(--line);border-radius:20px;background:#fff;
    box-shadow:var(--shadow);overflow:hidden}
  .shift-table__head{display:none}

  .shift-switch{display:grid;grid-template-columns:1fr 1fr;position:relative;
    background:var(--mist);padding:5px}
  .shift-switch__thumb{position:absolute;top:5px;left:5px;width:calc(50% - 5px);height:calc(100% - 10px);
    border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(17,26,51,.13);
    transition:transform .34s cubic-bezier(.4,.1,.2,1);z-index:0}
  .shift-table.is-after .shift-switch__thumb{transform:translateX(100%)}
  .shift-switch__btn{appearance:none;border:0;background:none;cursor:pointer;position:relative;z-index:1;
    padding:12px 6px;font:inherit;font-size:.7rem;font-weight:800;letter-spacing:.13em;
    text-transform:uppercase;color:var(--slate);transition:color .3s ease}
  .shift-switch__btn[aria-pressed=true]{color:var(--ink)}

  .shift-rows{display:block}
  .shift-row{display:flex;gap:12px;align-items:flex-start;grid-template-columns:none;
    border-top:1px solid var(--line);padding:15px 20px}
  .shift-row::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;margin-top:8px;
    background:var(--line);transition:background .3s ease,transform .3s ease}
  .shift-table.is-after .shift-row::before{background:var(--indigo);transform:scale(1.15)}
  .shift-row dt,.shift-row dd{padding:0;font-size:.97rem;line-height:1.4}
  .shift-row dt{color:var(--slate)}
  .shift-row dd{display:none;border-left:0;color:var(--ink);font-weight:650;letter-spacing:-.015em}
  .shift-table.is-after .shift-row dt{display:none}
  .shift-table.is-after .shift-row dd{display:block}

  /* The payoff pair is the section's close and has to land whether or not the
     switch is ever touched, so it shows both halves in both states. */
  .shift-rows--final{display:block}
  .shift-row--final{display:block;border-top:1px solid var(--line);background:var(--night);
    padding:19px 20px 21px}
  .shift-row--final::before{content:none}
  .shift-row--final dt{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
    font-weight:800;color:rgba(255,255,255,.5);margin-bottom:5px;padding:0}
  .shift-row--final dd{display:block;background:none;padding:0;font-size:1.5rem;line-height:1.1;
    letter-spacing:-.035em;font-weight:700;color:#fff}
  .shift-table.is-after .shift-row--final dt{display:block}

  .arithmetic__punch{font-size:1.24rem!important}

  .proof-strip .proof-card{flex:0 0 78vw}
  .proof-strip .proof-card img{height:auto;max-height:440px}

  .scarcity__inner{text-align:left}
  .scarcity__br{display:none}
  .scarcity h2{font-size:clamp(1.95rem,8.4vw,2.6rem)}

  .guarantee-promise{font-size:1rem;padding:18px 20px}
  .guarantee-quote{font-size:1.02rem}
}

/* ── Corrections after first render ─────────────────────────────── */

/* .pathmap and .arithmetic are cosmic sections, and .cosmic-section only sets
   a background — the old .offer rule was what turned its text white. Without
   an equivalent, both headings rendered near-black on the nebula plate. */
.pathmap,.arithmetic{background:var(--night);color:#fff}
.pathmap .section-head h2,.arithmetic .section-head h2{color:#fff}
.pathmap .section-head p{color:rgba(255,255,255,.7)}

/* The bare nebula runs at opacity .96; every other cosmic section lays a dark
   gradient over it first. These two need the same or the map is unreadable. */
.cosmic-section.pathmap::before,.cosmic-section.arithmetic::before{
  background-image:linear-gradient(180deg,rgba(5,10,27,.86),rgba(5,10,27,.92)),url("../images/v2-quantum-veil-pinpoint-stars.webp");
  background-size:100% 100%,auto 112%;background-position:0 0,center}

/* The proportional bar carries tag + phase name only. At 2/12 of the width,
   Identify had ~18 characters per line — the descriptions moved below into
   three equal columns, where they can actually be read. */
.spine__bands{align-items:stretch}
.band{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:22px 24px;min-height:104px}
.band__name{font-size:1.55rem;line-height:1;letter-spacing:-.04em;font-weight:650;color:#fff}
.band__tag{margin-bottom:0}

.spine__detail{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.phase-detail{padding:24px 26px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-top:2px solid var(--band-colour)}
.phase-detail--identify{--band-colour:var(--peri)}
.phase-detail--clear{--band-colour:var(--peach)}
.phase-detail--return{--band-colour:#fff}
.phase-detail h3{font-size:1.12rem;letter-spacing:-.03em;font-weight:800;margin-bottom:10px;color:var(--band-colour)}
.phase-detail p{font-size:.88rem;line-height:1.62;color:rgba(255,255,255,.68)}
/* The proportional band above already names the phase and its weeks on desktop. */
.phase-detail__when{display:none}

/* Grid items default to min-width:auto, so each .proof-rail was sizing itself
   to its strip's full scroll width and dragging the document sideways. */
.proof-rails{grid-template-columns:minmax(0,1fr)}
.proof-rail,.proof-strip{min-width:0}

@media(max-width:1020px){
  .spine__detail{grid-template-columns:1fr}
  .band{min-height:0;padding:18px 24px}
}

/* At the global h2 clamp the pathmap headline broke "Three / phases." across
   two lines. This one heading is long enough to need its own ceiling. */
.pathmap .section-head h2{font-size:clamp(2.1rem,4vw,3.7rem)}

/* The receipts are screenshots of wildly different aspect ratios. A fixed card
   width plus object-fit:contain shrank the wide ones to unreadable thumbnails.
   Sizing the card from the image's own width at a fixed height instead means
   every receipt renders at the same legible scale, whatever its shape. */
.proof-strip .proof-card{flex:0 0 auto;max-width:min(520px,86vw)}
.proof-strip .proof-card img{height:380px;width:auto;max-width:none;object-fit:contain}
@media(max-width:760px){
  .proof-strip .proof-card{max-width:86vw}
  .proof-strip .proof-card img{height:min(420px,58vh);max-width:82vw;object-fit:contain}
}

/* Mobile refinements ────────────────────────────────────────────── */

/* At 390px the pathmap headline still broke mid-phrase across four lines. */
.pathmap .section-head h2{font-size:clamp(1.7rem,4vw,3.7rem)}

@media(max-width:760px){
  /* On a phone the card's WIDTH is the binding constraint, so fixing the
     height and letting width follow (the desktop approach) letterboxed every
     receipt inside tall grey bands. Drive from width instead and let each
     card take its natural height. */
  .proof-strip{align-items:flex-start}
  .proof-strip .proof-card img{width:82vw;height:auto;max-width:82vw;max-height:74vh}
}

/* A very wide receipt hit the desktop max-width and started letterboxing
   again; 640px clears the widest one in the set. */
.proof-strip .proof-card{max-width:min(640px,86vw)}

/* A single tall phone-screenshot receipt sets the row height for its whole
   rail, which left the wide ones sitting above a large void. Cap how tall a
   card may get and centre each image in the row so the differing shapes read
   as a gallery rather than a layout bug. */
.proof-strip{align-items:stretch}
.proof-strip .proof-card{display:flex;align-items:center;justify-content:center}
@media(max-width:760px){
  .proof-strip .proof-card img{max-height:56vh}
}

/* .guarantee-copy p (0,1,1) outranks .guarantee-promise (0,1,0) whatever the
   source order, so the promise box was rendering slate-on-navy. */
.guarantee-copy p.guarantee-promise{color:#fff}

/* ── Formatting pass: proof receipts ────────────────────────────── */

/* The receipts are screenshots whose aspect ratios span 0.61 to 8.84 — a 14x
   range. Every previous attempt fixed one dimension and let the other run:
   height:380px + width:auto meant the widest receipt (822x93) laid out 3360px
   wide inside a 640px card with overflow:hidden, so it rendered as a hugely
   zoomed crop of three words. Each card now carries its image's real ratio as
   --ar and sizes its WIDTH from it, so the image fits exactly: never cropped,
   never letterboxed, and every receipt lands at a comparable reading scale.
   Intrinsic width/height on each img also reserves the box, so lazily-loaded
   cards further down a rail no longer collapse to 22px before they decode. */
.proof-strip{align-items:center}
.proof-strip .proof-card{
  flex:0 0 auto;
  width:clamp(258px, calc(var(--ar,1) * 400px), 560px);
  max-width:86vw;
  height:auto;
  overflow:visible;
  display:block;
}
.proof-strip .proof-card img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  max-height:none;
  aspect-ratio:var(--ar,1);
  object-fit:contain;
}

/* The badge is anchored to the card, which now hugs the image exactly. */
.proof-strip .proof-card::after{border-radius:999px}

@media(max-width:760px){
  /* One card per swipe on a phone: width is the binding constraint, so the
     ratio drives height instead and the clamp is dropped. */
  .proof-strip .proof-card{width:82vw;max-width:82vw}
  .proof-strip .proof-card img{width:100%;height:auto;max-height:none}
}

/* ── Formatting pass: guarantee emblem ──────────────────────────── */

/* Was a CSS-drawn circle with three lines of letter-spaced type stacked inside
   it — the kerning fought itself and the whole thing sat as a pale ghost on a
   pale gradient. It is now a generated embossed seal cut to a transparent
   circle, so it reads as a physical object on the page. The words moved out:
   the H2 beside it already says "Come Home, or I Keep Working," and repeating
   them inside the emblem was what made it look cheap. */
.guarantee-seal{
  margin:0;
  width:min(100%,392px);
  justify-self:center;
  aspect-ratio:1;
  border-radius:50%;
  border:0;
  padding:0;
  box-shadow:0 34px 68px -22px rgba(84,58,42,.44), 0 0 0 1px rgba(255,255,255,.34);
  background:none;
}
.guarantee-seal img{display:block;width:100%;height:auto;border-radius:50%}

/* ── Formatting pass 2: uniform proof rows ──────────────────────── */

/* Sizing every card purely from its own ratio fixed the cropping but moved the
   problem: within one rail a 0.61 receipt stood 459px tall next to an 8.84 one
   at 59px, so the row took its height from the tallest and left large voids
   around the short ones — worst on mobile, where a single card floated in a
   ~500px band of white. The row height is now fixed and the WIDTH follows the
   ratio, so cards sit shoulder to shoulder at one consistent scale. The three
   extreme-ratio receipts hit the width clamp and get a light mat around them,
   which reads as a mount rather than a layout fault. */
.proof-strip{align-items:stretch}
.proof-strip .proof-card{
  height:380px;
  width:clamp(252px, calc(var(--ar,1) * 380px), 548px);
  max-width:86vw;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.proof-strip .proof-card img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:contain;
}

@media(max-width:760px){
  /* One receipt per swipe. Taller box so the tall phone screenshots — the
     majority of the set — stay readable rather than being matted down. */
  .proof-strip .proof-card{height:430px;width:82vw;max-width:82vw}

  /* "Patterns changing in real moments" and the count were competing for one
     line and both wrapped. Stack them. */
  .proof-rail__head{display:block}
  .proof-rail__head h3{font-size:1.12rem}
  .proof-rail__count{display:block;margin-top:6px}
}

/* The emblem was reading a touch small against its column. */
.guarantee-seal{width:min(100%,472px)}

/* The base rule paints the img box #f0f0f0, so wherever object-fit:contain
   left space it showed as a hard grey slab against the card's warm cloud.
   Letting the card's own surface show through turns that space into a mount. */
.proof-strip .proof-card{padding:14px;background:var(--cloud)}
.proof-strip .proof-card img{background:transparent;border-radius:9px}

@media(max-width:760px){.proof-strip .proof-card{height:398px}}

/* My width rule came after the 600px block, so the emblem lost its phone size
   and filled the column edge to edge. */
/* The emblem now carries the guarantee wording itself, so it needs the width
   to stay legible on a phone rather than sitting small and off to one side. */
@media(max-width:760px){.guarantee-seal{width:min(80vw,330px);justify-self:center}}

/* ── Formatting pass 3: mobile overflow ─────────────────────────── */

/* .narrow sets width:min(760px,100%) and lands after .wrap, so every
   "wrap narrow" section lost the gutter --wrap provides and ran edge to edge
   on a phone. Honour whichever is smaller. */
.wrap.narrow{width:min(760px,var(--wrap))}

/* "Impersonator." is one 13-character word. At 13vw it measured 362px on its
   own — wider than the 362px column — so it could not wrap and the section's
   overflow:hidden silently ate the final letter and full stop. Sized so the
   whole line fits, with break-word as a backstop for narrower phones. */
@media(max-width:760px){
  .villain__copy h2{font-size:clamp(2.05rem,10.2vw,3.6rem)}
}
h1,h2,h3{overflow-wrap:break-word}

/* The closing portrait could exceed its grid column at tablet widths, and its
   caption is a flex row whose two children default to min-width:auto — so
   "Facilitator · The Return Home" pushed out past the frame and was clipped by
   .close{overflow:hidden} rather than wrapping. */
.close__portrait{max-width:min(650px,100%)}
.close__portrait figcaption{flex-wrap:wrap}
.close__portrait figcaption strong,.close__portrait figcaption span{min-width:0}

/* Grid items default to min-width:auto, and a replaced child at width:100%
   makes that the image's intrinsic width — so the portrait refused to shrink
   into its column at tablet widths and pushed its caption off-screen. */
.close-grid>*{min-width:0}

/* The figure sized itself from the image, so before the lazy portrait decoded
   it collapsed to zero and its absolutely-positioned caption sat outside the
   frame. A definite width plus intrinsic dimensions on the img reserves the
   box from first paint. */
.close__portrait{width:min(650px,100%)}

/* ── "How does this help me manifest my desires?" ────────────────── */

/* Sits between .shift and .arithmetic, both of which it must not read as a
   repeat of. .shift is plain cloud and .arithmetic is night, so this one takes
   a soft periwinkle wash to separate itself from the table above without
   spending the tonal change that .arithmetic needs. */
.desires{background:linear-gradient(180deg,#fdfcfa 0%,#eff0fb 100%)}
.desires .section-head{margin-bottom:clamp(38px,4.4vw,58px)}
.desires .section-head h2{max-width:20ch;margin-inline:auto;text-wrap:balance}

/* Three steps, echoing the path map's spine: one continuous rule behind the
   run of numbers, with the opaque cards covering it everywhere except the
   gaps — so the line reads as connecting the steps rather than crossing them. */
.chain{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,26px)}
.chain::before{content:'';position:absolute;z-index:0;left:0;right:0;top:calc(clamp(26px,2.5vw,34px) + 28px);height:1px;background:linear-gradient(90deg,transparent 0,rgba(93,99,216,.32) 8%,rgba(93,99,216,.32) 92%,transparent 100%)}
.chain__step{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,2.5vw,34px);box-shadow:0 18px 44px rgba(17,26,51,.07)}
.chain__num{display:flex;align-items:center;justify-content:center;width:57px;height:57px;border-radius:50%;background:var(--night);color:var(--peach);font-size:.86rem;font-weight:800;letter-spacing:.06em;box-shadow:0 10px 24px rgba(9,18,41,.2)}
.chain__step h3{margin:22px 0 0;font-size:1.28rem;line-height:1.16;letter-spacing:-.036em;font-weight:700}
.chain__step p{margin:14px 0 0;color:var(--slate);font-size:.96rem;line-height:1.6}

/* Kevin answering the question in his own words, from a message already in the
   proof rails — so it is his framing, not a claim written for him. */
.kevin-quote{margin:clamp(34px,3.6vw,52px) 0 0;padding:clamp(28px,3vw,42px) clamp(26px,3vw,46px);background:#fff;border:1px solid var(--line);border-left:3px solid var(--peach);border-radius:var(--radius);box-shadow:var(--shadow)}
.kevin-quote blockquote{margin:0;font-size:clamp(1.24rem,2.3vw,1.72rem);line-height:1.3;letter-spacing:-.034em;font-weight:650;color:var(--ink)}
.kevin-quote figcaption{margin-top:22px;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px}
.kevin-quote figcaption strong{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--indigo)}
.kevin-quote figcaption span{min-width:0;font-size:.82rem;color:var(--slate)}

.desires__note{max-width:760px;margin:clamp(26px,2.6vw,34px) auto 0;padding-top:24px;border-top:1px solid var(--line);color:var(--slate);font-size:.9rem;line-height:1.62;text-align:center}
.desires__note strong{color:var(--ink);font-weight:800}

@media(max-width:1020px){
  .chain{grid-template-columns:1fr}
  /* Rotated: the rule now runs down through the stack of numbers, still only
     visible where the cards leave a gap. */
  .chain::before{top:0;bottom:0;height:auto;width:1px;left:calc(clamp(26px,2.5vw,34px) + 28px);right:auto;background:linear-gradient(180deg,transparent 0,rgba(93,99,216,.32) 6%,rgba(93,99,216,.32) 94%,transparent 100%)}
}

@media(max-width:600px){
  .desires .section-head h2{max-width:none}
  .chain__num{width:48px;height:48px;font-size:.78rem}
  .chain::before{left:calc(clamp(26px,2.5vw,34px) + 24px)}
  .chain__step h3{font-size:1.14rem;margin-top:18px}
  .chain__step p{font-size:.9rem}
  .kevin-quote blockquote{font-size:1.15rem}
  .desires__note{font-size:.85rem;text-align:left}
}

/* Path map on a phone ───────────────────────────────────────────────
   The proportional bands collapse to label-only cards, repeating the three
   phase names the detail cards below already carry — ten stacked boxes for
   seven pieces of information. The bands go, the detail cards absorb their
   week ranges, and the three phases become one vertical timeline.
   These rules live at the end of the file because the .phase-detail base
   block is declared after the responsive section and would otherwise win. */
@media(max-width:760px){
  .spine__bands{display:none}
  .spine__track{border-radius:20px;border-top:1px solid rgba(255,255,255,.13)}

  .spine__detail{margin-top:32px;gap:0;position:relative;padding-left:24px}
  .spine__detail::before{content:'';position:absolute;left:4px;top:10px;bottom:16px;width:1px;
    background:linear-gradient(180deg,var(--peri),var(--peach) 55%,rgba(255,255,255,.85))}
  .phase-detail{position:relative;padding:0 0 26px;background:none;border:0;border-radius:0}
  .phase-detail:last-child{padding-bottom:0}
  .phase-detail::before{content:'';position:absolute;left:-24px;top:5px;width:9px;height:9px;border-radius:50%;
    background:var(--band-colour);box-shadow:0 0 0 4px rgba(9,18,41,.95),0 0 12px var(--band-colour)}
  .phase-detail__when{display:block;font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;
    font-weight:800;color:var(--band-colour);opacity:.9;margin-bottom:5px}
  .phase-detail h3{font-size:1.34rem;letter-spacing:-.035em;font-weight:650;margin-bottom:7px;color:#fff}
  .phase-detail p{font-size:.87rem;line-height:1.58}

  /* Four bordered cards for four short support layers read as far more weight
     than they carry, so they drop to a divided list. */
  /* Full paragraphs give four dense blocks on a phone; the short line carries
     the same promise in one glance and the detail stays for desktop. */
  .spine__rails{margin-top:32px;gap:0}
  .spine__railshead{margin-bottom:2px}
  .rail{padding:13px 0;border:0;border-radius:0;background:none}
  .rail+.rail{border-top:1px solid rgba(255,255,255,.09)}
  .rail__label{font-size:.92rem;margin-bottom:3px}
  .rail__full{display:none}
  .rail__short{display:block;font-size:.83rem;line-height:1.5;color:rgba(255,255,255,.58)}
}
