
: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;--aus-gold:#FFBF00;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:var(--light-bg);color:var(--text);min-height:100vh}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif}

/* =====================================================
   PREMIUM NAVY HEADER STYLES (AUSTRALIA EDITION)
   ===================================================== */
.calc-header {
  background: linear-gradient(135deg, #002868 0%, #003a80 100%); 
  color: #ffffff; 
  padding: 36px 24px 30px;
  text-align: center;
  border-radius: 12px 12px 0 0; 
  margin-bottom: 24px;
  box-shadow: 0 4px 15px rgba(0, 40, 104, 0.15);
}

.calc-header h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.4rem, 4vw, 2.1rem);
  font-weight: 800;
  color: #ffffff !important; 
  margin: 0 0 12px 0;
  line-height: 1.25;
}

.calc-header p {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.88); 
  max-width: 800px;
  margin: 0 auto 18px auto;
  line-height: 1.6;
}

/* ── The Pill-Shaped Glassmorphism Badges ── */
.header-badges {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.header-badge {
  background: rgba(255, 255, 255, 0.15); 
  border: 1px solid rgba(255, 255, 255, 0.3); 
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #ffffff;
  backdrop-filter: blur(4px); 
  letter-spacing: 0.3px;
}

.tab-nav{display:flex;background:#00274C;padding:0 12px;overflow-x:auto;gap:2px;scrollbar-width:none}
.tab-nav::-webkit-scrollbar{display:none}
.tab-btn{flex-shrink:0;padding:11px 13px;font-family:'Montserrat',sans-serif;font-size:.73rem;font-weight:700;color:rgba(255,255,255,.6);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s}
.tab-btn.active{color:#fff;border-bottom-color:var(--aus-gold)}
.tab-btn:hover:not(.active){color:rgba(255,255,255,.9)}

.ad-slot{background:#f0f4ff;border:2px dashed var(--border);border-radius:8px;padding:16px;text-align:center;color:var(--muted);font-size:.78rem;margin:14px 0}
.ad-slot span{font-weight:600;color:var(--navy)}

.calc-body{max-width:1200px;margin:0 auto;padding:18px 14px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:767px){.two-col{grid-template-columns:1fr}.two-col>div{min-width:0;width:100%}}

.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}
.card-title{font-size:.95rem;font-weight:700;color:#00274C;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--light-bg);display:flex;align-items:center;gap:8px}
.card-title .icon{width:22px;height:22px;background:#00274C;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;flex-shrink:0}

.form-row{margin-bottom:12px}
.form-row label{display:block;font-size:.79rem;font-weight:600;color:var(--text);margin-bottom:4px}
.form-row label .hint{font-weight:400;color:var(--muted);font-size:.73rem}
input[type=number],select{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:8px 11px;font-size:.87rem;font-family:'Inter',sans-serif;color:var(--text);background:#fff;transition:border .2s;outline:none}
input[type=number]:focus,select:focus{border-color:#00274C}
.toggle-group{display:flex;gap:0;flex-wrap:wrap}
.toggle-group label{flex:1;text-align:center;padding:7px 5px;font-size:.76rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--muted);transition:all .2s;min-width:70px}
.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:#00274C;color:#fff;border-color:#00274C}
/* RESULTS */
.result-highlight{background:linear-gradient(135deg,#00274C,#003a70);color:#fff;border-radius:12px;padding:18px;margin-bottom:12px}
.result-highlight .label{font-size:.74rem;opacity:.8;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}
.result-highlight .value{font-size:1.6rem;font-weight:800;font-family:'Montserrat',sans-serif}
.result-highlight .sub{font-size:.78rem;opacity:.72;margin-top:3px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.res-box{background:var(--light-bg);border:1px solid var(--border);border-radius:10px;padding:11px;text-align:center}
.res-box .rb-label{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.res-box .rb-val{font-size:1.0rem;font-weight:700;color:#00274C;font-family:'Montserrat',sans-serif}
.res-box .rb-sub{font-size:.69rem;color:var(--muted);margin-top:2px}


/* ALERTS */
.alert-danger{background:#ffebee;border-left:4px solid var(--red);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:#b71c1c;margin:9px 0;line-height:1.55}
.alert-warning{background:#fff8e1;border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:#5d4037;margin:9px 0;line-height:1.55}
.alert-success{background:#e8f5e9;border-left:4px solid var(--green);border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:#1b5e20;margin:9px 0;line-height:1.55}
.alert-info{background:#f0f6ff;border-left:4px solid #00274C;border-radius:0 8px 8px 0;padding:11px 13px;font-size:.8rem;color:var(--text);margin:9px 0;line-height:1.55}
.alert-danger strong,.alert-warning strong,.alert-success strong,.alert-info strong{display:block;margin-bottom:3px}

/* SETTLEMENT STACK */
.stack-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid var(--border);font-size:.82rem}
.stack-row:last-child{border-bottom:none;font-weight:700;color:#00274C;background:var(--light-bg);border-radius:0 0 10px 10px}
.stack-row.negative{color:var(--green)}
.stack-row.highlight{background:#fff3cd;font-weight:700}
.stack-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:10px 0}
.stack-header{background:#00274C;color:#fff;padding:9px 12px;font-size:.78rem;font-weight:700;font-family:'Montserrat',sans-serif}

/* BRACKET TABLE */
.data-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}
.data-table{width:100%;border-collapse:collapse;font-size:.78rem}
.data-table thead th{background:#00274C;color:#fff;padding:9px 11px;text-align:left;font-family:'Montserrat',sans-serif;font-size:.72rem;white-space:nowrap}
.data-table tbody tr:nth-child(even){background:#f5f7ff}
.data-table tbody tr:hover{background:#eef1ff}
.data-table td{padding:8px 11px;border-bottom:1px solid var(--border);white-space:nowrap}
.td-green{color:var(--green);font-weight:600}
.td-red{color:var(--red);font-weight:600}
.td-bold{font-weight:700;color:#00274C}
.td-orange{color:var(--orange);font-weight:600}
.td-gold{color:var(--aus-gold);font-weight:700;background:#00274C}

/* BUTTONS */
.btn-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.btn{padding:10px 20px;border-radius:8px;font-family:'Montserrat',sans-serif;font-size:.81rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.btn-calc{background:var(--green);color:#fff;border-color:var(--green)}
.btn-calc:hover{background:#006e32}
.btn-clear{background:#fff;color:var(--red);border-color:var(--red)}
.btn-clear:hover{background:var(--red);color:#fff}
.btn-pdf{background:#00274C;color:#fff;border-color:#00274C}
.btn-pdf:hover{background:#001533}
.btn-wa{background:var(--whatsapp);color:#fff;border-color:var(--whatsapp)}
.btn-wa:hover{background:#1da851}

/* MISC */
.tab-panel{display:none}
.tab-panel.active{display:block}
.hidden{display:none!important}
.chart-wrap{position:relative;height:250px;margin-top:10px;max-width:100%;overflow:hidden}
.section-label{font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;color:#00274C;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 9px;padding-bottom:5px;border-bottom:2px solid var(--light-bg)}
.placeholder-msg{text-align:center;padding:36px 18px;color:var(--muted)}
.placeholder-msg .big-icon{font-size:2.4rem;margin-bottom:10px}
.placeholder-msg p{font-size:.87rem;line-height:1.5}
.disclaimer{font-size:.72rem;color:var(--muted);margin-top:13px;line-height:1.5;padding:10px 12px;background:#f5f5f5;border-radius:8px}
.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:.7rem;font-weight:600;margin:2px}
.pill-red{background:#ffebee;color:#b71c1c}
.pill-green{background:#e8f5e9;color:#1b5e20}
.pill-orange{background:#fff3e0;color:#e65100}
.pill-gold{background:#fff8e1;color:#856404}

/* STATE BADGE */
.state-flag{display:inline-flex;align-items:center;gap:6px;background:#00274C;color:#fff;border-radius:8px;padding:5px 12px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.82rem;margin-bottom:12px}

/* BREAK-EVEN */
.breakeven-badge{background:linear-gradient(135deg,#00274C,#003a70);color:#fff;border-radius:14px;padding:18px;text-align:center;margin:12px 0}
.be-year{font-size:2.4rem;font-weight:800;font-family:'Montserrat',sans-serif}
.be-label{font-size:.8rem;opacity:.75;margin-top:4px}
.be-rec{background:rgba(255,255,255,.15);border-radius:8px;padding:8px 14px;margin-top:10px;font-size:.8rem;font-weight:600}

/* FOREIGN COST STACK */
.foreign-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.foreign-card{border:1px solid var(--border);border-radius:10px;padding:12px}
.foreign-card h4{font-size:.82rem;color:#00274C;font-family:'Montserrat',sans-serif;margin-bottom:6px}
.foreign-val{font-size:1.1rem;font-weight:800;color:var(--red);font-family:'Montserrat',sans-serif}
.foreign-sub{font-size:.72rem;color:var(--muted);margin-top:2px}

/* TRUST BADGE */
.trust-alert{background:linear-gradient(135deg,var(--red),#8b0020);color:#fff;border-radius:12px;padding:14px;margin:10px 0}
.trust-alert h4{font-size:.9rem;font-family:'Montserrat',sans-serif;margin-bottom:5px}
.trust-alert p{font-size:.8rem;opacity:.9}
/* ── Australia Stamp Duty Section Overrides ── */
.au-section { background:#f8f9ff; padding:52px 0 48px; border-top:3px solid #d0d5e8; }
.au-inner { max-width:1200px; margin:0 auto; padding:0 20px; }
.au-eyebrow { display:inline-block; font-family:Montserrat,sans-serif; font-size:.72rem;
  font-weight:700; color:#00843D; text-transform:uppercase; letter-spacing:2px; margin-bottom:10px; }
.au-h2 { font-family:Montserrat,sans-serif; font-size:clamp(1.35rem,3vw,1.85rem);
  font-weight:800; color:#00274C; margin-bottom:10px; }
.au-lead { font-size:.92rem; color:#6b7280; max-width:680px; margin:0 auto; line-height:1.65; }
.au-section-title { font-family:Montserrat,sans-serif; font-size:.78rem; font-weight:700;
  color:#00274C; text-transform:uppercase; letter-spacing:1.5px; margin:32px 0 16px;
  padding-bottom:8px; border-bottom:2px solid #d0d5e8; display:flex; align-items:center; gap:8px; }
.au-section-title::before { content:''; display:inline-block; width:16px; height:16px;
  background:#00274C; border-radius:4px; flex-shrink:0; }
.au-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px; }
.au-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:28px; }
.au-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:28px; }
.au-card { background:#fff; border:1px solid #d0d5e8; border-radius:12px; padding:18px 16px;
  border-top:3px solid #00274C; }
.au-card.green { border-top-color:#00843D; }
.au-card.red { border-top-color:#BF0A30; }
.au-card.gold { border-top-color:#FFBF00; }
.au-card .ac-icon { font-size:1.5rem; display:block; margin-bottom:8px; }
.au-card h3 { font-family:Montserrat,sans-serif; font-size:.88rem; font-weight:700;
  color:#00274C; margin-bottom:7px; }
.au-card p { font-size:.79rem; color:#6b7280; line-height:1.6; margin:0; }
.au-card .ac-val { font-family:Montserrat,sans-serif; font-size:1.2rem; font-weight:800;
  color:#00274C; margin:4px 0 2px; }
.au-card .ac-label { font-size:.68rem; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.5px; }
.au-formula-box { background:#00274C; border-radius:12px; padding:20px 22px; margin-bottom:20px; color:#fff; }
.au-formula-box h3 { font-family:Montserrat,sans-serif; font-size:.92rem; font-weight:700;
  margin-bottom:12px; color:rgba(255,255,255,.9); }
.au-formula { font-family:Montserrat,sans-serif; font-size:1.05rem; font-weight:800;
  background:rgba(255,255,255,.1); border-radius:8px; padding:10px 14px; margin-bottom:10px;
  border-left:3px solid #FFBF00; }
.au-formula-note { font-size:.76rem; color:rgba(255,255,255,.72); line-height:1.55; }
.au-example-box { background:#f0f4ff; border:1px solid #d0d5e8; border-radius:10px;
  padding:16px 18px; margin-bottom:20px; }
.au-example-box h4 { font-family:Montserrat,sans-serif; font-size:.82rem; font-weight:700;
  color:#00274C; margin-bottom:12px; }
.au-state-card { background:#fff; border:1px solid #d0d5e8; border-radius:10px; overflow:hidden;
  transition:box-shadow .2s, transform .2s; }
.au-state-card:hover { box-shadow:0 4px 18px rgba(0,39,76,.1); transform:translateY(-2px); }
.au-state-head { background:#00274C; padding:10px 14px; display:flex; align-items:center;
  justify-content:space-between; }
.au-state-head .asn { font-family:Montserrat,sans-serif; font-weight:800; font-size:.88rem; color:#fff; }
.au-state-head .asb { font-size:.65rem; font-weight:700; padding:2px 8px; border-radius:10px;
  background:rgba(255,255,255,.15); color:#fff; }
.au-state-body { padding:11px 14px; }
.au-state-row { display:flex; gap:6px; align-items:flex-start; margin-bottom:5px; }
.au-state-row .asl { font-size:.67rem; font-weight:700; color:#6b7280; text-transform:uppercase;
  letter-spacing:.3px; flex-shrink:0; width:56px; margin-top:1px; }
.au-state-row .asv { font-size:.74rem; color:#1a1f36; line-height:1.45; }
.au-state-row .asv strong { color:#00274C; }
.au-fhb-badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:.66rem;
  font-weight:700; margin-top:4px; }
.fhb-green { background:#e8f5e9; color:#1b5e20; }
.fhb-orange { background:#fff3e0; color:#e65100; }
.fhb-red { background:#ffebee; color:#b71c1c; }
.au-tip-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:24px; }
.au-tip { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  border-radius:9px; padding:11px 14px; display:flex; gap:10px; align-items:flex-start; }
.au-tip .ti { font-size:1rem; flex-shrink:0; margin-top:1px; }
.au-tip p { font-size:.77rem; color:rgba(255,255,255,.8); line-height:1.55; margin:0; }
.au-tip p strong { color:#fff; display:block; margin-bottom:2px; }
.au-pro-box { background:linear-gradient(135deg,#00274C 0,#003a70 100); border-radius:14px;
  padding:28px 28px 24px; }
.au-pro-box h3 { font-family:Montserrat,sans-serif; font-size:1rem; font-weight:700;
  color:#fff; margin-bottom:18px; display:flex; align-items:center; gap:8px; }
.au-highlight { background:linear-gradient(135deg,#00274C,#003a70); border-radius:12px;
  padding:18px; color:#fff; margin-bottom:16px; }
.au-highlight .ahl { font-size:.72rem; opacity:.8; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.au-highlight .ahv { font-family:Montserrat,sans-serif; font-size:1.3rem; font-weight:800; }
.au-two-col { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; align-items:start; }
.au-inner-card { background:#fff; border:1px solid #d0d5e8; border-radius:12px; overflow:hidden; }
.au-inner-card .aic-head { background:#00274C; padding:12px 18px; display:flex; align-items:center; gap:10px; }
.au-inner-card .aic-head.green { background:#00843D; }
.au-inner-card .aic-head.red { background:#BF0A30; }
.au-inner-card .aic-head span { font-size:1.05rem; }
.au-inner-card .aic-head h3 { font-family:Montserrat,sans-serif; font-size:.85rem; font-weight:700; color:#fff; margin:0; }
.au-inner-card .aic-body { padding:14px 18px; }
.au-row { display:flex; gap:10px; padding:8px 0; border-bottom:1px solid #d0d5e8; align-items:flex-start; }
.au-row:last-child { border-bottom:none; }
.au-row .ard { width:8px; height:8px; border-radius:50%; background:#00274C; flex-shrink:0; margin-top:5px; }
.au-row .arc .arl { font-size:.78rem; font-weight:600; color:#1a1f36; margin-bottom:2px; }
.au-row .arc .ard2 { font-size:.73rem; color:#6b7280; line-height:1.5; }
.au-tag { display:inline-block; margin-top:4px; padding:2px 9px; border-radius:10px; font-size:.67rem; font-weight:700; }
.au-tag.navy { background:#e8eeff; color:#00274C; }
.au-tag.green { background:#e8f5e9; color:#1b5e20; }
.au-tag.red { background:#ffebee; color:#b71c1c; }
.au-tag.gold { background:#fffde7; color:#856404; }
@media(max-width:992px){ .au-grid-3{grid-template-columns:1fr 1fr} .au-grid-4{grid-template-columns:1fr 1fr} }
@media(max-width:767px){ .au-section{padding:36px 0 32px} .au-grid-2{grid-template-columns:1fr} .au-two-col{grid-template-columns:1fr} .au-tip-grid{grid-template-columns:1fr} }
@media(max-width:600px){ .au-grid-3{grid-template-columns:1fr} .au-grid-4{grid-template-columns:1fr 1fr} }
@media(max-width:400px){ .au-grid-4{grid-template-columns:1fr} }
/* ── Real Examples Section Styles ── */
.re-section { background:#fff; padding:52px 0 48px; border-top:3px solid #d0d5e8; }
.re-inner { max-width:1200px; margin:0 auto; padding:0 20px; }
.re-eyebrow { display:inline-block; font-family:Montserrat,sans-serif; font-size:.72rem;
  font-weight:700; color:#BF0A30; text-transform:uppercase; letter-spacing:2px; margin-bottom:10px; }
.re-h2 { font-family:Montserrat,sans-serif; font-size:clamp(1.35rem,3vw,1.85rem);
  font-weight:800; color:#00274C; margin-bottom:10px; }
.re-lead { font-size:.92rem; color:#6b7280; max-width:700px; margin:0 auto 40px; line-height:1.65; }
/* Example cards */
.re-example { background:#f8f9ff; border:1px solid #d0d5e8; border-radius:14px;
  overflow:hidden; margin-bottom:28px; }
.re-ex-head { padding:18px 22px 16px; display:flex; align-items:flex-start;
  justify-content:space-between; gap:16px; flex-wrap:wrap; }
.re-ex-head.nsw { background:linear-gradient(135deg,#002868 0,#003a80 100%); }
.re-ex-head.vic { background:linear-gradient(135deg,#1b5e20 0,#2e7d32 100%); }
.re-ex-head.qld { background:linear-gradient(135deg,#8B0000 0,#BF0A30 100%); }
.re-ex-head.wa  { background:linear-gradient(135deg,#e65100 0,#bf360c 100%); }
.re-ex-head.foreign { background:linear-gradient(135deg,#4a0010 0,#7b0020 100%); }
.re-ex-head.nswtax  { background:linear-gradient(135deg,#1a237e 0,#283593 100%); }
.re-ex-head.otp     { background:linear-gradient(135deg,#004d40 0,#00695c 100%); }
.re-ex-head.hl      { background:linear-gradient(135deg,#5d4037 0,#795548 100%); }
.re-ex-head.compare { background:linear-gradient(135deg,#00274C 0,#003a70 100%); }
.re-ex-meta { flex:1; }
.re-ex-meta .rem-num { font-family:Montserrat,sans-serif; font-size:.68rem; font-weight:700;
  color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:1px; margin-bottom:4px; }
.re-ex-meta .rem-title { font-family:Montserrat,sans-serif; font-size:1.05rem; font-weight:800;
  color:#fff; margin-bottom:4px; line-height:1.3; }
.re-ex-meta .rem-sub { font-size:.79rem; color:rgba(255,255,255,.75); }
.re-ex-result { text-align:right; flex-shrink:0; }
.re-ex-result .rer-label { font-size:.68rem; font-weight:700; color:rgba(255,255,255,.6);
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:3px; }
.re-ex-result .rer-val { font-family:Montserrat,sans-serif; font-size:1.6rem; font-weight:800; color:#fff; }
.re-ex-result .rer-val.green { color:#69f0ae; }
.re-ex-result .rer-val.red { color:#ff8a80; }
.re-ex-result .rer-val.gold { color:#FFE082; }
.re-ex-result .rer-sub { font-size:.72rem; color:rgba(255,255,255,.65); margin-top:3px; }
.re-ex-body { padding:20px 22px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.re-ex-body.three-col { grid-template-columns:1fr 1fr 1fr; }
.re-ex-body.single { grid-template-columns:1fr; }
/* Bracket calculation */
.re-bracket-wrap { background:#fff; border:1px solid #d0d5e8; border-radius:10px; overflow:hidden; }
.re-bracket-head { background:#00274C; padding:9px 14px; font-family:Montserrat,sans-serif;
  font-size:.72rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.5px; }
.re-bracket-table { width:100%; border-collapse:collapse; font-size:.77rem; }
.re-bracket-table th { background:#f0f4ff; padding:7px 11px; text-align:left;
  font-weight:700; color:#00274C; font-size:.7rem; text-transform:uppercase; }
.re-bracket-table td { padding:7px 11px; border-bottom:1px solid #d0d5e8; color:#1a1f36; }
.re-bracket-table tr:last-child td { border-bottom:none; font-weight:700; background:#e8eeff; color:#00274C; }
.re-bracket-table .zero { color:#6b7280; }
.re-bracket-table .active { background:#f0faf4; }
/* Summary stats */
.re-stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.re-stat-box { background:#fff; border:1px solid #d0d5e8; border-radius:9px; padding:11px; text-align:center; }
.re-stat-box .rsb-val { font-family:Montserrat,sans-serif; font-size:1.1rem; font-weight:800; color:#00274C; }
.re-stat-box .rsb-val.green { color:#00843D; }
.re-stat-box .rsb-val.red { color:#BF0A30; }
.re-stat-box .rsb-val.gold { color:#856404; }
.re-stat-box .rsb-label { font-size:.68rem; font-weight:600; color:#6b7280;
  text-transform:uppercase; letter-spacing:.3px; margin-top:3px; }
/* Stack list */
.re-stack { background:#fff; border:1px solid #d0d5e8; border-radius:10px; overflow:hidden; }
.re-stack-head { background:#00274C; padding:9px 14px; font-family:Montserrat,sans-serif;
  font-size:.72rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.5px; }
.re-stack-item { display:flex; justify-content:space-between; align-items:center;
  padding:9px 14px; border-bottom:1px solid #d0d5e8; font-size:.8rem; }
.re-stack-item:last-child { border-bottom:none; background:#f0faf4; font-weight:700; color:#00274C; }
.re-stack-item .si-label { color:#1a1f36; }
.re-stack-item .si-val { font-family:Montserrat,sans-serif; font-weight:700; color:#00274C; }
.re-stack-item .si-val.green { color:#00843D; }
.re-stack-item .si-val.red { color:#BF0A30; }
.re-stack-item .si-val.muted { color:#6b7280; font-weight:500; font-style:italic; }
/* Key insight */
.re-insight { background:#fff8e1; border:1px solid #ffe082; border-radius:9px;
  padding:12px 16px; font-size:.79rem; color:#5d4037; line-height:1.6; }
.re-insight strong { color:#00274C; display:block; margin-bottom:3px; }
.re-section-title { font-family:Montserrat,sans-serif; font-size:.78rem; font-weight:700;
  color:#00274C; text-transform:uppercase; letter-spacing:1.5px; margin:36px 0 18px;
  padding-bottom:8px; border-bottom:2px solid #d0d5e8; }
@media(max-width:820px){ .re-ex-body,.re-ex-body.three-col{ grid-template-columns:1fr } .re-stats-row{ grid-template-columns:1fr 1fr } }
@media(max-width:480px){ .re-stats-row{ grid-template-columns:1fr } }

/* ── DATA TABLE (was missing — caused blank table sections) ── */
.data-table-wrap {
  overflow-x: auto;
  border-radius: 10px;
  border: 1px solid #d0d5e8;
  box-shadow: 0 2px 8px rgba(0,39,76,.06);
  margin-top: 12px;
  margin-bottom: 4px;
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .78rem;
  background: #fff;
}
.data-table thead tr { background: #00274C; }
.data-table thead th {
  color: #fff;
  padding: 9px 13px;
  text-align: left;
  font-family: Montserrat, sans-serif;
  font-size: .67rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  white-space: nowrap;
}
.data-table tbody tr { border-bottom: 1px solid #e9ecf5; }
.data-table tbody tr:last-child { border-bottom: none; }
.data-table tbody tr:nth-child(even) { background: #f8faff; }
.data-table tbody tr:hover { background: #eef2ff; }
.data-table td {
  padding: 9px 13px;
  color: #374151;
  line-height: 1.5;
  vertical-align: top;
}
.td-bold  { font-weight: 700; color: #00274C !important; }
.td-green { color: #00843D !important; font-weight: 600; }
.td-red   { color: #BF0A30 !important; font-weight: 600; }


/* ── Tip Card ── */
.pt-tip { background:#fff; border:1px solid #d0d5e8; border-radius:16px; overflow:hidden;
  margin-bottom:36px; box-shadow:0 2px 16px rgba(0,39,76,.06); }
.pt-tip-head { display:flex; align-items:stretch; min-height:120px; }
.pt-tip-number { width:72px; flex-shrink:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; font-family:Montserrat,sans-serif;
  font-weight:800; font-size:2.2rem; color:#fff; gap:4px; }
.pt-tip-number .tn-label { font-size:.58rem; font-weight:700; text-transform:uppercase;
  letter-spacing:1px; opacity:.75; }
.pt-tip-number.navy  { background:#00274C; }
.pt-tip-number.green { background:#00843D; }
.pt-tip-number.red   { background:#BF0A30; }
.pt-tip-number.gold  { background:#856404; }
.pt-tip-number.teal  { background:#00695c; }
.pt-tip-meta { flex:1; padding:20px 22px 18px; border-bottom:1px solid #d0d5e8; }
.pt-tip-meta .ptm-tag { display:inline-flex; align-items:center; gap:5px; font-size:.67rem;
  font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; padding:3px 10px;
  border-radius:12px; }
.ptm-tag.navy   { background:#e8eeff; color:#00274C; }
.ptm-tag.green  { background:#e8f5e9; color:#00843D; }
.ptm-tag.red    { background:#ffebee; color:#BF0A30; }
.ptm-tag.gold   { background:#fffde7; color:#856404; }
.ptm-tag.teal   { background:#e0f2f1; color:#00695c; }
.pt-tip-meta h3 { font-family:Montserrat,sans-serif; font-size:1.1rem; font-weight:800;
  color:#00274C; margin-bottom:6px; line-height:1.3; }
.pt-tip-meta .ptm-intro { font-size:.84rem; color:#6b7280; line-height:1.6; max-width:760px; }
.pt-tip-saving { padding:14px 22px; background:#f8f9ff; display:flex; align-items:center;
  gap:24px; flex-wrap:wrap; border-bottom:1px solid #d0d5e8; }
.pt-tip-saving .pts-item { text-align:center; }
.pt-tip-saving .pts-val { font-family:Montserrat,sans-serif; font-size:1.3rem; font-weight:800; color:#00274C; }
.pt-tip-saving .pts-val.green { color:#00843D; }
.pt-tip-saving .pts-val.red   { color:#BF0A30; }
.pt-tip-saving .pts-val.gold  { color:#856404; }
.pt-tip-saving .pts-label { font-size:.67rem; font-weight:700; color:#6b7280;
  text-transform:uppercase; letter-spacing:.4px; margin-top:2px; }
.pt-tip-saving .pts-divider { width:1px; height:36px; background:#d0d5e8; flex-shrink:0; }
.pt-tip-saving .pts-note { font-size:.77rem; color:#6b7280; line-height:1.55; flex:1; min-width:200px; }
.pt-tip-body { padding:22px 22px 20px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pt-tip-body.three { grid-template-columns:1fr 1fr 1fr; }
.pt-tip-body.single { grid-template-columns:1fr; }

/* ── Step list ── */
.pt-steps { }
.pt-steps-title { font-family:Montserrat,sans-serif; font-size:.72rem; font-weight:700;
  color:#00274C; text-transform:uppercase; letter-spacing:1px; margin-bottom:12px;
  padding-bottom:6px; border-bottom:2px solid #e8eeff; }
.pt-step { display:flex; gap:12px; margin-bottom:14px; align-items:flex-start; }
.pt-step .ps-num { width:26px; height:26px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-family:Montserrat,sans-serif; font-weight:800; font-size:.73rem;
  flex-shrink:0; margin-top:1px; }
.ps-num.navy  { background:#00274C; color:#fff; }
.ps-num.green { background:#00843D; color:#fff; }
.ps-num.red   { background:#BF0A30; color:#fff; }
.ps-num.gold  { background:#856404; color:#fff; }
.ps-num.teal  { background:#00695c; color:#fff; }
.pt-step .ps-body .ps-title { font-size:.82rem; font-weight:700; color:#1a1f36; margin-bottom:3px; }
.pt-step .ps-body .ps-desc  { font-size:.77rem; color:#6b7280; line-height:1.55; }

/* ── Danger / Warning / Win box ── */
.pt-box { border-radius:10px; padding:14px 16px; margin-bottom:12px; font-size:.79rem;
  line-height:1.6; }
.pt-box strong { display:block; font-size:.8rem; margin-bottom:4px; }
.pt-box.danger  { background:#ffebee; border-left:3px solid #BF0A30; color:#7f0000; }
.pt-box.danger strong { color:#BF0A30; }
.pt-box.win     { background:#e8f5e9; border-left:3px solid #00843D; color:#1b5e20; }
.pt-box.win strong { color:#00843D; }
.pt-box.info    { background:#e8eeff; border-left:3px solid #00274C; color:#1a1f36; }
.pt-box.info strong { color:#00274C; }
.pt-box.warn    { background:#fff8e1; border-left:3px solid #856404; color:#5d4037; }
.pt-box.warn strong { color:#856404; }

/* ── Comparison table inside tip ── */
.pt-compare { background:#fff; border:1px solid #d0d5e8; border-radius:10px; overflow:hidden; }
.pt-compare table { width:100%; border-collapse:collapse; font-size:.76rem; }
.pt-compare th { background:#00274C; color:#fff; padding:7px 11px; text-align:left;
  font-weight:700; font-size:.69rem; text-transform:uppercase; letter-spacing:.4px; }
.pt-compare td { padding:7px 11px; border-bottom:1px solid #d0d5e8; }
.pt-compare tr:last-child td { border-bottom:none; }
.pt-compare tr.highlight td { background:#e8f5e9; font-weight:700; }
.pt-compare tr.danger td { background:#ffebee; }

/* ── Score bar ── */
.pt-score-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.pt-score-label { width:90px; font-size:.74rem; font-weight:700; color:#1a1f36; flex-shrink:0; }
.pt-score-track { flex:1; background:#eee; border-radius:20px; height:12px; overflow:hidden; }
.pt-score-fill  { height:12px; border-radius:20px; }
.pt-score-val   { width:60px; font-size:.76rem; font-weight:700; color:#00274C; text-align:right; flex-shrink:0; }

/* ── Expert badge ── */
.pt-expert-badge { display:flex; align-items:center; gap:12px; background:#00274C;
  border-radius:10px; padding:12px 16px; margin-bottom:14px; }
.pt-expert-badge .peb-avatar { width:42px; height:42px; border-radius:50%; background:#FFBF00;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.pt-expert-badge .peb-text .peb-name { font-family:Montserrat,sans-serif; font-size:.82rem;
  font-weight:700; color:#fff; }
.pt-expert-badge .peb-text .peb-role { font-size:.71rem; color:rgba(255,255,255,.65); margin-top:2px; }
.pt-expert-badge .peb-text .peb-quote { font-size:.76rem; color:rgba(255,255,255,.85);
  margin-top:5px; font-style:italic; line-height:1.5; }

/* ── Checklist ── */
.pt-checklist { }
.pt-check-item { display:flex; gap:9px; margin-bottom:8px; font-size:.79rem;
  align-items:flex-start; line-height:1.5; }
.pt-check-item .ci-icon { flex-shrink:0; margin-top:1px; font-size:.85rem; }
.pt-check-item .ci-text { color:#1a1f36; }
.pt-check-item .ci-text strong { color:#00274C; }
.pt-check-item.done .ci-text { color:#1b5e20; }
.pt-check-item.risk .ci-text { color:#b71c1c; }

/* ── CTA banner ── */
.pt-cta { background:linear-gradient(135deg,#00274C 0,#003a70 100); border-radius:14px;
  padding:28px 32px; text-align:center; margin-top:36px; }
.pt-cta h3 { font-family:Montserrat,sans-serif; font-size:1.1rem; font-weight:800;
  color:#fff; margin-bottom:8px; }
.pt-cta p { font-size:.84rem; color:rgba(255,255,255,.8); max-width:600px; margin:0 auto 18px;
  line-height:1.6; }
.pt-cta .cta-btn { display:inline-flex; align-items:center; gap:8px; background:#FFBF00;
  color:#00274C; padding:12px 28px; border-radius:9px; font-family:Montserrat,sans-serif;
  font-weight:800; font-size:.88rem; text-decoration:none; transition:background .2s; }
.pt-cta .cta-btn:hover { background:#ffd54f; }

@media(max-width:900px){
  .pt-tip-body,.pt-tip-body.three{ grid-template-columns:1fr }
}
@media(max-width:600px){
  .pt-tip-number{ width:52px; font-size:1.6rem; }
  .pt-tip-saving{ gap:14px; }
}
/* ── FAQ Section Styles ── */
.faq-section { background:#fff; padding:56px 0 52px; border-top:3px solid #d0d5e8; }
.faq-inner { max-width:1000px; margin:0 auto; padding:0 20px; }
.faq-eyebrow { display:inline-block; font-family:Montserrat,sans-serif; font-size:.72rem;
  font-weight:700; color:#BF0A30; text-transform:uppercase; letter-spacing:2px; margin-bottom:10px; }
.faq-h2 { font-family:Montserrat,sans-serif; font-size:clamp(1.35rem,3vw,1.85rem);
  font-weight:800; color:#00274C; margin-bottom:10px; }
.faq-lead { font-size:.91rem; color:#6b7280; max-width:680px; margin:0 auto 16px; line-height:1.65; }
/* Category chips */
.faq-cats { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:36px; }
.faq-cat { font-family:Montserrat,sans-serif; font-size:.71rem; font-weight:700; padding:5px 14px;
  border-radius:20px; cursor:pointer; border:1.5px solid #d0d5e8; background:#fff;
  color:#6b7280; transition:all .2s; }
.faq-cat:hover,.faq-cat.active { background:#00274C; color:#fff; border-color:#00274C; }
/* Category group heading */
.faq-cat-heading { font-family:Montserrat,sans-serif; font-size:.72rem; font-weight:800;
  color:#00274C; text-transform:uppercase; letter-spacing:1.5px; margin:32px 0 12px;
  padding:8px 14px; background:#e8eeff; border-radius:8px; display:flex;
  align-items:center; gap:8px; }
/* Accordion */
.faq-item { border:1px solid #d0d5e8; border-radius:10px; margin-bottom:8px;
  overflow:hidden; transition:box-shadow .2s; }
.faq-item:hover { box-shadow:0 2px 12px rgba(0,39,76,.08); }
.faq-item.open { border-color:#00274C; }
.faq-question { display:flex; justify-content:space-between; align-items:flex-start;
  padding:15px 18px; cursor:pointer; gap:12px; background:#fff; }
.faq-item.open .faq-question { background:#f0f4ff; border-bottom:1px solid #d0d5e8; }
.faq-question-text { font-size:.88rem; font-weight:700; color:#00274C;
  font-family:Montserrat,sans-serif; line-height:1.45; flex:1; }
.faq-item.open .faq-question-text { color:#00274C; }
.faq-icon { width:24px; height:24px; border-radius:50%; background:#e8eeff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:.85rem;
  font-weight:800; color:#00274C; transition:transform .25s, background .2s; margin-top:1px; }
.faq-item.open .faq-icon { background:#00274C; color:#fff; transform:rotate(45deg); }
.faq-answer { display:none; padding:16px 18px 18px; font-size:.84rem; color:#4a5568;
  line-height:1.75; border-top:none; background:#fff; }
.faq-answer.open { display:block; }
.faq-answer p { margin:0 0 10px; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer strong { color:#00274C; }
.faq-answer .fa-highlight { background:#f0faf4; border-left:3px solid #00843D;
  border-radius:0 8px 8px 0; padding:10px 14px; margin:10px 0; font-size:.81rem; color:#1b5e20; }
.faq-answer .fa-warn { background:#fff8e1; border-left:3px solid #856404;
  border-radius:0 8px 8px 0; padding:10px 14px; margin:10px 0; font-size:.81rem; color:#5d4037; }
.faq-answer .fa-table { width:100%; border-collapse:collapse; font-size:.78rem; margin:10px 0;
  border-radius:8px; overflow:hidden; border:1px solid #d0d5e8; }
.faq-answer .fa-table th { background:#00274C; color:#fff; padding:7px 11px; text-align:left;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.4px; }
.faq-answer .fa-table td { padding:7px 11px; border-bottom:1px solid #d0d5e8; }
.faq-answer .fa-table tr:last-child td { border-bottom:none; }
.faq-answer .fa-table tr:nth-child(even) td { background:#f5f7ff; }
/* Count badge */
.faq-count-badge { display:inline-flex; align-items:center; gap:6px; background:#00274C;
  color:#fff; padding:6px 14px; border-radius:20px; font-family:Montserrat,sans-serif;
  font-size:.72rem; font-weight:700; margin-bottom:28px; }
/* Bottom CTA strip */
.faq-bottom { background:#f0f4ff; border:1px solid #d0d5e8; border-radius:12px;
  padding:20px 24px; margin-top:36px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.faq-bottom .fb-text h4 { font-family:Montserrat,sans-serif; font-size:.92rem; font-weight:700;
  color:#00274C; margin-bottom:4px; }
.faq-bottom .fb-text p { font-size:.8rem; color:#6b7280; margin:0; line-height:1.5; }
.faq-bottom .fb-btn { background:#00274C; color:#fff; padding:10px 20px; border-radius:8px;
  font-family:Montserrat,sans-serif; font-weight:700; font-size:.8rem; text-decoration:none;
  white-space:nowrap; flex-shrink:0; }
.faq-disclaimer { font-size:.72rem; color:#9ca3af; margin-top:20px; text-align:center;
  line-height:1.6; padding:0 10px; }
@media(max-width:600px){
  .faq-bottom{ flex-direction:column; text-align:center; }
}
/* ── Related Calculators Section ── */
.rc-section { background:linear-gradient(160deg,#00274C 0%,#003a70 60%,#002050 100%);
  padding:56px 0 52px; }
.rc-inner { max-width:1200px; margin:0 auto; padding:0 20px; }
.rc-eyebrow { display:inline-block; font-family:Montserrat,sans-serif; font-size:.72rem;
  font-weight:700; color:#FFBF00; text-transform:uppercase; letter-spacing:2px; margin-bottom:10px; }
.rc-h2 { font-family:Montserrat,sans-serif; font-size:clamp(1.35rem,3vw,1.85rem);
  font-weight:800; color:#fff; margin-bottom:10px; }
.rc-lead { font-size:.88rem; color:rgba(255,255,255,.7); max-width:680px;
  margin:0 auto 44px; line-height:1.65; }

/* ── Group Heading ── */
.rc-group-title { display:flex; align-items:center; gap:12px; margin:0 0 18px;
  padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.12); }
.rc-group-title .rgt-icon { width:38px; height:38px; border-radius:9px; display:flex;
  align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.rgt-icon.gold   { background:rgba(255,191,0,.18); }
.rgt-icon.green  { background:rgba(0,132,61,.25); }
.rgt-icon.purple { background:rgba(103,58,183,.3); }
.rc-group-title h3 { font-family:Montserrat,sans-serif; font-size:.95rem; font-weight:800;
  color:#fff; margin:0; }
.rc-group-title span { font-size:.74rem; color:rgba(255,255,255,.55); margin-top:2px;
  display:block; font-weight:500; }

/* ── Card Grid ── */
.rc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:40px; }
.rc-grid.five { grid-template-columns:repeat(5,1fr); }
.rc-grid.three { grid-template-columns:repeat(3,1fr); }

/* ── Calculator Card ── */
.rc-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:18px 16px 16px; text-decoration:none;
  display:flex; flex-direction:column; gap:10px; transition:all .22s;
  position:relative; overflow:hidden; }
.rc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px;
  border-radius:12px 12px 0 0; }
.rc-card.gold::before   { background:linear-gradient(90deg,#FFBF00,#FFD54F); }
.rc-card.green::before  { background:linear-gradient(90deg,#00843D,#69f0ae); }
.rc-card.purple::before { background:linear-gradient(90deg,#673ab7,#9c27b0); }
.rc-card.red::before    { background:linear-gradient(90deg,#BF0A30,#ff5252); }
.rc-card.teal::before   { background:linear-gradient(90deg,#00695c,#26a69a); }
.rc-card:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22);
  transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.3); }
.rc-card-icon { width:40px; height:40px; border-radius:9px; display:flex;
  align-items:center; justify-content:center; font-size:1.25rem; flex-shrink:0; }
.rc-card-icon.gold   { background:rgba(255,191,0,.15); }
.rc-card-icon.green  { background:rgba(0,132,61,.2); }
.rc-card-icon.purple { background:rgba(103,58,183,.25); }
.rc-card-icon.red    { background:rgba(191,10,48,.2); }
.rc-card-icon.teal   { background:rgba(0,105,92,.25); }
.rc-card-name { font-family:Montserrat,sans-serif; font-size:.82rem; font-weight:700;
  color:#fff; line-height:1.3; flex:1; }
.rc-card-desc { font-size:.72rem; color:rgba(255,255,255,.6); line-height:1.5; }
.rc-card-tag { display:inline-flex; align-items:center; gap:4px; font-size:.64rem;
  font-weight:700; padding:3px 8px; border-radius:10px; align-self:flex-start; }
.rc-card-tag.gold   { background:rgba(255,191,0,.15); color:#FFBF00; }
.rc-card-tag.green  { background:rgba(0,132,61,.2); color:#69f0ae; }
.rc-card-tag.purple { background:rgba(103,58,183,.25); color:#ce93d8; }
.rc-card-tag.red    { background:rgba(191,10,48,.2); color:#ff8a80; }
.rc-card-tag.teal   { background:rgba(0,105,92,.25); color:#80cbc4; }
.rc-card-arrow { position:absolute; bottom:14px; right:14px; font-size:.8rem;
  color:rgba(255,255,255,.3); transition:color .2s,right .2s; }
.rc-card:hover .rc-card-arrow { color:rgba(255,255,255,.7); right:10px; }

/* ── "Most Related" Featured Strip ── */
.rc-featured-strip { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:40px; }
.rc-featured-card { background:rgba(255,191,0,.1); border:1px solid rgba(255,191,0,.3);
  border-radius:14px; padding:20px 20px; text-decoration:none; display:flex;
  align-items:flex-start; gap:16px; transition:all .22s; }
.rc-featured-card:hover { background:rgba(255,191,0,.18); transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(0,0,0,.3); }
.rc-featured-card .rfc-icon { width:52px; height:52px; border-radius:12px; background:rgba(255,191,0,.2);
  display:flex; align-items:center; justify-content:center; font-size:1.6rem; flex-shrink:0; }
.rc-featured-card .rfc-body {}
.rc-featured-card .rfc-tag { font-size:.63rem; font-weight:700; color:#FFBF00;
  text-transform:uppercase; letter-spacing:1px; margin-bottom:5px; }
.rc-featured-card .rfc-name { font-family:Montserrat,sans-serif; font-size:.98rem;
  font-weight:800; color:#fff; margin-bottom:6px; line-height:1.3; }
.rc-featured-card .rfc-desc { font-size:.77rem; color:rgba(255,255,255,.7); line-height:1.55; }
.rc-featured-card .rfc-cta { display:inline-flex; align-items:center; gap:5px; margin-top:10px;
  font-size:.74rem; font-weight:700; color:#FFBF00; }

/* ── Bottom "View All" bar ── */
.rc-view-all { text-align:center; padding-top:8px; }
.rc-view-all a { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2); color:#fff; padding:12px 28px; border-radius:9px;
  font-family:Montserrat,sans-serif; font-weight:700; font-size:.83rem;
  text-decoration:none; transition:background .2s; }
.rc-view-all a:hover { background:rgba(255,255,255,.18); }

@media(max-width:1024px){ .rc-grid{ grid-template-columns:repeat(3,1fr) } .rc-grid.five{ grid-template-columns:repeat(3,1fr) } }
@media(max-width:820px){ .rc-grid{ grid-template-columns:repeat(2,1fr) } .rc-featured-strip{ grid-template-columns:1fr } }
@media(max-width:480px){ .rc-grid{ grid-template-columns:1fr } }
/* ── Disclaimer / Transparency Section ── */
.dt-section { background:#f0f4ff; padding:52px 0 44px; border-top:3px solid #d0d5e8; }
.dt-inner  { max-width:1100px; margin:0 auto; padding:0 20px; }
.dt-grid   { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; }

/* ── Panel ── */
.dt-panel { background:#fff; border:1px solid #d0d5e8; border-radius:14px; overflow:hidden; }
.dt-panel-head { display:flex; align-items:center; gap:12px; padding:16px 20px 14px;
  border-bottom:2px solid #d0d5e8; }
.dt-panel-head .dph-icon { width:38px; height:38px; border-radius:9px; display:flex;
  align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.dph-icon.navy   { background:#e8eeff; }
.dph-icon.green  { background:#e8f5e9; }
.dph-icon.red    { background:#ffebee; }
.dph-icon.gold   { background:#fffde7; }
.dt-panel-head .dph-text h3 { font-family:Montserrat,sans-serif; font-size:.92rem;
  font-weight:800; color:#00274C; margin:0; }
.dt-panel-head .dph-text span { font-size:.71rem; color:#6b7280; }
.dt-panel-body { padding:18px 20px; }

/* ── Editorial Transparency items ── */
.dt-meta-row { display:flex; gap:8px; align-items:flex-start; margin-bottom:12px; }
.dt-meta-row:last-child { margin-bottom:0; }
.dt-meta-icon { width:28px; height:28px; border-radius:7px; background:#e8eeff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:.85rem; margin-top:1px; }
.dt-meta-body .dt-meta-label { font-family:Montserrat,sans-serif; font-size:.71rem;
  font-weight:700; color:#00274C; text-transform:uppercase; letter-spacing:.5px; margin-bottom:2px; }
.dt-meta-body .dt-meta-val { font-size:.79rem; color:#4a5568; line-height:1.55; }

/* ── Government links ── */
.dt-gov-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dt-gov-link { display:flex; align-items:flex-start; gap:10px; padding:10px 12px;
  background:#f8f9ff; border:1px solid #d0d5e8; border-radius:8px; text-decoration:none;
  transition:all .18s; }
.dt-gov-link:hover { background:#e8eeff; border-color:#00274C; }
.dt-gov-link .dgl-flag { font-size:1.1rem; flex-shrink:0; line-height:1; }
.dt-gov-link .dgl-body .dgl-name { font-size:.75rem; font-weight:700; color:#00274C;
  line-height:1.3; margin-bottom:2px; }
.dt-gov-link .dgl-body .dgl-org  { font-size:.67rem; color:#6b7280; }
.dt-gov-link .dgl-ext { margin-left:auto; font-size:.65rem; color:#6b7280;
  flex-shrink:0; padding-top:1px; }
/* Special / national links */
.dt-gov-link.national { border-color:#BF0A30; background:#fff8f9; }
.dt-gov-link.national:hover { background:#ffebee; }
.dt-gov-link.national .dgl-name { color:#BF0A30; }

/* ── Disclaimer body text ── */
.dt-disclaimer-body { font-size:.78rem; color:#4a5568; line-height:1.75; }
.dt-disclaimer-body p { margin:0 0 12px; }
.dt-disclaimer-body p:last-child { margin:0; }
.dt-disclaimer-body strong { color:#00274C; }

/* ── Notice boxes ── */
.dt-notice { display:flex; gap:10px; align-items:flex-start; padding:11px 14px;
  border-radius:9px; margin-bottom:10px; font-size:.77rem; line-height:1.6; }
.dt-notice:last-child { margin-bottom:0; }
.dt-notice .dn-icon { font-size:1rem; flex-shrink:0; margin-top:1px; }
.dt-notice.red    { background:#ffebee; border-left:3px solid #BF0A30; color:#7f0000; }
.dt-notice.green  { background:#e8f5e9; border-left:3px solid #00843D; color:#1b5e20; }
.dt-notice.gold   { background:#fffde7; border-left:3px solid #856404; color:#5d4037; }
.dt-notice.navy   { background:#e8eeff; border-left:3px solid #00274C; color:#1a1f36; }
.dt-notice strong { font-weight:700; display:block; margin-bottom:2px; }

/* ── Rate update table ── */
.dt-rate-table { width:100%; border-collapse:collapse; font-size:.74rem; margin-top:12px; }
.dt-rate-table th { background:#00274C; color:#fff; padding:6px 10px; text-align:left;
  font-size:.68rem; text-transform:uppercase; letter-spacing:.4px; }
.dt-rate-table td { padding:7px 10px; border-bottom:1px solid #d0d5e8; color:#4a5568; }
.dt-rate-table tr:last-child td { border-bottom:none; }
.dt-rate-table td:first-child { font-weight:700; color:#00274C; }
.dt-rate-table .verified { color:#00843D; font-weight:700; font-size:.72rem; }
.dt-rate-table .check { color:#00843D; }

/* ── Full-width bottom strip ── */
.dt-bottom-strip { background:#00274C; border-radius:12px; padding:18px 22px;
  margin-top:24px; display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.dt-bottom-strip .dbs-icon { font-size:1.4rem; flex-shrink:0; margin-top:2px; }
.dt-bottom-strip .dbs-body { flex:1; }
.dt-bottom-strip .dbs-title { font-family:Montserrat,sans-serif; font-size:.85rem;
  font-weight:800; color:#fff; margin-bottom:5px; }
.dt-bottom-strip .dbs-text { font-size:.76rem; color:rgba(255,255,255,.75); line-height:1.65; }
.dt-bottom-strip .dbs-text a { color:#FFBF00; text-decoration:none; }
.dt-bottom-strip .dbs-text a:hover { text-decoration:underline; }

@media(max-width:900px){ .dt-grid{ grid-template-columns:1fr } }
@media(max-width:600px){ .dt-gov-grid{ grid-template-columns:1fr } }
/* ── 1. SECTION WRAPPER ── */
.hiw-section {
  background: linear-gradient(170deg, #f8faff 0%, #eef2ff 50%, #f4f6fb 100%);
  padding: 60px 0 56px;
  border-top: 1px solid #d0d5e8;
}
.hiw-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ── 2. HEADING ── */
.hiw-heading {
  text-align: center;
  margin-bottom: 40px;
}
.hiw-heading h2 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.45rem, 3.2vw, 2rem);
  font-weight: 800;
  color: #00274C;
  margin: 8px 0 12px;
  line-height: 1.25;
}
.hiw-heading p {
  font-size: .92rem;
  color: #4a5568;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ── 3. EYEBROW LABEL ── */
.section-eyebrow {
  display: inline-block;
  font-family: Montserrat, sans-serif;
  font-size: .69rem;
  font-weight: 700;
  color: #BF0A30;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: rgba(191,10,48,.08);
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 8px;
}

/* ── 4. STATS STRIP ── */
.hiw-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 44px;
  background: #fff;
  border: 1px solid #d0d5e8;
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 2px 12px rgba(0,39,76,.07);
}
.hiw-stat-box {
  text-align: center;
  padding: 20px 10px 16px;
  border-radius: 10px;
  transition: background .18s;
}
.hiw-stat-box:hover { background: #f0f4ff; }
.hsb-icon {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 8px;
  line-height: 1;
}
.hsb-value {
  font-family: Montserrat, sans-serif;
  font-size: 1.8rem;
  font-weight: 900;
  color: #00274C;
  line-height: 1;
  margin-bottom: 5px;
}
.hsb-label {
  font-size: .71rem;
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  line-height: 1.4;
}

/* ── 5. STEPS TITLE (sub-heading) ── */
.hiw-steps-title {
  font-family: Montserrat, sans-serif;
  font-size: .88rem;
  font-weight: 800;
  color: #00274C;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 8px 14px;
  background: #e8eeff;
  border-left: 4px solid #00274C;
  border-radius: 0 8px 8px 0;
  margin-bottom: 18px;
}

/* ── 6. STEP CARDS GRID ── */
.hiw-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}
.hiw-step-card {
  background: #fff;
  border: 1px solid #d0d5e8;
  border-radius: 14px;
  padding: 22px 18px 18px;
  position: relative;
  transition: box-shadow .2s, transform .2s;
}
.hiw-step-card:hover {
  box-shadow: 0 6px 24px rgba(0,39,76,.1);
  transform: translateY(-2px);
}
.step-number {
  position: absolute;
  top: -12px;
  left: 18px;
  width: 28px;
  height: 28px;
  background: #00274C;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,39,76,.3);
}
.step-icon {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 10px;
  margin-top: 6px;
}
.hiw-step-card h3 {
  font-family: Montserrat, sans-serif;
  font-size: .9rem;
  font-weight: 800;
  color: #00274C;
  margin: 0 0 8px;
}
.hiw-step-card p {
  font-size: .8rem;
  color: #4a5568;
  line-height: 1.65;
  margin: 0 0 10px;
}
.step-tip {
  background: #fffde7;
  border-left: 3px solid #FFBF00;
  border-radius: 0 6px 6px 0;
  padding: 8px 10px;
  font-size: .74rem;
  color: #5d4037;
  line-height: 1.55;
}
.step-tip strong { color: #856404; }

/* ── 7. DATA TABLE ── */
.data-table-wrap {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid #d0d5e8;
  box-shadow: 0 2px 10px rgba(0,39,76,.06);
  margin-bottom: 28px;
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .79rem;
  background: #fff;
}
.data-table thead tr {
  background: #00274C;
}
.data-table thead th {
  color: #fff;
  padding: 11px 14px;
  text-align: left;
  font-family: Montserrat, sans-serif;
  font-size: .69rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  white-space: nowrap;
}
.data-table tbody tr { border-bottom: 1px solid #e9ecf5; }
.data-table tbody tr:last-child { border-bottom: none; }
.data-table tbody tr:nth-child(even) { background: #f8faff; }
.data-table tbody tr:hover { background: #eef2ff; }
.data-table td {
  padding: 10px 14px;
  color: #374151;
  line-height: 1.5;
  vertical-align: top;
}
.td-bold  { font-weight: 700; color: #00274C !important; }
.td-green { color: #00843D !important; font-weight: 600; }
.td-orange{ color: #c45d00 !important; font-weight: 600; }
.td-red   { color: #BF0A30 !important; font-weight: 600; }

/* ── 8. INPUT CARD GRID ── */
.hiw-input-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}
.hiw-input-card {
  background: #fff;
  border: 1px solid #d0d5e8;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,39,76,.05);
}
.hic-header {
  background: #00274C;
  color: #fff;
  padding: 12px 16px;
  font-family: Montserrat, sans-serif;
  font-size: .8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hic-body { padding: 14px 16px; }
.hiw-input-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid #f0f0f5;
  font-size: .79rem;
  color: #374151;
  line-height: 1.5;
}
.hiw-input-row:last-child { border-bottom: none; padding-bottom: 0; }
.required {
  display: inline-block;
  background: #ffebee;
  color: #BF0A30;
  font-size: .63rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── 9. RESULT BOXES ── */
.hiw-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.hiw-result-box {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #d0d5e8;
  box-shadow: 0 2px 8px rgba(0,39,76,.06);
  transition: transform .18s;
}
.hiw-result-box:hover { transform: translateY(-2px); }
.hrb-head {
  padding: 10px 14px;
  font-family: Montserrat, sans-serif;
  font-size: .76rem;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.hrb-navy .hrb-head  { background: #00274C; }
.hrb-green .hrb-head { background: #00843D; }
.hrb-red .hrb-head   { background: #BF0A30; }
.hrb-body {
  background: #fff;
  padding: 14px;
  font-size: .79rem;
  color: #374151;
  line-height: 1.65;
}

/* ── 10. TABS GRID ── */
.hiw-tabs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.hiw-tab-card {
  background: #fff;
  border: 1px solid #d0d5e8;
  border-radius: 12px;
  padding: 18px 16px;
  transition: all .2s;
  cursor: default;
}
.hiw-tab-card:hover {
  border-color: #00274C;
  box-shadow: 0 4px 16px rgba(0,39,76,.1);
  transform: translateY(-2px);
}
.hiw-tab-card.tab-featured {
  border-color: #FFBF00;
  background: linear-gradient(135deg, #fffde7 0%, #fff9c4 100%);
  box-shadow: 0 3px 12px rgba(255,191,0,.2);
}
.tab-emoji {
  display: block;
  font-size: 1.8rem;
  margin-bottom: 10px;
  line-height: 1;
}
.hiw-tab-card h3 {
  font-family: Montserrat, sans-serif;
  font-size: .88rem;
  font-weight: 800;
  color: #00274C;
  margin: 0 0 6px;
}
.hiw-tab-card p {
  font-size: .77rem;
  color: #4a5568;
  line-height: 1.6;
  margin: 0 0 10px;
}
.tab-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .65rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 10px;
  background: rgba(0,39,76,.08);
  color: #00274C;
}
.hiw-tab-card.tab-featured .tab-badge {
  background: rgba(255,191,0,.25);
  color: #856404;
}

/* ── 11. ALERT BOXES ── */
.alert-info {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #e8eeff;
  border: 1px solid #b8c5f0;
  border-left: 4px solid #00274C;
  border-radius: 0 10px 10px 0;
  padding: 13px 16px;
  margin-bottom: 16px;
  font-size: .81rem;
  color: #1a2a50;
  line-height: 1.65;
}
.alert-warning {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #fffde7;
  border: 1px solid #ffe082;
  border-left: 4px solid #FFBF00;
  border-radius: 0 10px 10px 0;
  padding: 13px 16px;
  margin-bottom: 16px;
  font-size: .81rem;
  color: #5d4037;
  line-height: 1.65;
}
.alert-info strong, .alert-warning strong { font-weight: 700; }

/* ── 12. TAG PILLS ── */
.tag-pill {
  display: inline-flex;
  align-items: center;
  font-size: .67rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 12px;
  margin: 2px 3px 2px 0;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.pill-green  { background: #e8f5e9; color: #1b5e20; }
.pill-orange { background: #fff3e0; color: #bf360c; }
.pill-red    { background: #ffebee; color: #b71c1c; }

/* ── 13. INPUT ROW PARTS (ir-*) ── */
.ir-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.ir-label {
  font-size: .78rem;
  font-weight: 700;
  color: #00274C;
}
.ir-desc {
  font-size: .73rem;
  color: #6b7280;
  line-height: 1.5;
}
.ir-tag {
  display: inline-block;
  font-size: .63rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  background: #e8eeff;
  color: #00274C;
  flex-shrink: 0;
  margin-top: 2px;
  align-self: flex-start;
}
.ir-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00274C;
  flex-shrink: 0;
  margin-top: 6px;
}

/* ── 14. PRO TIPS ── */
.hiw-pro-tips {
  background: linear-gradient(135deg, #00274C 0%, #003a70 100%);
  border-radius: 16px;
  padding: 28px 24px;
  margin-top: 8px;
}
.hiw-pro-tips h3 {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #FFBF00;
  margin: 0 0 18px;
}
.hiw-tips-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hiw-tip-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 13px 14px;
  transition: background .18s;
}
.hiw-tip-item:hover { background: rgba(255,255,255,.12); }
.tip-icon {
  font-size: 1.2rem;
  flex-shrink: 0;
  margin-top: 1px;
  line-height: 1;
}
.hiw-tip-item p {
  font-size: .8rem;
  color: rgba(255,255,255,.85);
  line-height: 1.65;
  margin: 0;
}
.hiw-tip-item strong { color: #fff; }

/* ── 15. RESPONSIVE ── */
@media (max-width: 1024px) {
  .hiw-steps-grid   { grid-template-columns: repeat(2, 1fr); }
  .hiw-results-grid { grid-template-columns: repeat(2, 1fr); }
  .hiw-tabs-grid    { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .hiw-stats-strip  { grid-template-columns: repeat(2, 1fr); }
  .hiw-input-grid   { grid-template-columns: 1fr; }
  .hiw-steps-grid   { grid-template-columns: 1fr; }
  .hiw-results-grid { grid-template-columns: 1fr; }
  .hiw-tabs-grid    { grid-template-columns: 1fr; }
  .hiw-pro-tips     { padding: 20px 16px; }
}
@media (max-width: 480px) {
  .hiw-stats-strip  { grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 4px; }
  .hsb-value        { font-size: 1.4rem; }
  .hiw-section      { padding: 40px 0 36px; }
}
/* ── Outer box ── */
.au-pro-box {
  background: linear-gradient(135deg, #00274C 0%, #003a70 60%, #001f3f 100%);
  border-radius: 16px;
  padding: 32px 28px 28px;
  margin: 36px 0 0;
  position: relative;
  overflow: hidden;
}

/* subtle background pattern */
.au-pro-box::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(255,191,0,.06);
  pointer-events: none;
}
.au-pro-box::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -30px;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: rgba(255,255,255,.03);
  pointer-events: none;
}

/* ── Heading ── */
.au-pro-box h3 {
  font-family: Montserrat, sans-serif;
  font-size: clamp(.95rem, 2.2vw, 1.15rem);
  font-weight: 800;
  color: #FFBF00;
  margin: 0 0 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 1;
}

/* ── 2-column tip grid ── */
.au-tip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  position: relative;
  z-index: 1;
}

/* ── Individual tip card ── */
.au-tip {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 11px;
  padding: 14px 15px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  transition: background .2s, border-color .2s, transform .2s;
}
.au-tip:hover {
  background: rgba(255,255,255,.13);
  border-color: rgba(255,191,0,.35);
  transform: translateY(-2px);
}

/* ── Tip emoji icon ── */
.au-tip .ti {
  font-size: 1.25rem;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
  display: block;
  width: 32px;
  height: 32px;
  background: rgba(255,191,0,.12);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Tip text ── */
.au-tip p {
  font-size: .79rem;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
  margin: 0;
}
.au-tip p strong {
  color: #fff;
  font-weight: 700;
  display: block;
  margin-bottom: 3px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .au-tip-grid {
    grid-template-columns: 1fr;
  }
  .au-pro-box {
    padding: 24px 18px 20px;
  }
}
@media (max-width: 480px) {
  .au-pro-box {
    border-radius: 12px;
    padding: 20px 14px 16px;
  }
  .au-pro-box h3 {
    font-size: .92rem;
  }
  .au-tip p {
    font-size: .76rem;
  }
}

/* Mobile Overrides for Results Section — Tab 1 & Tab 2 Fixes */

/* ── Global canvas fix: Chart.js overflows without this ── */
canvas {
  max-width: 100% !important;
  height: auto !important;
}

/* ── tab-panel must contain overflow from any child ── */
.tab-panel, .calc-body {
  overflow-x: hidden;
}

/* ── Tab 1 – res-box: must have min-width:0 in grid ── */
.res-box {
  min-width: 0;
}

@media (max-width: 767px) {
  /* Prevent right-column content overflowing viewport */
  #sdResults, #nswResults, #foreignResults, #commercialResults, #settlementResults {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Foreign-grid must stack on mobile for NSW break-even Tab 2 */
  .foreign-grid {
    grid-template-columns: 1fr;
  }

  /* chart-wrap: constrain height on small screens */
  .chart-wrap {
    height: 200px !important;
    overflow: hidden;
  }
}

@media (max-width: 480px) {
  /* ── Tab 1: Result highlight ── */
  .result-highlight {
    padding: 14px;
    text-align: center;
  }
  .result-highlight .value {
    font-size: 1.7rem;
  }

  /* ── Tab 1: Result grid — keep 2 cols but fix overflow ── */
  .result-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px;
  }

  /* ── Tab 1: res-box — tighter padding, no overflow ── */
  .res-box {
    padding: 8px 6px;
    overflow: hidden;
    min-width: 0;
  }

  /* ── Tab 1: rb-label — fix "FOREIGN BUYER SURCHARGE" overflow ── */
  /* letter-spacing + uppercase was ~22px too wide at .7rem on 180px cells */
  .res-box .rb-label {
    font-size: .62rem;
    letter-spacing: 0;
    line-height: 1.3;
    word-break: break-word;
  }

  /* ── Tab 1: rb-val — constrain on narrow cells ── */
  .res-box .rb-val {
    font-size: .88rem;
    word-break: break-all;
  }

  /* ── Tab 2: breakeven-badge ── */
  .breakeven-badge {
    padding: 14px 12px;
  }
  .be-year {
    font-size: 2rem;
  }
  .be-rec {
    font-size: .74rem;
    padding: 7px 10px;
  }

  /* ── Tab 2: foreign-grid stacks on smallest screens ── */
  .foreign-grid {
    grid-template-columns: 1fr;
  }
  .foreign-card {
    padding: 10px;
  }

  /* ── Chart height reduction on very small screens ── */
  .chart-wrap {
    height: 180px !important;
  }
}

/* Case Study Mobile Optimization */
@media (max-width: 600px) {
  .re-ex-head {
    padding: 15px;
    flex-direction: column;
    align-items: flex-start;
  }

  .re-ex-result {
    text-align: left;
    margin-top: 10px;
  }

  .re-ex-body {
    grid-template-columns: 1fr !important; /* Force stack */
    padding: 15px;
    gap: 15px;
  }

  /* Stats row inside case studies */
  .re-stats-row {
    grid-template-columns: 1fr 1fr !important;
  }
  
  /* Ensure bracket tables don't overflow */
  .re-bracket-table {
    font-size: 0.7rem;
  }
}

