:root{--white:#fff;--ink:#173f35;--body:#283549;--muted:#625f83;--green:#2e8540;--green-light:#dff4e5;--mint:#eaf6ee;--orange:#f4a261;--line:#d7e2de;--shadow:0 22px 65px #173f351c;--radius:22px;--max:1460px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--body);background:var(--white);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}svg{stroke-width:1.9px;width:1.35em;height:1.35em}.site-header{width:min(var(--max), calc(100% - 80px));z-index:20;justify-content:space-between;align-items:center;height:96px;margin:0 auto;display:flex;position:relative}.brand{color:var(--ink);letter-spacing:-.035em;align-items:center;gap:12px;font-size:1.55rem;font-weight:800;display:inline-flex}.brand-mark{place-items:center;display:grid;transform:rotate(-12deg)}.brand-mark svg{stroke-width:2.1px;width:44px;height:44px}.site-header nav{color:#142238;align-items:center;gap:clamp(28px,4vw,62px);display:flex}.site-header nav a{font-weight:500;transition:color .2s,transform .2s}.site-header nav a:hover{color:var(--green);transform:translateY(-1px)}.sign-in{border:1.5px solid var(--ink);border-radius:12px;padding:12px 25px}.menu-button{color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;display:none}.hero{grid-template-columns:47% 53%;max-width:1680px;min-height:740px;margin:0 auto;display:grid;overflow:hidden}.hero-copy{padding:102px 7vw 70px max(5vw, calc((100vw - var(--max)) / 2));z-index:2;animation:.8s cubic-bezier(.2,.7,.2,1) both hero-in;position:relative}h1,h2,h3{color:var(--ink);letter-spacing:-.045em;margin:0;line-height:1.04}h1{max-width:820px;font-size:clamp(3.45rem,4.25vw,4.9rem)}.hero h1 span{white-space:nowrap}h2{font-size:clamp(2.55rem,4.6vw,5rem)}h3{font-size:1.55rem}.hero-copy>p{max-width:650px;margin:36px 0 34px;font-size:clamp(1.18rem,1.6vw,1.55rem);line-height:1.55}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.button{cursor:pointer;border:1.5px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:15px;min-height:58px;padding:0 30px;font-weight:750;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:#fff;background:var(--green);box-shadow:0 10px 24px #2e854033}.button--primary:hover{background:#256b3b;box-shadow:0 14px 30px #256b3b42}.button--outline{color:var(--ink);border-color:var(--ink);background:#fff}.button--full{width:100%}.text-link{color:var(--ink);text-underline-offset:5px;align-items:center;gap:9px;font-weight:650;text-decoration:underline;display:inline-flex}.trust-line{border-top:1px solid var(--line);align-items:center;gap:16px;width:fit-content;margin-top:50px;padding-top:26px;font-size:1.1rem;display:flex}.trust-line svg{width:38px;height:38px}.hero-visual{min-height:740px;animation:1s cubic-bezier(.2,.7,.2,1) .12s both hero-photo-in;position:relative}.hero-visual>img{object-fit:cover;object-position:57% center}.hero-visual:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fff 0%,#0000 100%);width:18%;position:absolute;inset:0 auto 0 0}.hero-plan{z-index:2;width:min(390px,48%);animation:5s ease-in-out infinite float-plan;position:absolute;top:15%;left:7%}.example-plan,.preference-panel,.activity-panel,.activity-detail{border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff7;border:1px solid #173f3514}.example-plan{padding:30px}.example-plan--compact{padding:28px}.plan-heading{justify-content:space-between;align-items:flex-start;display:flex}.plan-heading p,.example-label{color:var(--muted);margin:4px 0}.edit-link{color:var(--green);text-decoration:underline}.plan-meta{color:var(--muted);margin:8px 0 22px}.timeline{margin:0;padding:0;list-style:none}.timeline li{grid-template-columns:48px 1fr auto;align-items:center;gap:14px;min-height:75px;display:grid;position:relative}.timeline li:not(:last-child):after{content:"";border-left:2px solid #8dcca0;height:30px;position:absolute;top:60px;left:23px}.timeline li>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.timeline small{color:var(--muted)}.timeline em,.detail-feature em,.detail-timeline small{color:var(--ink);background:var(--green-light);border-radius:8px;padding:6px 10px;font-size:.9rem;font-style:normal}.timeline-icon{color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.timeline-icon.green{background:#50a85f}.timeline-icon.orange{background:var(--orange)}.source-note{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-top:18px;padding-top:16px;font-size:.9rem;display:flex}.section-band{background:radial-gradient(circle at 40% 5%, #fff 0, var(--mint) 50%, #f8fcfa 100%)}.how,.plans-section,.trust-section{padding:104px max(5vw, calc((100vw - var(--max)) / 2))}.section-intro>p{color:var(--muted);margin:12px 0 50px;font-size:clamp(1.35rem,2.3vw,2.25rem)}.planner-flow{grid-template-columns:28% 7% 30% 35%;align-items:center;min-height:590px;display:grid;position:relative}.preference-panel{z-index:2;padding:26px}.preference-panel fieldset{border:0;margin:20px 0;padding:0}.preference-panel legend,.preference-panel label{color:var(--ink);font-weight:700}.choice-row{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.choice-row button{border:1px solid var(--line);color:var(--body);cursor:pointer;background:#fff;border-radius:999px;padding:8px 15px}.choice-row button.selected{background:var(--green);border-color:var(--green);color:#fff}.preference-panel label{margin-top:16px;display:block}.preference-panel select{border:1px solid var(--line);width:100%;color:var(--body);background:#fff;border-radius:9px;margin-top:7px;padding:11px 12px;display:block}.route-line{z-index:1;height:120px;margin:0 -40px;position:relative}.route-line svg{width:100%;height:100%;overflow:visible}.route-line path{fill:none;stroke:#50ad6e;stroke-width:3px;stroke-dasharray:8 8;stroke-dashoffset:320px}.is-visible .route-line path{animation:1.8s ease-out .2s forwards route-draw}.activity-panel{z-index:2;padding:18px}.mini-map{min-height:115px;color:var(--green);background:linear-gradient(140deg,#e9f3e7,#d5ebe3);border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.mini-map:before,.mini-map:after{content:"";border-top:2px solid #2e854040;width:130%;position:absolute;transform:rotate(-18deg)}.mini-map:after{transform:rotate(20deg)}.mini-map span{z-index:1;background:#fff;border-radius:8px;padding:7px 12px;font-size:.82rem}.mini-map svg{z-index:1}.activity-panel h3{margin:17px 0 8px}.activity-row{border-top:1px solid var(--line);grid-template-columns:54px 1fr 22px;align-items:center;gap:12px;padding:13px 0;display:grid}.activity-row>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.activity-row small{color:var(--muted)}.activity-thumb{color:#fff;background:linear-gradient(135deg,#356c48,#89bd66);border-radius:9px;place-items:center;width:54px;height:50px;display:grid}.thumb-2{background:linear-gradient(135deg,#6d9447,#b8d687)}.thumb-3{background:linear-gradient(135deg,#95693f,#d8ad6e)}.planning-photo{border-radius:0 var(--radius) var(--radius) 0;height:520px;position:relative;overflow:hidden}.planning-photo img{object-fit:cover;object-position:58% center}.flow-result{z-index:3;width:27%;position:absolute;right:9%}.steps{grid-template-columns:repeat(3,1fr);gap:64px;margin-top:54px;display:grid}.steps div{grid-template-columns:52px 1fr;column-gap:18px;display:grid}.steps span{background:var(--green);color:#fff;border-radius:50%;grid-row:1/span 2;place-items:center;width:52px;height:52px;font-size:1.5rem;font-weight:800;display:grid}.steps p{margin:10px 0 0;line-height:1.55}.plans-section{background:#fff}.plan-comparison{grid-template-columns:280px 1fr;gap:24px;display:grid}.plan-tabs{flex-direction:column;gap:14px;display:flex}.plan-tabs button{border:1px solid var(--line);min-height:88px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:16px;grid-template-columns:44px 1fr 24px;align-items:center;gap:12px;padding:0 20px;font-size:1.1rem;font-weight:800;transition:border .2s,background .2s,transform .2s;display:grid}.plan-tabs button:hover{transform:translate(4px)}.plan-tabs button.active{border-color:var(--green);background:var(--mint)}.plan-tabs button>svg:first-child{background:var(--green-light);border-radius:50%;width:42px;height:42px;padding:9px}.detailed-plan{border:1px solid var(--line);border-radius:var(--radius);min-height:610px;box-shadow:var(--shadow);grid-template-columns:2fr 1fr;padding:34px;animation:.35s both plan-change;display:grid}.detailed-plan-main{padding-right:34px}.detail-timeline{margin:26px 0}.detail-timeline>div{grid-template-columns:100px 46px 1fr;align-items:center;gap:15px;min-height:72px;display:grid}.detail-timeline>div>svg{color:#fff;background:var(--green);border-radius:50%;width:44px;height:44px;padding:11px}.detail-timeline>div:nth-child(2)>svg{color:var(--ink);background:#e6ebee}.detail-timeline>div:nth-child(3)>svg{background:var(--orange)}.detail-timeline span{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.plan-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:20px 0;display:grid}.plan-stats>span{border-right:1px solid var(--line);grid-template-columns:32px 1fr;padding:0 16px;display:grid}.plan-stats>span:last-child{border:0}.plan-stats svg{grid-row:1/span 2}.plan-stats small{color:var(--muted)}.plan-buttons{grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;display:grid}.status-message{min-height:1.4em;color:var(--green);margin:14px 0 0;font-weight:650}.detailed-plan aside{border-left:1px solid var(--line);padding-left:34px}.active-summary{color:var(--muted);min-height:50px}.detailed-plan aside ul{margin:32px 0;padding:0;list-style:none}.detailed-plan aside li{align-items:center;gap:14px;margin:22px 0;display:flex}.detailed-plan aside li svg{background:var(--green-light);width:44px;height:44px;color:var(--ink);border-radius:50%;padding:10px}.detailed-plan aside>p:last-child{border-top:1px solid var(--line);color:var(--muted);padding-top:24px}.trust-grid{grid-template-columns:1.25fr .9fr;align-items:center;gap:64px;display:grid}.lead{color:var(--muted);max-width:760px;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.4}.trust-list{margin:30px 0 0;padding:0;list-style:none}.trust-list li{border-bottom:1px solid var(--line);grid-template-columns:66px 1fr;align-items:center;gap:18px;padding:18px 0;display:grid}.trust-list li>svg{background:var(--green-light);width:58px;height:58px;color:var(--ink);border-radius:50%;padding:15px}.trust-list span{flex-direction:column;gap:5px;display:flex}.trust-list strong{color:var(--ink);font-size:1.25rem}.trust-list small{color:var(--muted);font-size:1rem}.activity-detail{padding:34px}.activity-detail h3{margin:6px 0 24px;font-size:2.3rem}.detail-feature{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;align-items:center;gap:22px;padding-bottom:24px;display:grid}.detail-image{color:#fff;background:linear-gradient(145deg,#d6b079,#75a76b);border-radius:14px;place-items:center;height:130px;display:grid}.detail-image svg{width:60px;height:60px}.detail-feature>span:last-child{flex-direction:column;gap:7px;display:flex}.detail-feature strong{color:var(--ink);font-size:1.25rem}.detail-feature small{color:var(--muted)}.detail-feature em{width:fit-content}.activity-detail dl{margin:22px 0}.activity-detail dl div{grid-template-columns:1fr 1.25fr;gap:18px;margin:14px 0;display:grid}.activity-detail dt{color:var(--muted);align-items:center;gap:9px;display:flex}.activity-detail dd{margin:0}.source-preview{color:var(--ink);background:var(--mint);border-radius:10px;margin:16px 0 0;padding:14px;line-height:1.5}.final-cta{padding:46px max(5vw, calc((100vw - var(--max)) / 2));background:var(--ink);color:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:42px;display:grid}.final-cta h2{color:#fff;font-size:clamp(2rem,3vw,3.6rem)}.final-cta p{color:#d8eadf;margin:8px 0 0;font-size:1.2rem}.text-link--light{color:#fff}footer{padding:34px max(5vw, calc((100vw - var(--max)) / 2));grid-template-columns:auto auto 1fr;align-items:center;gap:18px;display:grid}footer p{color:var(--muted)}footer nav{color:var(--muted);flex-wrap:wrap;justify-self:end;gap:24px;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-in{0%{opacity:0;transform:translateY(24px)}}@keyframes hero-photo-in{0%{opacity:0;transform:scale(1.025)}}@keyframes float-plan{50%{transform:translateY(-9px)}}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes plan-change{0%{opacity:.25;transform:translateY(8px)}}@media (max-width:1100px){.site-header{width:calc(100% - 48px)}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw 40px}.hero-visual{min-height:580px}.hero-visual:after{background:linear-gradient(#fff,#0000);width:100%;height:18%;inset:0 0 auto}.hero-plan{top:8%;left:auto;right:5%}.planner-flow{grid-template-columns:1fr 1fr;gap:24px}.route-line{display:none}.planning-photo{border-radius:var(--radius);grid-area:2/1/auto/-1;height:520px}.flow-result{grid-area:1/2;width:auto;position:static}.activity-panel{z-index:2;grid-area:2/1;margin:40px}.plan-comparison{grid-template-columns:1fr}.plan-tabs{flex-direction:row}.plan-tabs button{flex:1}}@media (max-width:760px){.site-header{width:calc(100% - 34px);height:78px}.brand{font-size:1.35rem}.brand-mark svg{width:38px;height:38px}.menu-button{display:inline-flex}.menu-button span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.site-header nav{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;align-items:stretch;gap:8px;padding:22px;display:none;position:absolute;top:70px;left:0;right:0}.site-header nav.is-open{display:flex}.site-header nav a{padding:12px}.sign-in{text-align:center}.hero{min-height:0}.hero-copy{text-align:center;padding:45px 22px 30px}h1{font-size:clamp(3rem,13vw,4.7rem)}.hero h1 span{white-space:normal}.hero-copy>p{margin:26px auto;font-size:1.18rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.trust-line{margin:30px auto 0}.hero-visual{min-height:520px}.hero-visual>img{object-position:68% center}.hero-plan{width:auto;animation:none;inset:auto 16px 18px}.hero-plan .timeline li:nth-child(2){display:none}.how,.plans-section,.trust-section{padding:78px 20px}.section-intro>p{margin-bottom:34px}.planner-flow{grid-template-columns:1fr}.preference-panel,.activity-panel,.flow-result,.planning-photo{grid-area:auto/1;margin:0}.planning-photo{height:330px}.flow-result{z-index:3;margin-top:-80px;padding:0 14px}.steps{grid-template-columns:1fr;gap:28px}.plan-tabs{flex-direction:column}.plan-tabs button{min-height:70px}.detailed-plan{grid-template-columns:1fr;padding:24px}.detailed-plan-main{padding-right:0}.detailed-plan aside{border-left:0;border-top:1px solid var(--line);margin-top:30px;padding:28px 0 0}.detail-timeline>div{grid-template-columns:88px 42px 1fr}.plan-stats{grid-template-columns:1fr;gap:15px}.plan-stats>span{border:0}.plan-buttons{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr;gap:45px}.activity-detail{padding:24px}.detail-feature{grid-template-columns:1fr}.detail-image{height:150px}.activity-detail dl div{grid-template-columns:1fr;gap:4px}.final-cta{text-align:center;grid-template-columns:1fr;gap:20px;padding:52px 22px}footer{text-align:center;grid-template-columns:1fr;padding:36px 22px}footer .brand{justify-self:center}footer nav{justify-content:center;justify-self:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.public-page{background:radial-gradient(circle at 82% 5%, var(--mint), #fff 42%);min-height:100vh}.public-header{background:#ffffffd1}.public-article{width:min(940px,100% - 48px);margin:0 auto;padding:92px 0 110px}.public-article>h1{max-width:900px}.public-lead{max-width:820px;color:var(--muted);margin:28px 0 58px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.55}.public-article>section{margin:50px 0}.public-article section>h2{margin-bottom:18px;font-size:clamp(2rem,3.5vw,3rem)}.public-article section>p,.principle-grid p,.public-steps p,.faq-section p{font-size:1.08rem;line-height:1.7}.principle-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin:46px 0;display:grid}.principle-grid section{border:1px solid var(--line);background:#ffffffe6;border-radius:18px;padding:26px}.principle-grid svg{width:46px;height:46px;color:var(--ink);background:var(--green-light);border-radius:50%;margin-bottom:22px;padding:11px}.principle-grid p{color:var(--muted)}.transparency-note{border-left:4px solid var(--green);background:var(--mint);border-radius:0 12px 12px 0;margin:50px 0 34px;padding:22px 24px;line-height:1.65}.public-steps{margin:54px 0;padding:0;list-style:none}.public-steps li{border-bottom:1px solid var(--line);grid-template-columns:58px 1fr;gap:20px;padding:28px 0;display:grid}.public-steps li>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.3rem;font-weight:800;display:grid}.public-steps h2{font-size:clamp(1.6rem,2.5vw,2.25rem)}.public-steps p{color:var(--muted);margin:10px 0 0}.faq-section details{border-bottom:1px solid var(--line)}.faq-section summary{color:var(--ink);cursor:pointer;padding:22px 0;font-size:1.15rem;font-weight:750}.faq-section details p{color:var(--muted);margin:0 0 24px}@media (max-width:760px){.public-article{width:min(100% - 38px,940px);padding:64px 0 84px}.public-lead{margin-bottom:42px}.principle-grid{grid-template-columns:1fr}}.planner-shell{background:radial-gradient(circle at 72% 8%,#f1fbf4 0,#fff 42%,#f8fbf8 100%);min-height:100vh}.planner-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1500px,100% - 64px);min-height:82px;margin:0 auto;display:flex}.planner-header nav{align-items:center;gap:16px;display:flex}.planner-header nav a{min-height:44px;color:var(--ink);align-items:center;gap:8px;font-weight:700;display:inline-flex}.planner-header .header-early{background:var(--ink);color:#fff;border-radius:10px;padding:0 18px}.planner-title{grid-template-columns:1fr minmax(320px,470px);align-items:end;gap:40px;width:min(1500px,100% - 64px);margin:0 auto;padding:48px 0 30px;display:grid}.planner-title h1{font-size:clamp(2.8rem,4.6vw,5rem)}.planner-title>div:first-child>p:last-child{color:var(--muted);margin:10px 0 0;font-size:clamp(1.15rem,1.8vw,1.55rem)}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.sample-banner{color:#59491d;background:#fff9e8;border:1px solid #ead49c;border-radius:14px;gap:14px;padding:18px;line-height:1.45;display:flex}.sample-banner svg{flex:none}.sample-banner span{flex-direction:column;display:flex}.profile-pref-status{color:var(--muted);background:#f2f5f3;border-radius:10px;margin:0 0 18px;padding:12px 14px;font-size:.92rem;line-height:1.45}.profile-pref-status--loaded{color:var(--green);background:#edf8f0;align-items:center;gap:8px;font-weight:700;display:flex}.profile-pref-status--loaded svg{flex:none;width:17px;height:17px}.profile-pref-status--warning{color:#6a5120;background:#fff7e5}.planner-layout{grid-template-columns:minmax(310px,390px) 1fr;align-items:start;gap:28px;width:min(1500px,100% - 64px);margin:0 auto;padding:0 0 80px;display:grid}.planner-form,.planner-results{border:1px solid var(--line);background:#fffffff5;border-radius:20px;box-shadow:0 18px 50px #173f3514}.planner-form{padding:24px;position:sticky;top:20px}.form-heading,.results-heading>div{align-items:flex-start;gap:13px;display:flex}.form-heading>span,.results-heading>div>span{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.planner-form h2,.planner-results h2{font-size:1.55rem}.planner-form p,.results-heading p{color:var(--muted);margin:4px 0 0}.planner-form>label,.form-field{margin-top:22px;display:block}.planner-form label>span,.form-field>span{color:var(--ink);margin-bottom:8px;font-weight:760;display:block}.planner-form input,.planner-form select{width:100%;min-height:48px;color:var(--body);background:#fff;border:1px solid #cbd9d4;border-radius:10px;padding:0 13px}.input-with-icon{position:relative}.input-with-icon svg{color:var(--green);position:absolute;top:13px;left:13px}.input-with-icon input{padding-left:44px}.planner-form small{color:var(--muted);margin-top:6px;line-height:1.35;display:block}.form-split{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-split label{margin-top:22px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-row button{min-height:38px;color:var(--body);cursor:pointer;background:#fff;border:1px solid #cbd9d4;border-radius:999px;align-items:center;gap:5px;padding:0 13px;display:inline-flex}.chip-row button.is-selected{border-color:var(--green);background:var(--green-light);color:var(--ink);font-weight:720}.chip-row button svg{width:15px}.planner-form>.button{margin-top:24px}.planner-form .button:disabled{cursor:not-allowed;opacity:.5;transform:none}.field-error{color:#a4382d!important}.planner-results{min-width:0;padding:26px;scroll-margin-top:20px}.results-heading{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.result-count{background:var(--mint);color:var(--ink);border-radius:999px;padding:7px 11px;font-size:.85rem;font-weight:800}.result-tabs{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.result-tabs button{border:1px solid var(--line);min-height:64px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:9px;font-weight:760;display:flex}.result-tabs button.active{border-color:var(--green);background:var(--green-light);box-shadow:inset 0 -3px var(--green)}.result-card{border:1px solid var(--line);touch-action:pan-y;border-radius:17px;padding:24px;animation:.3s both plan-change}.plan-card-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:.86rem;display:flex}.plan-badge{color:var(--ink);background:var(--green-light);border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-weight:800;display:inline-flex}.plan-card-grid{grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);gap:28px;margin-top:20px;display:grid}.result-timeline{margin:0;padding:0;list-style:none}.result-timeline li{grid-template-columns:86px 48px 1fr;align-items:center;gap:14px;min-height:94px;display:grid;position:relative}.result-timeline li:not(:last-child):after{content:"";border-left:2px solid #9bd5aa;height:49px;position:absolute;top:69px;left:109px}.result-timeline time{color:var(--muted);font-size:.9rem}.stop-icon{color:#fff;background:var(--green);z-index:1;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.stop-icon.break{background:var(--orange)}.result-timeline li>span:last-child{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.result-timeline strong{color:var(--ink);width:100%;font-size:1.05rem}.result-timeline small{color:var(--muted)}.cost-pill{background:var(--green-light);color:var(--ink);border-radius:999px;padding:4px 8px;font-size:.8rem}.result-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding-top:18px;display:grid}.result-stats>span{border-right:1px solid var(--line);grid-template-columns:30px 1fr;padding:0 12px;display:grid}.result-stats>span:first-child{padding-left:0}.result-stats>span:last-child{border:0}.result-stats svg{color:var(--ink);grid-row:1/3}.result-stats small{color:var(--muted)}.result-stats strong{color:var(--ink)}.plan-card-grid aside{border-left:1px solid var(--line);padding-left:28px}.plan-card-grid aside h3{font-size:1.35rem}.plan-card-grid aside ul{margin:22px 0;padding:0;list-style:none}.plan-card-grid aside li{align-items:center;gap:9px;margin:16px 0;display:flex}.plan-card-grid aside li svg{width:25px;height:25px;color:var(--green);background:var(--green-light);border-radius:50%;padding:5px}.plan-card-grid aside p{border-top:1px solid var(--line);color:var(--muted);padding-top:18px;line-height:1.45}.source-list{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.source-list h3{margin-bottom:8px;font-size:1.15rem}.source-list>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:56px;display:flex}.source-list>a:hover strong{color:var(--green);text-decoration:underline}.source-list>a span{flex-direction:column;gap:3px;display:flex}.source-list small{color:var(--muted)}.source-list svg{flex:none}.result-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.mobile-dots{display:none}.planner-status{min-height:1.4em;color:var(--green);margin:14px 0 0;font-weight:700}.empty-plans{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:500px;padding:40px;display:flex}.empty-plans>svg{width:64px;height:64px;color:var(--green);background:var(--green-light);border-radius:50%;padding:14px}.empty-plans h3{margin-top:20px;font-size:1.8rem}.empty-plans p{max-width:480px;color:var(--muted);line-height:1.55}@media (max-width:1050px){.planner-title{grid-template-columns:1fr}.planner-layout{grid-template-columns:330px 1fr}.plan-card-grid{grid-template-columns:1fr}.plan-card-grid aside{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.result-stats{grid-template-columns:1fr;gap:13px}.result-stats>span{border:0;padding:0}.result-tabs button{flex-direction:column;font-size:.82rem}}@media (max-width:760px){.planner-header,.planner-title,.planner-layout{width:calc(100% - 32px)}.planner-header{min-height:72px}.planner-header nav>a:first-child{display:none}.planner-title{gap:22px;padding:32px 0 22px}.planner-title h1{font-size:clamp(2.55rem,12vw,4rem)}.planner-layout{grid-template-columns:1fr}.planner-form{position:static}.planner-results{padding:18px}.result-tabs{scroll-snap-type:x mandatory;padding-bottom:3px;display:flex;overflow-x:auto}.result-tabs button{scroll-snap-align:start;flex-direction:row;min-width:140px;min-height:52px}.result-card{padding:18px}.result-timeline li{grid-template-columns:70px 42px 1fr}.result-timeline li:not(:last-child):after{left:90px}.stop-icon{width:42px;height:42px}.result-actions{grid-template-columns:1fr}.mobile-dots{justify-content:center;gap:8px;margin-top:18px;display:flex}.mobile-dots i{background:#cce8d4;border-radius:50%;width:9px;height:9px}.mobile-dots i.active{background:var(--green)}.form-split{grid-template-columns:1fr;gap:0}}.early-page{background:radial-gradient(circle at 20% 20%, var(--mint), #fff 48%, #fbf7ef 100%);min-height:100vh}.early-layout{grid-template-columns:1fr 480px;align-items:center;gap:90px;width:min(1180px,100% - 64px);min-height:calc(100vh - 82px);margin:0 auto;padding:70px 0;display:grid}.early-copy h1{font-size:clamp(3rem,5.4vw,5.4rem)}.early-copy>p:not(.eyebrow){color:var(--muted);max-width:650px;font-size:1.35rem;line-height:1.55}.early-copy ul{margin:30px 0;padding:0;list-style:none}.early-copy li{color:var(--ink);align-items:center;gap:12px;margin:15px 0;font-weight:680;display:flex}.early-copy li svg{width:28px;height:28px;color:var(--green);background:var(--green-light);border-radius:50%;padding:5px}.early-copy>small{color:var(--muted)}.early-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffffa;border-radius:22px;padding:30px}.preview-warning{color:#5e4b18;background:#fff8e5;border-radius:12px;gap:12px;margin-bottom:20px;padding:15px;line-height:1.4;display:flex}.preview-warning svg{flex:none}.preview-warning span{flex-direction:column;display:flex}.early-card label{margin-bottom:18px;display:block}.early-card label>span{color:var(--ink);margin-bottom:7px;font-weight:740;display:block}.early-card label em{color:var(--muted);font-style:normal;font-weight:500}.early-card input:not([type=checkbox]){border:1px solid #cbd9d4;border-radius:10px;width:100%;min-height:50px;padding:0 13px}.early-split{grid-template-columns:1fr 1fr;gap:12px;display:grid}.early-card .honeypot{position:absolute;left:-9999px}.early-card .consent-row{grid-template-columns:20px 1fr;align-items:start;gap:10px;display:grid}.early-card .consent-row input{width:18px;height:18px;accent-color:var(--green);margin-top:2px}.early-card .consent-row span{color:var(--body);font-size:.9rem;font-weight:500;line-height:1.45}.early-card .button:disabled{cursor:not-allowed;opacity:.5;transform:none}.email-fallback{border:1px solid var(--ink);min-height:50px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:9px;margin-top:12px;font-weight:760;display:flex}.form-message{border-radius:10px;align-items:center;gap:8px;margin:16px 0 0;padding:12px;display:flex}.form-message.success{color:var(--ink);background:var(--green-light)}.form-message.error{color:#8c2e26;background:#fff0ee}@media (max-width:1050px){.early-layout{grid-template-columns:1fr 440px;gap:44px}}@media (max-width:760px){.planner-header .header-early{display:none}.early-layout{grid-template-columns:1fr;gap:35px;width:calc(100% - 34px);min-height:auto;padding:45px 0}.early-copy h1{font-size:clamp(3rem,14vw,4.4rem)}.early-copy>p:not(.eyebrow){font-size:1.18rem}.early-card{padding:22px}.early-split{grid-template-columns:1fr;gap:0}}.auth-page{background:radial-gradient(circle at 18% 18%, var(--mint), #fff 48%, #fbf7ef 100%);min-height:100vh}.auth-layout{grid-template-columns:1fr 460px;align-items:center;gap:90px;width:min(1120px,100% - 64px);min-height:calc(100vh - 82px);margin:0 auto;padding:64px 0 80px;display:grid}.auth-copy h1{font-size:clamp(3rem,5vw,5.2rem)}.auth-copy>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.3rem;line-height:1.55}.auth-copy ul{margin:30px 0;padding:0;list-style:none}.auth-copy li{color:var(--ink);align-items:center;gap:12px;margin:15px 0;font-weight:700;display:flex}.auth-copy li svg{width:27px;height:27px;color:var(--green);background:var(--green-light);border-radius:50%;padding:5px}.auth-card{border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fffffffa;border-radius:24px;padding:34px}.auth-lock{width:58px;height:58px;color:var(--ink);background:var(--green-light);border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.auth-lock svg{width:28px;height:28px}.auth-card h2{font-size:2rem}.auth-card>p{color:var(--muted);line-height:1.5}.auth-card>small{color:var(--muted);margin-top:20px;line-height:1.5;display:block}.auth-buttons{gap:12px;margin-top:24px;display:grid}.social-button{color:#18231f;width:100%;min-height:56px;font:inherit;cursor:pointer;background:#fff;border:1.5px solid #c7d3cf;border-radius:12px;grid-template-columns:28px 1fr 24px;align-items:center;gap:12px;padding:0 18px;font-weight:760;display:grid}.social-button:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px)}.social-button:disabled{cursor:not-allowed;opacity:.52}.apple-button{color:#fff;background:#111;border-color:#111}.google-mark{color:#4285f4;font-family:Arial,sans-serif;font-size:1.3rem;font-weight:800}.apple-mark{fill:currentColor;width:25px;height:25px}.auth-preview{color:#5e4b18;background:#fff8e5;border-radius:10px;margin:4px 0 0;padding:13px;font-size:.9rem;line-height:1.45}.spin{animation:.8s linear infinite auth-spin}.auth-error,.account-page{min-height:100vh;padding:34px max(5vw, calc((100vw - var(--max)) / 2));background:var(--mint)}.auth-error>div,.account-card{width:min(620px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:22px;margin:12vh auto 0;padding:42px}.auth-error>div>svg,.account-card>svg{width:60px;height:60px;color:var(--green)}.auth-error h1,.account-card h1{margin-top:18px;font-size:clamp(2.5rem,5vw,4.5rem)}.auth-error p,.account-card p{color:var(--muted);line-height:1.55}.account-page{background:radial-gradient(circle at top, var(--mint), white 65%);padding-top:0}.account-card form{margin-top:28px}.account-success{background:var(--green-light);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px;display:flex;color:var(--ink)!important}.account-success svg{width:20px;height:20px;color:var(--green)}.account-family-summary{border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:13px;margin:24px 0;padding:18px;display:flex}.account-family-summary>svg{width:40px;height:40px;color:var(--ink);background:var(--green-light);border-radius:50%;padding:9px}.account-family-summary span{flex-direction:column;gap:3px;display:flex}.account-family-summary small{color:var(--muted)}.account-actions{justify-content:center;gap:12px;margin-top:28px;display:flex}.account-actions form{margin:0}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.auth-layout{grid-template-columns:1fr;gap:38px}.auth-copy{text-align:center}.auth-copy ul{text-align:left;width:fit-content;margin-inline:auto}.auth-card{justify-self:center;width:min(480px,100%)}}@media (max-width:760px){.auth-layout{width:calc(100% - 34px);min-height:auto;padding:46px 0 70px}.auth-copy h1{font-size:clamp(3rem,13vw,4.4rem)}.auth-copy>p:not(.eyebrow){font-size:1.13rem}.auth-card{padding:26px 20px}.auth-card h2{font-size:1.75rem}.auth-error>div,.account-card{padding:28px 20px}}.onboarding-page{background:radial-gradient(circle at 18% 0, var(--mint), #fff 44%, #f8fbf8 100%);min-height:100vh}.onboarding-layout{width:min(980px,100% - 64px);margin:0 auto;padding:64px 0 100px}.onboarding-intro{max-width:780px;margin-bottom:36px}.onboarding-intro h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.98}.onboarding-intro p{max-width:680px;color:var(--muted);margin:20px 0 0;font-size:1.25rem;line-height:1.55}.onboarding-form{gap:20px;display:grid}.onboarding-section{border:1px solid var(--line);background:#fffffff5;border-radius:20px;grid-template-columns:52px 1fr;gap:20px;padding:32px;display:grid;box-shadow:0 18px 50px #173f3512}.section-number{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.05rem;font-weight:850;display:grid}.onboarding-section-body{min-width:0}.onboarding-section-body>h2{font-size:clamp(1.75rem,3vw,2.35rem)}.onboarding-section-body>p{color:var(--muted);margin:7px 0 24px;line-height:1.5}.onboarding-section label{margin-top:18px;display:block}.onboarding-section label>span{color:var(--ink);margin-bottom:8px;font-size:.95rem;font-weight:760;display:block}.onboarding-section label em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:560}.onboarding-section input,.onboarding-section select{width:100%;min-height:50px;color:var(--body);font:inherit;background:#fff;border:1px solid #cbd9d4;border-radius:10px;padding:0 13px;font-size:.96rem}.onboarding-section input:focus-visible,.onboarding-section select:focus-visible{border-color:var(--green);outline:3px solid #63b36f3d}.onboarding-section small{color:var(--muted);margin-top:7px;line-height:1.45;display:block}.onboarding-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.child-profile-list{gap:16px;display:grid}.child-profile{border:1px solid var(--line);background:#fbfdfb;border-radius:15px;min-width:0;padding:22px;position:relative}.child-profile legend{color:var(--ink);padding:0 8px;font-size:1.05rem;font-weight:800}.remove-child,.add-child{min-height:42px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-size:.88rem;font-weight:760;display:inline-flex}.remove-child{color:#8c2e26;position:absolute;top:10px;right:14px}.remove-child svg,.add-child svg{width:18px;height:18px}.add-child{color:var(--green);margin-top:14px;padding:0 4px}.onboarding-submit{border:1px solid var(--line);background:var(--ink);color:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:22px;padding:24px 28px;display:flex}.onboarding-submit>div{align-items:center;gap:13px;display:flex}.onboarding-submit>div>svg{color:#9bd5aa;flex:none}.onboarding-submit span{flex-direction:column;gap:3px;display:flex}.onboarding-submit small{color:#c9d8d3}.onboarding-submit .button{flex:none}.onboarding-submit .button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:760px){.onboarding-layout{width:calc(100% - 34px);padding:42px 0 72px}.onboarding-intro h1{font-size:clamp(2.75rem,13vw,4.2rem)}.onboarding-intro p{font-size:1.08rem}.onboarding-section{grid-template-columns:1fr;padding:22px 18px}.onboarding-grid{grid-template-columns:1fr;gap:0}.child-profile{padding:18px 14px}.onboarding-submit{flex-direction:column;align-items:stretch;padding:22px 18px}.onboarding-submit .button{width:100%}}
