/* Shared visual refresh: confident cobalt, coastal cyan, warm coral, and cool paper. */

body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f2f7fa;color:#142b3a}
.site-header{height:82px;width:100%;padding-inline:max(28px,calc((100% - 1320px)/2));box-sizing:border-box;border-bottom:1px solid #1d5874;background:linear-gradient(105deg,#123957 0%,#0d4968 58%,#087c89 100%);box-shadow:0 5px 20px #12395720;color:#fff}.site-header .brand-mark{width:42px;height:42px;border-radius:13px;background:#0b6db8;color:#9de5dc;font-size:calc(27px * var(--system-font-scale, 1));box-shadow:0 7px 18px #061e353d}.site-header .brand-name{font-size:calc(20px * var(--system-font-scale, 1));letter-spacing:-.8px;color:#fff}.site-header .brand-name span{color:#8ce0d1}.site-header .primary-nav{gap:38px;color:#e0edf3;font-weight:650}.site-header .primary-nav a{transition:color .18s,opacity .18s}.site-header .primary-nav a:hover,.site-header .primary-nav a[aria-current=page]{color:#9de5dc}.site-header .header-signin{font-weight:750;color:#fff}.site-header .header-cta{border:1px solid #8ce0d1;background:#9de5dc;color:#123957;border-radius:8px;padding:12px 18px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.site-header .header-cta:hover{transform:translateY(-2px);background:#b5f0e7;box-shadow:0 7px 18px #061e353d}.site-header .menu-toggle span{background:#fff}
.hero{min-height:610px;grid-template-columns:1.07fr .93fr;padding-block:75px 80px;gap:35px}.hero-copy{max-width:620px}.hero .eyebrow{font-size:calc(12px * var(--system-font-scale, 1));letter-spacing:1.4px;color:#087c89}.eyebrow-dot{width:9px;height:9px;background:#f08a66}.hero h1{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:calc(clamp(54px,5.7vw,74px) * var(--system-font-scale, 1));font-weight:850;letter-spacing:-3.4px;line-height:.99;color:#142b3a;margin-bottom:25px}.hero h1 em{color:#087c89}.hero-lede{max-width:570px;color:#516d7f;font-size:calc(17px * var(--system-font-scale, 1));line-height:1.85}.hero-actions{gap:12px;margin-top:30px}.button{min-height:52px;padding:14px 20px;border-radius:8px;font-weight:750}.button-primary{background:#0b6db8;box-shadow:0 8px 20px #0b6db82e}.button-primary:hover{background:#07579a;box-shadow:0 12px 23px #0b6db832}.button-primary span{color:#9de5dc}.button-quiet{background:#fff;color:#23465c;border-color:#cadce5}.hero-note{font-weight:600;color:#60798a}.hero-art{min-height:470px;height:470px;border:1px solid #e3edf1;border-radius:30px;background:radial-gradient(ellipse at 54% 46%,#d8f1ee 0,#e7f1f8 36%,#f4f8fb 68%,transparent 70%);overflow:visible}.orbit{border-color:#0b6db826}.budget-card{width:min(390px,84%);padding:26px 27px 22px;border:1px solid #fff;border-radius:20px;box-shadow:0 26px 60px #143c5624;transform:rotate(-1.1deg)}.card-top{color:#5f7c8c;font-size:calc(10px * var(--system-font-scale, 1))}.live-dot{color:#087c89}.amount{font-size:calc(40px * var(--system-font-scale, 1));color:#123957}.meter{height:9px;background:#e5edf2}.meter span{background:linear-gradient(90deg,#0b6db8,#37b7bc)}.priority-row{padding:16px 0}.transport{background:#dcf1f0;color:#087c89}.school{background:#ffede5;color:#b85c43}.tip{background:#e3f4f2;color:#125e68;border-radius:10px;padding:12px 13px}.tip>span{color:#087c89}.art-caption{font-size:calc(11px * var(--system-font-scale, 1));color:#456b80}
.value-strip{background:#e3f1f3;border-block:1px solid #d2e6e9;color:#23485d}.value-inner{font-weight:750;letter-spacing:.2px}.value-inner i{background:#087c89}.feature-section{padding-block:110px 106px}.section-heading .eyebrow{font-size:calc(11px * var(--system-font-scale, 1));color:#087c89}.section-heading h2{font-size:calc(clamp(36px,4.2vw,52px) * var(--system-font-scale, 1));font-weight:800;letter-spacing:-2px;color:#142b3a}.section-heading>p:last-child{font-size:calc(16px * var(--system-font-scale, 1));color:#587080}.feature-grid{gap:18px}.feature-card{min-height:290px;padding:30px;background:#fff;border-color:#dce7ed;border-radius:14px;box-shadow:0 8px 24px #12395708;transition:transform .25s,box-shadow .25s,border-color .25s}.feature-card:hover{transform:translateY(-7px);box-shadow:0 18px 36px #12395716;border-color:#9bcbd4}.feature-card .eyebrow{font-size:calc(10px * var(--system-font-scale, 1));color:#087c89;font-weight:800}.feature-card h3{font-size:calc(25px * var(--system-font-scale, 1));font-weight:800;letter-spacing:-1px}.feature-card>p:last-child{font-size:calc(14px * var(--system-font-scale, 1));color:#587080}.feature-symbol{width:44px;height:44px;border-radius:12px;font-weight:800}.symbol-plan{background:#dcf1f0;color:#087c89}.symbol-priority{background:#e1eff8;color:#0b6db8}.symbol-goal{background:#ffede5;color:#b85c43}.feature-dark{background:#123957;border-color:#123957;color:#fff}.feature-dark:hover{border-color:#37b7bc}.feature-dark .eyebrow{color:#8ce0d1}.feature-dark>p:last-child{color:#d4e4ec}.closing-band{background:linear-gradient(112deg,#0b6db8,#087c89);border-radius:16px;box-shadow:0 18px 40px #0b6db826}.closing-band .eyebrow{color:#b9f1e5}.button-light{background:#9de5dc;color:#123957}.site-footer{border-top-color:#d9e5ec}.site-footer small{border-top-color:#d9e5ec}
.page-hero h1{font-weight:850;letter-spacing:-2.6px}.page-hero h1 em{color:#087c89}.page-hero .eyebrow{font-size:calc(11px * var(--system-font-scale, 1));color:#087c89}.story-stamp{background:linear-gradient(145deg,#0b6db8,#123957);border-radius:16px;box-shadow:0 18px 35px #12395724}.story-stamp span{color:#9de5dc}.principles article{border-top-color:#b8ceda}.principles b{color:#e27757}.step-number{color:#0b6db8}.step-visual{background:#e3f0f5;color:#123957}.list-visual{background:#e5f3f2;color:#125e68}.score-visual{background:#fff0e8}.note-panel{background:#e4f2f3;color:#174f5c}.privacy-content article>span{color:#0b6db8}
.body-enter{opacity:1}.motion-ready .hero-copy{animation:slide-up .72s cubic-bezier(.2,.75,.2,1) both}.motion-ready .hero-art{animation:pop-in .85s .08s cubic-bezier(.2,.75,.2,1) both}.motion-ready .value-strip{animation:fade-in .65s .18s both}.motion-ready .feature-card{animation:slide-up .6s both}.motion-ready .feature-card:nth-child(2){animation-delay:.08s}.motion-ready .feature-card:nth-child(3){animation-delay:.16s}.motion-ready .page-hero{animation:slide-up .55s both}.budget-card{animation:card-float 5s ease-in-out infinite}.orbit-one{animation:orbit-turn 20s linear infinite}.orbit-two{animation:orbit-turn 27s linear infinite reverse}.public-nav-toggle{transition:transform .2s}.public-nav-toggle:hover{transform:scale(1.06)}
.security-notice{grid-column:1/-1;padding:13px 15px;border:1px solid #efc6a8;border-radius:8px;background:#fff1e6;color:#8d482a;font-size:calc(12px * var(--system-font-scale, 1));font-weight:750;line-height:1.6}
.app-body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(135deg,#f2f7fa,#f7fafb 48%,#edf5f8);color:#142b3a}.sidebar{background:linear-gradient(180deg,#123957,#0b2c45);box-shadow:8px 0 28px #12395713}.sidebar .brand-mark{background:#0b6db8;color:#9de5dc}.sidebar nav a{font-size:calc(13px * var(--system-font-scale, 1));font-weight:700;color:#d8e8ef;transition:background .2s,transform .2s,color .2s}.sidebar nav a:hover{transform:translateX(3px);background:#18537b}.sidebar nav a.active{background:#18537b;box-shadow:inset 3px 0 #4bc6c2}.nav-mark{width:29px;height:29px;font-size:calc(15px * var(--system-font-scale, 1));border-radius:8px}.side-user b{font-size:calc(13px * var(--system-font-scale, 1))}.side-user small{font-size:calc(11px * var(--system-font-scale, 1));color:#bfdae7}.avatar{background:#0b6db8;color:#d8fffa}.app-main{padding-inline:40px}.app-topbar{min-height:102px}.app-topbar h1{font-size:calc(25px * var(--system-font-scale, 1));font-weight:800;letter-spacing:-.7px;color:#142b3a}.app-topbar .eyebrow{font-size:calc(10px * var(--system-font-scale, 1));letter-spacing:1.45px;color:#087c89;font-weight:800}.app-topbar time{font-size:calc(12px * var(--system-font-scale, 1));font-weight:650;color:#587080}.welcome-row{padding:20px 23px;border:1px solid #d9e5ec;border-radius:14px;background:linear-gradient(110deg,#e3f2f2,#edf5fa 65%,#fff);box-shadow:0 8px 22px #12395709}.welcome-row h2{font-size:calc(30px * var(--system-font-scale, 1));font-weight:850;letter-spacing:-1.2px}.welcome-row p:not(.eyebrow){font-size:calc(14px * var(--system-font-scale, 1));color:#526f81}.eyebrow{font-size:calc(10px * var(--system-font-scale, 1));letter-spacing:1.25px;font-weight:850;color:#087c89}.stat-card{min-height:130px;border-radius:13px;border-color:#d9e5ec;box-shadow:0 6px 18px #12395709;transition:transform .23s,box-shadow .23s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #12395716}.stat-card>span{font-size:calc(12px * var(--system-font-scale, 1));font-weight:700;color:#526f81}.stat-card>b{font-size:calc(29px * var(--system-font-scale, 1));font-weight:850;color:#142b3a}.stat-feature{background:linear-gradient(135deg,#d9f1ee,#e7f3f8);border-color:#d1ece8}.stat-feature>b{color:#087c89}.panel{border-radius:13px;border-color:#d9e5ec;box-shadow:0 6px 20px #12395708;padding:23px}.panel-heading h2{font-size:calc(18px * var(--system-font-scale, 1));font-weight:800;color:#142b3a}.app-footer{font-size:calc(11px * var(--system-font-scale, 1));font-weight:600;color:#6b8392}.btn{min-height:42px;border-radius:8px;font-size:calc(13px * var(--system-font-scale, 1));font-weight:800;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#0b6db8;box-shadow:0 7px 17px #0b6db82e}.btn-primary:hover{background:#07579a;box-shadow:0 10px 24px #0b6db832}.btn-outline{border-color:#c6dce8;background:#f8fbfc;color:#123957}.field>span{font-size:calc(12px * var(--system-font-scale, 1));font-weight:800;color:#28485d;letter-spacing:.15px}.field input,.field select,.field textarea{min-height:43px;border:1.5px solid #ccdae3;border-radius:7px;font-size:calc(13px * var(--system-font-scale, 1))}.field input:focus,.field select:focus,.field textarea:focus{border-color:#0b6db8;box-shadow:0 0 0 4px #0b6db818}.field-check{border-color:#ccdae3}.field-check input{accent-color:#0b6db8}.table-wrap th{text-transform:uppercase;letter-spacing:.65px;font-size:calc(10px * var(--system-font-scale, 1));color:#45677d;font-weight:850;background:#f4f8fa}.table-wrap td{font-size:calc(12px * var(--system-font-scale, 1));color:#29485b}.table-wrap td small{font-size:calc(10px * var(--system-font-scale, 1));color:#657f8e}.badge{padding:4px 9px;background:#e2f0f5;color:#145879;font-size:calc(10px * var(--system-font-scale, 1));font-weight:850;text-transform:uppercase;letter-spacing:.25px}.badge-good{background:#d9f1ed;color:#076b69}.empty-state{font-size:calc(13px * var(--system-font-scale, 1));font-weight:600;color:#587080}.recommendation-intro{border:1px solid #d5e8ef;background:linear-gradient(120deg,#e0f2f1,#e9f3fa);border-radius:13px;padding:25px}.recommendation-intro h2{font-size:calc(23px * var(--system-font-scale, 1));font-weight:850;color:#123957;letter-spacing:-.7px}.recommendation-intro p:not(.eyebrow){font-size:calc(13px * var(--system-font-scale, 1));color:#45677d;line-height:1.7}.score-bubble{background:#d9f1ed;color:#087c89;font-weight:850;box-shadow:inset 0 0 0 1px #b7e3de}.plan-summary{background:#edf4f7;border:1px solid #d9e5ec;font-size:calc(11px * var(--system-font-scale, 1));font-weight:700;color:#49687b}.allocation b{font-size:calc(17px * var(--system-font-scale, 1));color:#087c89}.recommendation-copy h3{font-size:calc(14px * var(--system-font-scale, 1));font-weight:800}.recommendation-copy p{font-size:calc(12px * var(--system-font-scale, 1));color:#425e6e;line-height:1.6}.alternative-field legend{font-size:calc(11px * var(--system-font-scale, 1));font-weight:850;color:#0b6db8}.goal-progress b{font-size:calc(24px * var(--system-font-scale, 1));font-weight:850}.progress-track{height:9px;background:#e2ebf0}.progress-track>span{background:linear-gradient(90deg,#0b6db8,#37b7bc)}.balance-panel{background:linear-gradient(145deg,#123957,#0b526d);border-color:#123957;box-shadow:0 12px 28px #12395724}.balance-panel .eyebrow{color:#9de5dc}.balance-panel h2{font-size:calc(22px * var(--system-font-scale, 1));font-weight:850}.balance-panel p:not(.eyebrow){font-size:calc(13px * var(--system-font-scale, 1));line-height:1.7;color:#d8e8ef}.balance-panel .progress-track{background:#315d76}.balance-panel .progress-track>span{background:#70ded0}.balance-panel .btn-outline{color:#fff;background:#ffffff10;border-color:#ffffff47}.balance-panel .text-link{color:#9de5dc}.alert{font-size:calc(13px * var(--system-font-scale, 1));font-weight:700;border-radius:9px;padding:13px 16px}.alert.success{background:#dff3ed;color:#145c56}.alert.error{background:#fff0e9;color:#a14435}.auth-card{border-radius:16px;box-shadow:0 20px 55px #12395719}.auth-card h1{font-size:calc(32px * var(--system-font-scale, 1));font-weight:850;letter-spacing:-1.1px}.auth-subtitle{font-size:calc(13px * var(--system-font-scale, 1));color:#587080}.auth-form .field>span{font-size:calc(12px * var(--system-font-scale, 1))}
.motion-ready .app-topbar{animation:app-drop .48s cubic-bezier(.2,.75,.2,1) both}.motion-ready .welcome-row{animation:app-rise .5s .03s both}.motion-ready .stats-grid .stat-card{animation:app-rise .46s both}.motion-ready .stats-grid .stat-card:nth-child(2){animation-delay:.05s}.motion-ready .stats-grid .stat-card:nth-child(3){animation-delay:.1s}.motion-ready .stats-grid .stat-card:nth-child(4){animation-delay:.15s}.motion-ready .panel{animation:app-rise .48s both}.motion-ready .auth-card{animation:app-rise .55s cubic-bezier(.2,.75,.2,1) both}.side-logout button{transition:background .2s,border-color .2s,transform .2s}.side-logout button:hover{background:#ffffff12;border-color:#4bc6c2;transform:translateY(-1px)}
@keyframes slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes card-float{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes orbit-turn{to{rotate:360deg}}@keyframes app-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes app-drop{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-old .18s ease-in both}::view-transition-new(root){animation:page-new .32s cubic-bezier(.2,.75,.2,1) both}@keyframes page-old{to{opacity:0;transform:translateY(-5px)}}@keyframes page-new{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}body.page-exiting{opacity:0;transform:translateY(-5px);transition:opacity .14s ease,transform .14s ease}
@media(max-width:850px){.hero{min-height:0}.hero-art{min-height:430px;height:430px;border-radius:24px}}
@media(max-width:700px){.app-main{padding-inline:15px}.welcome-row{padding:17px}.app-topbar h1{font-size:calc(21px * var(--system-font-scale, 1))}.panel{padding:18px}.stat-card{min-height:112px}}
@media(max-width:650px){.site-header{height:70px;padding-inline:20px}.site-header .primary-nav{background:#123957;border:1px solid #24627b;box-shadow:0 14px 28px #12395730}.site-header .primary-nav .mobile-auth-link{color:#9de5dc}.hero{padding-block:53px 48px;gap:0}.hero h1{font-size:calc(clamp(43px,12vw,58px) * var(--system-font-scale, 1));letter-spacing:-2.5px}.hero-art{min-height:380px;height:380px;border-radius:20px}.budget-card{width:min(360px,88%)}.feature-section{padding-block:75px}.feature-card{min-height:0}.closing-band{border-radius:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
