:root{--navy:#17344e;--deep:#0a2238;--gold:#f2be3e;--gold-dark:#8a6415;--blue:#2a7fbe;--teal:#2f8f83;--pale:#eaf4fa;--mist:#f4f7f9;--white:#fff;--line:#bed9e9;--muted:#4c6a80}*{box-sizing:border-box}body{margin:0;color:var(--deep);background:var(--mist);font-family:Manrope,system-ui,sans-serif;line-height:1.55}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.nav{background:var(--deep);color:#fff}.nav-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:inherit;text-decoration:none;font-weight:800;font-size:1.1rem}.nav-help{color:#fff;font-weight:700}.hero{background:var(--deep);color:#fff;padding:58px 0 78px}.hero-inner{max-width:780px}.eyebrow{margin:0 0 12px;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero .eyebrow{color:#8fd1f5}h1,h2{font-family:"Playfair Display",Georgia,serif;line-height:1.05}h1{font-size:clamp(2.8rem,7vw,5.2rem);margin:0 0 18px}.hero p{max-width:700px}.intro{font-size:1.35rem;font-weight:800}.year-note{display:inline-block;margin-top:12px;padding:8px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-weight:700}.tool-section{padding:0 0 80px;background:linear-gradient(180deg,var(--mist),#fff 58%)}.tool-wrap{margin-top:-36px}.tool-card,.results-heading,.result-card,.signals,.continuation,.callout{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 38px rgba(10,34,56,.08)}.tool-card{max-width:820px;margin:auto;padding:clamp(24px,5vw,48px);background:linear-gradient(145deg,#fff 0%,var(--pale) 145%);border-top:5px solid var(--blue)}.year-card h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin:0 0 12px}.step-kicker{display:inline-flex;margin:0 0 14px;padding:7px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.year-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.year-choice{min-height:110px;padding:20px;border:2px solid #c5dce9;border-radius:18px;background:#fff;color:var(--deep);font-family:Manrope,sans-serif;text-align:left;cursor:pointer;transition:.15s}.year-choice span{display:block;font:700 2.2rem "Playfair Display",Georgia,serif}.year-choice small{font-weight:700;color:var(--muted)}.year-choice:hover,.year-choice[aria-pressed=true]{border-color:var(--blue);background:var(--pale);box-shadow:inset 0 0 0 1px var(--blue)}.progress-row{display:flex;align-items:center;gap:18px;margin-bottom:28px;padding:12px 15px;background:rgba(255,255,255,.78);border:1px solid #d7e8f2;border-radius:14px}.progress-row p{white-space:nowrap;margin:0;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}.progress-track{height:7px;flex:1;background:#dcebf4;border-radius:99px;overflow:hidden}.progress-track span{display:block;width:16.666%;height:100%;background:var(--gold);transition:width .2s ease}fieldset{border:0;padding:0;margin:0}legend{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:700;line-height:1.15;margin-bottom:10px}.support{color:var(--muted);margin:0 0 22px}.choices{display:grid;gap:10px}.choices-grid{grid-template-columns:1fr 1fr}.choice{position:relative;display:block}.choice input{position:absolute;opacity:0}.choice span{display:block;min-height:62px;padding:16px 18px;border:2px solid #cddfea;border-radius:15px;background:rgba(255,255,255,.9);cursor:pointer;transition:.15s}.choice small{display:block;margin-top:5px;color:var(--muted)}.choice input:checked+span{border-color:var(--navy);background:var(--pale);box-shadow:inset 5px 0 0 var(--blue)}.choice input:checked+span:after{content:"✓ Selected";float:right;color:var(--teal);font-size:.75rem;font-weight:800;text-transform:uppercase}.choice input:focus-visible+span,.btn:focus-visible,.text-button:focus-visible,.months input:focus-visible+span,input[type=date]:focus-visible,.year-choice:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.conditional{margin-top:18px;padding:18px;background:#fff;border:1px solid #d7e8f2;border-radius:15px}.field-label{font-weight:800}.months{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.months label{position:relative}.months input{position:absolute;opacity:0}.months span{display:grid;place-items:center;min-height:48px;border:2px solid #d5e4ed;border-radius:12px;background:#fff;cursor:pointer;font-weight:700}.months input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.date-grid{grid-template-columns:1fr 1fr;gap:16px}.date-grid:not([hidden]){display:grid}.date-grid label{font-weight:800}.date-grid input{display:block;width:100%;min-height:48px;margin-top:6px;padding:10px;border:2px solid #c7dbe7;border-radius:10px;font:inherit}.error{padding:12px 15px;background:#fff3d2;border-left:4px solid var(--gold-dark);color:#573e08}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:2px solid transparent;border-radius:999px;font:800 .95rem Manrope,sans-serif;text-decoration:none;cursor:pointer}.btn-primary{background:var(--gold);color:var(--deep)}.btn-primary:hover{background:#ffd15e}.btn-secondary{background:#fff;border-color:var(--navy);color:var(--navy)}.btn:disabled{cursor:not-allowed;opacity:.45}.results-heading,.signals,.continuation,.callout{padding:clamp(24px,5vw,40px);margin-bottom:18px}.results-heading{color:#fff;background:linear-gradient(135deg,var(--deep),var(--navy));border-color:var(--navy);position:relative;overflow:hidden}.results-heading:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-100px;border:28px solid rgba(242,190,62,.13)}.results-heading .eyebrow{color:#8fd1f5}.results-heading h2,.signals h2,.continuation h2{font-size:clamp(2rem,5vw,3.1rem);margin:0 0 12px}.results-heading p{max-width:700px}.callout{border-left:7px solid var(--gold);background:#fffaf0}.callout h3{font-size:1.25rem}.result-grid{display:grid;gap:18px}.result-card{padding:clamp(21px,4vw,32px);border-top:5px solid var(--blue);background:linear-gradient(180deg,#fff,var(--mist))}.result-card>.eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--pale);margin-bottom:10px}.result-card h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy);font-size:clamp(1.8rem,4vw,2.45rem);margin:0 0 18px}.result-section{padding-top:14px;margin-top:14px;border-top:1px solid #d7e5ed}.result-section h4{margin:0 0 7px;color:var(--blue);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.result-section p,.result-section ul{margin-top:0;margin-bottom:0}.result-section ul{padding-left:20px}.signals{background:var(--mist)}.signal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.signal-card{padding:16px;background:var(--pale);border:1px solid #cce3ef;border-radius:14px}.signal-card h3{margin:0 0 5px;font-size:1rem;color:var(--navy)}.signal-card p{margin:0;color:var(--muted)}.continuation{text-align:center;background:var(--navy);color:#fff}.continuation .secondary-link a{color:#fff}.result-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:26px}.text-button{min-height:44px;border:0;background:transparent;color:var(--blue);font:800 .95rem Manrope;cursor:pointer;text-decoration:underline}.footer-inner{padding:30px 0}.footer-inner p{color:var(--muted)}[hidden]{display:none!important}@media(max-width:600px){.wrap{width:min(100% - 28px,1120px)}.nav-inner{min-height:58px}.hero{padding:40px 0 62px}.tool-wrap{margin-top:-24px}.tool-card{border-radius:20px;padding:22px 18px}.year-choices{grid-template-columns:1fr}.year-choice{min-height:88px}.progress-row{display:block;margin-bottom:22px}.progress-track{margin-top:8px}.choices-grid{grid-template-columns:1fr}.months{grid-template-columns:repeat(3,1fr)}.date-grid:not([hidden]){grid-template-columns:1fr}.form-actions{align-items:stretch}.form-actions .btn{flex:1}.result-actions{flex-direction:column}.result-actions>*{width:100%}.signal-grid{grid-template-columns:1fr}}@media(max-width:340px){.wrap{width:min(100% - 20px,1120px)}.tool-card{padding:19px 14px}.choice span{padding:14px}.choice input:checked+span:after{float:none;display:block;margin-top:6px}.months{grid-template-columns:repeat(3,1fr)}h1{font-size:2.55rem}}
