: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;overflow-x:hidden}
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 24px;text-align:center}
.calc-header h1{font-size:clamp(1.3rem,4vw,1.95rem);font-weight:800;margin-bottom:8px}
.calc-header p{font-size:.9rem;opacity:.88;max-width:640px;margin:0 auto}
.header-badges{display:flex;justify-content:center;gap:8px;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 12px;font-size:.75rem;font-weight:600}

.tab-nav{display:flex;background:var(--navy);padding:0 14px;overflow-x:auto;gap:2px;scrollbar-width:none}
.tab-nav::-webkit-scrollbar{display:none}
.tab-btn{flex-shrink:0;padding:12px 15px;font-family:'Montserrat',sans-serif;font-size:.77rem;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;letter-spacing:.2px}
.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;overflow:hidden}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.two-col > *{min-width:0}
@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:.97rem;font-weight:700;color:var(--navy);margin-bottom:14px;padding-bottom:9px;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:.72rem;color:#fff;flex-shrink:0}

.form-row{margin-bottom:13px}
.form-row label{display:block;font-size:.8rem;font-weight:600;color:var(--text);margin-bottom:4px}
.form-row label .hint{font-weight:400;color:var(--muted);font-size:.74rem}
input[type=number],input[type=range],select,input[type=text]{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:8px 11px;font-size:.88rem;font-family:'Inter',sans-serif;color:var(--text);background:#fff;transition:border .2s;outline:none}
input[type=number]:focus,select:focus,input[type=text]:focus{border-color:var(--navy)}
input[type=range]{padding:6px 0;accent-color:var(--navy);height:34px}
.range-labels{display:flex;justify-content:space-between;font-size:.73rem;color:var(--muted);margin-top:-4px}
.toggle-group{display:flex;gap:0}
.toggle-group label{flex:1;text-align:center;padding:7px 6px;font-size:.8rem;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)}

.item-row{display:grid;grid-template-columns:1fr 110px auto;gap:8px;align-items:center;margin-bottom:8px}
.item-row input{margin:0}
.item-row .sublimit-tag{font-size:.7rem;padding:2px 7px;border-radius:10px;white-space:nowrap;font-weight:600}
.sublimit-ok{background:#e8f5e9;color:#1b5e20}
.sublimit-warn{background:#fff3e0;color:#e65100}
.sublimit-danger{background:#ffebee;color:#b71c1c}
.btn-add-item{background:none;border:1.5px dashed var(--border);border-radius:8px;color:var(--muted);font-size:.8rem;cursor:pointer;padding:7px 14px;width:100%;margin-top:4px;transition:all .2s}
.btn-add-item:hover{border-color:var(--navy);color:var(--navy)}
.btn-remove{background:none;border:none;color:var(--red);cursor:pointer;font-size:1rem;padding:0 4px;line-height:1}

.result-highlight{background:linear-gradient(135deg,var(--navy),#003a80);color:#fff;border-radius:12px;padding:16px;margin-bottom:12px}
.result-highlight .label{font-size:.75rem;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:.7;margin-top:2px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.res-box{background:var(--light-bg);border:1px solid var(--border);border-radius:10px;padding:11px;text-align:center;min-width:0;overflow:hidden}
.res-box .rb-label{font-size:.71rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px;word-break:break-word;line-height:1.3;hyphens:auto}
.res-box .rb-val{font-size:1.02rem;font-weight:700;color:var(--navy);font-family:'Montserrat',sans-serif;word-break:break-word}
.res-box .rb-sub{font-size:.7rem;color:var(--muted);margin-top:2px}

.alert-danger{background:#ffebee;border-left:4px solid var(--red);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.81rem;color:#b71c1c;margin:10px 0;line-height:1.5}
.alert-warning{background:#fff8e1;border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.81rem;color:#5d4037;margin:10px 0;line-height:1.5}
.alert-success{background:#e8f5e9;border-left:4px solid var(--green);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.81rem;color:#1b5e20;margin:10px 0;line-height:1.5}
.alert-info{background:#f0f6ff;border-left:4px solid var(--navy);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.81rem;color:var(--text);margin:10px 0;line-height:1.5}
.alert-danger strong,.alert-warning strong,.alert-success strong,.alert-info strong{display:block;margin-bottom:3px}

.score-circle-wrap{display:flex;flex-direction:column;align-items:center;margin:12px 0}
.score-circle{width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:6px solid var(--green);background:#fff;box-shadow:0 4px 20px rgba(0,132,61,.2)}
.score-circle .sc-num{font-size:2.2rem;font-weight:800;color:var(--navy);font-family:'Montserrat',sans-serif;line-height:1}
.score-circle .sc-label{font-size:.7rem;color:var(--muted);font-weight:600;text-align:center;margin-top:3px}
.score-stars{font-size:1.4rem;margin-top:6px;letter-spacing:2px}
.score-grade{font-size:1.1rem;font-weight:700;font-family:'Montserrat',sans-serif;margin-top:3px}

.coverage-meter{margin:10px 0}
.cm-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.cm-label{font-size:.78rem;color:var(--muted);width:100px;flex-shrink:0;font-weight:600}
.cm-bar-wrap{flex:1;background:#eee;border-radius:20px;height:8px}
.cm-bar{height:8px;border-radius:20px;transition:width .5s}
.cm-val{font-size:.78rem;font-weight:700;color:var(--navy);width:70px;text-align:right;flex-shrink:0}

.value-score-dash{background:linear-gradient(135deg,#002868,#004fa3);border-radius:14px;padding:20px;color:#fff;margin-bottom:14px}
.vsd-title{font-size:.8rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-weight:600}
.vsd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:500px){.vsd-grid{grid-template-columns:1fr 1fr}}
.vsd-item{background:rgba(255,255,255,.12);border-radius:10px;padding:12px;text-align:center}
.vsd-item .vdi-val{font-size:1.3rem;font-weight:800;font-family:'Montserrat',sans-serif}
.vsd-item .vdi-label{font-size:.68rem;opacity:.75;margin-top:3px}

.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:.73rem;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}

.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:.82rem;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;border-color:#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}

.tab-panel{display:none}
.tab-panel.active{display:block}
.hidden{display:none!important}
.chart-wrap{position:relative;height:260px;margin-top:10px}
.section-label{font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 10px;padding-bottom:6px;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:.88rem}
.disclaimer{font-size:.73rem;color:var(--muted);margin-top:14px;line-height:1.5;padding:10px 12px;background:#f5f5f5;border-radius:8px}
.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:.73rem;font-weight:600;margin:2px}
.pill-red{background:#ffebee;color:#b71c1c}
.pill-green{background:#e8f5e9;color:#1b5e20}
.pill-orange{background:#fff3e0;color:#e65100}

.room-section{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}
.room-header{background:var(--light-bg);padding:10px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:.88rem;color:var(--navy);font-family:'Montserrat',sans-serif}
.room-header:hover{background:#e8ecf8}
.room-body{padding:12px 14px}
.room-total{font-size:.82rem;font-weight:700;color:var(--navy);text-align:right;margin-top:6px}

.sublimit-flags{margin-top:10px}
.sublimit-flag-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:7px;margin-bottom:5px;font-size:.79rem}
.sf-danger{background:#ffebee;border-left:3px solid var(--red)}
.sf-warning{background:#fff8e1;border-left:3px solid var(--gold)}
.sf-ok{background:#e8f5e9;border-left:3px solid var(--green)}

/* WFH GAP BAR */
.gap-bar-wrap{background:#ffebee;border-radius:12px;padding:14px;margin:10px 0}
.gap-bar-label{font-size:.8rem;font-weight:600;color:#b71c1c;margin-bottom:8px}
.gap-bar-track{background:#ffd7d7;border-radius:20px;height:20px;position:relative;overflow:hidden}
.gap-bar-fill{height:20px;border-radius:20px;background:var(--green);transition:width .6s}
.gap-bar-overflow{position:absolute;right:0;top:0;height:20px;background:var(--red);border-radius:0 20px 20px 0}
.gap-bar-numbers{display:flex;justify-content:space-between;font-size:.75rem;margin-top:4px}

/* DEDUCTIBLE TABLE */
.ded-option{border:1.5px solid var(--border);border-radius:10px;padding:13px;margin-bottom:9px;transition:all .2s;cursor:pointer}
.ded-option:hover,.ded-option.best{border-color:var(--green);background:#f0faf4}
.ded-option.best::before{content:'★ Best Value';display:block;font-size:.7rem;font-weight:700;color:var(--green);margin-bottom:6px;font-family:'Montserrat',sans-serif}
.ded-option h4{font-size:.88rem;color:var(--navy);margin-bottom:4px}
.ded-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.ded-meta span{font-size:.75rem;color:var(--muted)}
.ded-meta strong{color:var(--text)}

/* ROOMMATE SECTION */
.roommate-card{background:linear-gradient(135deg,#f0f6ff,#e8f0ff);border:1px solid #c5d4f5;border-radius:12px;padding:16px;margin:12px 0}
.roommate-card h4{color:var(--navy);font-size:.92rem;margin-bottom:8px}
.roommate-cost-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(0,40,104,.1);font-size:.82rem}
.roommate-cost-row:last-child{border-bottom:none;font-weight:700;color:var(--navy)}

/* BUNDLING */
.bundle-result{background:linear-gradient(135deg,#00843D,#006e32);color:#fff;border-radius:12px;padding:16px;text-align:center;margin:10px 0}
.bundle-result .br-amount{font-size:1.8rem;font-weight:800;font-family:'Montserrat',sans-serif}
.bundle-result .br-label{font-size:.8rem;opacity:.8;margin-top:4px}

/* CREDIT TIERS */
.credit-tier-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;margin-bottom:6px;font-size:.82rem}
.credit-tier-row.active-tier{background:var(--light-bg);border:1.5px solid var(--navy)}
.ctier-label{width:90px;font-weight:600;flex-shrink:0}
.ctier-bar-wrap{flex:1;background:#eee;border-radius:20px;height:8px}
.ctier-bar{height:8px;border-radius:20px}
.ctier-val{width:65px;text-align:right;font-weight:700;color:var(--navy);flex-shrink:0}

}

/* ══════════════════════════════════════════════════════
   RESULT CARD RESPONSIVE — Mobile Fix
   Replaces the broken "sticky banner" approach.
   Zero position:fixed, zero padding-bottom hacks.
══════════════════════════════════════════════════════ */

/* Guarantee every grid child respects its cell width */
.result-grid > *,
.res-box { min-width: 0; overflow: hidden; }

/* 480 px — tighten cards, keep 2-column grid */
@media (max-width: 480px) {
  .calc-body  { padding: 14px 10px; }
  .card       { padding: 14px 12px; }

  .result-grid { gap: 6px; }

  .res-box {
    padding: 9px 7px;
    border-radius: 8px;
  }
  .res-box .rb-label {
    font-size: .61rem;
    letter-spacing: 0;
    line-height: 1.35;
    word-break: break-word;
    hyphens: auto;
  }
  .res-box .rb-val  { font-size: .86rem; }
  .res-box .rb-sub  { font-size: .62rem; }

  .result-highlight { padding: 13px 12px; }
  .result-highlight .value { font-size: 1.3rem; }

  .btn-row { gap: 7px; }
  .btn     { padding: 9px 14px; font-size: .78rem; }
  .tab-btn { padding: 11px 10px; font-size: .71rem; }
}

/* 380 px — collapse to single column, row layout */
@media (max-width: 380px) {
  .calc-body  { padding: 12px 8px; }
  .card       { padding: 12px 10px; }

  .result-grid { grid-template-columns: 1fr; gap: 5px; }

  .res-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    padding: 8px 11px;
    gap: 8px;
  }
  .res-box .rb-label {
    font-size: .67rem;
    text-align: left;
    flex: 1;
    margin-bottom: 0;
    word-break: break-word;
    hyphens: auto;
  }
  .res-box .rb-val { font-size: .9rem; text-align: right; flex-shrink: 0; }
  .res-box .rb-sub { display: none; }

  .tab-btn { padding: 10px 8px; font-size: .67rem; }
}

/* ═══════════════════════════════════════════════════
   SCOPED STYLES — prefix .riw-  (renters-insurance-how)
   All color values pull from existing :root tokens
═══════════════════════════════════════════════════ */

/* ── Outer wrapper ───────────────────────────────── */
.riw-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 32px;
}

/* ── Section header ──────────────────────────────── */
.riw-hero {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 14px;
  padding: 26px 24px 22px;
  margin-bottom: 22px;
  color: #fff;
}
.riw-hero h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 800;
  margin: 0 0 8px;
}
.riw-hero p {
  font-size: .84rem;
  opacity: .88;
  max-width: 700px;
  line-height: 1.65;
  margin: 0 0 14px;
}
.riw-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.riw-hero-badge {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .72rem;
  font-weight: 600;
}

/* ── 5-tab overview grid ─────────────────────────── */
.riw-tab-overview {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-bottom: 22px;
}
.riw-tab-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 14px 12px;
  text-align: center;
  cursor: default;
}
.riw-tab-card.active {
  border-color: var(--navy);
  background: #f0f4ff;
}
.riw-tab-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
}
.riw-tab-card.active .riw-tab-num {
  background: var(--green);
}
.riw-tab-label {
  font-family: Montserrat, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
}
.riw-tab-icon {
  font-size: 1.3rem;
  display: block;
  margin-bottom: 6px;
}

/* ── Step blocks ─────────────────────────────────── */
.riw-step {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 14px;
}
.riw-step-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: var(--light-bg);
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  user-select: none;
  transition: background .15s;
}
.riw-step-head:hover { background: #e8ecf8; }
.riw-step-num {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Montserrat, sans-serif;
  font-size: .95rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.riw-step-title-wrap { flex: 1; min-width: 0; }
.riw-step-title {
  font-family: Montserrat, sans-serif;
  font-size: .9rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 2px;
}
.riw-step-subtitle {
  font-size: .74rem;
  color: var(--muted);
}
.riw-chevron {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  font-weight: 900;
  color: var(--navy);
  transition: transform .2s;
  flex-shrink: 0;
}
.riw-step.open .riw-chevron { transform: rotate(45deg); }
.riw-step-body {
  display: none;
  padding: 18px 18px 16px;
}
.riw-step.open .riw-step-body { display: block; }

/* ── Step body sub-components ────────────────────── */
.riw-field-rows { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.riw-field-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--light-bg);
  border-radius: 9px;
  padding: 10px 12px;
}
.riw-field-icon {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  background: var(--navy);
  color: #fff;
  font-size: .85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.riw-field-name {
  font-family: Montserrat, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 3px;
}
.riw-field-desc {
  font-size: .74rem;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}
.riw-field-desc strong { color: var(--text); }

/* Formula box */
.riw-formula {
  background: #f0f4ff;
  border: 1.5px solid #c5d4f5;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 12px 0;
}
.riw-formula-label {
  font-size: .63rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  margin-bottom: 6px;
}
.riw-formula-eq {
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.55;
}
.riw-formula-eq span { color: var(--green); }

/* Output map grid */
.riw-output-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin: 12px 0;
}
.riw-output-box {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 10px 12px;
}
.riw-output-title {
  font-family: Montserrat, sans-serif;
  font-size: .75rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 4px;
}
.riw-output-desc {
  font-size: .72rem;
  color: var(--muted);
  line-height: 1.5;
  margin: 0;
}

/* Sublimit badge demo */
.riw-sublimit-demo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 10px 0;
}
.riw-sl-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: .77rem;
}
.riw-sl-row.ok   { background: #e8f5e9; }
.riw-sl-row.warn { background: #fff3e0; }
.riw-sl-row.bad  { background: #ffebee; }
.riw-sl-row .sl-label { font-weight: 600; color: var(--text); }
.riw-sl-row.ok   .sl-badge { background: #c8e6c9; color: #1b5e20; padding: 2px 8px; border-radius: 10px; font-size: .68rem; font-weight: 800; }
.riw-sl-row.warn .sl-badge { background: #ffe0b2; color: #e65100; padding: 2px 8px; border-radius: 10px; font-size: .68rem; font-weight: 800; }
.riw-sl-row.bad  .sl-badge { background: #ffcdd2; color: #b71c1c; padding: 2px 8px; border-radius: 10px; font-size: .68rem; font-weight: 800; }

/* Tips list */
.riw-tips { display: flex; flex-direction: column; gap: 9px; margin-top: 12px; }
.riw-tip {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  background: var(--light-bg);
  border-radius: 9px;
  padding: 10px 13px;
}
.riw-tip-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.riw-tip-text {
  font-size: .78rem;
  color: var(--text);
  line-height: 1.6;
}
.riw-tip-text strong { color: var(--navy); }

/* Progress flow (vertical) */
.riw-flow {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  margin: 14px 0;
}
.riw-flow-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 14px;
  position: relative;
}
.riw-flow-row:last-child { padding-bottom: 0; }
.riw-flow-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 36px;
}
.riw-flow-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
  z-index: 1;
}
.riw-flow-line {
  width: 2px;
  flex: 1;
  min-height: 20px;
  background: var(--border);
  margin-top: 4px;
}
.riw-flow-row:last-child .riw-flow-line { display: none; }
.riw-flow-content {
  flex: 1;
  padding-top: 5px;
  min-width: 0;
}
.riw-flow-title {
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 3px;
}
.riw-flow-desc {
  font-size: .76rem;
  color: var(--muted);
  line-height: 1.6;
}
.riw-flow-desc strong { color: var(--text); }

/* Responsive */
@media (max-width: 900px) {
  .riw-tab-overview { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .riw-tab-overview { grid-template-columns: repeat(2, 1fr); }
  .riw-output-grid  { grid-template-columns: 1fr; }
  .riw-hero         { padding: 20px 16px 18px; }
  .riw-step-head    { padding: 13px 14px; gap: 10px; }
  .riw-step-body    { padding: 14px 14px 12px; }
  .riw-hero-badge   { font-size: .68rem; padding: 3px 10px; }
}
@media (max-width: 420px) {
  .riw-tab-overview { grid-template-columns: repeat(2, 1fr); }
}
/* ═══════════════════════════════════════════════════
   SCOPED — prefix .ried- (renters-insurance-edu)
═══════════════════════════════════════════════════ */

.ried-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 36px;
}

/* ── Section subheader ───────────────────────────── */
.ried-sh {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: 10px 14px;
  border-radius: 8px;
  margin: 0 0 14px;
  color: #fff;
}
.ried-sh.navy  { background: var(--navy); }
.ried-sh.green { background: var(--green); }
.ried-sh.red   { background: var(--red); }
.ried-sh.gold  { background: var(--gold); color: #fff; }
.ried-sh.orange{ background: var(--orange); }
.ried-sh.purple{ background: var(--purple); }
.ried-sh.teal  { background: #007b8a; }

/* ── Intro text ──────────────────────────────────── */
.ried-intro {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.78;
  max-width: 860px;
  margin: 0 0 20px;
}
.ried-intro strong { color: var(--text); }

/* ── Stat band ───────────────────────────────────── */
.ried-stat-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
.ried-stat-box {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 15px 12px;
  text-align: center;
}
.ried-stat-val {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.8rem);
  font-weight: 900;
  line-height: 1.1;
  display: block;
  margin-bottom: 5px;
}
.ried-stat-lbl {
  font-size: .67rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  display: block;
  margin-bottom: 3px;
  line-height: 1.4;
}
.ried-stat-src {
  font-size: .61rem;
  color: var(--muted);
  opacity: .7;
}

/* ── Coverage type grid ──────────────────────────── */
.ried-cov-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 0;
}
.ried-cov-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}
.ried-cov-head {
  padding: 13px 15px 10px;
  border-bottom: 1px solid var(--border);
}
.ried-cov-title {
  font-family: Montserrat, sans-serif;
  font-size: .84rem;
  font-weight: 800;
  margin: 0 0 3px;
}
.ried-cov-tag {
  font-size: .67rem;
  color: var(--muted);
  font-weight: 600;
}
.ried-cov-body {
  padding: 12px 15px;
  font-size: .77rem;
  color: var(--muted);
  line-height: 1.7;
}
.ried-cov-body strong { color: var(--text); }
.ried-cov-example {
  background: var(--light-bg);
  border-radius: 8px;
  padding: 9px 12px;
  margin-top: 9px;
  font-size: .73rem;
  line-height: 1.55;
}
.ried-cov-example .ex-label {
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  margin-bottom: 4px;
}
.ried-cov-limits {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
}
.ried-cov-limit-row {
  display: flex;
  justify-content: space-between;
  font-size: .73rem;
  padding: 3px 0;
  border-bottom: 1px solid var(--border);
}
.ried-cov-limit-row:last-child { border: none; }
.ried-cov-limit-row .lim-cat { color: var(--text); font-weight: 600; }
.ried-cov-limit-row .lim-val { font-family: Montserrat, sans-serif; font-weight: 800; }

/* ── State table ─────────────────────────────────── */
.ried-state-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
.ried-state-col { }

/* ── Claims bar chart ────────────────────────────── */
.ried-claim-bars { display: flex; flex-direction: column; gap: 8px; }
.ried-claim-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ried-claim-label {
  font-size: .76rem;
  font-weight: 600;
  color: var(--text);
  width: 140px;
  flex-shrink: 0;
}
.ried-claim-bar-wrap {
  flex: 1;
  background: var(--light-bg);
  border-radius: 999px;
  height: 11px;
  overflow: hidden;
}
.ried-claim-bar {
  height: 100%;
  border-radius: 999px;
  transition: width .5s;
}
.ried-claim-pct {
  font-family: Montserrat, sans-serif;
  font-size: .76rem;
  font-weight: 800;
  width: 42px;
  text-align: right;
  flex-shrink: 0;
}
.ried-claim-cost {
  font-size: .7rem;
  color: var(--muted);
  width: 80px;
  text-align: right;
  flex-shrink: 0;
}

/* ── ACV depreciation table ──────────────────────── */
.ried-dep-row {
  display: grid;
  grid-template-columns: 1fr 80px 80px 80px 80px;
  gap: 0;
  padding: 9px 14px;
  border-bottom: 1px solid var(--border);
  font-size: .77rem;
  align-items: center;
}
.ried-dep-row.head {
  background: var(--navy);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .67rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 9px 14px;
  border-radius: 10px 10px 0 0;
}
.ried-dep-row:last-child { border: none; }
.ried-dep-row:nth-child(even):not(.head) { background: #f5f7ff; }
.ried-dep-row > div:not(:first-child) {
  text-align: right;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
}
.ried-dep-wrap {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}

/* ── Myth/Fact rows ──────────────────────────────── */
.ried-myth-rows { display: flex; flex-direction: column; gap: 10px; }
.ried-myth-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--border);
  border-radius: 11px;
  overflow: hidden;
}
.ried-myth-cell { padding: 13px 15px; }
.ried-myth-cell.myth {
  background: rgba(191,10,48,.04);
  border-right: 1px solid var(--border);
}
.ried-myth-cell.fact { background: rgba(0,132,61,.04); }
.ried-myth-cell .mf-tag {
  font-size: .61rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.ried-myth-cell.myth .mf-tag { color: var(--red); }
.ried-myth-cell.fact  .mf-tag { color: var(--green); }
.ried-myth-cell .mf-text {
  font-size: .77rem;
  color: var(--text);
  line-height: 1.65;
}

/* ── Penetration bars ────────────────────────────── */
.ried-pen-rows { display: flex; flex-direction: column; gap: 7px; }
.ried-pen-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 9px;
}
.ried-pen-label {
  font-size: .77rem;
  font-weight: 600;
  color: var(--text);
  width: 200px;
  flex-shrink: 0;
}
.ried-pen-bar-wrap {
  flex: 1;
  background: var(--light-bg);
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}
.ried-pen-bar { height: 100%; border-radius: 999px; }
.ried-pen-pct {
  font-family: Montserrat, sans-serif;
  font-size: .77rem;
  font-weight: 800;
  width: 38px;
  text-align: right;
  flex-shrink: 0;
}

/* ── Risk scenarios ──────────────────────────────── */
.ried-risk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
}
.ried-risk-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 11px;
  overflow: hidden;
}
.ried-risk-head {
  padding: 11px 13px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.ried-risk-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  flex-shrink: 0;
}
.ried-risk-title {
  font-family: Montserrat, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0;
}
.ried-risk-body {
  padding: 11px 13px;
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.65;
}
.ried-risk-body strong { color: var(--text); }
.ried-risk-num {
  font-family: Montserrat, sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
  display: block;
  margin-bottom: 4px;
}

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 900px) {
  .ried-stat-band { grid-template-columns: repeat(2, 1fr); }
  .ried-risk-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 650px) {
  .ried-cov-grid  { grid-template-columns: 1fr; }
  .ried-dep-row   { grid-template-columns: 1fr 72px 72px 72px; }
  .ried-dep-row > div:nth-child(4) { display: none; }
  .ried-dep-row.head > div:nth-child(4) { display: none; }
  .ried-myth-row  { grid-template-columns: 1fr; }
  .ried-myth-cell.myth { border-right: none; border-bottom: 1px solid var(--border); }
  .ried-claim-cost { display: none; }
  .ried-claim-label { width: 110px; }
  .ried-pen-label  { width: 150px; font-size: .72rem; }
}
@media (max-width: 500px) {
  .ried-stat-band { grid-template-columns: repeat(2, 1fr); }
  .ried-risk-grid { grid-template-columns: 1fr; }
  .ried-pen-label { width: 120px; }
}
/* ═══════════════════════════════════════════════════
   SCOPED — prefix .riex- (renters-insurance-examples)
═══════════════════════════════════════════════════ */

.riex-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 36px;
}

/* ── Section hero ────────────────────────────────── */
.riex-hero {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 14px;
  padding: 26px 24px 22px;
  margin-bottom: 24px;
  color: #fff;
}
.riex-hero h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 800;
  margin: 0 0 8px;
}
.riex-hero p {
  font-size: .84rem;
  opacity: .88;
  max-width: 720px;
  line-height: 1.7;
  margin: 0 0 14px;
}
.riex-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.riex-hero-pill {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .72rem;
  font-weight: 700;
}

/* ── Example card outer ──────────────────────────── */
.riex-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 20px;
}

/* ── Profile banner ──────────────────────────────── */
.riex-banner {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px 16px;
  border-bottom: 2px solid var(--light-bg);
}
.riex-avatar {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  flex-shrink: 0;
}
.riex-profile { flex: 1; min-width: 0; }
.riex-name {
  font-family: Montserrat, sans-serif;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 4px;
}
.riex-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.riex-meta-tag {
  font-size: .67rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 10px;
  background: var(--light-bg);
  color: var(--muted);
  border: 1px solid var(--border);
}
.riex-meta-tag.accent { background: rgba(0,40,104,.08); color: var(--navy); border-color: rgba(0,40,104,.2); }
.riex-roi-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--green), #006e32);
  border-radius: 10px;
  padding: 10px 14px;
  color: #fff;
  text-align: center;
  min-width: 78px;
}
.riex-roi-badge .roi-val {
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
}
.riex-roi-badge .roi-lbl {
  font-size: .6rem;
  font-weight: 700;
  opacity: .85;
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* ── Body two-col ────────────────────────────────── */
.riex-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.riex-left {
  padding: 16px 18px;
  border-right: 1px solid var(--border);
}
.riex-right { padding: 16px 18px; }

/* ── Event box ───────────────────────────────────── */
.riex-event {
  border-radius: 10px;
  padding: 13px 14px;
  margin-bottom: 12px;
}
.riex-event-title {
  font-family: Montserrat, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.riex-event p {
  font-size: .77rem;
  color: var(--text);
  line-height: 1.7;
  margin: 0;
}

/* ── Loss itemizer ───────────────────────────────── */
.riex-loss-rows { display: flex; flex-direction: column; gap: 5px; margin: 10px 0; }
.riex-loss-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .76rem;
  padding: 6px 10px;
  border-radius: 7px;
  background: var(--light-bg);
}
.riex-loss-row .loss-item { color: var(--text); font-weight: 500; }
.riex-loss-row .loss-amt  { font-family: Montserrat, sans-serif; font-weight: 800; font-size: .77rem; }
.riex-loss-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .8rem;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  margin-top: 4px;
}
.riex-loss-total .lt-label { font-weight: 700; }
.riex-loss-total .lt-val { font-family: Montserrat, sans-serif; font-weight: 900; font-size: .88rem; }

/* ── Verdict box ─────────────────────────────────── */
.riex-verdict {
  border-radius: 11px;
  padding: 14px 15px;
  margin-bottom: 11px;
}
.riex-verdict-label {
  font-size: .61rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 6px;
  opacity: .75;
}
.riex-verdict-amount {
  font-family: Montserrat, sans-serif;
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 4px;
}
.riex-verdict-sub {
  font-size: .73rem;
  opacity: .85;
  line-height: 1.55;
}

/* ── Premium math box ────────────────────────────── */
.riex-math {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 11px;
}
.riex-math-label {
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  margin-bottom: 8px;
}
.riex-math-rows { display: flex; flex-direction: column; gap: 5px; }
.riex-math-row {
  display: flex;
  justify-content: space-between;
  font-size: .76rem;
}
.riex-math-row .mr-label { color: var(--muted); }
.riex-math-row .mr-val   { font-family: Montserrat, sans-serif; font-weight: 800; color: var(--navy); }
.riex-math-row.total {
  border-top: 1.5px solid var(--border);
  padding-top: 6px;
  margin-top: 2px;
}
.riex-math-row.total .mr-label { color: var(--text); font-weight: 700; }
.riex-math-row.total .mr-val   { color: var(--green); font-size: .84rem; }

/* ── Lesson box ──────────────────────────────────── */
.riex-lesson {
  background: rgba(0,40,104,.05);
  border: 1.5px solid rgba(0,40,104,.15);
  border-radius: 10px;
  padding: 12px 14px;
}
.riex-lesson-label {
  font-size: .61rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--navy);
  margin-bottom: 6px;
}
.riex-lesson p {
  font-size: .76rem;
  color: var(--text);
  line-height: 1.7;
  margin: 0;
}
.riex-lesson p strong { color: var(--navy); }

/* ── Summary comparison table ────────────────────── */
.riex-summary-wrap {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin-top: 6px;
}
.riex-summary-head {
  background: linear-gradient(135deg, var(--navy), #003a80);
  color: #fff;
  padding: 14px 18px;
  font-family: Montserrat, sans-serif;
  font-size: .88rem;
  font-weight: 800;
}

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 700px) {
  .riex-body { grid-template-columns: 1fr; }
  .riex-left { border-right: none; border-bottom: 1px solid var(--border); }
  .riex-banner { flex-wrap: wrap; }
  .riex-roi-badge { width: 100%; flex-direction: row; justify-content: flex-start; gap: 10px; padding: 9px 13px; }
}
@media (max-width: 480px) {
  .riex-banner { padding: 14px 14px 12px; }
  .riex-left, .riex-right { padding: 13px 14px; }
  .riex-verdict-amount { font-size: 1.3rem; }
}
/* ═══════════════════════════════════════════════════
   SCOPED — prefix .ript- (renters-insurance-pro-tips)
═══════════════════════════════════════════════════ */

.ript-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 36px;
}

.ript-hero {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 14px;
  padding: 26px 24px 22px;
  margin-bottom: 22px;
  color: #fff;
}
.ript-hero h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 800;
  margin: 0 0 8px;
}
.ript-hero p {
  font-size: .84rem;
  opacity: .9;
  max-width: 760px;
  line-height: 1.72;
  margin: 0 0 14px;
}
.ript-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ript-pill {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .72rem;
  font-weight: 700;
}

.ript-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.ript-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}

.ript-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px 16px;
  border-bottom: 2px solid var(--light-bg);
}
.ript-num {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .96rem;
  font-weight: 900;
  flex-shrink: 0;
}
.ript-title-wrap { flex: 1; min-width: 0; }
.ript-title {
  font-family: Montserrat, sans-serif;
  font-size: .94rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 4px;
}
.ript-sub {
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.6;
}
.ript-level {
  font-size: .66rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}

.ript-body {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 0;
}
.ript-main {
  padding: 16px 18px;
  border-right: 1px solid var(--border);
}
.ript-side {
  padding: 16px 18px;
  background: rgba(248,249,255,.6);
}

.ript-copy {
  font-size: .78rem;
  color: var(--text);
  line-height: 1.75;
  margin: 0 0 12px;
}
.ript-copy strong { color: var(--navy); }

.ript-checks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}
.ript-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: var(--light-bg);
}
.ript-check-ic {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  flex-shrink: 0;
  margin-top: 1px;
}
.ript-check-text {
  font-size: .76rem;
  color: var(--text);
  line-height: 1.65;
}
.ript-check-text strong { color: var(--navy); }

.ript-box {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 13px;
  margin-bottom: 10px;
}
.ript-box:last-child { margin-bottom: 0; }
.ript-box-label {
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  margin-bottom: 7px;
}
.ript-box p {
  font-size: .75rem;
  color: var(--text);
  line-height: 1.65;
  margin: 0;
}
.ript-box p strong { color: var(--navy); }

.ript-math {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ript-math-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: .75rem;
}
.ript-math-row .lab { color: var(--muted); }
.ript-math-row .val {
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  color: var(--navy);
  text-align: right;
}
.ript-math-row.total {
  border-top: 1px solid var(--border);
  padding-top: 6px;
  margin-top: 2px;
}
.ript-math-row.total .lab { color: var(--text); font-weight: 700; }
.ript-math-row.total .val { color: var(--green); }

.ript-mini-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .73rem;
}
.ript-mini-table th,
.ript-mini-table td {
  padding: 7px 8px;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.ript-mini-table th {
  font-family: Montserrat, sans-serif;
  font-size: .67rem;
  color: var(--navy);
  background: var(--light-bg);
}
.ript-mini-table tr:last-child td { border-bottom: none; }

.ript-actions {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 22px;
}
.ript-action {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 12px;
  text-align: center;
}
.ript-action-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  font-size: 1rem;
}
.ript-action-title {
  font-family: Montserrat, sans-serif;
  font-size: .74rem;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 3px;
}
.ript-action-sub {
  font-size: .69rem;
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 900px) {
  .ript-actions { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .ript-body { grid-template-columns: 1fr; }
  .ript-main { border-right: none; border-bottom: 1px solid var(--border); }
  .ript-head { flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .ript-actions { grid-template-columns: repeat(2, 1fr); }
  .ript-hero { padding: 20px 16px 18px; }
  .ript-head { padding: 14px 14px 12px; gap: 10px; }
  .ript-main, .ript-side { padding: 13px 14px; }
}
/* ═══════════════════════════════════════════════════
   SCOPED — prefix .rirc- (renters-insurance-related-calc)
═══════════════════════════════════════════════════ */

.rirc-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 36px;
}

/* ── Section hero ────────────────────────────────── */
.rirc-hero {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 14px;
  padding: 26px 24px 22px;
  margin-bottom: 24px;
  color: #fff;
}
.rirc-hero h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 800;
  margin: 0 0 8px;
}
.rirc-hero p {
  font-size: .84rem;
  opacity: .9;
  max-width: 780px;
  line-height: 1.7;
  margin: 0;
}

/* ── Tier label ──────────────────────────────────── */
.rirc-tier-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px 16px;
  border-radius: 9px;
  font-family: Montserrat, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: .03em;
}
.rirc-tier-label span {
  font-family: Inter, sans-serif;
  font-weight: 400;
  opacity: .85;
  font-size: .74rem;
  margin-left: 4px;
}

/* ── Card grid ───────────────────────────────────── */
.rirc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.rirc-grid.two-wide {
  grid-template-columns: repeat(2, 1fr);
}
.rirc-grid.four-wide {
  grid-template-columns: repeat(4, 1fr);
}

/* ── Calculator card ─────────────────────────────── */
.rirc-card {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 13px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, box-shadow .2s;
  text-decoration: none;
  color: inherit;
}
.rirc-card:hover {
  border-color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,40,104,.1);
}
.rirc-card-top {
  padding: 14px 15px 12px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.rirc-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}
.rirc-card-name {
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.35;
  margin: 0 0 4px;
}
.rirc-tag {
  display: inline-flex;
  align-items: center;
  font-size: .62rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
}
.rirc-card-body {
  padding: 11px 15px 8px;
  flex: 1;
}
.rirc-why {
  font-size: .63rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  margin-bottom: 5px;
}
.rirc-desc {
  font-size: .75rem;
  color: var(--text);
  line-height: 1.68;
  margin: 0 0 10px;
}
.rirc-desc strong { color: var(--navy); }
.rirc-link-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 15px 13px;
}
.rirc-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--navy);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .71rem;
  font-weight: 700;
  padding: 7px 13px;
  border-radius: 7px;
  text-decoration: none;
  transition: background .2s;
  border: none;
  cursor: pointer;
}
.rirc-btn:hover { background: #001a4a; }
.rirc-btn.green { background: var(--green); }
.rirc-btn.green:hover { background: #006e32; }
.rirc-category-chip {
  font-size: .62rem;
  color: var(--muted);
  font-weight: 600;
  margin-left: auto;
}

/* ── Connection callout ──────────────────────────── */
.rirc-conn {
  font-size: .68rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  background: var(--light-bg);
  border-radius: 6px;
  margin-top: 2px;
}
.rirc-conn strong { color: var(--text); }

/* ── Bonus spotlight ─────────────────────────────── */
.rirc-spotlight {
  background: linear-gradient(135deg, var(--green), #006e32);
  border-radius: 13px;
  padding: 20px 22px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.rirc-spotlight-icon { font-size: 2.2rem; flex-shrink: 0; }
.rirc-spotlight h3 {
  font-family: Montserrat, sans-serif;
  font-size: .94rem;
  font-weight: 800;
  margin: 0 0 5px;
}
.rirc-spotlight p {
  font-size: .77rem;
  opacity: .9;
  line-height: 1.65;
  margin: 0 0 12px;
}
.rirc-spotlight-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255,255,255,.2);
  border: 1.5px solid rgba(255,255,255,.5);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .74rem;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  text-decoration: none;
  transition: background .2s;
}
.rirc-spotlight-btn:hover { background: rgba(255,255,255,.3); }

/* ── Full sitemap CTA ────────────────────────────── */
.rirc-cta-bar {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 8px;
}
.rirc-cta-text { font-size: .8rem; color: var(--text); line-height: 1.6; }
.rirc-cta-text strong { color: var(--navy); }

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 900px) {
  .rirc-grid { grid-template-columns: repeat(2, 1fr); }
  .rirc-grid.four-wide { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .rirc-grid, .rirc-grid.two-wide,
  .rirc-grid.four-wide { grid-template-columns: 1fr; }
  .rirc-spotlight { flex-direction: column; gap: 12px; }
  .rirc-cta-bar { flex-direction: column; align-items: flex-start; }
}
/* ═══════════════════════════════════════════════════
   SCOPED — prefix .ridt- (renters-insurance-disclaimer-transparency)
═══════════════════════════════════════════════════ */

.ridt-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 36px;
}

/* ── Gov Authority Band ───────────────────────────── */
.ridt-gov-band {
  background: linear-gradient(135deg, #0a2352 0%, var(--navy) 100%);
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 20px;
  color: #fff;
}
.ridt-gov-band-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.ridt-gov-band-head h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(.9rem, 2.5vw, 1.1rem);
  font-weight: 800;
  margin: 0;
}
.ridt-gov-band-sub {
  font-size: .77rem;
  opacity: .85;
  margin: 0 0 18px;
  max-width: 800px;
  line-height: 1.65;
}
.ridt-gov-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.ridt-gov-card {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 11px;
  padding: 13px 14px;
  text-decoration: none;
  color: #fff;
  transition: background .2s;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ridt-gov-card:hover { background: rgba(255,255,255,.18); }
.ridt-gov-card-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ridt-gov-badge {
  font-size: .6rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ridt-gov-card-name {
  font-family: Montserrat, sans-serif;
  font-size: .77rem;
  font-weight: 800;
  line-height: 1.3;
}
.ridt-gov-card-desc {
  font-size: .71rem;
  opacity: .82;
  line-height: 1.55;
}
.ridt-gov-card-url {
  font-size: .67rem;
  opacity: .6;
  font-family: monospace;
  margin-top: 2px;
}

/* ── Transparency card ───────────────────────────── */
.ridt-t-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 13px;
  overflow: hidden;
  margin-bottom: 14px;
}
.ridt-t-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1.5px solid var(--light-bg);
  background: var(--light-bg);
}
.ridt-t-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.ridt-t-title {
  font-family: Montserrat, sans-serif;
  font-size: .84rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0;
}
.ridt-t-body {
  padding: 15px 18px;
}
.ridt-t-body p {
  font-size: .77rem;
  color: var(--text);
  line-height: 1.75;
  margin: 0 0 10px;
}
.ridt-t-body p:last-child { margin-bottom: 0; }
.ridt-t-body p strong { color: var(--navy); }
.ridt-t-body p a { color: var(--navy); text-decoration: underline; }

/* ── Source rows ─────────────────────────────────── */
.ridt-source-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.ridt-source-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 12px;
  background: var(--light-bg);
  border-radius: 8px;
  border: 1px solid var(--border);
}
.ridt-source-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
}
.ridt-source-text {
  font-size: .75rem;
  color: var(--text);
  line-height: 1.6;
}
.ridt-source-text strong { color: var(--navy); font-weight: 700; }
.ridt-source-text a {
  color: var(--navy);
  font-size: .72rem;
  text-decoration: underline;
  word-break: break-all;
}

/* ── Limitation pills ────────────────────────────── */
.ridt-limits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 4px;
}
.ridt-limit-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  background: rgba(191,10,48,.05);
  border: 1px solid rgba(191,10,48,.15);
  border-radius: 8px;
  padding: 9px 11px;
}
.ridt-limit-ic {
  font-size: .8rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.ridt-limit-text {
  font-size: .74rem;
  color: var(--text);
  line-height: 1.6;
}
.ridt-limit-text strong { color: var(--red); }

/* ── Legal box ───────────────────────────────────── */
.ridt-legal {
  background: #f7f8fc;
  border: 1.5px solid var(--border);
  border-top: 4px solid var(--navy);
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 16px;
}
.ridt-legal-head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
}
.ridt-legal-head h3 {
  font-family: Montserrat, sans-serif;
  font-size: .84rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0;
}
.ridt-legal p {
  font-size: .74rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 9px;
}
.ridt-legal p:last-child { margin-bottom: 0; }
.ridt-legal p strong { color: var(--text); font-weight: 700; }
.ridt-legal p a { color: var(--navy); }

/* ── Meta footer ─────────────────────────────────── */
.ridt-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 0 0;
  border-top: 1px solid var(--border);
  margin-top: 14px;
}
.ridt-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  color: var(--muted);
}
.ridt-meta-item strong { color: var(--navy); }

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 900px) {
  .ridt-gov-grid { grid-template-columns: repeat(2, 1fr); }
  .ridt-limits { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .ridt-gov-grid { grid-template-columns: 1fr; }
  .ridt-gov-band { padding: 18px 16px; }
  .ridt-t-head, .ridt-t-body { padding: 12px 14px; }
  .ridt-legal { padding: 14px 14px; }
}
/* ═══════════════════════════════════════════════════
   SCOPED — prefix .rifq- (renters-insurance-faq)
═══════════════════════════════════════════════════ */

.rifq-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 14px 36px;
}

/* ── Section hero ────────────────────────────────── */
.rifq-hero {
  background: linear-gradient(135deg, var(--navy) 0%, #003a80 100%);
  border-radius: 14px;
  padding: 26px 24px 22px;
  margin-bottom: 22px;
  color: #fff;
}
.rifq-hero h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 800;
  margin: 0 0 8px;
}
.rifq-hero p {
  font-size: .83rem;
  opacity: .9;
  max-width: 760px;
  line-height: 1.7;
  margin: 0 0 16px;
}
.rifq-source-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rifq-source-pill {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .72rem;
  font-weight: 700;
  color: #fff;
}

/* ── Stats bar ───────────────────────────────────── */
.rifq-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 22px;
}
.rifq-stat {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 11px;
  padding: 13px 14px;
  text-align: center;
}
.rifq-stat-val {
  font-family: Montserrat, sans-serif;
  font-size: 1.3rem;
  font-weight: 900;
  color: var(--navy);
  line-height: 1;
  margin-bottom: 5px;
}
.rifq-stat-label {
  font-size: .7rem;
  color: var(--muted);
  line-height: 1.4;
}

/* ── Category nav ────────────────────────────────── */
.rifq-cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 20px;
}
.rifq-cat-btn {
  background: var(--light-bg);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  padding: 6px 14px;
  font-family: Montserrat, sans-serif;
  font-size: .73rem;
  font-weight: 700;
  color: var(--navy);
  cursor: pointer;
  transition: all .2s;
}
.rifq-cat-btn:hover,
.rifq-cat-btn.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

/* ── Category group ──────────────────────────────── */
.rifq-group { margin-bottom: 24px; }
.rifq-group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  padding: 10px 16px;
  border-radius: 9px;
}
.rifq-group-head h3 {
  font-family: Montserrat, sans-serif;
  font-size: .83rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
}
.rifq-group-count {
  margin-left: auto;
  font-size: .67rem;
  font-weight: 700;
  background: rgba(255,255,255,.22);
  padding: 3px 9px;
  border-radius: 999px;
  color: #fff;
}

/* ── FAQ item ────────────────────────────────────── */
.rifq-item {
  background: var(--card-bg);
  border: 1.5px solid var(--border);
  border-radius: 11px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: border-color .2s;
}
.rifq-item.open { border-color: var(--navy); }

.rifq-q {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}
.rifq-q-num {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Montserrat, sans-serif;
  font-size: .72rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
  margin-top: 1px;
}
.rifq-q-text {
  flex: 1;
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.4;
}
.rifq-q-cat {
  font-size: .62rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
  margin-top: 3px;
}
.rifq-chevron {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--light-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  flex-shrink: 0;
  margin-top: 3px;
  transition: transform .25s, background .2s;
  color: var(--navy);
  font-weight: 900;
}
.rifq-item.open .rifq-chevron {
  transform: rotate(180deg);
  background: var(--navy);
  color: #fff;
}

.rifq-answer {
  display: none;
  padding: 0 16px 15px 54px;
  font-size: .78rem;
  color: var(--text);
  line-height: 1.75;
}
.rifq-item.open .rifq-answer { display: block; }
.rifq-answer strong { color: var(--navy); }
.rifq-answer a { color: var(--navy); text-decoration: underline; }

.rifq-answer-inner {
  border-top: 1px solid var(--border);
  padding-top: 12px;
}
.rifq-answer p { margin: 0 0 10px; }
.rifq-answer p:last-child { margin-bottom: 0; }

.rifq-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .63rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  margin-top: 10px;
}

/* ── Footer CTA ──────────────────────────────────── */
.rifq-footer {
  background: var(--light-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 8px;
}
.rifq-footer-text { font-size: .79rem; color: var(--text); line-height: 1.6; }
.rifq-footer-text strong { color: var(--navy); }
.rifq-footer-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--navy);
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  transition: background .2s;
}
.rifq-footer-btn:hover { background: #001a4a; }

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 860px) {
  .rifq-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .rifq-stats { grid-template-columns: repeat(2, 1fr); }
  .rifq-answer { padding-left: 16px; }
  .rifq-q-cat { display: none; }
  .rifq-footer { flex-direction: column; align-items: flex-start; }
  .rifq-hero { padding: 18px 14px 16px; }
}

