
:root{
  --navy:#002868;--green:#00843D;--red:#BF0A30;--light-bg:#F8F9FF;
  --card-bg:#FFFFFF;--border:#D0D5E8;--text:#1A1F36;--muted:#6B7280;
  --whatsapp:#25D366;--gold:#D4A017;--orange:#E65100;--purple:#6A1B9A;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:var(--light-bg);color:var(--text);min-height:100vh}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif}

.calc-header{background:linear-gradient(135deg,var(--navy) 0%,#003a80 100%);color:#fff;padding:28px 24px 22px;text-align:center}
.calc-header h1{font-size:clamp(1.25rem,4vw,1.9rem);font-weight:800;margin-bottom:8px}
.calc-header p{font-size:.88rem;opacity:.88;max-width:680px;margin:0 auto}
.header-badges{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:12px}
.header-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:4px 11px;font-size:.72rem;font-weight:600}

.tab-nav{display:flex;background:var(--navy);padding:0 12px;overflow-x:auto;gap:2px;scrollbar-width:none}
.tab-nav::-webkit-scrollbar{display:none}
.tab-btn{flex-shrink:0;padding:11px 13px;font-family:'Montserrat',sans-serif;font-size:.74rem;font-weight:700;color:rgba(255,255,255,.6);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s}
.tab-btn.active{color:#fff;border-bottom-color:var(--green)}
.tab-btn:hover:not(.active){color:rgba(255,255,255,.9)}

.ad-slot{background:#f0f4ff;border:2px dashed var(--border);border-radius:8px;padding:16px;text-align:center;color:var(--muted);font-size:.78rem;margin:14px 0}
.ad-slot span{font-weight:600;color:var(--navy)}

.calc-body{max-width:1200px;margin:0 auto;padding:18px 14px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:767px){.two-col{grid-template-columns:1fr}}

.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}
.card-title{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--light-bg);display:flex;align-items:center;gap:8px}
.card-title .icon{width:22px;height:22px;background:var(--navy);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;flex-shrink:0}

.form-row{margin-bottom:12px}
.form-row label{display:block;font-size:.79rem;font-weight:600;color:var(--text);margin-bottom:4px}
.form-row label .hint{font-weight:400;color:var(--muted);font-size:.73rem}
input[type=number],select{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:8px 11px;font-size:.87rem;font-family:'Inter',sans-serif;color:var(--text);background:#fff;transition:border .2s;outline:none}
input[type=number]:focus,select:focus{border-color:var(--navy)}
.toggle-group{display:flex;gap:0}
.toggle-group label{flex:1;text-align:center;padding:7px 5px;font-size:.78rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--muted);transition:all .2s}
.toggle-group label:first-child{border-radius:8px 0 0 8px}
.toggle-group label:last-child{border-radius:0 8px 8px 0}
.toggle-group input[type=radio]{display:none}
.toggle-group label:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy)}

/* RESULTS */
.result-highlight{background:linear-gradient(135deg,var(--navy),#003a80);color:#fff;border-radius:12px;padding:18px;margin-bottom:12px}
.result-highlight .label{font-size:.74rem;opacity:.8;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}
.result-highlight .value{font-size:1.55rem;font-weight:800;font-family:'Montserrat',sans-serif}
.result-highlight .sub{font-size:.78rem;opacity:.72;margin-top:3px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.res-box{background:var(--light-bg);border:1px solid var(--border);border-radius:10px;padding:11px;text-align:center}
.res-box .rb-label{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.res-box .rb-val{font-size:1.0rem;font-weight:700;color:var(--navy);font-family:'Montserrat',sans-serif}
.res-box .rb-sub{font-size:.69rem;color:var(--muted);margin-top:2px}

/* ALERTS */
.alert-danger{background:#ffebee;border-left:4px solid var(--red);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:#b71c1c;margin:9px 0;line-height:1.55}
.alert-warning{background:#fff8e1;border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:#5d4037;margin:9px 0;line-height:1.55}
.alert-success{background:#e8f5e9;border-left:4px solid var(--green);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:#1b5e20;margin:9px 0;line-height:1.55}
.alert-info{background:#f0f6ff;border-left:4px solid var(--navy);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:var(--text);margin:9px 0;line-height:1.55}
.alert-danger strong,.alert-warning strong,.alert-success strong,.alert-info strong{display:block;margin-bottom:3px}

/* NET POSITION BARS */
.net-pos-wrap{margin:12px 0}
.np-row{margin-bottom:10px}
.np-label{font-size:.79rem;font-weight:600;color:var(--text);margin-bottom:4px;display:flex;justify-content:space-between}
.np-bar-track{background:#eee;border-radius:20px;height:14px;overflow:hidden}
.np-bar-fill{height:14px;border-radius:20px;transition:width .5s}

/* COMPARISON CARDS */
.scenario-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:12px 0}
@media(max-width:600px){.scenario-grid{grid-template-columns:1fr}}
.scenario-card{border:1px solid var(--border);border-radius:10px;padding:12px}
.scenario-card.rec{border-color:var(--green);background:#f0faf4}
.scenario-card h4{font-size:.82rem;font-family:'Montserrat',sans-serif;color:var(--navy);margin-bottom:6px}
.sc-val{font-size:1.1rem;font-weight:700;color:var(--navy);font-family:'Montserrat',sans-serif}
.sc-label{font-size:.72rem;color:var(--muted);margin-top:3px}

/* STATE COMPARE */
.state-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
@media(max-width:600px){.state-compare-grid{grid-template-columns:1fr}}
.state-card{border:1px solid var(--border);border-radius:10px;padding:13px}
.state-card h4{font-size:.88rem;font-weight:700;color:var(--navy);font-family:'Montserrat',sans-serif;margin-bottom:8px}
.state-card .sa-amount{font-size:1.25rem;font-weight:800;color:var(--green);font-family:'Montserrat',sans-serif}
.state-card .sa-duration{font-size:.78rem;color:var(--muted);margin-top:3px}
.state-card .sa-formula{font-size:.71rem;color:var(--muted);margin-top:5px;line-height:1.4}
.state-card.capped{border-color:var(--red)}

/* DATA TABLE */
.data-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}
.data-table{width:100%;border-collapse:collapse;font-size:.78rem}
.data-table thead th{background:var(--navy);color:#fff;padding:9px 11px;text-align:left;font-family:'Montserrat',sans-serif;font-size:.72rem;white-space:nowrap}
.data-table tbody tr:nth-child(even){background:#f5f7ff}
.data-table tbody tr:hover{background:#eef1ff}
.data-table td{padding:8px 11px;border-bottom:1px solid var(--border);white-space:nowrap}
.td-green{color:var(--green);font-weight:600}
.td-red{color:var(--red);font-weight:600}
.td-bold{font-weight:700;color:var(--navy)}
.td-orange{color:var(--orange);font-weight:600}

/* BUTTONS */
.btn-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.btn{padding:10px 20px;border-radius:8px;font-family:'Montserrat',sans-serif;font-size:.81rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.btn-calc{background:var(--green);color:#fff;border-color:var(--green)}
.btn-calc:hover{background:#006e32}
.btn-clear{background:#fff;color:var(--red);border-color:var(--red)}
.btn-clear:hover{background:var(--red);color:#fff}
.btn-pdf{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-pdf:hover{background:#001a4a}
.btn-wa{background:var(--whatsapp);color:#fff;border-color:var(--whatsapp)}
.btn-wa:hover{background:#1da851}

/* MISC */
.tab-panel{display:none}
.tab-panel.active{display:block}
.hidden{display:none!important}
.chart-wrap{position:relative;height:250px;margin-top:10px}
.section-label{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 9px;padding-bottom:5px;border-bottom:2px solid var(--light-bg)}
.placeholder-msg{text-align:center;padding:36px 18px;color:var(--muted)}
.placeholder-msg .big-icon{font-size:2.4rem;margin-bottom:10px}
.placeholder-msg p{font-size:.87rem;line-height:1.5}
.disclaimer{font-size:.72rem;color:var(--muted);margin-top:13px;line-height:1.5;padding:10px 12px;background:#f5f5f5;border-radius:8px}
.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:.7rem;font-weight:600;margin:2px}
.pill-red{background:#ffebee;color:#b71c1c}
.pill-green{background:#e8f5e9;color:#1b5e20}
.pill-orange{background:#fff3e0;color:#e65100}

/* TCJA BANNER */
.tcja-banner{border-radius:12px;padding:16px;margin:12px 0}
.tcja-pre{background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff}
.tcja-post{background:linear-gradient(135deg,#002868,#003a80);color:#fff}
.tcja-banner h4{font-size:.92rem;font-family:'Montserrat',sans-serif;margin-bottom:8px}
.tcja-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.tcja-item{background:rgba(255,255,255,.15);border-radius:8px;padding:10px;text-align:center}
.tcja-item .ti-val{font-size:1.2rem;font-weight:800;font-family:'Montserrat',sans-serif}
.tcja-item .ti-label{font-size:.68rem;opacity:.8;margin-top:2px}

/* STANDARD OF LIVING */
.sol-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sol-label{width:120px;font-size:.78rem;font-weight:600;flex-shrink:0}
.sol-bar-wrap{flex:1;background:#eee;border-radius:20px;height:12px}
.sol-bar{height:12px;border-radius:20px}
.sol-val{width:80px;font-size:.78rem;font-weight:700;color:var(--navy);text-align:right;flex-shrink:0}

/* MODIFICATION */
.mod-trigger{border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:8px}
.mod-trigger h4{font-size:.85rem;color:var(--navy);font-family:'Montserrat',sans-serif;margin-bottom:5px}
.mod-trigger .mt-result{font-size:.8rem;font-weight:600;margin-top:5px;padding:5px 10px;border-radius:6px;display:inline-block}
.mt-terminate{background:#ffebee;color:#b71c1c}
.mt-reduce{background:#fff8e1;color:#5d4037}
.mt-continue{background:#e8f5e9;color:#1b5e20}
/* ── HOW-IT-WORKS SECTION — uses same design tokens as calculator ── */
.hiw-section {
  background: var(--light-bg);
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.hiw-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* SECTION HEADING */
.hiw-heading {
  text-align: center;
  margin-bottom: 40px;
}
.hiw-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.hiw-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.hiw-heading p {
  font-size: .92rem;
  color: var(--muted);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── QUICK STATS STRIP ── */
.hiw-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 40px;
}
.hiw-stat-box {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 18px 14px;
  text-align: center;
  border-top: 3px solid var(--navy);
}
.hiw-stat-box .hsb-icon {
  font-size: 1.6rem;
  margin-bottom: 6px;
  display: block;
}
.hiw-stat-box .hsb-value {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--navy);
  line-height: 1;
  margin-bottom: 4px;
}
.hiw-stat-box .hsb-label {
  font-size: .71rem;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ── STEP-BY-STEP ── */
.hiw-steps-title {
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.hiw-steps-title::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background: var(--navy);
  border-radius: 4px;
}

.hiw-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 36px;
}
.hiw-step-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 18px;
  position: relative;
  transition: box-shadow .2s, transform .2s;
}
.hiw-step-card:hover {
  box-shadow: 0 4px 18px rgba(0,40,104,.09);
  transform: translateY(-2px);
}
.hiw-step-card .step-number {
  width: 30px;
  height: 30px;
  background: var(--navy);
  color: #fff;
  border-radius: 50%;
  font-family: 'Montserrat', sans-serif;
  font-size: .82rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.hiw-step-card .step-icon {
  font-size: 1.4rem;
  margin-bottom: 8px;
  display: block;
}
.hiw-step-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 7px;
}
.hiw-step-card p {
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}
.hiw-step-card .step-tip {
  margin-top: 10px;
  background: var(--light-bg);
  border-left: 3px solid var(--green);
  border-radius: 0 6px 6px 0;
  padding: 7px 10px;
  font-size: .74rem;
  color: var(--text);
  line-height: 1.5;
}
.hiw-step-card .step-tip strong {
  color: var(--green);
}

/* ── TAB EXPLAINER ── */
.hiw-tabs-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 36px;
}
.hiw-tab-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px 13px;
  text-align: center;
}
.hiw-tab-card .tab-emoji {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 8px;
}
.hiw-tab-card h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: .77rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.3;
}
.hiw-tab-card p {
  font-size: .72rem;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}
.hiw-tab-card .tab-badge {
  display: inline-block;
  margin-top: 8px;
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 3px 9px;
  font-size: .65rem;
  font-weight: 700;
  color: var(--navy);
}
.hiw-tab-card.tab-featured {
  border-color: var(--green);
  border-top: 3px solid var(--green);
}
.hiw-tab-card.tab-featured .tab-badge {
  background: #e8f5e9;
  color: var(--green);
  border-color: var(--green);
}

/* ── INPUT GUIDE TWO-COL ── */
.hiw-input-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 36px;
  align-items: start;
}
.hiw-input-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}
.hiw-input-card .hic-header {
  background: var(--navy);
  padding: 13px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hiw-input-card .hic-header span {
  font-size: 1.1rem;
}
.hiw-input-card .hic-header h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .87rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.hiw-input-card .hic-body {
  padding: 16px 18px;
}
.hiw-input-row {
  display: flex;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
}
.hiw-input-row:last-child {
  border-bottom: none;
}
.hiw-input-row .ir-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--navy);
  flex-shrink: 0;
  margin-top: 5px;
}
.hiw-input-row .ir-content {}
.hiw-input-row .ir-label {
  font-size: .79rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 2px;
}
.hiw-input-row .ir-desc {
  font-size: .73rem;
  color: var(--muted);
  line-height: 1.5;
}
.hiw-input-row .ir-tag {
  display: inline-block;
  margin-top: 3px;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: .66rem;
  font-weight: 700;
}
.ir-tag.required { background: #ffebee; color: #b71c1c; }
.ir-tag.optional { background: #e8f5e9; color: #1b5e20; }

/* ── HOW RESULTS WORK ── */
.hiw-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 36px;
}
.hiw-result-box {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
.hiw-result-box .hrb-head {
  padding: 10px 14px;
  font-family: 'Montserrat', sans-serif;
  font-size: .76rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 7px;
}
.hrb-navy { background: var(--navy); }
.hrb-green { background: var(--green); }
.hrb-gold  { background: var(--gold); color: #fff; }
.hrb-red   { background: var(--red); }
.hrb-purple{ background: var(--purple); }
.hrb-orange{ background: var(--orange); }
.hiw-result-box .hrb-body {
  padding: 12px 14px;
  background: var(--card-bg);
}
.hiw-result-box .hrb-body p {
  font-size: .76rem;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

/* ── PRO TIPS ROW ── */
.hiw-pro-tips {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 14px;
  padding: 28px 28px 24px;
  margin-bottom: 0;
}
.hiw-pro-tips h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hiw-tips-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.hiw-tip-item {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  padding: 11px 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.hiw-tip-item .tip-icon {
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.hiw-tip-item p {
  font-size: .77rem;
  color: rgba(255,255,255,.8);
  line-height: 1.55;
  margin: 0;
}
.hiw-tip-item p strong {
  color: #fff;
  display: block;
  margin-bottom: 2px;
}

/* ── RESPONSIVE ── */
@media (max-width: 992px) {
  .hiw-stats-strip       { grid-template-columns: repeat(2, 1fr); }
  .hiw-steps-grid        { grid-template-columns: 1fr 1fr; }
  .hiw-tabs-grid         { grid-template-columns: 1fr 1fr; }
  .hiw-results-grid      { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .hiw-section           { padding: 36px 0 32px; }
  .hiw-input-grid        { grid-template-columns: 1fr; }
  .hiw-tips-list         { grid-template-columns: 1fr; }
  .hiw-pro-tips          { padding: 20px 16px; }
}
@media (max-width: 600px) {
  .hiw-stats-strip       { grid-template-columns: repeat(2, 1fr); }
  .hiw-steps-grid        { grid-template-columns: 1fr; }
  .hiw-tabs-grid         { grid-template-columns: 1fr; }
  .hiw-results-grid      { grid-template-columns: 1fr; }
  .hiw-heading h2        { font-size: 1.25rem; }
}
/* ══ STATE-BY-STATE GUIDE — matches calculator design tokens ══ */

.sbs-section {
  background: #fff;
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.sbs-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADING */
.sbs-heading {
  text-align: center;
  margin-bottom: 36px;
}
.sbs-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.sbs-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.sbs-heading p {
  font-size: .92rem;
  color: var(--muted);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.65;
}

/* LEGEND STRIP */
.sbs-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 28px;
}
.sbs-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .73rem;
  font-weight: 600;
  color: var(--text);
}
.sbs-legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.dot-formula  { background: var(--navy); }
.dot-guideline{ background: var(--green); }
.dot-discretion{ background: var(--gold); }
.dot-limited  { background: var(--orange); }
.dot-fault    { background: var(--red); }

/* SEARCH + FILTER BAR */
.sbs-filter-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  align-items: center;
}
.sbs-search {
  flex: 1;
  min-width: 200px;
  padding: 9px 14px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: .85rem;
  font-family: 'Inter', sans-serif;
  color: var(--text);
  outline: none;
  transition: border .2s;
}
.sbs-search:focus { border-color: var(--navy); }
.sbs-filter-btn {
  padding: 9px 16px;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
  border: 1.5px solid var(--border);
  background: #fff;
  color: var(--muted);
  transition: all .2s;
  white-space: nowrap;
}
.sbs-filter-btn.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.sbs-filter-btn:hover:not(.active) {
  border-color: var(--navy);
  color: var(--navy);
}
.sbs-count {
  font-size: .78rem;
  color: var(--muted);
  white-space: nowrap;
  font-weight: 600;
}

/* STATE CARDS GRID */
.sbs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 40px;
}
.sbs-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.sbs-card:hover {
  box-shadow: 0 4px 18px rgba(0,40,104,.1);
  transform: translateY(-2px);
}
.sbs-card-head {
  padding: 10px 13px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
}
.sbs-card-state {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: .93rem;
  color: var(--navy);
}
.sbs-card-abbr {
  font-family: 'Montserrat', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--light-bg);
  color: var(--navy);
  border: 1px solid var(--border);
}
.sbs-card-body {
  padding: 11px 13px 13px;
}
.sbs-type-badge {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 12px;
  font-size: .66rem;
  font-weight: 700;
  margin-bottom: 8px;
}
.type-formula   { background: #e8eeff; color: var(--navy); }
.type-guideline { background: #e8f5e9; color: var(--green); }
.type-discretion{ background: #fff8e1; color: #5d4037; }
.type-limited   { background: #fff3e0; color: var(--orange); }
.type-fault     { background: #ffebee; color: var(--red); }

.sbs-row {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin-bottom: 5px;
}
.sbs-row-label {
  font-size: .68rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .3px;
  flex-shrink: 0;
  width: 62px;
  margin-top: 1px;
}
.sbs-row-val {
  font-size: .74rem;
  color: var(--text);
  line-height: 1.45;
}
.sbs-row-val strong { color: var(--navy); }
.sbs-note {
  margin-top: 8px;
  background: var(--light-bg);
  border-left: 3px solid var(--navy);
  border-radius: 0 6px 6px 0;
  padding: 5px 9px;
  font-size: .7rem;
  color: var(--text);
  line-height: 1.5;
}
.sbs-card.hidden-card { display: none; }

/* FORMULA STATES HIGHLIGHT TABLE */
.sbs-formula-table-wrap {
  margin-bottom: 40px;
}
.sbs-formula-title {
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.sbs-formula-title::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background: var(--navy);
  border-radius: 4px;
}

/* KEY FACTS STRIP */
.sbs-keyfacts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 36px;
}
.sbs-keyfact-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  padding: 18px 16px;
  border-top: 3px solid var(--navy);
}
.sbs-keyfact-card h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.sbs-keyfact-card ul {
  padding-left: 0;
  list-style: none;
  margin: 0;
}
.sbs-keyfact-card ul li {
  font-size: .77rem;
  color: var(--muted);
  line-height: 1.55;
  padding: 5px 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 7px;
  align-items: flex-start;
}
.sbs-keyfact-card ul li:last-child { border-bottom: none; }
.sbs-keyfact-card ul li::before {
  content: "▸";
  color: var(--navy);
  flex-shrink: 0;
  font-size: .65rem;
  margin-top: 2px;
}
.sbs-keyfact-card ul li strong { color: var(--text); }

/* NO-RESULTS */
.sbs-no-results {
  grid-column: 1/-1;
  text-align: center;
  padding: 40px 20px;
  color: var(--muted);
  font-size: .88rem;
  display: none;
}

/* RESPONSIVE */
@media (max-width: 1100px) { .sbs-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 992px)  { .sbs-keyfacts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px)  {
  .sbs-section  { padding: 36px 0 32px; }
  .sbs-grid     { grid-template-columns: repeat(2, 1fr); }
  .sbs-filter-bar { flex-direction: column; }
  .sbs-search   { width: 100%; }
}
@media (max-width: 560px)  {
  .sbs-grid     { grid-template-columns: 1fr; }
  .sbs-keyfacts { grid-template-columns: 1fr; }
}
/* ══ CASE STUDIES — matches calculator design tokens ══ */

.cs-section {
  background: var(--light-bg);
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.cs-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADING */
.cs-heading {
  text-align: center;
  margin-bottom: 40px;
}
.cs-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.cs-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.cs-heading p {
  font-size: .92rem;
  color: var(--muted);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.65;
}

/* CASE CARD */
.cs-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 28px;
}

/* CASE HEADER BAR */
.cs-card-header {
  padding: 16px 22px 14px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.cs-header-left { display: flex; align-items: center; gap: 14px; }
.cs-case-number {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: .95rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.cn-navy  { background: var(--navy); }
.cn-green { background: var(--green); }
.cn-red   { background: var(--red); }
.cn-gold  { background: var(--gold); }
.cn-purple{ background: var(--purple); }

.cs-header-meta h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.0rem;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 4px;
}
.cs-header-meta p {
  font-size: .77rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}
.cs-header-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

/* CASE BODY */
.cs-card-body {
  padding: 20px 22px;
  border-top: 1px solid var(--border);
}

/* INPUT → OUTPUT LAYOUT */
.cs-io-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 18px;
  align-items: start;
}
.cs-inputs-box, .cs-outputs-box {
  border-radius: 10px;
  overflow: hidden;
}
.cs-box-title {
  padding: 9px 14px;
  font-family: 'Montserrat', sans-serif;
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.cs-inputs-box .cs-box-title {
  background: var(--light-bg);
  color: var(--navy);
  border: 1px solid var(--border);
  border-bottom: none;
}
.cs-outputs-box .cs-box-title {
  background: var(--navy);
  color: #fff;
}
.cs-inputs-box .cs-box-body {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 12px 14px;
}
.cs-outputs-box .cs-box-body {
  background: #f0f4ff;
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 12px 14px;
}
.cs-input-row, .cs-output-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 5px 0;
  border-bottom: 1px dashed var(--border);
  gap: 8px;
}
.cs-input-row:last-child, .cs-output-row:last-child { border-bottom: none; }
.cs-field-label {
  font-size: .75rem;
  color: var(--muted);
  font-weight: 500;
  flex-shrink: 0;
}
.cs-field-val {
  font-size: .8rem;
  font-weight: 700;
  color: var(--text);
  text-align: right;
}
.cs-out-label {
  font-size: .75rem;
  color: var(--muted);
  font-weight: 500;
  flex-shrink: 0;
}
.cs-out-val {
  font-size: .88rem;
  font-weight: 800;
  color: var(--navy);
  text-align: right;
  font-family: 'Montserrat', sans-serif;
}
.cs-out-val.val-green { color: var(--green); }
.cs-out-val.val-red   { color: var(--red); }
.cs-out-val.val-gold  { color: var(--gold); }

/* KEY TAKEAWAY */
.cs-takeaway {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 9px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 4px;
}
.cs-takeaway .tk-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }
.cs-takeaway-text {}
.cs-takeaway-text strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: rgba(255,255,255,.9);
  margin-bottom: 3px;
}
.cs-takeaway-text p {
  font-size: .76rem;
  color: rgba(255,255,255,.72);
  line-height: 1.55;
  margin: 0;
}

/* STEP FLOW (for more complex cases) */
.cs-step-flow {
  display: flex;
  gap: 0;
  align-items: stretch;
  margin-bottom: 18px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.cs-step-item {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 10px 13px;
  flex: 1;
  min-width: 130px;
  position: relative;
}
.cs-step-item:not(:last-child)::after {
  content: '→';
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: .85rem;
  font-weight: 700;
  z-index: 1;
}
.cs-step-item:not(:first-child) { margin-left: 14px; }
.cs-step-item .sf-label {
  font-size: .67rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 4px;
}
.cs-step-item .sf-val {
  font-size: .84rem;
  font-weight: 700;
  color: var(--navy);
  font-family: 'Montserrat', sans-serif;
  line-height: 1.25;
}
.cs-step-item .sf-sub {
  font-size: .7rem;
  color: var(--muted);
  margin-top: 2px;
}

/* BEFORE / AFTER COMPARISON */
.cs-before-after {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}
.cs-ba-box {
  border-radius: 10px;
  padding: 14px;
  text-align: center;
}
.cs-ba-box.before { background: #fff8e1; border: 1px solid #ffe082; }
.cs-ba-box.after  { background: #e8f5e9; border: 1px solid #a5d6a7; }
.cs-ba-box h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  margin-bottom: 10px;
}
.cs-ba-box.before h4 { color: #5d4037; }
.cs-ba-box.after  h4 { color: #1b5e20; }
.cs-ba-val {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: 4px;
}
.cs-ba-box.before .cs-ba-val { color: #e65100; }
.cs-ba-box.after  .cs-ba-val { color: var(--green); }
.cs-ba-sub { font-size: .72rem; color: var(--muted); }
.cs-ba-arrow {
  font-size: 1.4rem;
  color: var(--navy);
  font-weight: 800;
  text-align: center;
}

/* RESPONSIVE */
@media (max-width: 767px) {
  .cs-section  { padding: 36px 0 32px; }
  .cs-io-grid  { grid-template-columns: 1fr; gap: 12px; }
  .cs-card-header { flex-direction: column; }
  .cs-before-after { grid-template-columns: 1fr; }
  .cs-ba-arrow { display: none; }
  .cs-step-flow { flex-direction: column; gap: 8px; }
  .cs-step-item:not(:last-child)::after { display: none; }
  .cs-step-item:not(:first-child) { margin-left: 0; }
}
@media (max-width: 480px) {
  .cs-card-body { padding: 14px 14px; }
  .cs-card-header { padding: 14px 14px 12px; }
}
/* ══ PRO & ATTORNEY TIPS — matches calculator design tokens ══ */

.pat-section {
  background: #fff;
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.pat-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADING */
.pat-heading {
  text-align: center;
  margin-bottom: 40px;
}
.pat-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.pat-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.pat-heading p {
  font-size: .92rem;
  color: var(--muted);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── AUDIENCE TABS ── */
.pat-audience-strip {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.pat-audience-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 30px;
  font-family: 'Montserrat', sans-serif;
  font-size: .76rem;
  font-weight: 700;
  border: 2px solid var(--border);
  color: var(--muted);
}
.pat-audience-badge.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.pat-audience-badge.green  { background: var(--green);  color: #fff; border-color: var(--green); }
.pat-audience-badge.red    { background: var(--red);    color: #fff; border-color: var(--red); }
.pat-audience-badge.gold   { background: var(--gold);   color: #fff; border-color: var(--gold); }

/* ── TIPS GRID ── */
.pat-tips-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}
.pat-tip-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.pat-tip-card:hover {
  box-shadow: 0 4px 18px rgba(0,40,104,.09);
  transform: translateY(-2px);
}
.pat-tip-header {
  padding: 13px 16px 11px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--border);
}
.pat-tip-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.tn-navy   { background: var(--navy); }
.tn-green  { background: var(--green); }
.tn-red    { background: var(--red); }
.tn-gold   { background: var(--gold); }
.tn-purple { background: var(--purple); }
.tn-orange { background: var(--orange); }

.pat-tip-title-wrap {}
.pat-tip-title-wrap h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .88rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 2px;
}
.pat-tip-title-wrap .tip-who {
  font-size: .68rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  display: inline-block;
}
.tw-payor    { background: #e8eeff; color: var(--navy); }
.tw-recipient{ background: #e8f5e9; color: var(--green); }
.tw-both     { background: #fff8e1; color: #5d4037; }
.tw-attorney { background: #f3e5f5; color: var(--purple); }

.pat-tip-body {
  padding: 14px 16px 16px;
}
.pat-tip-body .tip-main-text {
  font-size: .8rem;
  color: var(--text);
  line-height: 1.65;
  margin-bottom: 12px;
}

/* ALERT STRIPS inside tip cards */
.pat-tip-body .tip-action {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: .77rem;
  line-height: 1.5;
}
.tip-action.action-green {
  background: #e8f5e9;
  border-left: 3px solid var(--green);
}
.tip-action.action-gold {
  background: #fff8e1;
  border-left: 3px solid var(--gold);
}
.tip-action.action-navy {
  background: #f0f4ff;
  border-left: 3px solid var(--navy);
}
.tip-action.action-red {
  background: #ffebee;
  border-left: 3px solid var(--red);
}
.tip-action .ta-icon { font-size: .95rem; flex-shrink: 0; margin-top: 1px; }
.tip-action .ta-text { color: var(--text); }
.tip-action .ta-text strong { color: var(--navy); }

/* ── STAT BAR ── */
.pat-stat-bar {
  background: linear-gradient(135deg, var(--navy), #003a80);
  border-radius: 14px;
  padding: 24px 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 40px;
  text-align: center;
}
.psb-item .psb-val {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 5px;
}
.psb-item .psb-label {
  font-size: .72rem;
  color: rgba(255,255,255,.72);
  font-weight: 600;
  line-height: 1.4;
}

/* ── COMMON MISTAKES SECTION ── */
.pat-mistakes-title {
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 18px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.pat-mistakes-title::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background: var(--red);
  border-radius: 4px;
  flex-shrink: 0;
}

.pat-mistakes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 40px;
}
.pat-mistake-card {
  border-radius: 11px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.pat-mistake-head {
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.pat-mistake-head .mh-icon { font-size: 1.0rem; }
.pat-mistake-head h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  color: #b71c1c;
  margin: 0;
}
.pmh-red  { background: #ffebee; border-bottom: 1px solid #ffcdd2; }
.pat-mistake-body {
  padding: 12px 14px;
  background: var(--card-bg);
}
.pat-mistake-body .mb-wrong {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--border);
}
.pat-mistake-body .mb-right {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.mb-x { color: var(--red); font-size: .9rem; font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.mb-check { color: var(--green); font-size: .9rem; font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.mb-text {
  font-size: .76rem;
  color: var(--text);
  line-height: 1.55;
}
.mb-text strong { font-weight: 700; }

/* ── ATTORNEY CHECKLIST ── */
.pat-checklist {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 40px;
}
.pat-checklist-head {
  background: var(--navy);
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pat-checklist-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.pat-checklist-body {
  padding: 18px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}
.pat-cl-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
}
.pat-cl-item:last-child, .pat-cl-item:nth-last-child(2):nth-child(odd) {
  border-bottom: none;
}
.cl-checkbox {
  width: 18px;
  height: 18px;
  border: 2px solid var(--navy);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  color: var(--navy);
}
.pat-cl-item p {
  font-size: .78rem;
  color: var(--text);
  line-height: 1.5;
  margin: 0;
}
.pat-cl-item p strong { color: var(--navy); }

/* ── RESPONSIVE ── */
@media (max-width: 992px) {
  .pat-stat-bar        { grid-template-columns: repeat(2, 1fr); }
  .pat-mistakes-grid   { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .pat-section         { padding: 36px 0 32px; }
  .pat-tips-grid       { grid-template-columns: 1fr; }
  .pat-checklist-body  { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pat-stat-bar        { grid-template-columns: 1fr 1fr; padding: 18px 16px; }
  .pat-mistakes-grid   { grid-template-columns: 1fr; }
}
/* ══ FAQ ACCORDION — matches calculator design tokens ══ */

.faq-section {
  background: var(--light-bg);
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.faq-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADING */
.faq-heading {
  text-align: center;
  margin-bottom: 36px;
}
.faq-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.faq-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.faq-heading p {
  font-size: .92rem;
  color: var(--muted);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.65;
}

/* STATS ROW */
.faq-stats {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.faq-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 30px;
  font-family: 'Montserrat', sans-serif;
  font-size: .74rem;
  font-weight: 700;
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  color: var(--navy);
}

/* CATEGORY FILTER */
.faq-cat-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  justify-content: center;
}
.faq-cat-btn {
  padding: 8px 18px;
  border-radius: 30px;
  font-family: 'Montserrat', sans-serif;
  font-size: .74rem;
  font-weight: 700;
  cursor: pointer;
  border: 1.5px solid var(--border);
  background: var(--card-bg);
  color: var(--muted);
  transition: all .2s;
  white-space: nowrap;
}
.faq-cat-btn.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.faq-cat-btn:hover:not(.active) {
  border-color: var(--navy);
  color: var(--navy);
}

/* CATEGORY GROUP */
.faq-group {
  margin-bottom: 28px;
}
.faq-group.hidden-group { display: none; }

.faq-group-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border);
}
.faq-group-label .fgl-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  flex-shrink: 0;
}
.fgl-navy   { background: var(--navy); }
.fgl-green  { background: var(--green); }
.fgl-gold   { background: var(--gold); }
.fgl-red    { background: var(--red); }
.fgl-purple { background: var(--purple); }
.fgl-orange { background: var(--orange); }

.faq-group-label h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
}
.faq-group-label .fgl-count {
  margin-left: auto;
  font-size: .7rem;
  font-weight: 700;
  color: var(--muted);
  background: var(--light-bg);
  padding: 2px 9px;
  border-radius: 10px;
  border: 1px solid var(--border);
}

/* ACCORDION ITEM */
.faq-item {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: box-shadow .2s;
}
.faq-item.open {
  box-shadow: 0 3px 14px rgba(0,40,104,.08);
  border-color: var(--navy);
}

.faq-q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}
.faq-q:hover { background: #f8f9ff; }

.faq-q-num {
  font-family: 'Montserrat', sans-serif;
  font-size: .68rem;
  font-weight: 800;
  color: var(--muted);
  flex-shrink: 0;
  width: 22px;
}
.faq-q-text {
  flex: 1;
  font-size: .87rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.4;
}
.faq-item.open .faq-q-text { color: var(--navy); }

.faq-q-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--light-bg);
  border: 1.5px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  color: var(--navy);
  font-weight: 700;
  flex-shrink: 0;
  transition: background .2s, transform .2s;
}
.faq-item.open .faq-q-icon {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
  transform: rotate(45deg);
}

/* ANSWER PANEL */
.faq-a {
  display: none;
  padding: 0 18px 16px 52px;
  border-top: 1px solid var(--border);
}
.faq-item.open .faq-a { display: block; }

.faq-a-main {
  font-size: .82rem;
  color: var(--text);
  line-height: 1.7;
  margin-bottom: 10px;
  padding-top: 13px;
}
.faq-a-main strong { color: var(--navy); }

/* Answer highlight boxes */
.faq-highlight {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 13px;
  border-radius: 8px;
  font-size: .78rem;
  line-height: 1.55;
  margin-top: 8px;
}
.fh-navy   { background: #f0f4ff; border-left: 3px solid var(--navy); }
.fh-green  { background: #e8f5e9; border-left: 3px solid var(--green); }
.fh-gold   { background: #fff8e1; border-left: 3px solid var(--gold); }
.fh-red    { background: #ffebee; border-left: 3px solid var(--red); }
.faq-highlight .fh-icon { font-size: .9rem; flex-shrink: 0; margin-top: 1px; }
.faq-highlight .fh-text { color: var(--text); }
.faq-highlight .fh-text strong { color: var(--navy); }

/* Answer table (mini) */
.faq-mini-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: .76rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.faq-mini-table thead th {
  background: var(--navy);
  color: #fff;
  padding: 7px 12px;
  text-align: left;
  font-family: 'Montserrat', sans-serif;
  font-size: .7rem;
}
.faq-mini-table tbody tr:nth-child(even) { background: #f5f7ff; }
.faq-mini-table tbody tr:hover { background: #eef1ff; }
.faq-mini-table td { padding: 6px 12px; border-bottom: 1px solid var(--border); }
.faq-mini-table .tg { color: var(--green); font-weight: 700; }
.faq-mini-table .tr { color: var(--red); font-weight: 700; }
.faq-mini-table .tb { color: var(--navy); font-weight: 700; }

/* SEARCH BAR */
.faq-search-wrap {
  margin-bottom: 24px;
  position: relative;
}
.faq-search {
  width: 100%;
  padding: 11px 44px 11px 16px;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  font-size: .87rem;
  font-family: 'Inter', sans-serif;
  color: var(--text);
  outline: none;
  transition: border .2s;
  box-sizing: border-box;
}
.faq-search:focus { border-color: var(--navy); }
.faq-search-icon {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: .95rem;
}
.faq-no-results {
  text-align: center;
  padding: 32px 20px;
  color: var(--muted);
  font-size: .88rem;
  display: none;
}

/* BOTTOM CTA */
.faq-cta {
  background: linear-gradient(135deg, var(--navy), #003a80);
  border-radius: 14px;
  padding: 28px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 36px;
}
.faq-cta-text h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 5px;
}
.faq-cta-text p {
  font-size: .8rem;
  color: rgba(255,255,255,.75);
  margin: 0;
  line-height: 1.5;
}
.faq-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  background: var(--green);
  color: #fff;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s;
  border: none;
  cursor: pointer;
}
.faq-cta-btn:hover { background: #006e32; }

/* RESPONSIVE */
@media (max-width: 767px) {
  .faq-section   { padding: 36px 0 32px; }
  .faq-a         { padding-left: 18px; }
  .faq-cta       { flex-direction: column; text-align: center; }
  .faq-cta-btn   { width: 100%; justify-content: center; }
  .faq-q         { padding: 12px 14px; }
  .faq-q-text    { font-size: .82rem; }
}
@media (max-width: 480px) {
  .faq-inner     { padding: 0 14px; }
  .faq-cat-btn   { font-size: .69rem; padding: 7px 12px; }
}
/* ══ RELATED CALCULATORS — matches calculator design tokens ══ */

.rc-section {
  background: #fff;
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.rc-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADING */
.rc-heading {
  text-align: center;
  margin-bottom: 38px;
}
.rc-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--green);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.rc-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.rc-heading p {
  font-size: .92rem;
  color: var(--muted);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.65;
}

/* CARDS GRID */
.rc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 36px;
}

/* CARD */
.rc-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 13px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: box-shadow .22s, transform .22s, border-color .22s;
  cursor: pointer;
}
.rc-card:hover {
  box-shadow: 0 6px 22px rgba(0,40,104,.11);
  transform: translateY(-3px);
  border-color: var(--navy);
  text-decoration: none;
}

/* CARD TOP STRIPE */
.rc-card-stripe {
  height: 5px;
  width: 100%;
  flex-shrink: 0;
}
.stripe-navy   { background: var(--navy); }
.stripe-green  { background: var(--green); }
.stripe-red    { background: var(--red); }
.stripe-gold   { background: var(--gold); }
.stripe-purple { background: var(--purple); }
.stripe-orange { background: var(--orange); }
.stripe-teal   { background: #00796b; }
.stripe-blue   { background: #1565c0; }

/* CARD BODY */
.rc-card-body {
  padding: 18px 18px 14px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.rc-card-icon-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.rc-card-emoji {
  font-size: 1.8rem;
  line-height: 1;
}
.rc-card-cat {
  font-family: 'Montserrat', sans-serif;
  font-size: .63rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  padding: 3px 9px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--light-bg);
  color: var(--muted);
}

.rc-card-title {
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.3;
}
.rc-card-desc {
  font-size: .77rem;
  color: var(--muted);
  line-height: 1.6;
  flex: 1;
  margin-bottom: 14px;
}

/* CARD FEATURES LIST */
.rc-card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 14px 0;
}
.rc-card-features li {
  font-size: .72rem;
  color: var(--text);
  padding: 3px 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rc-card-features li::before {
  content: '✓';
  color: var(--green);
  font-weight: 700;
  font-size: .72rem;
  flex-shrink: 0;
}

/* CARD FOOTER */
.rc-card-footer {
  border-top: 1px solid var(--border);
  padding: 11px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--light-bg);
}
.rc-card-link-text {
  font-family: 'Montserrat', sans-serif;
  font-size: .73rem;
  font-weight: 700;
  color: var(--navy);
}
.rc-card-arrow {
  width: 26px;
  height: 26px;
  background: var(--navy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .75rem;
  transition: background .2s, transform .2s;
}
.rc-card:hover .rc-card-arrow {
  background: var(--green);
  transform: translateX(3px);
}

/* BOTTOM BANNER */
.rc-banner {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 13px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.rc-banner-icon {
  font-size: 2rem;
  flex-shrink: 0;
}
.rc-banner-text { flex: 1; min-width: 200px; }
.rc-banner-text h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .92rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}
.rc-banner-text p {
  font-size: .79rem;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}
.rc-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: var(--navy);
  color: #fff;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s;
}
.rc-banner-btn:hover { background: var(--green); text-decoration: none; color: #fff; }

/* RESPONSIVE */
@media (max-width: 1100px) { .rc-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  {
  .rc-section  { padding: 36px 0 32px; }
  .rc-grid     { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .rc-banner   { flex-direction: column; text-align: center; }
  .rc-banner-btn { width: 100%; justify-content: center; }
}
@media (max-width: 480px)  {
  .rc-grid     { grid-template-columns: 1fr; }
  .rc-inner    { padding: 0 14px; }
}
/* ══ LEGAL DISCLAIMER & EDITORIAL TRANSPARENCY ══ */

.ldet-section {
  background: var(--light-bg);
  padding: 52px 0 48px;
  border-top: 3px solid var(--border);
}
.ldet-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* HEADING */
.ldet-heading {
  text-align: center;
  margin-bottom: 36px;
}
.ldet-heading .section-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.ldet-heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.2rem, 2.8vw, 1.65rem);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
}
.ldet-heading p {
  font-size: .88rem;
  color: var(--muted);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.65;
}

/* TRUST BADGES STRIP */
.ldet-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 32px;
}
.ldet-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  border-radius: 30px;
  font-family: 'Montserrat', sans-serif;
  font-size: .73rem;
  font-weight: 700;
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  color: var(--text);
}
.ldet-trust-badge .tb-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dot-g { background: var(--green); }
.dot-n { background: var(--navy); }
.dot-r { background: var(--red); }
.dot-o { background: var(--gold); }

/* MAIN DISCLAIMER BOX */
.ldet-main-box {
  background: var(--card-bg);
  border: 2px solid var(--red);
  border-radius: 13px;
  overflow: hidden;
  margin-bottom: 22px;
}
.ldet-main-box-head {
  background: var(--red);
  padding: 13px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ldet-main-box-head span { font-size: 1.1rem; }
.ldet-main-box-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.ldet-main-box-body {
  padding: 18px 22px;
}
.ldet-main-box-body p {
  font-size: .82rem;
  color: var(--text);
  line-height: 1.75;
  margin-bottom: 10px;
}
.ldet-main-box-body p:last-child { margin-bottom: 0; }
.ldet-main-box-body strong { color: var(--navy); }

/* THREE-COLUMN BLOCKS */
.ldet-blocks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}
.ldet-block {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  overflow: hidden;
}
.ldet-block-head {
  padding: 11px 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid var(--border);
}
.ldet-block-head .lbh-icon { font-size: 1rem; }
.ldet-block-head h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: .79rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
}
.ldet-block-body {
  padding: 13px 16px;
  font-size: .77rem;
  color: var(--text);
  line-height: 1.65;
}
.ldet-block-body strong { color: var(--navy); }
.ldet-block-body ul {
  padding-left: 0;
  list-style: none;
  margin: 8px 0 0 0;
}
.ldet-block-body ul li {
  padding: 4px 0;
  border-bottom: 1px dashed var(--border);
  display: flex;
  gap: 7px;
  align-items: flex-start;
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.5;
}
.ldet-block-body ul li:last-child { border-bottom: none; }
.ldet-block-body ul li::before {
  content: '▸';
  color: var(--navy);
  font-size: .65rem;
  flex-shrink: 0;
  margin-top: 3px;
}
.ldet-block-body ul li strong { color: var(--text); font-weight: 600; }

/* METHODOLOGY ACCORDION */
.ldet-method-box {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  overflow: hidden;
  margin-bottom: 22px;
}
.ldet-method-head {
  background: var(--navy);
  padding: 13px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ldet-method-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .88rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  flex: 1;
}
.ldet-method-body {
  padding: 18px 22px;
}
.ldet-method-body .lm-row {
  display: flex;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
}
.ldet-method-body .lm-row:last-child { border-bottom: none; }
.lm-state {
  font-family: 'Montserrat', sans-serif;
  font-size: .77rem;
  font-weight: 700;
  color: var(--navy);
  min-width: 130px;
  flex-shrink: 0;
  padding-top: 1px;
}
.lm-formula {
  font-size: .75rem;
  color: var(--text);
  line-height: 1.55;
  flex: 1;
}
.lm-formula code {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: .72rem;
  color: var(--navy);
  font-family: 'Courier New', monospace;
}
.lm-source {
  font-size: .68rem;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 2px;
}

/* SOURCE CITATIONS TABLE */
.ldet-sources-box {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  overflow: hidden;
  margin-bottom: 22px;
}
.ldet-sources-head {
  background: var(--light-bg);
  border-bottom: 2px solid var(--border);
  padding: 11px 20px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.ldet-sources-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
}
.ldet-sources-body {
  padding: 14px 20px;
}
.ldet-src-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
}
.ldet-src-item:last-child { border-bottom: none; }
.ldet-src-num {
  font-family: 'Montserrat', sans-serif;
  font-size: .7rem;
  font-weight: 800;
  color: var(--card-bg);
  background: var(--navy);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.ldet-src-content { flex: 1; }
.ldet-src-title {
  font-size: .79rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 2px;
}
.ldet-src-detail {
  font-size: .72rem;
  color: var(--muted);
  line-height: 1.5;
}
.ldet-src-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: .63rem;
  font-weight: 700;
  margin-top: 3px;
}
.st-law    { background: #e8eeff; color: var(--navy); }
.st-irs    { background: #fff8e1; color: #5d4037; }
.st-state  { background: #e8f5e9; color: #1b5e20; }
.st-court  { background: #fff3e0; color: var(--orange); }
.st-fed    { background: #ffebee; color: var(--red); }

/* EDITORIAL STANDARDS */
.ldet-editorial {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 13px;
  padding: 26px 28px;
  margin-bottom: 22px;
}
.ldet-editorial h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: .95rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ldet-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.ldet-ed-item {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 9px;
  padding: 12px 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.ldet-ed-item .ei-icon { font-size: .95rem; flex-shrink: 0; margin-top: 1px; }
.ldet-ed-item p {
  font-size: .76rem;
  color: rgba(255,255,255,.8);
  line-height: 1.55;
  margin: 0;
}
.ldet-ed-item p strong { color: #fff; display: block; margin-bottom: 2px; }

/* UPDATE POLICY ROW */
.ldet-update-row {
  display: flex;
  gap: 14px;
  align-items: center;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-left: 4px solid var(--green);
  border-radius: 0 10px 10px 0;
  padding: 13px 18px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.ldet-update-row .ur-icon { font-size: 1.2rem; flex-shrink: 0; }
.ldet-update-row .ur-text { flex: 1; min-width: 200px; }
.ldet-update-row .ur-text strong {
  font-family: 'Montserrat', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  color: var(--navy);
  display: block;
  margin-bottom: 3px;
}
.ldet-update-row .ur-text p {
  font-size: .76rem;
  color: var(--muted);
  line-height: 1.5;
  margin: 0;
}
.ldet-update-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}
.ldet-update-meta .um-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: .7rem;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}
.um-green { background: #e8f5e9; color: var(--green); border: 1px solid #a5d6a7; }
.um-navy  { background: #e8eeff; color: var(--navy); border: 1px solid #b0bce8; }

/* FINAL FULL DISCLAIMER */
.ldet-full-disclaimer {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  padding: 18px 22px;
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.75;
}
.ldet-full-disclaimer strong {
  color: var(--text);
  font-weight: 700;
}
.ldet-full-disclaimer .fd-title {
  font-family: 'Montserrat', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  color: var(--navy);
  display: block;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}

/* RESPONSIVE */
@media (max-width: 900px)  { .ldet-blocks-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px)  {
  .ldet-section            { padding: 36px 0 32px; }
  .ldet-editorial-grid     { grid-template-columns: 1fr; }
  .ldet-method-body .lm-row{ flex-direction: column; gap: 4px; }
  .lm-source               { white-space: normal; }
}
@media (max-width: 600px)  {
  .ldet-blocks-grid        { grid-template-columns: 1fr; }
  .ldet-main-box-body      { padding: 14px 16px; }
  .ldet-update-row         { flex-direction: column; gap: 10px; }
}
/* =====================================================
   CRITICAL FIX: PREVENT CSS GRID BLOWOUT ON MOBILE
   ===================================================== */

/* 1. Force the main columns to shrink below their content size */
.two-col > div {
    min-width: 0;
    max-width: 100%;
}

/* 2. Ensure data tables stay inside their bounds and trigger touch-scroll */
.data-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* 3. Keep the chart container strictly bounded so Chart.js scales it down */
.chart-wrap {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

/* 4. Allow long toggle-button text (like the TCJA dates) to wrap on small screens 
      instead of pushing the form container wider than the phone */
.toggle-group label {
    white-space: normal;
    word-wrap: break-word;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
}