/* Two customer-facing interpretations of the roadmap's visual language. */
.route-icon{width:24px;height:24px;flex-shrink:0;display:block}
.roadmap-option .nav-cta{border:0;padding-right:0}
.roadmap-option .review-bar{font-size:.8125rem}
.next-action{display:grid;grid-template-columns:40px minmax(0,1fr) auto 22px;align-items:center;gap:14px;width:min(530px,100%);padding:18px;margin-top:35px;color:var(--ink);background:linear-gradient(115deg,#e1eeeb,#f4f7f3);border:1px solid #88b3af;border-radius:14px;text-decoration:none;box-shadow:0 3px 18px #1b6d7012;transition:transform .2s,box-shadow .2s,border-color .2s}
.next-action:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 8px 26px #1b6d7025}
.next-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--teal);background:#fff9;border:1px solid #b6d0ca}
.next-copy{display:flex;flex-direction:column;gap:3px;line-height:1.35}
.next-copy small{font-size:.8125rem;color:var(--teal);font-weight:600}
.next-copy strong{font-size:.9375rem;letter-spacing:-.01em}
.next-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;gap:3px;white-space:nowrap}
.next-price s{font-size:.875rem;color:var(--muted)}
.next-price b{font:750 1.65rem Manrope;color:var(--teal);letter-spacing:-.04em}
.action-arrow{width:22px;color:var(--teal)}
.journey-section{padding:44px 0 56px;scroll-margin-top:25px}
.journey-intro h2{font-size:2rem;margin-top:10px;letter-spacing:-.04em}
.journey-board{--step:0;min-width:0}
.journey-tabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 24px}
.route-line{position:absolute;left:16.6667%;right:16.6667%;top:26px;height:2px;background:#bed3cd;pointer-events:none}
.route-line:before{content:'';display:block;height:2px;width:calc(var(--step)*50%);background:var(--teal);transition:width .55s cubic-bezier(.2,.8,.2,1)}
.route-traveler{position:absolute;top:0;left:calc(16.6667% + var(--step)*33.3333%);width:52px;height:52px;border:1px solid var(--teal);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 5px #1b6d7008;transition:left .55s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:2}
.journey-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;background:transparent;color:var(--ink);border:0;border-radius:14px;padding:5px 8px 10px;min-width:0}
.step-node{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--teal);background:var(--paper);transition:background .2s,color .2s}
.step-node .route-icon{width:21px;height:21px}
.journey-tab[aria-selected=true] .step-node{background:var(--teal);color:var(--paper);border-color:var(--teal)}
.journey-tab[aria-selected=true] .step-label{color:var(--teal)}
.step-label{font-weight:650;font-size:.9375rem;line-height:1.35;display:flex;align-items:baseline;gap:7px}
.step-label small{font-size:.8125rem;font-weight:500}
.journey-panel{display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;border:1px solid #b9d0ca;border-radius:18px;padding:27px;background:linear-gradient(130deg,#fff 45%,#e1eeeb8c);min-height:235px;box-shadow:0 5px 25px #1b6d7008}
.step-art{display:grid;place-items:center;width:72px;height:72px;border:1px solid #b8d1c9;border-radius:20px;background:linear-gradient(140deg,#e1eeeb,#f9faf6);color:var(--teal)}
.step-art .route-icon{width:39px;height:39px;stroke-width:1.35}
.step-content h3{font-size:1.65rem;line-height:1.18;margin:8px 0 12px}
.step-content .eyebrow{font-size:.8125rem;letter-spacing:0}
.step-description{font-size:1rem;color:var(--muted);max-width:490px}
.step-content ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;padding:0;margin:18px 0 0}
.step-content li{display:flex;align-items:center;gap:7px;font-size:.875rem}
.step-content li .route-icon{width:18px;height:18px;color:var(--teal)}
.step-next{display:inline-flex;align-items:center;gap:10px;color:var(--teal);font-weight:600;font-size:.875rem;text-decoration:none;background:transparent;border:0;border-radius:4px;padding:12px 0 0;margin-top:7px;min-height:44px}
.step-next .route-icon{width:18px;height:18px;transition:translate .2s}
.step-next:hover .route-icon{translate:4px 0}
.journey-panel:not([hidden]) .step-art{animation:step-appear .4s both}
.journey-panel:not([hidden]) .sprout-art .stem{stroke-dasharray:30;animation:stem-grow .65s ease-out both}
.journey-panel:not([hidden]) .sprout-art .leaf{transform-origin:12px 20px;animation:leaf-grow .55s .2s both}
.journey-panel:not([hidden]) .sprout-art .leaf-left{animation-delay:.3s}
.time-visual{display:flex;align-items:center;gap:9px;color:var(--teal);margin-top:9px;font-size:.875rem}
.time-visual .route-icon{width:20px;height:20px}
.time-visual b{font-size:1.15rem}
.roadmap-option .time-equivalent{font-size:.8125rem;margin-top:5px}
.roadmap-option .offer-symbol{color:var(--teal);margin:0 0 20px;width:48px;height:48px;display:grid;place-items:center;background:#ffffffa6;border:1px solid #b8d0ca;border-radius:14px}
.roadmap-option .offer-symbol .route-icon{width:28px;height:28px}
.roadmap-option .coaching-offer .button{background:transparent;color:var(--teal);border-color:#abc7c0}
.roadmap-option .coaching-value{background:linear-gradient(130deg,#e1eeebaa,#ffffffb0)}
.roadmap-option .contact-section{background:radial-gradient(ellipse at 75% 100%,#c9e0d8,transparent 65%),linear-gradient(120deg,#f7f5ef,#e1eeeb)}
.founder-sprout{display:inline-flex;color:var(--teal);margin-bottom:17px}
.founder-sprout .route-icon{width:34px;height:34px}
.example-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #b9d0ca;background:#ffffffa6;color:var(--teal);border-radius:14px;flex-shrink:0}
.route-example{min-width:0;border:1px solid #c0d4ce;box-shadow:0 3px 20px #1b6d7006;border-radius:20px;transition:transform .2s,box-shadow .2s,border-color .2s}
.route-example:hover,.route-example:focus-within{border-color:#77a8a0;box-shadow:0 8px 24px #1b6d7015;transform:translateY(-3px)}
.route-example h3{max-width:none;min-height:0}
.route-example .example-number{font-size:1rem;letter-spacing:0;margin:0;font-weight:600}
.route-example .example-quote{min-height:0;padding:0;margin:19px 0;color:var(--muted);font-size:.9375rem}
.route-example .example-outcome{max-width:none;font-size:.9375rem}
.route-example .mini-result{min-height:0;background:#fff;border-color:#b4cfc8;box-shadow:none;font-size:.875rem;padding:18px}
.route-example .mini-result .mini-label{font-size:.8125rem}
.route-example summary{cursor:pointer;list-style:none}
.route-example summary::-webkit-details-marker{display:none}
.example-detail{margin-top:25px}
.example-detail summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--teal);font-size:.875rem;font-weight:600;min-height:44px;border-top:1px solid #bdd0c9;padding-top:13px}
.example-detail summary .route-icon{width:18px;height:18px;transition:rotate .2s}
.example-detail[open] summary .route-icon{rotate:90deg}
.example-detail .example-reveal{padding-top:20px}
.example-detail[open] .example-reveal,.example-accordion[open] .example-reveal{animation:step-appear .3s both}
/* Option 17: retain the photograph and quiet page rhythm from v16. */
.route-17 .hero{min-height:600px}
.route-17 .hero-content{padding-top:60px}
.route-17 .hero h1{font-size:clamp(3.3rem,5.3vw,4.7rem)}
.route-17 .calculator-section{padding-bottom:20px}
.route-17 .average-story{background:linear-gradient(110deg,#e1eeeb9c,#f7f5ef 75%)}
.route-17 .calculator-result{background:linear-gradient(125deg,#fff,#e1eeeb7d)}
.route-17 .calculator-result strong{color:var(--teal)}
.route-17 .journey-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:45px;align-items:start}
.route-17 .journey-intro{padding-top:32px}
.route-17 .journey-tabs{margin-top:0}
.route-17 .step-content ul{display:grid;gap:8px;grid-template-columns:1fr}
.route-17 .journey-panel{min-height:290px}
.route-17 .examples-section{background:white}
.route-17 .example-grid{gap:20px;align-items:start}
.route-17 .route-example{display:block;padding:24px;background:linear-gradient(145deg,#e1eeeb85,#fff 65%)}
.route-17 .route-example:nth-child(2){background:linear-gradient(30deg,#e1eeeb7a,#fff 70%)}
.route-17 .route-example:nth-child(3){background:radial-gradient(ellipse at 100% 0,#e1eeeb,white 80%)}
.route-17 .example-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.route-17 .route-example h3{font-size:1.7rem;line-height:1.17;min-height:3.5em}
.route-17 .route-example .example-quote{min-height:3em}
.route-17 .coaching-offer{background:linear-gradient(140deg,#fff 24%,#e1eeeb98 100%)}
.route-17 .offer-value{background:#ffffff8a}
/* Option 18: a framed portrait and a more prominent, interactive journey. */
.route-18 .hero-journal{background:radial-gradient(ellipse at 5% 85%,#d2e6de 0,transparent 58%),linear-gradient(145deg,#f7f5ef 35%,#e1eeeb);min-height:0;overflow:visible;padding:30px 0 56px}
.hero-18-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:50px;align-items:center}
.route-18 .hero-content{padding:10px 0;min-width:0}
.route-18 .hero h1{font-size:clamp(3.2rem,5.1vw,4.65rem)}
.route-18 .next-action{background:linear-gradient(110deg,#fff,#eef5ef);box-shadow:0 6px 26px #1b6d7014;margin-top:34px}
.portrait-sheet{position:relative;margin:0;height:550px;padding:12px 12px 72px;background:white;border:1px solid #becfc8;border-radius:25px;box-shadow:0 15px 45px #1b6d7014;transform:rotate(1.4deg)}
.portrait-sheet>img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;border-radius:15px}
.portrait-sheet figcaption{display:flex;gap:14px;align-items:baseline;position:absolute;bottom:23px;left:25px;right:20px;font-size:1rem}
.portrait-sheet figcaption span{font-size:.8125rem;color:var(--muted)}
.portrait-sprout{display:grid;place-items:center;position:absolute;left:-27px;bottom:101px;width:82px;height:82px;background:linear-gradient(145deg,#f9fbf6,#d4e6da);border:1px solid #99bcb0;border-radius:50%;color:var(--teal);transform:rotate(-8deg);box-shadow:0 5px 16px #1b6d7017}
.portrait-sprout .route-icon{width:42px;height:42px;stroke-width:1.25}
.hero-guarantee{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:.875rem;color:var(--muted);line-height:1.6}
.hero-guarantee .route-icon{color:var(--teal)}
.hero-guarantee b{color:var(--ink);font-weight:500}
.route-18 .journey-section{padding:65px 0 60px;background:linear-gradient(165deg,#f7f5ef 5%,#e1eeebaa 100%);border-block:1px solid #c3d6ce}
.route-18 .journey-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:center}
.route-18 .journey-intro h2{font-size:clamp(2.6rem,4vw,3.5rem);line-height:1.12;margin-top:20px}
.route-18 .journey-tabs{margin-top:0}
.route-18 .journey-panel{grid-template-columns:1fr;padding:30px;background:radial-gradient(ellipse at 100% 0,#dcece3,transparent 65%),#fff;min-height:395px;gap:18px;position:relative;overflow:hidden}
.route-18 .step-art{width:75px;height:75px;border-radius:22px;background:#e1eeeb8c}
.route-18 .step-content h3{font-size:1.9rem}
.route-18 .step-content ul{display:grid;gap:9px}
.route-18 .journey-panel .step-description{max-width:470px}
.route-18 .calculator-section{padding:40px 0 50px}
.route-18 .average-story{background:linear-gradient(110deg,#e1eeeb,#f7f5ef);border-radius:18px}
.route-18 .calculator-result{background:linear-gradient(125deg,#e1eeebc0,#f8faf5)}
.route-18 .calculator-result strong{color:var(--teal)}
.route-18 .route-examples{background:radial-gradient(ellipse at 5% 20%,#cee3da,transparent 75%),linear-gradient(130deg,#e1eeeb,#f7f5ef);padding-block:64px}
.route-18 .route-examples>.frame{display:grid;grid-template-columns:.65fr 1.35fr;gap:45px;align-items:start}
.route-18 .route-examples .section-heading{position:sticky;top:40px;padding-top:12px}
.route-18 .route-examples .eyebrow{max-width:270px}
.route-18 .route-examples h2{font-size:clamp(2.6rem,4.1vw,3.8rem);margin-top:20px}
.route-18 .example-grid{display:flex;flex-direction:column;gap:15px}
.route-18 .example-accordion{display:block;background:linear-gradient(135deg,#fff,#f3f7f2);padding:0}
.route-18 .example-accordion[open]{border-color:#7aa69a;box-shadow:0 8px 24px #1b6d7014}
.example-accordion summary{display:flex;gap:17px;align-items:center;padding:23px}
.example-accordion summary>span:nth-child(2){flex:1;min-width:0}
.route-18 .example-accordion h3{font-size:1.4rem;line-height:1.22;margin-top:6px}
.example-accordion .expand-mark{font-size:1.6rem;color:var(--teal);font-weight:400;transition:rotate .2s}
.example-accordion[open] .expand-mark{rotate:45deg}
.route-18 .example-accordion .example-reveal{display:grid;grid-template-columns:.85fr 1.15fr;gap:15px 23px;border-top:1px solid #cdded4;margin:0 23px;padding:22px 0 23px}
.route-18 .example-accordion .example-quote{margin:0;font-size:1rem;align-self:start}
.route-18 .example-accordion .mini-result{grid-column:2;grid-row:1/3;align-self:start}
.route-18 .example-accordion .example-outcome{margin:0;grid-column:1;font-size:.875rem}
.route-18 .assessment-offer{background:radial-gradient(ellipse at 0 0,#c4ddd2,transparent 80%),linear-gradient(140deg,#eef5ee,#fff)}
.route-18 .coaching-offer{background:radial-gradient(ellipse at 100% 25%,#cce2d5,transparent 80%),linear-gradient(150deg,#fff,#edf5eb)}
.route-18 .offer{border-color:#a8c5ba;box-shadow:0 6px 28px #1b6d7012}
.route-18 .offer-symbol{width:56px;height:56px;border-radius:18px}
.route-18 .included-guarantee{padding-bottom:20px;border-bottom:1px solid #a8c5ba}
.route-18 .offer-value,.route-18 .coaching-value{background:#ffffff94;border-color:#a8c5ba}
.route-18 .founder-section{padding-block:64px}
.route-18 .contact-section{background:radial-gradient(ellipse at 50% 120%,#afd0c0,transparent 70%),linear-gradient(130deg,#e1eeeb,#f7f5ef)}
@keyframes step-appear{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes stem-grow{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes leaf-grow{from{scale:.2;opacity:0}to{scale:1;opacity:1}}
@media(max-width:1050px){
 .route-17 .journey-layout{grid-template-columns:215px minmax(0,1fr);gap:30px}
 .route-18 .hero-18-grid{gap:30px;grid-template-columns:1.1fr 1fr}
 .route-18 .hero h1{font-size:3.6rem}
 .route-18 .portrait-sheet{height:500px}
 .route-18 .journey-layout{gap:35px;grid-template-columns:.72fr 1.28fr}
 .route-18 .route-examples>.frame{grid-template-columns:.55fr 1.45fr;gap:30px}
 .route-17 .route-example{padding:21px}
 .next-action{gap:10px;grid-template-columns:34px minmax(0,1fr) auto;padding:15px}
 .next-icon{width:34px;height:34px}
 .next-action>.action-arrow{display:none}
 .next-price b{font-size:1.5rem}
 .next-copy strong{font-size:.875rem}
}
@media(max-width:800px){
 .route-17 .journey-layout,.route-18 .journey-layout{grid-template-columns:1fr;gap:25px}
 .route-17 .journey-intro{padding-top:0}
 .route-17 .journey-panel{min-height:275px}
 .route-18 .journey-intro h2{font-size:2.5rem;max-width:550px}
 .route-18 .journey-intro h2 br{display:none}
 .route-18 .journey-intro h2 em{display:block}
 .route-18 .journey-intro h2 em:before{content:' '}
 .route-18 .journey-panel{grid-template-columns:85px 1fr;min-height:300px}
 .route-18 .route-examples>.frame{display:block}
 .route-18 .route-examples .section-heading{position:static;padding:0}
 .route-18 .hero h1{font-size:3rem}
 .route-18 .portrait-sheet{height:465px;padding:9px 9px 78px}
 .portrait-sheet figcaption{display:block;left:20px;bottom:15px}
 .portrait-sheet figcaption span{display:block;margin-top:3px}
 .portrait-sprout{width:65px;height:65px;left:-20px;bottom:100px}
 .portrait-sprout .route-icon{width:34px;height:34px}
 .route-17 .example-grid{grid-template-columns:1fr}
 .route-17 .route-example h3{min-height:0}
 .route-17 .route-example .example-quote{min-height:0}
 .route-17 .example-top{margin-bottom:16px}
 .route-17 .example-detail{margin-top:18px}
}
@media(max-width:650px){
 .roadmap-option .review-bar{font-size:.75rem}
 .roadmap-option .next-action{width:100%;margin-top:30px}
 .next-copy strong{font-size:.9375rem}
 .route-17 .hero{min-height:0;padding-bottom:330px}
 .route-17 .hero-content{padding-top:30px}
 .route-17 .hero h1{font-size:clamp(2.7rem,10.7vw,3.8rem)}
 .route-17 .hero-photo{height:385px}
 .route-17 .hero-wash{height:385px}
 .route-17 .calculator-section{padding-bottom:8px}
 .journey-section,.route-18 .journey-section{padding:38px 0}
 .journey-intro h2{font-size:1.9rem}
 .journey-tabs{margin-bottom:20px}
 .step-label{font-size:.875rem;display:flex;flex-direction:column;gap:3px;align-items:center}
 .step-label small{font-size:.8125rem}
 .journey-panel,.route-18 .journey-panel{grid-template-columns:1fr;gap:16px;padding:23px;min-height:350px}
 .step-art,.route-18 .step-art{width:55px;height:55px;border-radius:15px}
 .step-art .route-icon{width:30px;height:30px}
 .step-content h3,.route-18 .step-content h3{font-size:1.6rem}
 .step-description{font-size:.9375rem}
 .step-content ul{display:grid;gap:10px}
 .route-17 .journey-panel{min-height:365px}
 .route-17 .example-grid{gap:17px}
 .route-17 .route-example h3{font-size:1.75rem}
 .route-17 .examples-section{padding-block:40px}
 .route-18 .hero-journal{padding:22px 0 40px;background:radial-gradient(ellipse at 0 0,#d5e7dd,transparent 55%),linear-gradient(145deg,#f7f5ef,#e1eeeb)}
 .hero-18-grid{display:flex;flex-direction:column;gap:27px!important;align-items:stretch}
 .route-18 .hero-content{padding:0}
 .route-18 .hero h1{font-size:clamp(2.7rem,11vw,3.7rem);margin-top:18px}
 .route-18 .portrait-sheet{height:395px;width:calc(100% - 22px);margin:0 5px 0 17px;padding:10px 10px 63px}
 .portrait-sheet>img{object-position:50% 45%}
 .portrait-sheet figcaption{display:flex;align-items:baseline;gap:10px;bottom:20px;left:20px;font-size:.9375rem}
 .portrait-sheet figcaption span{font-size:.75rem;margin:0}
 .portrait-sprout{left:-25px;bottom:82px}
 .hero-guarantee{font-size:.8125rem;margin-top:18px;gap:10px}
 .hero-guarantee .route-icon{width:21px;height:21px}
 .route-18 .journey-intro h2{font-size:2.2rem;line-height:1.16;margin-top:15px}
 .route-18 .journey-intro h2 br{display:inline}
 .route-18 .journey-intro h2 br:after{content:' '}
 .route-18 .route-examples{padding-block:40px}
 .route-18 .route-examples h2{font-size:2.5rem;margin-top:15px}
 .example-accordion summary{padding:20px 17px;gap:12px}
 .example-accordion summary .example-icon{width:40px;height:40px;border-radius:12px}
 .example-accordion summary .example-icon .route-icon{width:22px;height:22px}
 .route-18 .example-accordion h3{font-size:1.3rem;margin-top:6px}
 .route-18 .example-accordion .example-reveal{display:block;margin:0 17px;padding-block:18px 21px}
 .route-18 .example-accordion .example-quote{margin-bottom:18px;font-size:.9375rem}
 .route-18 .example-accordion .example-outcome{margin-top:16px;font-size:.9375rem}
 .example-accordion .expand-mark{font-size:1.35rem}
 .route-18 .founder-section{padding-block:35px}
}
@media(max-width:360px){
 .next-action{grid-template-columns:28px minmax(0,1fr) auto;padding:13px;gap:9px}
 .next-icon{width:28px;height:28px}.next-icon .route-icon{width:18px;height:18px}
 .next-copy strong{font-size:.8125rem}.next-copy small{font-size:.75rem}.next-price b{font-size:1.35rem}
 .roadmap-option .hero .eyebrow{font-size:.75rem}
 .hero-guarantee{font-size:.75rem}
 .journey-panel,.route-18 .journey-panel{padding:20px;min-height:375px}
 .step-label{font-size:.8125rem}.step-label small{font-size:.75rem}
 .route-18 .portrait-sheet{height:360px}.portrait-sheet figcaption{display:block;bottom:12px}
 .route-18 .example-accordion h3{font-size:1.16rem}.example-accordion summary{gap:10px}
}
@media(prefers-reduced-motion:reduce){
 .roadmap-option *, .roadmap-option *:before, .roadmap-option *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .next-action:hover,.route-example:hover,.route-example:focus-within{transform:none}
 .step-next:hover .route-icon{translate:none}
}
