:root{--ink:#12211b;--forest:#123c2c;--pine:#1f5a42;--sage:#dce9df;--mist:#f3f7f3;--cream:#fbfaf4;--gold:#c5a463;--line:#d9e2dc;--danger:#a33a2b;--shadow:0 18px 45px rgba(17,47,35,.12)}[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--mist);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:99}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 70% 10%,#4e8065 0,transparent 30%),linear-gradient(145deg,#0b281d,#1d4c38 60%,#162a21)}.login-card{width:min(420px,100%);background:rgba(251,250,244,.97);padding:2.5rem;border-radius:24px;box-shadow:var(--shadow)}.brand-mark{width:54px;height:54px;display:grid;place-items:center;background:var(--forest);color:white;border-radius:50%;font:700 28px Georgia}.brand-mark.small{width:38px;height:38px;font-size:19px}.eyebrow{font-size:.73rem;letter-spacing:.16em;color:var(--pine);font-weight:800;margin-top:1.5rem}.login-card h1{font:700 3rem Georgia;margin:.2rem 0}.login-card label{display:grid;gap:.5rem;font-weight:700}.login-card input{width:100%}.error{color:var(--danger);min-height:1.2em}header{height:74px;background:var(--forest);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);position:sticky;top:0;z-index:10}.brand{display:flex;gap:.8rem;align-items:center}.brand small{display:block;opacity:.72}.header-actions{display:flex;align-items:center;gap:1rem}.status{font-size:.78rem;opacity:.8}.stepnav{display:flex;gap:.35rem;overflow:auto;padding:.75rem clamp(1rem,4vw,4rem);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:74px;z-index:9}.stepnav button{white-space:nowrap;background:transparent;color:#486258;border:0;border-radius:999px;padding:.65rem 1rem}.stepnav button.active{background:var(--sage);color:var(--forest);font-weight:800}main{max-width:1400px;margin:auto;padding:clamp(1rem,3vw,2.5rem)}.view{display:none}.view.active{display:block}.hero{background:linear-gradient(120deg,var(--forest),#2b674d);color:white;border-radius:24px;padding:clamp(1.5rem,4vw,3.5rem);margin-bottom:1.5rem;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:300px;height:300px;border:60px solid rgba(255,255,255,.05);border-radius:50%;right:-80px;top:-140px}.hero h1{font:700 clamp(2.1rem,5vw,4.4rem)/.98 Georgia;margin:.35rem 0;max-width:850px}.hero p{max-width:720px;color:#dbede2}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.card{grid-column:span 4;background:white;border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:0 7px 24px rgba(17,47,35,.05)}.card.wide{grid-column:span 8}.card.full{grid-column:1/-1}.card h2,.card h3{margin-top:0}.metric{font:700 2rem Georgia;color:var(--forest)}.muted{color:#61766c}.small{font-size:.82rem}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.form-grid label{grid-column:span 3;display:grid;gap:.4rem;font-size:.78rem;font-weight:800;color:#486258}.form-grid label.wide{grid-column:span 6}input,select,textarea{border:1px solid #b9c9bf;border-radius:10px;padding:.72rem;background:white;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus,button:focus{outline:3px solid rgba(197,164,99,.45);outline-offset:2px}button,.button{border:0;background:var(--forest);color:white;border-radius:10px;padding:.72rem 1rem;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.ghost{background:transparent;border:1px solid currentColor}.soft{background:var(--sage);color:var(--forest)}.danger{color:var(--danger);border-color:#e7bbb4}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.traveler{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr 1fr auto;gap:.6rem;align-items:end;padding:.8rem 0;border-top:1px solid var(--line)}.traveler label{display:grid;gap:.25rem;font-size:.72rem;font-weight:700}.pill{display:inline-flex;border-radius:999px;padding:.25rem .55rem;background:var(--sage);color:var(--forest);font-size:.72rem;font-weight:800}.warning{border-left:4px solid var(--gold);background:#fff9e9;padding:.8rem 1rem;border-radius:8px}.good{border-left:4px solid #3f8a63;background:#eff9f2;padding:.8rem 1rem;border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:.7rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:#536b60;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.quote{border:1px solid var(--line);border-radius:14px;padding:1rem;margin:.7rem 0}.quote-head{display:flex;justify-content:space-between;gap:1rem}.scenario{border:1px solid var(--line);border-radius:16px;padding:1rem;display:grid;gap:.5rem}.scenario.best{border:2px solid var(--pine);background:#f1f8f3}.costbar{height:9px;border-radius:99px;background:#e4ece7;overflow:hidden}.costbar span{display:block;height:100%;background:var(--pine)}.tabs{display:flex;gap:.5rem}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--pine)}dialog{border:0;border-radius:20px;width:min(720px,calc(100% - 2rem));box-shadow:var(--shadow)}dialog::backdrop{background:rgba(8,28,20,.68)}.dialog-head{display:flex;justify-content:space-between}.dialog-head button{background:transparent;color:var(--ink);font-size:1.5rem}menu{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 0 0}footer{text-align:center;padding:2rem;color:#64776e;font-size:.75rem}@media(max-width:900px){.card,.card.wide{grid-column:span 6}.form-grid label,.form-grid label.wide{grid-column:span 6}.traveler{grid-template-columns:1fr 1fr 1fr}.traveler>*:first-child{grid-column:1/-1}}@media(max-width:620px){header{padding:.7rem 1rem}.status{display:none}.stepnav{top:70px;padding:.55rem}.card,.card.wide{grid-column:1/-1}.form-grid label,.form-grid label.wide{grid-column:1/-1}.traveler{grid-template-columns:1fr 1fr}.traveler>*:first-child{grid-column:1/-1}.hero{border-radius:16px}.hero h1{font-size:2.35rem}table.responsive thead{display:none}table.responsive tr{display:block;border:1px solid var(--line);border-radius:12px;margin:.7rem 0;padding:.5rem}table.responsive td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.35rem}table.responsive td:before{content:attr(data-label);font-weight:800;color:#597064}.quote-head{display:block}}