@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color-scheme:light;--page: #f4f7f6;--page-deep: #e8efed;--panel: rgba(255, 255, 255, .88);--panel-solid: #ffffff;--panel-border: rgba(17, 43, 54, .1);--text: #102b36;--muted: #64757b;--accent: #087f78;--accent-deep: #05645f;--accent-soft: #dff3ef;--accent-wash: rgba(8, 127, 120, .08);--warning: #b65743;--projection: #6650a4;--shadow: 0 22px 55px rgba(22, 52, 61, .08);--shadow-hover: 0 18px 38px rgba(22, 52, 61, .14);--radius-lg: 24px;--radius-md: 16px;font-family:DM Sans,Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background:radial-gradient(circle at 8% 0%,rgba(8,127,120,.12),transparent 27rem),radial-gradient(circle at 92% 14%,rgba(229,162,74,.11),transparent 23rem),linear-gradient(180deg,#fbfcfb 0%,var(--page) 60%,var(--page-deep) 100%)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:transparent}a{color:var(--accent-deep);text-underline-offset:3px}a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,input,select{font:inherit}button{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}button:hover{transform:translateY(-1px)}input,select{width:100%;min-width:0;border:1px solid rgba(17,43,54,.14);border-radius:12px;background:var(--panel-solid);padding:.78rem .85rem;color:var(--text);outline:none;box-shadow:0 2px #112b3605;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:hover,select:hover{border-color:#087f785c}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:3px solid rgba(8,127,120,.2);outline-offset:2px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #087f781a}input[type=date]{display:block;max-width:100%;-webkit-appearance:none}label{display:grid;gap:.45rem;color:var(--muted);font-size:.86rem;font-weight:600;letter-spacing:.01em}.field-note,.field-error{display:block;font-size:.78rem;font-weight:500}.field-note{color:var(--muted)}.field-error{color:var(--warning)}table{width:100%;border-collapse:collapse}th,td{padding:.85rem .75rem;border-bottom:1px solid rgba(17,43,54,.08);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.page-shell{max-width:1400px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:1.25rem;align-items:stretch;margin-bottom:1.25rem}.hero-copy,.hero-card,.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-copy{position:relative;overflow:hidden;padding:clamp(1.75rem,4vw,3.25rem);background:linear-gradient(135deg,#ffffffeb,#eff9f6d6),var(--panel)}.hero-copy:after{content:"";position:absolute;right:-4rem;bottom:-5rem;width:15rem;height:15rem;border:2rem solid rgba(8,127,120,.08);border-radius:50%}.hero-card{position:relative;display:grid;align-content:start;gap:.65rem;overflow:hidden;padding:1.5rem;color:#f8fffd;background:linear-gradient(145deg,#103943,#0d5960);border-color:#ffffff24;box-shadow:0 22px 45px #0e495233}.hero-card:before{content:"";position:absolute;right:-3rem;top:-4rem;width:12rem;height:12rem;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 0 1.5rem #ffffff0a,0 0 0 3rem #ffffff08}.hero-card span,.eyebrow,.section-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.69rem;font-weight:800}.hero-card span{color:#95e0d4}.hero h1,.section-heading h2{margin:0;font-family:Manrope,Avenir Next,sans-serif;font-weight:800;letter-spacing:-.045em;line-height:1.05}.hero h1{position:relative;z-index:1;max-width:14ch;font-size:clamp(2.25rem,4.6vw,4.25rem)}.section-heading h2{font-size:clamp(1.45rem,2.3vw,2rem)}.hero-text,.supporting-text,.hero-card p{margin:0;color:var(--muted)}.hero-text{position:relative;z-index:1;max-width:58ch;margin-top:1.15rem;font-size:1.05rem}.hero-card strong{position:relative;z-index:1;display:block;color:#fff;font-family:Manrope,sans-serif;font-size:clamp(2rem,3vw,2.85rem);letter-spacing:-.06em;line-height:1}.hero-card p{position:relative;z-index:1;color:#f5fffdba;font-size:.87rem}.supporting-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.45rem .75rem;background:var(--accent-soft);color:var(--accent-deep);font-size:.78rem;font-weight:700;white-space:nowrap}.layout-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:1.25rem;align-items:start}.panel{padding:1.45rem}.preferences-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin:0 0 1.25rem}.preferences-bar p{margin:0;color:var(--muted);font-size:.82rem}.preferences-bar button{flex-shrink:0}.form-panel{display:grid;gap:1.5rem}.results-column{display:grid;gap:1.25rem;align-content:start;scroll-margin-top:1rem;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section-heading.compact{margin-bottom:.1rem}.section-kicker{margin:0 0 .4rem}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field-grid.tight{grid-template-columns:repeat(5,minmax(0,1fr))}.stack-block{display:grid;gap:.85rem}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.goal-card{position:relative;min-height:145px;padding:1rem;border-radius:var(--radius-md);border:1px solid rgba(17,43,54,.11);background:#ffffffad;color:var(--text);text-align:left;display:grid;align-content:space-between;gap:.35rem}.goal-card:before{content:"";width:.55rem;height:.55rem;border:2px solid rgba(8,127,120,.28);border-radius:50%}.goal-card:hover{border-color:#087f7873;box-shadow:var(--shadow-hover)}.goal-card strong{font-size:.98rem}.goal-card span{color:var(--muted);font-size:.85rem;line-height:1.35}.goal-card-active{border-color:var(--accent);background:linear-gradient(145deg,#e5f7f3,#d7f0ed);box-shadow:inset 0 0 0 1px #087f7824,0 8px 22px #087f781a}.goal-card-active:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #087f7826}.disclosure{border:1px solid rgba(17,43,54,.09);border-radius:var(--radius-md);background:#f8fbfab8}.disclosure summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;color:var(--text);font-weight:700}.disclosure summary:after{content:"+";float:right;color:var(--accent);font-size:1.2rem;line-height:1}.disclosure[open]>summary:after{content:"–"}.disclosure summary::-webkit-details-marker{display:none}.disclosure-body{display:grid;gap:1rem;padding:0 1.1rem 1.1rem}.nested-disclosure{margin-top:.25rem}.side-disclosure{padding:0}.tier-row,.event-row{display:grid;gap:.8rem;align-items:end;grid-template-columns:repeat(4,minmax(0,1fr))}.event-row{grid-template-columns:minmax(0,1.6fr) minmax(200px,.8fr);border:1px solid rgba(17,43,54,.08);border-radius:var(--radius-md);padding:1rem}.event-list{display:grid;gap:.85rem}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.metric-card{position:relative;overflow:hidden;min-height:155px;padding:1rem;border:1px solid rgba(17,43,54,.08);border-radius:var(--radius-md);background:linear-gradient(145deg,#fffffff2,#f2f9f7d1);display:grid;align-content:start}.metric-card:after{content:"";position:absolute;right:-2rem;bottom:-3.3rem;width:7rem;height:7rem;border:1rem solid rgba(8,127,120,.05);border-radius:50%}.metric-card:nth-child(2):after{border-color:#e5a24a1a}.metric-card span{color:var(--muted);display:block;margin-bottom:.55rem;font-size:.83rem;font-weight:600}.metric-value{position:relative;z-index:1;display:block;color:var(--accent-deep);font-family:Manrope,sans-serif;font-size:clamp(1.9rem,2.2vw,2.8rem);line-height:1;letter-spacing:-.06em;overflow-wrap:anywhere}.metric-value-label{font-size:clamp(1.35rem,1.9vw,2rem);line-height:1.04}.metric-card p{position:relative;z-index:1;margin:.75rem 0 0;color:var(--muted);font-size:.84rem}.summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}.summary-list div{border:1px solid rgba(17,43,54,.08);border-radius:13px;padding:.8rem .9rem;background:#ffffff8c}.summary-list dt,.simple-summary span{color:var(--muted);font-size:.8rem}.summary-list dt{margin-bottom:.25rem}.summary-list dd{margin:0;font-weight:700}.simple-summary{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.simple-summary div{border-top:1px solid rgba(17,43,54,.1);padding-top:.8rem}.simple-summary span{display:block;margin-bottom:.25rem}.simple-summary strong{font-family:Manrope,sans-serif}.table-scroll{overflow-x:auto;border:1px solid rgba(17,43,54,.08);border-radius:14px}.table-scroll table{min-width:0}.baseline-row td{color:var(--muted);background:#dff3ef7a;font-weight:600}.breakdown-panel{margin-top:1.25rem}.build-version{margin:.9rem 0 0;text-align:right;color:var(--muted);font-size:.7rem;letter-spacing:.02em;opacity:.78}.ghost-button,.secondary-button{border-radius:10px;padding:.68rem .95rem;border:1px solid rgba(17,43,54,.13);background:#ffffffad;color:var(--text);font-size:.84rem;font-weight:700}.ghost-button:hover{border-color:#b6574366;color:var(--warning);background:#fff8f5}.field-action{align-self:end;min-height:48px;padding-inline:1.1rem}.secondary-button{background:var(--accent-soft);color:var(--accent-deep);border-color:transparent}.secondary-button:hover{background:#c9ebe5;box-shadow:0 7px 16px #087f781f}.warning-panel{border-color:#b6574338;background:linear-gradient(145deg,#fffaf7f0,#fff6eedb)}.warning-panel .section-kicker,.warning-list{color:var(--warning)}.warning-list{margin:0;padding-left:1.15rem}.status-pill,.limit-pills span{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .58rem;background:#112b3612;color:var(--muted);font-size:.72rem;margin-left:.5rem}.limit-pills{display:flex;flex-wrap:wrap;gap:.5rem}.limit-pills span{margin-left:0;background:var(--accent-wash)}@media(min-width:781px){.table-scroll .schedule-table{table-layout:fixed}.schedule-table th,.schedule-table td{padding:.7rem .45rem;font-size:.76rem;overflow-wrap:anywhere}.schedule-table th:nth-child(1),.schedule-table td:nth-child(1){width:13%}.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){width:12%}.schedule-table th:nth-child(3),.schedule-table td:nth-child(3),.schedule-table th:nth-child(4),.schedule-table td:nth-child(4),.schedule-table th:nth-child(6),.schedule-table td:nth-child(6),.schedule-table th:nth-child(8),.schedule-table td:nth-child(8){width:9%}.schedule-table th:nth-child(5),.schedule-table td:nth-child(5),.schedule-table th:nth-child(7),.schedule-table td:nth-child(7),.schedule-table th:nth-child(9),.schedule-table td:nth-child(9){width:13%}}@media(max-width:1080px){.layout-grid,.hero{grid-template-columns:1fr}.hero-copy{min-height:300px}}@media(max-width:780px){.field-grid,.metric-grid,.summary-list,.goal-grid,.simple-summary,.field-grid.tight,.tier-row,.event-row{grid-template-columns:1fr}.goal-card,.metric-card{min-height:auto}.page-shell{padding:1rem .75rem 3rem}.hero-copy{min-height:0;padding:1.6rem}.hero-card,.panel{padding:1.15rem}.section-heading{flex-direction:column;align-items:flex-start}.supporting-badge{align-self:flex-start}.hero-copy,.panel,.hero-card{border-radius:18px}}.hero-elections{display:grid;gap:1.25rem;margin:.75rem 0}.hero-elections strong{margin-top:.4rem;font-variant-numeric:tabular-nums}.contribution-settings{display:grid;gap:1rem;padding:1.1rem;border:1px solid #bbdcd5;border-radius:var(--radius-md);background:#f0f8f5}.contribution-settings h2{font-size:1.35rem}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;border:1px solid var(--panel-border);background:#e5efeb;border-radius:12px}.segmented-control button{min-height:44px;padding:.65rem .5rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-weight:700}.segmented-control button[aria-pressed=true]{background:#fff;border-color:#bed8d2;color:var(--accent-deep);box-shadow:0 2px 6px #12362b12}.contribution-help,.recommendation-note{font-size:.84rem}.recommendation-note{color:var(--muted);margin:.75rem 0 1rem}.final-paycheck{padding:1rem;margin-top:1rem;background:var(--accent-soft);border-radius:14px}.final-paycheck>p{margin:.4rem 0 0;color:var(--muted);font-size:.82rem}.final-paycheck>.field-note{margin-top:.85rem}.final-paycheck .simple-summary{margin-top:.65rem}.progress-panel{display:grid;gap:1.1rem}.progress-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem .75rem;font-size:.86rem}.progress-heading span{color:var(--muted);font-variant-numeric:tabular-nums}.progress-chart{position:relative;padding:1.8rem 0 1.9rem;margin-top:.4rem}.progress-track{height:12px;display:flex;overflow:hidden;background:#e9efec;border-radius:999px}.progress-goal{position:absolute;top:calc(1.8rem - 3px);width:3px;height:18px;background:#9a5312;transform:translate(-50%);border-radius:2px}.progress-marker-label{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.75rem;font-weight:700}.progress-goal-label{bottom:calc(100% + .3rem);color:#85480e}.progress-marker-label.align-start{transform:none}.progress-marker-label.align-end{transform:translate(-100%)}.progress-scale{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.72rem;margin-top:.5rem;font-variant-numeric:tabular-nums}.progress-scale span:last-child{text-align:right}.progress-ytd{background:var(--accent-deep)}.progress-planned{background:#76c4b4}.funding-progress p{color:var(--muted);font-size:.77rem;margin:.5rem 0 0}.progress-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.73rem;color:var(--muted)}.progress-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;background:var(--accent-deep)}.progress-legend .legend-planned:before{background:#76c4b4}.progress-legend .legend-goal:before{background:#9a5312;width:3px;height:11px;border-radius:1px;vertical-align:-1px}.allowance-note{margin:0;color:var(--muted);font-size:.77rem}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;color:var(--muted);font-size:.76rem;margin-top:1rem}.site-footer p{margin:0}@media(max-width:1080px)and (min-width:781px){.hero-elections{grid-template-columns:1fr 1fr}}@media(max-width:780px){.hero-elections{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.hero-elections strong{font-size:clamp(1.35rem,6vw,2.4rem);overflow-wrap:anywhere}.contribution-settings{padding:.9rem}.table-scroll .schedule-table{min-width:900px}.table-scroll{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.progress-projected{position:absolute;top:calc(1.8rem + 16px);width:0;height:0}.progress-projected:before{content:"";position:absolute;top:-7px;left:-5px;width:10px;height:10px;background:var(--projection);border:1px solid white;transform:rotate(45deg)}.progress-projected-label{top:6px;color:var(--projection)}.progress-legend .legend-projected:before{background:var(--projection);border-radius:0;transform:rotate(45deg);width:7px;height:7px}.allowance-details{color:var(--muted);font-size:.77rem}.allowance-details summary{cursor:pointer}.allowance-details p{margin-top:.5rem}.comparison-section{display:grid;gap:.75rem;border-top:1px solid var(--panel-border);padding-top:1rem}.comparison-section h3{font-family:Manrope,sans-serif;margin:0;font-size:1.1rem;letter-spacing:-.025em}.comparison-table{font-variant-numeric:tabular-nums}.comparison-table th,.comparison-table td{padding:.8rem .65rem;font-size:.8rem}.comparison-table th[scope=row]{text-transform:none;letter-spacing:0;color:var(--text);font-weight:600}.comparison-table th:not(:first-child),.comparison-table td{text-align:right}.comparison-table td{white-space:nowrap}.comparison-table td:last-child{color:var(--projection);background:#6650a406}.goal-gap{display:block;font-size:.69rem;margin-top:.2rem;color:var(--muted);white-space:normal}.breakdown-switch{width:min(100%,420px)}@media(max-width:400px){.comparison-table th,.comparison-table td{padding:.6rem .35rem;font-size:.73rem}.progress-marker-label{font-size:.7rem}}
