:root{
  --navy:#002868;--green:#00843D;--red:#BF0A30;
  --light-bg:#F8F9FF;--card-bg:#FFFFFF;--border:#D0D5E8;
  --text:#1A1F36;--muted:#6B7280;--yellow:#F59E0B;
  --radius:12px;--shadow:0 2px 12px rgba(0,40,104,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:var(--light-bg);color:var(--text);font-size:15px;line-height:1.6}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif}
.wrapper{max-width:1200px;margin:0 auto;padding:24px 16px}
/* Header */
.calc-header{background:var(--navy);color:#fff;padding:32px 24px;border-radius:var(--radius);margin-bottom:24px;text-align:center}
.calc-header h1{font-size:clamp(1.4rem,4vw,2rem);margin-bottom:8px}
.calc-header p{opacity:.85;font-size:.95rem}
/* AdSense */
.adsense-slot{background:#eef2ff;border:1px dashed var(--border);border-radius:8px;padding:16px;text-align:center;color:var(--muted);font-size:.85rem;margin:16px 0}
/* Tabs */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:24px;overflow-x:auto;flex-wrap:nowrap}
.tab-btn{padding:12px 20px;border:none;background:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .2s,border-color .2s}
.tab-btn.active{color:var(--navy);border-bottom-color:var(--green)}
.tab-btn:hover:not(.active){color:var(--navy)}
.tab-panel{display:none}.tab-panel.active{display:block}
/* Two-column layout */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
@media(max-width:768px){.calc-grid{grid-template-columns:1fr}}
/* Cards */
.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:0}
.section-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;color:var(--navy);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}
/* Form fields */
.field-group{margin-bottom:14px}
.field-group label{display:block;font-weight:500;font-size:.88rem;color:var(--text);margin-bottom:5px}
.field-group .hint{font-size:.78rem;color:var(--muted);margin-top:3px}
.field-group input[type=number],
.field-group select{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:.95rem;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;transition:border-color .2s}
.field-group input[type=number]:focus,
.field-group select:focus{border-color:var(--navy)}
.prefix-wrap{position:relative}
.prefix-wrap span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.95rem;pointer-events:none}
.prefix-wrap input{padding-left:26px}
/* Slider */
.slider-wrap{display:flex;align-items:center;gap:10px}
.slider-wrap input[type=range]{flex:1;accent-color:var(--green);height:6px}
.slider-val{background:var(--navy);color:#fff;border-radius:6px;padding:4px 10px;font-weight:700;font-size:.9rem;min-width:52px;text-align:center}
/* Radio toggle */
.radio-group{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:14px}
.radio-group label{flex:1;text-align:center;padding:9px 12px;font-size:.88rem;font-weight:500;cursor:pointer;color:var(--muted);transition:all .2s}
.radio-group input[type=radio]{display:none}
.radio-group input[type=radio]:checked+span{background:var(--navy);color:#fff}
.radio-group label:has(input:checked){background:var(--navy);color:#fff}
.method-section{display:none}.method-section.active{display:block}
/* Alerts */
.alert{border-radius:8px;padding:10px 14px;font-size:.85rem;margin:10px 0;display:none}
.alert.show{display:flex;gap:8px;align-items:flex-start}
.alert-red{background:#fff0f0;border:1px solid #fca5a5;color:#991b1b}
.alert-yellow{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}
.alert-green{background:#f0fdf4;border:1px solid #86efac;color:#166534}
/* Results */
.results-card{background:var(--light-bg);border-radius:var(--radius);border-left:4px solid var(--green);padding:20px}
.result-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:.9rem}
.result-row:last-child{border-bottom:none}
.result-row.deduction .val{color:var(--red)}
.result-row.total{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.25rem;padding:12px 0;color:var(--green);border-top:2px solid var(--green);border-bottom:none}
.result-row .label{color:var(--muted);font-size:.85rem}
.result-row .val{font-weight:600}
.benchmark-box{background:#eef5ff;border-radius:8px;padding:10px 14px;margin-top:12px;font-size:.85rem;color:var(--navy)}
.benchmark-box strong{display:block;font-family:'Montserrat',sans-serif;font-size:.8rem;margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}
/* Actions */
.calc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.btn{padding:12px 22px;border-radius:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;border:none;transition:opacity .2s;white-space:nowrap}
.btn:hover{opacity:.88}
.btn-primary{background:var(--green);color:#fff}
.btn-secondary{background:var(--navy);color:#fff}
.btn-danger{background:transparent;color:var(--red);border:2px solid var(--red)}
.btn-wa{background:#25D366;color:#fff}
/* Chart */
.chart-wrap{margin-top:20px;position:relative;height:200px}
/* Comparison table */
.compare-table{width:100%;border-collapse:collapse;margin-top:16px}
.compare-table th{background:var(--navy);color:#fff;padding:10px 14px;font-family:'Montserrat',sans-serif;font-size:.85rem;text-align:left}
.compare-table td{padding:10px 14px;border-bottom:1px solid var(--border);font-size:.9rem}
.compare-table tr:nth-child(even) td{background:#f8f9ff}
.compare-table .winner{background:#f0fdf4;font-weight:700;color:var(--green)}
.compare-table .loser{color:var(--muted)}
/* Colossus */
.score-factor{margin-bottom:14px}
.score-factor label{display:block;font-weight:500;font-size:.88rem;margin-bottom:5px}
.score-gauge{height:20px;border-radius:10px;background:var(--border);overflow:hidden;margin:10px 0}
.score-gauge-fill{height:100%;border-radius:10px;transition:width .4s,background .4s}
.score-result-box{background:var(--card-bg);border-radius:10px;padding:16px;margin-top:16px;border:2px solid var(--border)}
.colossus-tips{margin-top:12px;padding:12px 16px;background:#f8f9ff;border-radius:8px;font-size:.85rem}
.colossus-tips li{margin-bottom:6px;color:var(--text)}
/* Structured settlement table */
.payment-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.88rem}
.payment-table th{background:var(--navy);color:#fff;padding:8px 12px}
.payment-table td{padding:8px 12px;border-bottom:1px solid var(--border)}
.payment-table tr:nth-child(even) td{background:#f8f9ff}
.tax-note{background:#fff9f0;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;font-size:.83rem;color:#9a3412;margin-top:14px}
/* Responsive */
@media(max-width:768px){
  .calc-actions{flex-direction:column}
  .btn{width:100%;text-align:center}
  .tabs{gap:0}
  .tab-btn{padding:10px 14px;font-size:.82rem}
}
/* Placeholder for empty result */
.placeholder-msg{text-align:center;color:var(--muted);padding:30px 10px;font-size:.9rem}

/* =====================================================
   EDUCATIONAL SECTIONS — Personal Injury Calculator
   Matches existing .card, .section-title, .calc-grid
   ===================================================== */

/* Section wrapper */
.edu-section { margin-top: 32px; }
.edu-section + .edu-section { margin-top: 28px; }

/* ── How It Works ── */
.hiw-steps { display: grid; gap: 0; margin: 16px 0 20px; }
.hiw-step {
  display: grid; grid-template-columns: 48px 1fr; gap: 16px;
  padding: 18px 0; border-bottom: 1px solid var(--border); align-items: start;
}
.hiw-step:last-child { border-bottom: none; }
.hiw-num {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--navy); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1rem;
  flex-shrink: 0; margin-top: 2px;
}
.hiw-body h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .93rem; color: var(--navy); margin-bottom: 5px;
}
.hiw-body p { font-size: .87rem; color: var(--text); line-height: 1.65; margin: 0 0 6px; }
.hiw-body p:last-child { margin: 0; }
.hiw-tag {
  display: inline-block; padding: 3px 10px;
  border-radius: 6px; font-size: .75rem; font-weight: 600;
  letter-spacing: .03em; margin-right: 4px; margin-top: 4px;
}
.tag-green { background: #f0fdf4; border: 1px solid #86efac; color: #166534; }
.tag-navy  { background: #eff6ff; border: 1px solid #93c5fd; color: #1e40af; }
.tag-red   { background: #fff0f0; border: 1px solid #fca5a5; color: #991b1b; }
.tag-yellow{ background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; }

/* ── Damage Type Cards ── */
.damage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0; }
.damage-card {
  background: var(--light-bg); border: 1px solid var(--border);
  border-radius: 10px; padding: 18px;
}
.damage-card.featured { border-color: var(--green); border-width: 2px; }
.damage-card .damage-icon { font-size: 1.6rem; margin-bottom: 8px; line-height: 1; }
.damage-card h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .9rem; color: var(--navy); margin-bottom: 6px;
}
.damage-card p { font-size: .84rem; color: var(--muted); line-height: 1.6; margin: 0 0 8px; }
.damage-card p:last-child { margin: 0; }
.damage-card ul { padding-left: 16px; margin: 0; }
.damage-card ul li { font-size: .83rem; color: var(--text); line-height: 1.65; margin-bottom: 3px; }

/* ── Negligence Rules Table ── */
.neg-table-wrap { overflow-x: auto; margin: 16px 0; border-radius: 10px; border: 1px solid var(--border); }
.neg-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.neg-table thead tr { background: var(--navy); color: #fff; }
.neg-table th { padding: 10px 14px; font-family: 'Montserrat', sans-serif; font-size: .82rem; text-align: left; }
.neg-table td { padding: 10px 14px; border-bottom: 1px solid var(--border); vertical-align: top; }
.neg-table tr:last-child td { border-bottom: none; }
.neg-table tr:nth-child(even) td { background: #f8f9ff; }
.neg-badge {
  display: inline-block; padding: 3px 9px; border-radius: 20px;
  font-size: .75rem; font-weight: 700; white-space: nowrap;
}
.neg-pure  { background: #f0fdf4; color: #166534; }
.neg-mod50 { background: #fffbeb; color: #92400e; }
.neg-mod51 { background: #eff6ff; color: #1e40af; }
.neg-cont  { background: #fff0f0; color: #991b1b; }

/* ── Settlement Factors ── */
.factors-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 16px 0; }
.factor-card {
  border: 1.5px solid var(--border); border-radius: 10px;
  padding: 16px; background: #fff;
}
.factor-card .f-icon { font-size: 1.4rem; margin-bottom: 6px; }
.factor-card h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .88rem; color: var(--navy); margin-bottom: 5px;
}
.factor-card p { font-size: .82rem; color: var(--muted); margin: 0; line-height: 1.55; }
.factor-bar-wrap { margin-top: 8px; }
.factor-bar-label { display: flex; justify-content: space-between; font-size: .75rem; color: var(--muted); margin-bottom: 3px; }
.factor-bar { height: 7px; border-radius: 4px; background: var(--border); overflow: hidden; }
.factor-bar-fill { height: 100%; border-radius: 4px; }
.fill-high   { background: var(--green);  }
.fill-medium { background: var(--yellow); }
.fill-low    { background: #94a3b8;       }

/* ── Settlement Timeline ── */
.timeline { display: flex; gap: 0; align-items: stretch; margin: 16px 0; overflow-x: auto; padding-bottom: 4px; }
.tl-step {
  flex: 1; min-width: 120px; text-align: center;
  padding: 14px 12px; background: #fff;
  border: 1px solid var(--border); border-right: none;
  position: relative;
}
.tl-step:first-child { border-radius: 8px 0 0 8px; }
.tl-step:last-child  { border-radius: 0 8px 8px 0; border-right: 1px solid var(--border); }
.tl-step.active { background: var(--navy); }
.tl-num {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--light-bg); color: var(--navy);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: .85rem;
  margin: 0 auto 8px;
}
.tl-step.active .tl-num { background: var(--green); color: #fff; }
.tl-step h5 {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .78rem; color: var(--navy); margin-bottom: 4px;
}
.tl-step.active h5 { color: #fff; }
.tl-step p { font-size: .73rem; color: var(--muted); margin: 0; line-height: 1.5; }
.tl-step.active p { color: rgba(255,255,255,.7); }
.tl-arrow {
  position: absolute; right: -10px; top: 50%; transform: translateY(-50%);
  width: 20px; height: 20px; z-index: 1;
  color: var(--border); font-size: 1rem; line-height: 20px;
}

/* ── Info Callout ── */
.info-callout {
  display: flex; gap: 12px; align-items: flex-start;
  background: #eff6ff; border: 1px solid #93c5fd;
  border-radius: 10px; padding: 14px 16px;
  font-size: .87rem; color: #1e40af; margin: 16px 0;
}
.info-callout svg { flex-shrink: 0; margin-top: 2px; }
.info-callout p { margin: 0; line-height: 1.6; }
.warning-callout {
  display: flex; gap: 12px; align-items: flex-start;
  background: #fffbeb; border: 1px solid #fcd34d;
  border-radius: 10px; padding: 14px 16px;
  font-size: .87rem; color: #92400e; margin: 16px 0;
}
.warning-callout p { margin: 0; line-height: 1.6; }

/* ── FAQ Accordion ── */
.faq-list { display: grid; gap: 8px; margin: 16px 0; }
.faq-item { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: #fff; }
.faq-q {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  padding: 14px 18px; background: none; border: none; cursor: pointer;
  font-family: 'Montserrat', sans-serif; font-weight: 600;
  font-size: .9rem; color: var(--navy); text-align: left; gap: 12px;
  transition: background .18s;
}
.faq-q:hover { background: var(--light-bg); }
.faq-q.open  { background: var(--light-bg); }
.faq-q svg { flex-shrink: 0; transition: transform .25s; color: var(--green); }
.faq-q.open svg { transform: rotate(45deg); }
.faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height .35s ease, padding .2s;
  font-size: .88rem; color: var(--text); line-height: 1.7;
}
.faq-a.open { max-height: 400px; }
.faq-a-inner { padding: 0 18px 16px; }
.faq-a-inner p { margin: 0 0 8px; }
.faq-a-inner p:last-child { margin: 0; }
.faq-a-inner ul { padding-left: 18px; margin: 6px 0; }
.faq-a-inner ul li { margin-bottom: 4px; }

/* ── Related Calculators ── */
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 16px 0; }
.related-card {
  display: flex; flex-direction: column;
  border: 1.5px solid var(--border); border-radius: 10px;
  padding: 16px; background: #fff;
  text-decoration: none; color: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.related-card:hover { border-color: var(--green); box-shadow: var(--shadow); }
.related-card .rc-icon { font-size: 1.5rem; margin-bottom: 8px; }
.related-card h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .87rem; color: var(--navy); margin-bottom: 4px;
}
.related-card p { font-size: .8rem; color: var(--muted); margin: 0; line-height: 1.5; flex: 1; }
.related-card .rc-link {
  margin-top: 10px; font-size: .78rem; font-weight: 600;
  color: var(--green); display: flex; align-items: center; gap: 4px;
}

/* ── Responsive — all sections ── */
@media (max-width: 768px) {
  .damage-grid   { grid-template-columns: 1fr; }
  .factors-grid  { grid-template-columns: 1fr; }
  .related-grid  { grid-template-columns: 1fr 1fr; }
  .hiw-step      { grid-template-columns: 40px 1fr; gap: 12px; }
  .hiw-num       { width: 36px; height: 36px; font-size: .88rem; }
  .timeline      { flex-direction: column; }
  .tl-step       { border-right: 1px solid var(--border); border-bottom: none; border-radius: 0; }
  .tl-step:first-child { border-radius: 8px 8px 0 0; }
  .tl-step:last-child  { border-radius: 0 0 8px 8px; border-bottom: 1px solid var(--border); }
  .tl-arrow      { display: none; }
}
@media (max-width: 480px) {
  .related-grid  { grid-template-columns: 1fr; }
  .neg-table th:nth-child(4), .neg-table td:nth-child(4) { display: none; }
}
/* ── Real Case Examples Section ────────────────────────────── */
.rce-section { margin-top: 32px; }

/* Case cards grid */
.rce-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 18px;
}
/* Wide featured card (spans both columns) */
.rce-card-wide { grid-column: 1 / -1; }

/* Individual case card */
.rce-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
}

/* Card header strip */
.rce-header {
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.rce-header-navy  { background: var(--navy);   color: #fff; }
.rce-header-green { background: var(--green);  color: #fff; }
.rce-header-red   { background: var(--red);    color: #fff; }
.rce-header-teal  { background: #0e7490;       color: #fff; }
.rce-header-purple{ background: #6d28d9;       color: #fff; }

.rce-header-left h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1rem;
  margin: 0 0 3px;
  line-height: 1.2;
}
.rce-header-left span {
  font-size: .78rem;
  opacity: .85;
  font-weight: 500;
}
.rce-settlement {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  white-space: nowrap;
}

/* Card body */
.rce-body { padding: 18px 20px; flex: 1; display: flex; flex-direction: column; gap: 14px; }

/* Facts paragraph */
.rce-facts {
  font-size: .88rem;
  color: var(--text);
  line-height: 1.7;
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

/* Damage breakdown mini table */
.rce-breakdown { display: grid; gap: 0; }
.rce-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px dashed var(--border);
  font-size: .86rem;
}
.rce-row:last-child { border-bottom: none; }
.rce-row .rlbl { color: var(--muted); }
.rce-row .rval { font-weight: 600; color: var(--text); }
.rce-row.rtotal {
  border-top: 2px solid var(--navy);
  border-bottom: none;
  padding-top: 10px;
  margin-top: 4px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
}
.rce-row.rtotal .rlbl { color: var(--navy); font-size: .88rem; }
.rce-row.rtotal .rval { color: var(--green); font-size: 1.05rem; }

/* Key factors tags */
.rce-factors { display: flex; flex-wrap: wrap; gap: 6px; }
.rce-factors-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: .76rem;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}
.rce-tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: .76rem;
  font-weight: 600;
  border: 1px solid;
}
.rce-tag-green  { background: #f0fdf4; border-color: #86efac; color: #166534; }
.rce-tag-navy   { background: #eff6ff; border-color: #93c5fd; color: #1e40af; }
.rce-tag-red    { background: #fff0f0; border-color: #fca5a5; color: #991b1b; }
.rce-tag-yellow { background: #fffbeb; border-color: #fcd34d; color: #92400e; }
.rce-tag-purple { background: #faf5ff; border-color: #d8b4fe; color: #6d28d9; }

/* State + negligence badge row */
.rce-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.rce-state-badge {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: .75rem;
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 3px 9px;
  color: var(--navy);
}
.rce-neg-badge {
  font-size: .74rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 20px;
}
.neg-pure-sm   { background: #f0fdf4; color: #166534; }
.neg-mod51-sm  { background: #eff6ff; color: #1e40af; }
.neg-cont-sm   { background: #fff0f0; color: #991b1b; }

/* Disclaimer */
.rce-disclaimer {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: .8rem;
  color: var(--muted);
  margin-top: 18px;
  line-height: 1.6;
}

/* ── Responsive ─────────────────── */
@media (max-width: 768px) {
  .rce-grid { grid-template-columns: 1fr; }
  .rce-card-wide { grid-column: auto; }
  .rce-settlement { font-size: 1.25rem; }
}
@media (max-width: 480px) {
  .rce-header { flex-direction: column; align-items: flex-start; gap: 6px; }
  .rce-body { padding: 14px 16px; }
}
/* ── Pro Tips Section ───────────────────────────────────────── */
.pt-section { margin-top: 32px; }

/* Header intro row */
.pt-intro {
  font-size: .9rem; color: var(--muted);
  line-height: 1.75; margin: 0 0 20px;
}

/* Tips grid */
.pt-grid { display: grid; gap: 20px; }

/* Individual tip card */
.pt-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}

/* Tip card top bar */
.pt-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--border);
  background: var(--light-bg);
}
.pt-num {
  width: 42px; height: 42px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: 1.05rem; color: #fff; flex-shrink: 0;
}
.pt-num-1 { background: var(--navy);  }
.pt-num-2 { background: var(--green); }
.pt-num-3 { background: #0e7490;     }
.pt-num-4 { background: #d97706;     }
.pt-num-5 { background: #7c3aed;     }

.pt-bar-text { flex: 1; }
.pt-bar-text h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800; font-size: .98rem;
  color: var(--navy); margin: 0 0 3px; line-height: 1.25;
}
.pt-bar-text span {
  font-size: .78rem; color: var(--muted); font-weight: 500;
}
.pt-icon { font-size: 1.8rem; flex-shrink: 0; }

/* Tip body */
.pt-body { padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; }

/* Body copy */
.pt-copy {
  font-size: .9rem; color: var(--text);
  line-height: 1.75; margin: 0;
}

/* Two-column layout inside a card */
.pt-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* Do This / Avoid boxes */
.pt-do, .pt-avoid, .pt-stat {
  border-radius: 8px;
  padding: 13px 15px;
  font-size: .85rem;
  line-height: 1.65;
}
.pt-do {
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #14532d;
}
.pt-avoid {
  background: #fff0f0;
  border: 1px solid #fca5a5;
  color: #7f1d1d;
}
.pt-stat {
  background: #eff6ff;
  border: 1px solid #93c5fd;
  color: #1e3a8a;
}
.pt-warn {
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 8px;
  padding: 13px 15px;
  font-size: .85rem;
  line-height: 1.65;
  color: #78350f;
}
.pt-box-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; font-size: .73rem;
  text-transform: uppercase; letter-spacing: .07em;
  margin-bottom: 6px; display: flex; align-items: center; gap: 5px;
}

/* Checklist inside a box */
.pt-checklist {
  list-style: none; padding: 0; margin: 6px 0 0;
  display: grid; gap: 4px;
}
.pt-checklist li {
  font-size: .84rem; color: var(--text);
  padding-left: 20px; position: relative;
  line-height: 1.55;
}
.pt-checklist li::before {
  content: '✓';
  position: absolute; left: 0;
  color: var(--green); font-weight: 700;
}

/* Avoid list */
.pt-xlist {
  list-style: none; padding: 0; margin: 6px 0 0;
  display: grid; gap: 4px;
}
.pt-xlist li {
  font-size: .84rem; color: #7f1d1d;
  padding-left: 20px; position: relative;
  line-height: 1.55;
}
.pt-xlist li::before {
  content: '✕';
  position: absolute; left: 0;
  color: var(--red); font-weight: 700;
}

/* Stat callout row */
.pt-stat-row {
  display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap;
}
.pt-stat-box {
  flex: 1; min-width: 130px;
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 14px;
  text-align: center;
}
.pt-stat-box .sv {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800; font-size: 1.35rem;
  line-height: 1; margin-bottom: 5px;
  display: block;
}
.pt-stat-box .sl {
  font-size: .75rem; color: var(--muted); line-height: 1.4;
  display: block;
}
.sv-green  { color: var(--green); }
.sv-navy   { color: var(--navy);  }
.sv-red    { color: var(--red);   }
.sv-teal   { color: #0e7490;     }
.sv-purple { color: #7c3aed;     }

/* Step list */
.pt-steps {
  list-style: none; padding: 0; margin: 0;
  counter-reset: step-counter;
  display: grid; gap: 8px;
}
.pt-steps li {
  font-size: .87rem; color: var(--text);
  padding: 9px 12px 9px 38px;
  position: relative;
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 7px;
  line-height: 1.55;
  counter-increment: step-counter;
}
.pt-steps li::before {
  content: counter(step-counter);
  position: absolute; left: 10px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--navy); color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800; font-size: .72rem;
  display: flex; align-items: center; justify-content: center;
  top: 50%; transform: translateY(-50%);
}
.pt-steps li strong { color: var(--navy); }

/* ── Responsive ───────────────────────────────── */
@media (max-width: 768px) {
  .pt-cols { grid-template-columns: 1fr; }
  .pt-body { padding: 14px 16px; }
  .pt-bar  { padding: 13px 16px; }
  .pt-stat-row { flex-direction: column; }
  .pt-stat-box { min-width: unset; }
}
@media (max-width: 480px) {
  .pt-bar-text h3 { font-size: .9rem; }
  .pt-icon { font-size: 1.4rem; }
}
/* ── PI FAQ Section ──────────────────────────────────────────── */
.pifaq-section { margin-top: 32px; }

/* Category group */
.pifaq-group { margin-bottom: 24px; }
.pifaq-group:last-child { margin-bottom: 0; }

.pifaq-cat-label {
  display: flex; align-items: center; gap: 10px;
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .82rem; color: var(--navy);
  text-transform: uppercase; letter-spacing: .07em;
  margin-bottom: 10px; padding-bottom: 8px;
  border-bottom: 2px solid var(--navy);
}
.pifaq-cat-label span.cat-icon {
  width: 28px; height: 28px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0;
}
.cat-blue   { background: #eff6ff; }
.cat-green  { background: #f0fdf4; }
.cat-red    { background: #fff0f0; }
.cat-yellow { background: #fffbeb; }
.cat-purple { background: #faf5ff; }
.cat-teal   { background: #f0fdfa; }
.cat-navy   { background: #eff6ff; }
.cat-orange { background: #fff7ed; }

/* FAQ item */
.pifaq-list { display: grid; gap: 7px; }
.pifaq-item {
  border: 1px solid var(--border);
  border-radius: 10px; overflow: hidden;
  background: var(--card-bg);
  transition: border-color .18s;
}
.pifaq-item:has(.pifaq-q.open) { border-color: #93c5fd; }

/* Question button */
.pifaq-q {
  width: 100%; display: flex; justify-content: space-between;
  align-items: flex-start; padding: 13px 16px;
  background: none; border: none; cursor: pointer;
  font-family: 'Montserrat', sans-serif; font-weight: 600;
  font-size: .88rem; color: var(--navy); text-align: left;
  gap: 12px; line-height: 1.4;
  transition: background .15s;
}
.pifaq-q:hover  { background: var(--light-bg); }
.pifaq-q.open   { background: #eff6ff; }
.pifaq-q-icon {
  flex-shrink: 0; width: 22px; height: 22px;
  border-radius: 50%; background: var(--light-bg);
  border: 1.5px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  color: var(--green); transition: transform .25s, background .15s;
  margin-top: 1px;
}
.pifaq-q.open .pifaq-q-icon {
  transform: rotate(45deg);
  background: var(--green); border-color: var(--green); color: #fff;
}

/* Answer panel */
.pifaq-a {
  max-height: 0; overflow: hidden;
  transition: max-height .38s ease;
}
.pifaq-a.open { max-height: 800px; }
.pifaq-a-inner {
  padding: 4px 16px 16px;
  font-size: .87rem; color: var(--text); line-height: 1.75;
  border-top: 1px solid var(--border);
}
.pifaq-a-inner p  { margin: 0 0 9px; }
.pifaq-a-inner p:last-child { margin: 0; }
.pifaq-a-inner ul { padding-left: 18px; margin: 6px 0 9px; }
.pifaq-a-inner li { margin-bottom: 5px; line-height: 1.6; }
.pifaq-a-inner strong { color: var(--navy); }

/* Inline pill tags inside answers */
.apill {
  display: inline-block; padding: 2px 8px;
  border-radius: 5px; font-size: .76rem; font-weight: 600;
  vertical-align: middle; margin: 0 2px;
}
.apill-green  { background: #f0fdf4; color: #166534; }
.apill-navy   { background: #eff6ff; color: #1e40af; }
.apill-red    { background: #fff0f0; color: #991b1b; }
.apill-yellow { background: #fffbeb; color: #92400e; }

/* Stats inside answers */
.a-stats {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin: 10px 0; 
}
.a-stat-box {
  flex: 1; min-width: 110px;
  background: var(--light-bg); border: 1px solid var(--border);
  border-radius: 7px; padding: 9px 12px; text-align: center;
}
.a-stat-box .asv {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: 1.15rem; color: var(--navy); line-height: 1;
  display: block; margin-bottom: 4px;
}
.a-stat-box .asl { font-size: .75rem; color: var(--muted); display: block; line-height: 1.35; }

/* Total count badge */
.pifaq-count {
  display: inline-block; padding: 3px 10px;
  background: var(--navy); color: #fff;
  border-radius: 20px; font-size: .75rem;
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  margin-left: 8px; vertical-align: middle;
}

/* ── Responsive ─────────────────────────── */
@media (max-width: 600px) {
  .pifaq-q    { font-size: .84rem; padding: 11px 13px; }
  .a-stats    { flex-direction: column; }
  .a-stat-box { min-width: unset; }
}
/* ── Related Calculators Section ───────────────────────────── */
.rc-section { margin-top: 32px; }

/* Intro strip */
.rc-intro {
  font-size: .9rem; color: var(--muted);
  line-height: 1.75; margin: 0 0 22px;
}

/* Category block */
.rc-group { margin-bottom: 24px; }
.rc-group:last-child { margin-bottom: 0; }

.rc-cat-bar {
  display: flex; align-items: center; gap: 10px;
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .8rem; color: var(--navy);
  text-transform: uppercase; letter-spacing: .07em;
  margin-bottom: 12px; padding-bottom: 8px;
  border-bottom: 2px solid var(--border);
}
.rc-cat-icon {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem; flex-shrink: 0;
}
.rci-green  { background: #f0fdf4; }
.rci-navy   { background: #eff6ff; }
.rci-orange { background: #fff7ed; }
.rci-purple { background: #faf5ff; }
.rci-teal   { background: #f0fdfa; }
.rci-red    { background: #fff0f0; }

/* Grid of cards */
.rc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.rc-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.rc-grid-featured {
  grid-template-columns: repeat(2, 1fr);
}

/* Individual calc card */
.rc-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  padding: 0;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .18s, box-shadow .18s, border-color .18s;
  text-decoration: none; color: inherit;
}
.rc-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: #93c5fd;
  text-decoration: none;
}
.rc-card:active { transform: translateY(0); }

/* Card top color strip */
.rc-card-strip {
  height: 5px; width: 100%;
}
.strip-green  { background: var(--green); }
.strip-navy   { background: var(--navy);  }
.strip-orange { background: #f59e0b;      }
.strip-purple { background: #7c3aed;      }
.strip-teal   { background: #0e7490;      }
.strip-red    { background: var(--red);   }
.strip-blue   { background: #0369a1;      }
.strip-indigo { background: #4338ca;      }

/* Card body */
.rc-card-body {
  padding: 14px 16px 12px;
  flex: 1; display: flex; flex-direction: column; gap: 6px;
}

/* Icon + title row */
.rc-card-head {
  display: flex; align-items: flex-start; gap: 10px;
}
.rc-card-emoji {
  font-size: 1.4rem; flex-shrink: 0; line-height: 1.2;
  margin-top: 1px;
}
.rc-card-title-group { flex: 1; }
.rc-card-title {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .87rem; color: var(--navy);
  line-height: 1.3; margin: 0 0 3px;
}

/* Badges row */
.rc-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 2px; }
.rc-badge {
  font-size: .68rem; font-family: 'Montserrat', sans-serif;
  font-weight: 700; padding: 2px 7px; border-radius: 20px;
  text-transform: uppercase; letter-spacing: .05em;
}
.badge-top    { background: #fef3c7; color: #92400e; }
.badge-legal  { background: #eff6ff; color: #1d4ed8; }
.badge-ins    { background: #f0fdf4; color: #166534; }
.badge-fin    { background: #faf5ff; color: #6d28d9; }
.badge-free   { background: #f0fdfa; color: #0f766e; }

/* Description */
.rc-card-desc {
  font-size: .81rem; color: var(--muted);
  line-height: 1.6; flex: 1;
}

/* CTA link row */
.rc-card-cta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 8px; padding-top: 9px;
  border-top: 1px solid var(--border);
}
.rc-cta-text {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .78rem; color: var(--navy); letter-spacing: .02em;
}
.rc-cta-arrow {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--navy); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; flex-shrink: 0;
  transition: background .15s, transform .15s;
}
.rc-card:hover .rc-cta-arrow {
  background: var(--green); transform: translateX(3px);
}

/* Featured cards (2-col, slightly larger) */
.rc-card.featured { border-width: 2px; }
.rc-card.featured .rc-card-strip { height: 6px; }
.rc-card.featured .rc-card-title { font-size: .93rem; }
.rc-card.featured .rc-card-desc  { font-size: .84rem; }
.rc-card.featured .rc-card-emoji { font-size: 1.65rem; }

/* Stat line inside featured card */
.rc-card-stat {
  display: flex; gap: 10px; flex-wrap: wrap;
}
.rc-stat-chip {
  background: var(--light-bg); border: 1px solid var(--border);
  border-radius: 6px; padding: 5px 9px; font-size: .78rem;
  color: var(--text);
}
.rc-stat-chip strong { color: var(--navy); }

/* Hub link banner */
.rc-hub-banner {
  margin-top: 20px;
  display: flex; align-items: center; justify-content: space-between;
  background: var(--navy); color: #fff;
  border-radius: var(--radius); padding: 16px 22px;
  gap: 12px;
}
.rc-hub-text h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .97rem; margin: 0 0 4px;
}
.rc-hub-text p {
  font-size: .83rem; color: rgba(255,255,255,.75);
  margin: 0; line-height: 1.5;
}
.rc-hub-btn {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--green); color: #fff;
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .82rem; padding: 10px 18px;
  border-radius: 8px; white-space: nowrap;
  text-decoration: none; flex-shrink: 0;
  transition: background .15s, transform .15s;
}
.rc-hub-btn:hover { background: #15803d; transform: translateY(-1px); }
.rc-hub-count {
  background: rgba(255,255,255,.2); border-radius: 20px;
  padding: 2px 8px; font-size: .72rem; font-weight: 700;
}

/* ── Responsive ────────────────────────────── */
@media (max-width: 900px) {
  .rc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .rc-grid,
  .rc-grid-featured { grid-template-columns: 1fr; }
  .rc-hub-banner    { flex-direction: column; align-items: flex-start; }
  .rc-hub-btn       { width: 100%; justify-content: center; }
}
/* ── Disclaimer & Transparency Section ─────────────────────── */
.ld-section { margin-top: 32px; }

/* ── Disclaimer Alert Banner ─── */
.ld-alert {
  display: flex; align-items: flex-start; gap: 14px;
  background: #fff7ed;
  border: 2px solid #f97316;
  border-radius: var(--radius);
  padding: 18px 20px;
  margin-bottom: 20px;
}
.ld-alert-icon {
  font-size: 1.8rem; flex-shrink: 0; line-height: 1;
  margin-top: 1px;
}
.ld-alert-body h3 {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .97rem; color: #9a3412; margin: 0 0 6px;
}
.ld-alert-body p {
  font-size: .86rem; color: #7c2d12;
  line-height: 1.75; margin: 0;
}

/* ── Two-col layout ─── */
.ld-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

/* ── Inner card blocks ─── */
.ld-block {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.ld-block-head {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px;
  background: var(--light-bg);
  border-bottom: 1px solid var(--border);
}
.ld-block-head-icon {
  width: 30px; height: 30px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0;
}
.lbhi-navy   { background: #eff6ff; }
.lbhi-green  { background: #f0fdf4; }
.lbhi-orange { background: #fff7ed; }
.lbhi-purple { background: #faf5ff; }
.ld-block-head h4 {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .83rem; color: var(--navy); margin: 0;
  text-transform: uppercase; letter-spacing: .06em;
}
.ld-block-body {
  padding: 14px 16px;
  font-size: .84rem; color: var(--text); line-height: 1.75;
}
.ld-block-body p { margin: 0 0 8px; }
.ld-block-body p:last-child { margin: 0; }
.ld-block-body ul {
  padding-left: 16px; margin: 5px 0 8px;
}
.ld-block-body li { margin-bottom: 5px; line-height: 1.6; }
.ld-block-body strong { color: var(--navy); }

/* ── Methodology row ─── */
.ld-method-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
.ld-method-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 13px 14px;
  display: flex; flex-direction: column; gap: 6px;
}
.ld-method-card .mc-icon {
  font-size: 1.3rem; line-height: 1;
}
.ld-method-card .mc-label {
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .77rem; color: var(--navy);
  text-transform: uppercase; letter-spacing: .06em;
}
.ld-method-card .mc-desc {
  font-size: .8rem; color: var(--muted); line-height: 1.6;
}

/* ── Authority Links ─── */
.ld-gov-section { margin-bottom: 20px; }
.ld-gov-intro {
  font-size: .85rem; color: var(--muted);
  line-height: 1.7; margin-bottom: 14px;
}
.ld-gov-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.ld-gov-card {
  display: flex; align-items: flex-start; gap: 11px;
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 9px;
  padding: 12px 14px;
  text-decoration: none; color: inherit;
  transition: border-color .18s, box-shadow .18s, transform .15s;
}
.ld-gov-card:hover {
  border-color: var(--navy);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
  text-decoration: none;
}
.ld-gov-badge {
  flex-shrink: 0;
  padding: 3px 7px;
  border-radius: 5px;
  font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: .68rem; text-transform: uppercase;
  letter-spacing: .04em; margin-top: 2px;
}
.gb-gov   { background: #dbeafe; color: #1e3a8a; }
.gb-irs   { background: #fef3c7; color: #92400e; }
.gb-dol   { background: #f0fdf4; color: #14532d; }
.gb-cms   { background: #f0fdfa; color: #134e4a; }
.gb-doj   { background: #eff6ff; color: #1e40af; }
.gb-ftc   { background: #faf5ff; color: #4c1d95; }
.gb-bls   { background: #fff0f0; color: #7f1d1d; }
.gb-nhtsa { background: #fff7ed; color: #7c2d12; }
.ld-gov-info { flex: 1; }
.ld-gov-info strong {
  display: block;
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .84rem; color: var(--navy); margin-bottom: 3px;
  line-height: 1.3;
}
.ld-gov-info p {
  font-size: .78rem; color: var(--muted); margin: 0;
  line-height: 1.55;
}
.ld-gov-arrow {
  flex-shrink: 0; font-size: .8rem; color: var(--muted);
  margin-top: 3px;
  transition: color .15s, transform .15s;
}
.ld-gov-card:hover .ld-gov-arrow {
  color: var(--navy); transform: translateX(3px);
}

/* ── Footer strip ─── */
.ld-footer-strip {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 10px;
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 12px 18px;
  font-size: .8rem; color: var(--muted);
}
.ld-footer-strip .lf-left {
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center;
}
.ld-footer-item {
  display: flex; align-items: center; gap: 5px;
}
.ld-footer-item strong { color: var(--navy); }
.ld-footer-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: #f0fdf4; border: 1px solid #86efac;
  border-radius: 20px; padding: 3px 10px;
  font-size: .72rem; font-weight: 700;
  color: #15803d; font-family: 'Montserrat', sans-serif;
  letter-spacing: .03em;
}

/* ── Responsive ─────────────────────── */
@media (max-width: 768px) {
  .ld-cols          { grid-template-columns: 1fr; }
  .ld-method-grid   { grid-template-columns: repeat(2, 1fr); }
  .ld-gov-grid      { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .ld-method-grid   { grid-template-columns: 1fr; }
  .ld-alert         { flex-direction: column; gap: 8px; }
  .ld-footer-strip  { flex-direction: column; align-items: flex-start; }
}
