:root{--bg:#f6f8fb;--text:#172a40;--muted:#52657b;--border:#dae2ec;--brand:#165cc6;--maxw:1160px;--radius:18px;--shadow:0 4px 18px rgba(22,42,68,.035)}
/* Reset the legacy theme and sizing rules before applying the review design. */
:root{--panel:#fff;--accent:#1c62cc}html{color-scheme:light}.option{margin:0}.option input{transform:none}.option.selected{box-shadow:none}.btn-row>button{flex:0 1 auto}th{text-transform:none;position:static}.footer-inner{padding:0;display:block}table{min-width:0}
*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;padding-top:0}a{color:#155cc8;text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba6e08;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.6}[hidden],.hidden{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-70px;z-index:1000;background:#fff;padding:12px}.skip-link:focus{top:12px}
.review-strip{background:#eaf0fb;color:#415b7a;text-align:center;font-size:14px;line-height:1.4;padding:7px 16px;border-bottom:1px solid #dce6f7}.site-header,body>header{position:sticky;top:0;height:auto;background:#fff;border-bottom:1px solid var(--border);z-index:50;box-shadow:none}.nav{width:100%;max-width:var(--maxw);margin:auto;padding:18px 20px;min-height:80px;height:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:760;letter-spacing:-.7px;white-space:nowrap}.brand a{color:#172a40;text-decoration:none}.brand-icon{width:32px;height:34px;background:#1c62cc;color:#fff;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.brand-icon svg{width:21px;height:21px}.navlinks{display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:15px;font-weight:600}.navlinks a{color:#52657b;text-decoration:none}.navlinks a:hover,.navlinks a[aria-current=page]{color:#155cc8}.navlinks .nav-cta{color:#155cc8;background:#eef4ff;padding:8px 14px;border-radius:8px}.mobile-menu{display:none}
main{max-width:var(--maxw);margin:0 auto;padding:38px 20px 56px}.eyebrow,.section-kicker{font-size:13px;letter-spacing:1.7px;text-transform:uppercase;font-weight:760;color:#5a7190;display:flex;align-items:center;gap:8px;margin:0 0 14px}.dot{width:7px;height:7px;display:inline-block;background:#15855b;border-radius:50%}h1{font-size:clamp(32px,4.2vw,47px);line-height:1.13;letter-spacing:-1.8px;font-weight:760;max-width:830px;margin:0 0 18px}h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:0 0 14px}h3{font-size:19px;line-height:1.4;margin:0 0 8px}p{margin:0 0 16px}.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:700px;margin-bottom:20px}.page-top{margin-bottom:28px}.hero-line{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.year-tabs{display:flex;align-items:center;gap:6px;flex-shrink:0;background:#e9eef5;padding:5px;border-radius:11px;margin-bottom:22px}.year-tabs a{font-size:15px;font-weight:700;padding:7px 16px;border-radius:7px;color:#53677d;text-decoration:none;display:flex;align-items:center;gap:6px}.year-tabs a.active{background:#fff;color:#155cc8;box-shadow:0 1px 4px #162a4412}.year-tabs small{font-size:11px;font-weight:600;color:#647891}.trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;color:#566a80;font-size:14px;margin:0 0 26px}.trust-row span{display:flex;gap:7px;align-items:center}.trust-check{color:#17815e;font-weight:800}.calc-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start;margin-bottom:32px}.calc-card,.card,.surface{padding:28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px}.calc-card{margin:0}.card>p:last-child,.surface>p:last-child{margin-bottom:0}.calc-card h2{font-size:20px;margin-bottom:6px}.calc-intro{color:var(--muted);font-size:15px;margin-bottom:24px}.field{border:0;padding:0;margin:0 0 24px;min-width:0}.field legend{font-size:16px;font-weight:720;margin-bottom:10px}.field-note,.help,.note{font-size:14px;color:var(--muted);line-height:1.65}.field-note{margin:9px 0 0}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.option-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.option{min-height:76px;padding:13px 10px;border:1px solid #d7e1ee;border-radius:10px;background:#fff;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;line-height:1.35;position:relative;box-shadow:none}.option input{accent-color:#155cc8;flex-shrink:0;width:16px;height:16px;margin:3px 0 0}.option strong{font-size:15px;display:block;font-weight:700}.option span{display:block;color:#677a91;font-size:12px;line-height:1.5;margin-top:4px}.option.selected,.option:has(input:checked){border:1.5px solid #2370d9;background:#f0f6ff;padding:12.5px 9.5px}.option.selected span{color:#47698f}.option:hover{border-color:#7ba8e4}.form-bottom{display:flex;align-items:end;gap:16px}.year-field{width:119px;flex-shrink:0}.year-field label{font-size:14px;font-weight:700;display:block;margin-bottom:5px}select{background:#fff;color:var(--text);border:1px solid #cbd7e7;border-radius:9px;padding:12px;min-height:49px;max-width:100%}.form-bottom select{width:100%}.btn-primary,.btn-secondary,.btn-link{min-height:47px;border-radius:9px;font-size:15px;line-height:1.4;font-weight:650;padding:12px 17px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:none}.btn-primary{background:#1c62cc;color:#fff;border:1px solid #1c62cc}.btn-primary:hover{background:#154da3}.btn-secondary{background:#fff;border:1px solid #cdd8e8;color:#264e84}.btn-secondary:hover{background:#f1f6ff}.btn-link{border:0;background:transparent;color:#165cc6;padding-left:0}.form-bottom .btn-primary{flex:1}.privacy-line{color:#61758d;font-size:13px;margin:14px 0 0}.calc-error{background:#fff3ee;border:1px solid #dc8d76;border-radius:8px;color:#8c3420;font-size:15px;padding:12px;margin-bottom:16px}.invalid{outline:2px solid #c75138;outline-offset:3px}
.result-placeholder,.payment-result{border-radius:var(--radius);background:#152b47;color:#fff;padding:29px;border:1px solid #152b47;min-height:360px}.result-kicker{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#adbfda;font-weight:700;margin-bottom:18px}.placeholder-title{font-size:27px;line-height:1.3;letter-spacing:-.65px;font-weight:650;margin:0 0 12px}.result-placeholder p{font-size:15px;color:#b7c6da}.upcoming-mini{margin-top:25px;padding-top:20px;border-top:1px solid #3b4d64}.upcoming-mini h3{font-size:13px;font-weight:650;letter-spacing:.4px;color:#bfcde0;margin-bottom:14px}.upcoming-row{display:flex;justify-content:space-between;gap:18px;margin-top:9px;font-size:14px;color:#d2ddec}.upcoming-row strong{color:#fff;font-size:14px;font-weight:650}.payment-result #next-payment{font-size:clamp(33px,3.4vw,42px);letter-spacing:-1.5px;line-height:1.15;color:#fff;margin-bottom:9px;font-weight:750}.payment-result #next-day{font-size:16px;color:#bfd0e5;margin:0 0 21px}.payment-result #next-type{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#6be0b5;font-weight:700;margin-bottom:15px}.payment-result #next-context{font-size:15px;color:#bacee7;border-top:1px solid #3b4d64;padding-top:19px;margin-top:18px}.payment-result .badge{font-size:13px;background:#274966;color:#d3e9ff;border:0;display:inline-block;padding:5px 10px;border-radius:6px}.payment-result .btn-secondary{border-color:#59718e;background:transparent;color:#eaf2ff;min-height:42px;font-size:14px;padding:9px 13px}.payment-result .btn-primary{background:#6be0b5;border-color:#6be0b5;color:#113c38}.btn-row{display:flex;gap:9px;flex-wrap:wrap}.result-note{font-size:13px;color:#b0c2d9;margin-top:15px;margin-bottom:0}.right-help{margin:18px 0 0;display:flex;align-items:start;gap:10px;font-size:14px;line-height:1.6;color:#62758b;padding:0 9px}.right-help .info-icon{flex-shrink:0;display:grid;place-items:center;width:19px;height:19px;border:1px solid #91a5bf;border-radius:50%;font-size:12px;margin-top:3px}.section-head{display:flex;justify-content:space-between;align-items:start;gap:22px;margin-bottom:20px}.section-head h2{margin-bottom:6px}.section-head p{margin:0;color:var(--muted);font-size:15px}.section-head a{font-size:14px;font-weight:650;white-space:nowrap}.calendar-wrap{overflow-x:auto;border:1px solid #dde5ef;border-radius:11px}table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;line-height:1.5;margin:0}th{text-align:left;font-size:13px;color:#65778c;font-weight:650;letter-spacing:.15px;background:#f5f8fc;padding:14px 15px;border-bottom:1px solid #dde5ef;white-space:nowrap}td{padding:15px;border-bottom:1px solid #e8edf5;vertical-align:top}tbody tr:last-child td{border-bottom:0}td strong{font-size:15px}tr:hover td{background:#f8faff}.shift-pill{display:inline-block;background:#fff4df;color:#886116;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:650;white-space:nowrap;margin-top:4px}.date-main{display:block;font-weight:680;color:#243b57}.table-note{font-size:13px;line-height:1.6;color:#657b93;margin-top:14px;margin-bottom:0}.schedule-year-table{min-width:680px}.month-dates-table{min-width:530px}.person-table{min-width:550px}.current-month-highlight td{background:#f1f6fe}.month-link-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:21px 0 0}.month-link-grid a{font-size:14px;text-decoration:none;border:1px solid #dbe4f0;padding:11px 6px;text-align:center;border-radius:8px;color:#3c5c81;display:block}.month-link-grid a:hover{background:#edf4ff;border-color:#88afe1}.month-link-grid .month-active{background:#eef5ff;color:#175cc4;border-color:#b7d1f3;font-weight:700}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.guide-card{padding:24px;border:1px solid var(--border);border-radius:13px;background:#fff;position:relative}.guide-card .guide-icon{display:inline-grid;place-items:center;width:35px;height:35px;background:#edf4ff;border-radius:9px;font-size:16px;color:#155cc8;margin-bottom:16px}.guide-card h3{font-size:18px;margin-bottom:9px}.guide-card h3 a{color:#223b57;text-decoration:none}.guide-card p{font-size:14px;line-height:1.7;color:#60738b;margin-bottom:15px}.guide-card>a{font-size:14px;font-weight:650;text-decoration:none}.notice{padding:17px 20px;font-size:15px;border:1px solid #d9e5f4;border-radius:11px;background:#eef4fc;color:#365571;margin-bottom:20px}.notice.ok{background:#edf8f2;border-color:#cde8dc;color:#2b6150}.notice.warn{background:#fff8e9;border-color:#ead5a5;color:#75571d}.status-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:24px;font-size:14px;color:#48617b;padding:15px 18px;border:1px solid #d5e3f4;background:#f0f6fd;border-radius:11px}.status-note a{color:inherit}.status-note.estimate{background:#fff8e9;border-color:#ecd9b0;color:#785c2b}.faq-list details{border-bottom:1px solid #e1e8f1;padding:17px 0}.faq-list details:last-child{border-bottom:0;padding-bottom:0}.faq-list summary{font-weight:650;cursor:pointer;list-style:none;display:flex;gap:20px;justify-content:space-between;align-items:start;font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:#7093be;font-size:20px;line-height:1.2;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details p{padding-top:12px;margin-bottom:0;max-width:820px;font-size:15px;color:#59718b}.source-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;background:#edf2f8;border:1px solid #dce5f1;border-radius:13px;padding:23px;margin-top:28px;color:#59718b;font-size:14px}.source-panel h3{font-size:16px;color:#304966}.source-panel ul{margin:0;padding-left:20px}.source-panel p{margin:0}.breadcrumbs{font-size:13px;color:#68809a;margin-bottom:22px}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs span{padding:0 6px}.mini-cta{background:#eaf3ff;border:1px solid #cadef5;padding:20px 24px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.mini-cta h3{font-size:18px;margin-bottom:4px}.mini-cta p{font-size:14px;color:#5c7490;margin:0}.article-calc-prompt{margin:20px 0}.article-calc-prompt .options{display:grid;gap:10px}.article-calc-prompt .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.article-calc-prompt .cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.article-calc-prompt>summary{font-size:15px;font-weight:650;color:#1a5dbe;cursor:pointer}.prompt-inner{box-shadow:none}.article-body{max-width:870px}.article-body h2{margin-top:26px}.article-body p{color:#435c76}.inline{display:flex;flex-wrap:wrap;gap:10px 20px}.badge{font-size:12px;border-radius:6px;white-space:normal}.muted{color:var(--muted)}.grid{display:grid;gap:20px}.disclosure{font-size:14px;color:#698099}.support-links{font-size:15px;margin-top:20px}.pill{border:1px solid var(--border);background:#f1f6ff;color:#155cc8;padding:7px 12px;border-radius:8px;display:inline-block;text-decoration:none}.cite-grid,.cite-rows{display:grid;gap:12px}.cite-head{display:flex;justify-content:space-between;align-items:center}.cite-text{font-size:14px;word-break:break-word}.cite-item{min-width:0}.toc{padding:18px;background:#f1f5fb;border-radius:10px}.toc a{font-size:15px}.ad-slot{display:none}input[type=number],input[type=text]{border:1px solid #b6c7db;border-radius:8px;padding:11px;max-width:100%}
body>footer{background:#fff;border-top:1px solid #dce4ee;padding:34px 20px;margin:0;color:#667b94}.footer-inner{max-width:var(--maxw);margin:auto}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:24px}.footer-brand{font-size:18px;font-weight:720;letter-spacing:-.6px;color:#263e5b}.footer-sub{font-size:13px;margin:4px 0 0}.footer-inner a{font-size:13px;color:#627792;text-decoration:none}.footer-inner small{font-size:12px;line-height:1.8;display:block;max-width:850px}.footer-bottom{display:flex;gap:20px;justify-content:space-between;padding-top:20px;border-top:1px solid #e6edf5}.footer-bottom span{font-size:12px}.analytics-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:900px;margin:auto;padding:20px;background:#fff;border:1px solid #c7d5e7;border-radius:12px;box-shadow:0 8px 30px #172a4020;z-index:100;display:flex;gap:22px;align-items:center;font-size:14px}.analytics-banner p{margin:0}.analytics-banner .btn-row{flex-shrink:0}.fine-list{padding-left:23px;font-size:15px;color:#566e87}.fine-list li{margin:8px 0}
@media(max-width:960px){.hero-line{align-items:start;flex-direction:column;gap:0}.year-tabs{margin-bottom:5px}.calc-layout{gap:18px;grid-template-columns:1.15fr .85fr}.calc-card,.card,.surface{padding:23px}.result-placeholder,.payment-result{padding:25px}.navlinks{gap:15px}.navlinks a{font-size:14px}.guide-grid{gap:12px}.guide-card{padding:20px}.month-link-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){html{scroll-padding-top:80px}.review-strip{font-size:12px}.nav{min-height:65px;padding:14px 18px;gap:12px}.brand{font-size:19px}.brand-icon{width:29px;height:31px}.navlinks{display:none}.mobile-menu{display:block;position:relative;flex-shrink:0}.mobile-menu summary{font-size:14px;font-weight:650;color:#355b8b;cursor:pointer;padding:6px;list-style:none}.mobile-menu[open] nav{position:absolute;right:0;top:43px;width:220px;display:flex;flex-direction:column;background:#fff;border:1px solid #d6e0ee;border-radius:12px;box-shadow:0 8px 25px #1b355221;padding:9px}.mobile-menu nav a{font-size:15px;padding:10px 12px;text-decoration:none;color:#355b8b}main{padding:27px 16px 36px}h1{font-size:34px;letter-spacing:-1.1px}.lead{font-size:16px}.eyebrow{font-size:11px;letter-spacing:1.4px}.page-top{margin-bottom:20px}.trust-row{font-size:12px;gap:7px 14px;margin-bottom:21px}.calc-layout{grid-template-columns:1fr;gap:17px;margin-bottom:25px}.calc-card,.card,.surface{padding:21px;border-radius:14px;margin-bottom:20px}.calc-card{margin:0}.calc-intro{font-size:14px}.result-placeholder,.payment-result{min-height:0;padding:24px;border-radius:14px}.placeholder-title{font-size:24px}.result-kicker{margin-bottom:12px}.upcoming-mini{margin-top:16px;padding-top:16px}.right-help{font-size:13px}.form-bottom{gap:11px}.option{padding:12px 8px;gap:6px}.option strong{font-size:14px}.option.selected,.option:has(input:checked){padding:11.5px 7.5px}.option span{font-size:12px}.field{margin-bottom:21px}.field legend{font-size:15px}.field-note{font-size:13px}.payment-result #next-payment{font-size:36px}.section-head{display:block}.section-head a{display:inline-block;margin-top:8px}.section-head h2{font-size:23px}.guide-grid{grid-template-columns:1fr;gap:13px}.guide-card{padding:22px}.guide-card .guide-icon{float:left;margin-right:14px;margin-bottom:40px}.guide-card p{margin-bottom:10px}.month-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.month-link-grid a{font-size:13px;padding:10px 3px}.source-panel{grid-template-columns:1fr;gap:17px;padding:21px;font-size:13px}.mini-cta{display:block;padding:20px}.mini-cta .btn-primary{margin-top:13px}.footer-top,.footer-bottom{flex-direction:column;gap:18px}.footer-top .inline{gap:9px 18px}.analytics-banner{display:block}.analytics-banner .btn-row{margin-top:14px}.faq-list summary{font-size:15px}.article-calc-prompt .cols-3{grid-template-columns:1fr}.article-calc-prompt .cols-2{grid-template-columns:1fr}.article-calc-prompt .option span{font-size:13px}table{font-size:14px}td,th{padding:12px}.year-tabs a{padding:7px 13px}}
/* Verified mobile layout: let text wrap instead of widening the page. */
.nav,.brand,.brand a,.hero-line>div,.calc-layout>*,.option,.option>span,.source-panel>*,.trust-row span,.status-note>*{min-width:0}
.hero-line>div,.footer-top>*,main>*{max-width:100%;min-width:0}
h1,h2,h3,.footer-brand{overflow-wrap:anywhere}
main,body>footer{overflow-wrap:anywhere}
.guide-card .guide-icon{width:auto;height:auto;min-width:35px;min-height:35px;padding:7px;line-height:1;white-space:nowrap}
.right-help .info-icon{width:auto;height:auto;min-width:19px;min-height:19px;padding:2px;line-height:1;white-space:nowrap}
.cite-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.cite-rows,.cite-row{min-width:0;max-width:100%}.cite-head{flex-wrap:wrap;gap:8px}.cite-head button{min-height:44px}
.btn-primary,.btn-secondary,.btn-link{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
.option>span{flex:1;margin-top:0}.option strong,.option span{overflow-wrap:anywhere}
.calc-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.year-tabs{flex-wrap:wrap;max-width:100%}.year-tabs a{flex-wrap:wrap;min-width:0}
.mobile-cell-label,.mobile-start{display:none}.btn-row>*{max-width:100%;white-space:normal}.section-head a{white-space:normal}
.upcoming-row>*{min-width:0}.upcoming-row strong{flex-shrink:0}
.eyebrow,.section-kicker,.result-kicker,.upcoming-row,.footer-bottom span{overflow-wrap:anywhere}
.status-note,.source-panel,.notice,.breadcrumbs,.cite-text{overflow-wrap:anywhere}
@media(max-width:960px){.calc-layout{grid-template-columns:minmax(0,1fr)}.site-header,body>header{position:relative}}
@media(max-width:720px){
  html{scroll-padding-top:20px}.site-header,body>header{position:relative}
  .nav{padding:10px 14px;gap:8px}.brand{gap:7px;white-space:normal}.brand a{overflow-wrap:anywhere;line-height:1.2}.brand-icon{width:28px;height:30px}
  .mobile-menu summary{min-height:44px;min-width:60px;display:flex;align-items:center;justify-content:center;padding:9px 7px}
  .mobile-menu[open] nav{top:48px;width:min(260px,calc(100vw - 28px));max-height:70vh;overflow-y:auto}
  .mobile-menu nav a{min-height:44px;flex-shrink:0;overflow-wrap:anywhere}
  .calc-layout{grid-template-columns:minmax(0,1fr)}
  .mobile-start{display:inline-flex;margin:0 0 17px;min-height:48px;font-size:16px}
  .option-grid,.option-grid.two{grid-template-columns:minmax(0,1fr)}
  .option,.option.selected,.option:has(input:checked){min-height:62px;padding:12px;gap:10px;border-width:1px}
  .option strong{font-size:16px}.option span{font-size:14px;line-height:1.4}.option input{width:18px;height:18px;margin-top:3px}
  .form-bottom{flex-direction:column;align-items:stretch;gap:14px}.year-field{width:100%}
  .year-field label{font-size:15px}.form-bottom select,.form-bottom .btn-primary{font-size:16px;min-height:50px;width:100%}
  .btn-secondary,.payment-result .btn-secondary{min-height:44px}.payment-result #next-payment{overflow-wrap:anywhere}
  .year-tabs{width:100%;gap:3px}.year-tabs a{padding:9px 12px;min-height:44px}
  .calendar-wrap:has(.responsive-calendar){overflow:visible;border:0;border-radius:0}
  .responsive-calendar{display:block;min-width:0!important;background:transparent}
  .responsive-calendar thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .responsive-calendar tbody{display:grid;gap:14px}
  .responsive-calendar tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #dae4ef;border-radius:11px;padding:15px;background:#fff}
  .responsive-calendar tbody td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere;font-size:16px}
  .responsive-calendar tbody td:first-child{grid-column:1/-1;border-bottom:1px solid #e3eaf4;padding-bottom:10px;font-size:17px;font-weight:700}
  .responsive-calendar tbody td:first-child a{display:inline-block;min-height:44px;padding:6px 0}
  .mobile-cell-label{display:block;font-size:14px;line-height:1.4;font-weight:600;color:#52677f;margin-bottom:4px}
  .responsive-calendar.mobile-single-column tbody tr{grid-template-columns:minmax(0,1fr)}
  .person-table tbody td:nth-child(3),.person-table tbody td:nth-child(5){grid-column:1/-1}
  .responsive-calendar .shift-pill{white-space:normal}.responsive-calendar tr:hover td{background:transparent}
  .responsive-calendar .current-month-highlight{background:#eff5ff;border-color:#c3d9f8}.responsive-calendar .current-month-highlight td{background:transparent}
  .status-note{flex-wrap:wrap}.month-link-grid a{min-height:44px;display:grid;place-items:center}
  .guide-card .guide-icon{float:none;margin:0 0 12px}.mini-cta .btn-primary{max-width:100%}
  .guide-card>a,.section-head>a,.footer-inner .inline a{min-height:44px;display:inline-flex;align-items:center}
  input[type=number],input[type=text],select{font-size:16px}
}
@media(max-width:360px){
  .brand{font-size:17px}.brand a>span{display:none}.nav{padding:9px 12px}.brand-icon{width:26px;height:28px}
  main{padding-left:12px;padding-right:12px}.calc-card,.card,.surface{padding:18px}
  .result-placeholder,.payment-result{padding:20px}.responsive-calendar tbody tr{grid-template-columns:minmax(0,1fr);padding:13px}
  .upcoming-row{flex-wrap:wrap;gap:4px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{
  .mobile-cell-label{display:none!important}.responsive-calendar{display:table;min-width:0!important;background:#fff}
  .responsive-calendar thead{display:table-header-group;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .responsive-calendar tbody{display:table-row-group}.responsive-calendar tbody tr{display:table-row;border:0;padding:0}
  .responsive-calendar tbody td,.responsive-calendar tbody td:first-child{display:table-cell;padding:7px;border-bottom:1px solid #ddd;font-size:11px;font-weight:400}
}
@media print{.no-print,.review-strip,.site-header,.calc-card,.right-help,.result-placeholder,.guide-grid,.analytics-banner,.year-tabs,body>footer,.breadcrumbs,.mini-cta{display:none!important}body{background:#fff;color:#000;font-size:12px}main{max-width:none;padding:0}.card,.surface{border:0;padding:12px 0;box-shadow:none}.calc-layout{display:block}.payment-result{background:#fff;color:#000;border:1px solid #bbb;min-height:0;padding:15px;margin-bottom:12px}.payment-result #next-payment,.payment-result #next-type,.payment-result #next-day,.payment-result #next-context,.result-kicker,.result-note{color:#000!important}.calendar-wrap{overflow:visible;border:0}.schedule-year-table,.person-table{min-width:0;font-size:11px}td,th{padding:7px;background:#fff!important;color:#000}thead{display:table-header-group}tr{break-inside:avoid}.source-panel{background:#fff;border:0;padding:10px 0}.month-link-grid{display:none}.print-selection #public-schedule,.print-selection .faq-list,.print-selection .source-panel,.print-selection .page-top,.print-selection .trust-row,.print-selection .cola-section{display:none!important}.print-selection #personal-schedule{display:block!important}.print-selection .calc-layout{margin-bottom:0}}

/* Device-local calendars: familiar blue surfaces, readable dates and optional tools. */
.saved-return{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;border:1px solid #bdd4f4;background:#eef5ff;border-radius:12px;padding:1rem 1.25rem}
.saved-return p{margin:.35rem 0 0;color:#435b78;font-size:.9375rem}
.reminder-choice{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin:1.25rem 0 .8rem}
.reminder-choice label{font-weight:600;font-size:1rem}
.reminder-choice select{width:auto;min-width:0;max-width:100%;font-size:1rem;min-height:46px;background:#fff;color:#18314f}
.save-schedule{border-top:1px solid #8ab5f2;margin-top:1.25rem;padding-top:.6rem}
.save-schedule summary,.personal-details summary{font-weight:650;cursor:pointer;min-height:44px;padding:.6rem 0;font-size:1rem;line-height:1.5}
.save-schedule label{display:block;font-size:1rem;margin:.75rem 0 .4rem}
.save-schedule input{width:100%;background:#fff;color:#18314f;min-height:48px;font-size:1rem}
.payment-result a:not(.btn-primary):not(.btn-secondary){color:#fff;text-decoration:underline}
.payment-result #save-schedule-status{font-size:1rem;line-height:1.5}
.payment-result .error-text{color:#fff!important;font-weight:650}
.personal-page-top{margin-bottom:1.5rem}.personal-page-top h1{font-size:clamp(2rem,4vw,3.2rem)}
.personal-status{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.personal-status p:empty{display:none}.personal-status p{margin:0;color:#254f84;font-size:1rem;flex:1}
.error-text{color:#a52924!important}
.dashboard-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.25rem}
.profile-tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.profile-tab{font-size:1rem;padding:.65rem 1rem;min-height:48px;border:1px solid #ccdbee;border-radius:8px;background:#fff;color:#234261;white-space:normal;overflow-wrap:anywhere}
.profile-tab[aria-pressed=true]{background:#165cc6;color:#fff;border-color:#165cc6}
.personal-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.personal-columns .surface{margin-top:0}
.saved-next{background:#f0f6ff;border-color:#c5daf7}.saved-next h2{margin-bottom:.4rem}
.saved-payment-date{display:block;font-weight:750;font-size:clamp(2rem,4vw,2.8rem);line-height:1.2;color:#123f7b;margin:1rem 0 .6rem}
.countdown{font-size:1.125rem;font-weight:650;color:#234f86}
.personal-details{border-top:1px solid #d9e3ef;margin-top:1rem;padding-top:.5rem}
.personal-details[open] summary{margin-bottom:.6rem}
.personal-details label,.personal-form label,.bill-form label{display:block;font-weight:600;font-size:1rem;margin:0 0 .4rem}
.personal-details input,.personal-form input,.bill-form input,.plan-summary input{font-size:1rem;min-height:48px;width:100%;max-width:100%;background:#fff;color:#18314f}
.personal-details input[type=file]{height:auto;padding:.65rem;overflow:hidden}
.personal-form{display:grid;gap:.6rem;max-width:100%}.personal-form button{justify-self:start}
.payment-list{list-style:none;margin:0;padding:0}
.payment-list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #e1e9f2;font-size:1rem}
.payment-list-row div{min-width:0}.payment-list-row span{display:block;font-size:.9375rem;color:#4c6580;margin-top:.3rem}
.payment-list-row>strong{flex-shrink:0}.payment-list-row>button{flex-shrink:0}
.household-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:.8rem}
.household-card{display:flex;flex-direction:column;gap:.6rem;text-align:left;padding:1.1rem;border:1px solid #cad9ed;background:#fff;border-radius:10px;color:#234261;min-width:0;font-size:1rem;overflow-wrap:anywhere}
.household-card[aria-pressed=true]{background:#eef5ff;border-color:#165cc6}
.household-card>span{font-size:1.25rem;font-weight:650}.household-card>small{font-size:.9375rem;line-height:1.5;color:#4c6580}
.plan-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;background:#f3f7fc;border-radius:10px;padding:1.2rem;margin:1.2rem 0}
.plan-summary strong{display:block;font-size:2rem;color:#123f7b;margin-top:.5rem;line-height:1.3}
.plan-summary span,.plan-summary label{font-size:1rem;display:block;margin-bottom:.5rem}
.plan-output{font-size:1.125rem;font-weight:600}
.bill-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr);gap:.85rem;align-items:end}
.bill-form button{grid-column:1/-1;justify-self:start}
.subscription-list{list-style:none;margin:1rem 0;padding:0}.subscription-list li{padding:1.25rem 0;border-bottom:1px solid #d9e3ef}
.subscription-list .btn-row{margin:.7rem 0}.subscription-list code{display:block;font-size:.875rem;white-space:normal;overflow-wrap:anywhere}
.personal-columns>*,.personal-columns .btn-row,.plan-summary>*,.bill-form>*,.saved-return>*{min-width:0}
@media(max-width:1120px){.navlinks{display:none}.mobile-menu{display:block}}
@media(max-width:720px){
  .saved-return{align-items:stretch;flex-direction:column}.saved-return .btn-secondary{align-self:flex-start}
  .personal-columns,.plan-summary,.bill-form{grid-template-columns:minmax(0,1fr)}
  .bill-form button{width:100%}.saved-payment-date{font-size:2.25rem}
  .dashboard-top>.btn-secondary{width:100%}.profile-tab{flex-grow:1}
  .personal-columns{gap:0}.payment-list-row{flex-wrap:wrap;gap:.65rem}
  .payment-list-row>strong{white-space:normal}
  .reminder-choice{flex-direction:column;align-items:stretch}.reminder-choice select{width:100%}
}
@media print{.personal-columns{display:block}.saved-payment-date{font-size:24px}.plan-summary{padding:8px;display:block}.personal-status,.personal-details{display:none}.saved-next{background:#fff}.plan-summary input{border:0}}
