/* Homepage experience layer. Loaded only on "/" after public-shell.css.
   Adds the "how $500 covers it" thesis band, the hero facts, the sticky chapter rail,
   the stronger proof and closing treatments, and scroll motion. It reuses the existing
   homepage palette (#0d2044 navy, #29709a blue, #65b6e3 sky, #edf5fa pale) and Arial type.
   Motion is opt-in: homepage-experience.js adds .ccx-motion to <html> only when
   IntersectionObserver exists and the visitor has not asked for reduced motion. */

/* Hero facts */
.ccx-hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0}
.ccx-hero-facts li{display:flex;align-items:baseline;gap:8px;padding:10px 15px;border:1px solid rgba(101,182,227,.38);border-radius:999px;background:rgba(255,255,255,.05);color:#d4e9f9;font-size:13px;line-height:1.2}
.ccx-hero-facts strong{color:#fff;font-size:17px;font-weight:800}

/* Hero: low-commitment offer line and the proof strip under the audience paths */
.ccx-hero-offer{margin:16px 0 0;color:#d4e9f9;font-size:14px;line-height:1.5}
.ccx-hero-offer a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:#65b6e3;text-underline-offset:4px}
.ccx-hero-offer a:hover{color:#65b6e3}
.ccx-proof-strip{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(164,217,255,.22);color:#d4e9f9;font-family:Arial,Helvetica,sans-serif}
.ccx-proof-strip p{margin:0}
.ccx-proof-strip-quote{flex:1 1 320px;color:#fff;font-size:16px;font-weight:700;line-height:1.4}
.ccx-proof-strip-quote small{display:block;margin-top:4px;color:#a9c6db;font-size:12px;font-weight:400}
.ccx-proof-strip-stat{display:flex;flex-direction:column}
.ccx-proof-strip-stat b{color:#fff;font-size:22px;line-height:1.1;font-weight:800}
.ccx-proof-strip-stat span{color:#a9c6db;font-size:12px}
.ccx-proof-strip-more{color:#65b6e3;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.ccx-proof-strip-more:hover{color:#fff}

/* Thesis band */
.ccx-thesis{position:relative;overflow:hidden;padding:92px 0 84px;background:#0d2044;color:#fff;font-family:Arial,Helvetica,sans-serif}
.ccx-thesis::before{content:"";position:absolute;top:-260px;right:-180px;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(101,182,227,.2),rgba(101,182,227,0) 65%);pointer-events:none}
.ccx-thesis::after{content:"";position:absolute;bottom:-320px;left:-220px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(41,112,154,.28),rgba(41,112,154,0) 65%);pointer-events:none}
.ccx-wrap{position:relative;z-index:1;width:min(1160px,calc(100% - 48px));margin:0 auto}
.ccx-kicker{display:block;margin:0 0 14px;color:#65b6e3;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.ccx-thesis-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:end;margin-bottom:46px}
.ccx-thesis h2{margin:0;font-size:clamp(34px,3.7vw,54px);line-height:1.04;font-weight:800;letter-spacing:-.5px;color:#fff}
.ccx-thesis h2 em{color:#65b6e3;font-style:normal}
.ccx-thesis-head p{margin:0;color:#d4e9f9;font-size:18px;line-height:1.6}
.ccx-thesis-head p strong{color:#fff}
.ccx-legs{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0}
.ccx-leg{display:flex;flex-direction:column;gap:14px;padding:30px 28px 28px;border:1px solid rgba(164,217,255,.22);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 30px 60px rgba(3,12,30,.25)}
.ccx-leg-num{color:#65b6e3;font-size:12px;font-weight:700;letter-spacing:1.4px}
.ccx-leg h3{margin:0;color:#fff;font-size:25px;line-height:1.15;font-weight:800}
.ccx-leg p{margin:0;color:#c9dcec;font-size:15px;line-height:1.6}
.ccx-leg-visual{margin:auto 0 0;padding-top:12px}
.ccx-stack{display:flex;flex-wrap:wrap;gap:8px}
.ccx-stack span,.ccx-loop span{padding:8px 11px;border-radius:9px;background:#fff;color:#0d2044;font-size:12px;font-weight:700;line-height:1.2}
.ccx-stack span::before{content:"\2713";margin-right:6px;color:#29709a}
.ccx-meter-row{display:grid;grid-template-columns:70px minmax(0,1fr) 58px;align-items:center;gap:10px;margin-bottom:10px;color:#c9dcec;font-size:12px}
.ccx-meter-row i{display:block;height:10px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}
.ccx-meter-row b{display:block;width:var(--ccx-w);height:100%;border-radius:inherit;background:#8fb3c9}
.ccx-meter-after b{background:linear-gradient(90deg,#29709a,#65b6e3)}
.ccx-meter-row strong{color:#fff;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.ccx-meter figcaption{margin-top:8px;color:#c9dcec;font-size:13px;line-height:1.5}
.ccx-meter figcaption strong{display:block;margin-bottom:6px;color:#fff;font-size:42px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.ccx-meter{margin:auto 0 0}
.ccx-loop{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ccx-loop i{position:relative;flex:1 1 14px;min-width:14px;height:2px;overflow:hidden;background:rgba(164,217,255,.35)}
.ccx-loop i::after{content:"";position:absolute;inset:0;width:40%;background:#65b6e3;translate:-100% 0}
.ccx-loop em{flex-basis:100%;margin-top:4px;color:#a9c6db;font-size:12px;font-style:normal}
.ccx-thesis-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px;padding-top:28px;border-top:1px solid rgba(164,217,255,.18)}
.ccx-thesis-foot>div{display:flex;align-items:flex-start;gap:14px}
.ccx-foot-icon{display:grid;flex:0 0 42px;height:42px;place-items:center;border-radius:12px;background:rgba(101,182,227,.15);color:#65b6e3}
.ccx-foot-icon svg{width:21px;height:21px}
.ccx-thesis-foot p{margin:0;color:#c9dcec;font-size:14px;line-height:1.55}
.ccx-thesis-foot b{display:block;margin-bottom:3px;color:#fff;font-size:15px}
.ccx-thesis-foot a{color:#65b6e3;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(101,182,227,.5)}
.ccx-thesis-foot a:hover{color:#fff;border-color:#fff}
.ccx-section-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:40px}
.ccx-cta-button{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:14px 26px;border-radius:10px;background:#65b6e3;color:#0d2044;font-size:15px;font-weight:800;text-decoration:none;box-shadow:0 18px 40px rgba(3,12,30,.3)}
.ccx-cta-button:hover{background:#fff;color:#0d2044}
.ccx-cta-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ccx-section-cta p{margin:0;color:#c9dcec;font-size:14px}
.ccx-section-cta b{color:#fff}

/* Chapter rail inside the Complete plan card. overflow:clip on .package-service keeps sticky working. */
.ccx-rail{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #cbdde7;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.ccx-rail-track{position:relative;display:flex;gap:4px;padding:8px 10px 6px;overflow-x:auto;scrollbar-width:none}
.ccx-rail-track::-webkit-scrollbar{display:none}
.ccx-rail a{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;padding:9px 13px;border-radius:10px;color:#3d5a72;font:700 13px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap;text-decoration:none;transition:background-color .25s,color .25s}
.ccx-rail a b{color:#29709a;font-size:10px;letter-spacing:1px}
.ccx-rail a:hover{background:#edf5fa;color:#0d2044}
.ccx-rail a:focus-visible{outline:2px solid #29709a;outline-offset:2px}
.ccx-rail a[aria-current]{background:#0d2044;color:#fff}
.ccx-rail a[aria-current] b{color:#65b6e3}
.ccx-rail .ccx-rail-cta{margin:4px 10px 2px 6px;background:#29709a;color:#fff;gap:9px}
.ccx-rail .ccx-rail-cta span{padding:3px 7px;border-radius:6px;background:rgba(255,255,255,.18);font-size:11px}
.ccx-rail .ccx-rail-cta:hover{background:#0d2044;color:#fff}
.ccx-rail-progress{grid-column:1/-1;display:block;height:3px;overflow:hidden;background:#e3eef5}
.ccx-rail-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#29709a,#65b6e3);transform:scaleX(var(--ccx-progress,0));transform-origin:left center}
.ccv .ccv-chapter{scroll-margin-top:72px}

/* Proof */
.cc-public-proof.ccx-proof{padding:76px 0;background:#edf5fa}
.ccx-proof .ccx-proof-head{margin-bottom:28px}
.ccx-proof .ccx-kicker{color:#29709a}
.ccx-proof h2{margin:0;color:#0d2044;font-size:clamp(30px,3vw,42px);line-height:1.08;font-weight:800}
.ccx-proof .cc-proof-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px;align-items:stretch}
.ccx-proof .cc-proof-grid blockquote{position:relative;display:flex;flex-direction:column;justify-content:space-between;margin:0;padding:46px 40px 34px;border-radius:20px;background:#0d2044;color:#fff;box-shadow:0 30px 60px rgba(13,32,68,.18)}
.ccx-proof .cc-proof-grid blockquote::before{content:"\201C";position:absolute;top:2px;left:30px;color:#65b6e3;font:800 110px/1 Georgia,'Times New Roman',serif;opacity:.4}
.ccx-proof .cc-proof-grid blockquote p{margin:26px 0 0;color:#fff;font-size:27px;line-height:1.32;font-weight:700}
.ccx-proof .cc-proof-grid blockquote footer{margin-top:30px;color:#a9c6db;font-size:13px}
.ccx-proof .cc-proof-grid article{padding:34px;border:1px solid #d8e2ee;border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(13,32,68,.07)}
.ccx-proof .cc-proof-grid h3{margin:0;color:#0d2044;font-size:20px}
.ccx-proof-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 18px}
.ccx-proof-tile{padding:18px 14px 16px;border-radius:14px;background:#edf5fa}
.ccx-proof-tile strong{display:block;color:#0d2044;font-size:36px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.ccx-proof-tile span{display:block;margin-top:8px;color:#50647c;font-size:12px;line-height:1.35}
.ccx-proof .cc-proof-grid article p{margin:0 0 6px;color:#50647c;font-size:14px}
.ccx-proof .cc-proof-grid article p strong{color:#0d2044}

/* Closing */
.ccx-closing-facts{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 28px;padding:0}
.ccx-closing-facts li{padding:9px 15px;border:1px solid rgba(164,217,255,.35);border-radius:999px;color:#d4e9f9;font-size:14px}
.ccx-closing-facts b{color:#fff}

/* Phone-only chapter toggles (added by homepage-experience.js) and the fixed call-to-action bar */
.ccx-chapter-toggle{display:none}
.ccx-mobile-cta{display:none}
.ccx-mobile-cta[hidden]{display:none!important}

/* Motion (only with .ccx-motion) */
@keyframes ccxFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes ccxFlow{from{translate:-100% 0}to{translate:260% 0}}
@keyframes ccxFlash{0%{box-shadow:0 0 0 0 rgba(41,112,154,.5)}100%{box-shadow:0 0 0 20px rgba(41,112,154,0)}}
.ccx-motion .ccx-reveal{opacity:0;translate:0 30px;transition:opacity .7s ease var(--ccx-delay,0s),translate .9s cubic-bezier(.2,.7,.2,1) var(--ccx-delay,0s)}
.ccx-motion .ccx-reveal.is-visible{opacity:1;translate:0 0}
.ccx-motion .visual-hero .journey-label{animation:ccxFloat 6s ease-in-out infinite}
.ccx-motion .visual-hero .label-care{animation-delay:-2s}
.ccx-motion .visual-hero .label-time{animation-delay:-4s}
.ccx-motion .ccx-meter b{width:0;transition:width 1.6s cubic-bezier(.2,.7,.2,1) .25s}
.ccx-motion .ccx-leg.is-visible .ccx-meter b{width:var(--ccx-w)}
.ccx-motion .ccx-loop i::after{animation:ccxFlow 1.8s linear infinite}
.ccx-motion .ccx-loop i:nth-of-type(2)::after{animation-delay:.9s}
.ccx-motion .sector-card.ccx-flash{animation:ccxFlash 1.1s .45s ease-out 2}

@media(max-width:900px){
.ccx-thesis{padding:68px 0 60px}
.ccx-thesis-head{grid-template-columns:1fr;gap:18px;margin-bottom:32px}
.ccx-legs,.ccx-thesis-foot{grid-template-columns:1fr}
.ccx-proof .cc-proof-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
.ccx-wrap{width:calc(100% - 36px)}
.ccx-thesis h2{font-size:clamp(30px,8.6vw,36px)}
.ccx-thesis-head p{font-size:16px}
.ccx-leg{padding:24px 20px 22px}
.ccx-leg h3{font-size:22px}
.ccx-hero-facts{gap:8px}
.ccx-hero-facts li{padding:8px 11px;font-size:12px}
.ccx-hero-facts strong{font-size:15px}
.cc-public-proof.ccx-proof{padding:52px 0}
.ccx-proof-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.ccx-proof .cc-proof-grid blockquote{padding:40px 24px 26px}
.ccx-proof .cc-proof-grid blockquote p{font-size:21px}
.ccx-proof .cc-proof-grid article{padding:24px 20px}
.ccx-rail a{padding:8px 11px;font-size:12px}
}
@media screen and (max-width:760px){
.ccx-rail .ccx-rail-cta{display:none}
.ccx-mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#0d2044;color:#fff;box-shadow:0 -10px 30px rgba(3,12,30,.25);font-family:Arial,Helvetica,sans-serif;transform:translateY(110%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s}
.ccx-mobile-cta.is-shown{transform:none;visibility:visible;transition:transform .3s ease}
.ccx-mobile-cta p{display:flex;flex-direction:column;margin:0;color:#c9dcec;font-size:12px;line-height:1.3}
.ccx-mobile-cta b{color:#fff;font-size:15px}
.ccx-mobile-cta a{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:9px;background:#65b6e3;color:#0d2044;font-size:15px;font-weight:800;text-decoration:none;white-space:nowrap}
}
@media screen and (max-width:640px){
.ccx-chapter-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:14px 0 4px;padding:11px 16px;border:1px solid #b9d3e4;border-radius:10px;background:#fff;color:#0d2044;font:700 14px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.ccx-chapter-toggle::after{content:"\25BE";color:#29709a}
.ccx-chapter-toggle[aria-expanded="true"]::after{content:"\25B4"}
.ccx-chapter-toggle:focus-visible{outline:2px solid #29709a;outline-offset:2px}
.ccv-chapter.ccx-collapsed>:not(.ccv-head):not(.ccx-chapter-toggle):not(.hub-link):not(.ccb-money){display:none}
.ccx-section-cta{margin-top:30px}
.ccx-proof-strip{gap:12px 22px}
}
@media(prefers-reduced-motion:reduce){
.ccx-motion .ccx-reveal{opacity:1;translate:none;transition:none}
.ccx-motion .visual-hero .journey-label,.ccx-motion .ccx-loop i::after,.ccx-motion .sector-card.ccx-flash{animation:none}
.ccx-motion .ccx-meter b{width:var(--ccx-w);transition:none}
.ccx-rail a{transition:none}
.ccx-mobile-cta,.ccx-mobile-cta.is-shown{transition:none}
}
