/* ============================================================
   BestDealz International — Tools, Industry & Trust (Sprint 8)
   Used by: Landed-Cost Calculator, HS Code Lookup,
            Industry Hub, Industry Landing, Trust Center.
   Theme: blue #003c8c + orange #f08c00 — matches homepage.
   ============================================================ */

/* ── Tool hero (gradient with abstract grid pattern) ───── */
.tl-hero{
  background:
    linear-gradient(135deg, rgba(0,60,140,.95) 0%, rgba(0,30,92,.95) 100%),
    radial-gradient(circle at 80% 20%, rgba(240,140,0,.35) 0%, transparent 50%);
  color:#fff;
  padding:48px 0 44px;
  border-bottom:4px solid var(--bd-orange);
  position:relative; overflow:hidden;
}
.tl-hero::before{
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
}
.tl-hero .bd-container{ position:relative; z-index:1; }
.tl-hero-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:36px; align-items:center;
}
.tl-hero .eyebrow{
  display:inline-block;
  background:rgba(240,140,0,.18);
  border:1px solid rgba(240,140,0,.4);
  color:#ffd479;
  padding:5px 13px; border-radius:999px;
  font-size:11.5px; font-weight:700; letter-spacing:.8px;
  text-transform:uppercase; margin-bottom:14px;
}
.tl-hero h1{
  font-size:42px; font-weight:900;
  letter-spacing:-.02em; line-height:1.1;
  margin:0 0 14px;
}
.tl-hero h1 .accent{ color:var(--bd-orange); }
.tl-hero .lede{
  font-size:16px; color:rgba(255,255,255,.88);
  line-height:1.55; margin:0 0 22px;
  max-width:560px;
}
.tl-hero-stats{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
}
.tl-hero-stat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  padding:18px;
  backdrop-filter:blur(4px);
}
.tl-hero-stat .n{
  font-size:26px; font-weight:900; color:var(--bd-orange);
  line-height:1;
}
.tl-hero-stat .l{
  font-size:11px; color:rgba(255,255,255,.7);
  margin-top:5px; text-transform:uppercase; letter-spacing:.5px;
}

/* ── Shell ──────────────────────────────────────────── */
.tl-shell{ padding:40px 0 56px; }

/* ── Calculator layout ───────────────────────────── */
.lc-layout{
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap:24px;
  align-items:start;
}
.lc-form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px;
}
.lc-form h2{
  font-size:18px; font-weight:800; color:var(--ink-900);
  margin:0 0 6px;
  display:flex; align-items:center; gap:8px;
}
.lc-form h2 svg{ width:18px; height:18px; color:var(--bd-orange); }
.lc-form .sub{
  font-size:13px; color:var(--ink-500); margin:0 0 22px;
}
.lc-section{
  margin-bottom:22px;
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
}
.lc-section:last-child{ border-bottom:0; margin-bottom:0; padding-bottom:0; }
.lc-section h3{
  font-size:12px; font-weight:800;
  color:var(--ink-500); text-transform:uppercase; letter-spacing:.6px;
  margin:0 0 12px;
  display:flex; align-items:center; gap:8px;
}
.lc-section h3 .step{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px;
  background:var(--bd-orange); color:#fff;
  border-radius:50%; font-size:11px; font-weight:900;
}
.lc-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
.lc-row.full{ grid-template-columns:1fr; }
.lc-field label{
  display:block; font-size:12px; font-weight:600;
  color:var(--ink-700); margin-bottom:5px;
}
.lc-field input, .lc-field select{
  width:100%;
  padding:10px 13px;
  border:1.5px solid var(--line); border-radius:6px;
  font-size:13.5px;
  background:#fff;
  outline:0;
  transition:border-color .15s, box-shadow .15s;
}
.lc-field input:focus, .lc-field select:focus{
  border-color:var(--bd-orange);
  box-shadow:0 0 0 3px rgba(240,140,0,.12);
}
.lc-field .help{
  font-size:11px; color:var(--ink-500);
  margin-top:4px;
}
.lc-field .help a{ color:var(--bd-orange); text-decoration:none; }
.lc-field .help a:hover{ text-decoration:underline; }

.lc-prefix{
  position:relative;
}
.lc-prefix input{ padding-left:36px; }
.lc-prefix .symbol{
  position:absolute; left:13px; top:50%;
  transform:translateY(-50%);
  font-size:13px; font-weight:700;
  color:var(--ink-500);
  pointer-events:none;
}

.lc-mode-toggle{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:6px;
  background:#fafafa;
  padding:4px;
  border-radius:8px;
  border:1px solid var(--line);
}
.lc-mode-toggle label{
  text-align:center;
  padding:9px 6px;
  font-size:12.5px; font-weight:600;
  color:var(--ink-700);
  cursor:pointer;
  border-radius:6px;
  transition:background .15s, color .15s;
  display:block; margin:0;
}
.lc-mode-toggle input{ display:none; }
.lc-mode-toggle input:checked + label,
.lc-mode-toggle label.active{
  background:var(--bd-orange); color:#fff;
}

/* ── Result panel (sticky) ────────────────────── */
.lc-result{
  position:sticky;
  top:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}
.lc-result-head{
  background:linear-gradient(135deg, var(--bd-blue), #001e5c);
  color:#fff;
  padding:18px 22px;
}
.lc-result-head h3{
  font-size:11px; font-weight:800;
  color:rgba(255,255,255,.7);
  text-transform:uppercase; letter-spacing:.6px;
  margin:0 0 4px;
}
.lc-total{
  font-size:34px; font-weight:900;
  color:#fff; line-height:1;
  letter-spacing:-.02em;
}
.lc-total .unit{
  font-size:14px; color:rgba(255,255,255,.7);
  font-weight:500; display:block;
  margin-top:4px;
}
.lc-breakdown{
  padding:18px 22px;
}
.lc-line{
  display:flex; justify-content:space-between;
  align-items:baseline;
  padding:9px 0;
  font-size:13px;
  border-bottom:1px solid var(--line);
}
.lc-line:last-child{ border-bottom:0; }
.lc-line .label{ color:var(--ink-700); }
.lc-line .label small{
  display:block; font-size:10.5px;
  color:var(--ink-500); margin-top:1px;
}
.lc-line .val{
  font-weight:700; color:var(--ink-900);
  font-variant-numeric:tabular-nums;
}
.lc-line.total{
  margin-top:6px; padding-top:14px;
  border-top:2px solid var(--bd-orange);
  border-bottom:0;
  font-size:14.5px;
  font-weight:800;
}
.lc-line.total .val{
  font-size:18px; color:var(--bd-orange);
}
.lc-line.percent .val{
  font-size:11.5px; color:var(--ink-500);
  font-weight:600;
}
.lc-cta-row{
  padding:0 22px 22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.lc-cta-row a{
  text-align:center;
  padding:11px;
  border-radius:6px;
  font-size:12.5px; font-weight:700;
  text-decoration:none;
}
.lc-cta-row a.primary{
  background:var(--bd-orange); color:#fff;
}
.lc-cta-row a.primary:hover{ background:#d97700; }
.lc-cta-row a.ghost{
  background:#fff;
  border:1px solid var(--line);
  color:var(--ink-700);
}
.lc-cta-row a.ghost:hover{ border-color:var(--bd-orange); color:var(--bd-orange); }

.lc-notice{
  padding:12px 22px;
  background:#fff8ee;
  font-size:11.5px;
  color:var(--ink-700);
  border-top:1px solid var(--line);
  display:flex; gap:6px; align-items:flex-start;
}
.lc-notice svg{ width:13px; height:13px; flex-shrink:0; color:var(--bd-orange); margin-top:1px; }

/* ── HS code lookup ───────────────────────────── */
.hs-search-wrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px 28px;
  margin-bottom:24px;
}
.hs-search-wrap .input-wrap{
  position:relative;
}
.hs-search-wrap input{
  width:100%;
  padding:15px 18px 15px 50px;
  border:2px solid var(--line); border-radius:8px;
  font-size:15px;
  outline:0;
  transition:border-color .15s, box-shadow .15s;
}
.hs-search-wrap input:focus{
  border-color:var(--bd-orange);
  box-shadow:0 0 0 4px rgba(240,140,0,.12);
}
.hs-search-wrap .input-wrap svg.search-ic{
  position:absolute; top:50%; left:18px;
  transform:translateY(-50%);
  width:20px; height:20px;
  color:var(--ink-500);
}
.hs-search-wrap .hint{
  font-size:12px; color:var(--ink-500);
  margin-top:10px;
}
.hs-quick-cats{
  display:flex; gap:6px; flex-wrap:wrap;
  margin-top:14px;
}
.hs-quick-cats a{
  background:#fafafa;
  border:1px solid var(--line);
  color:var(--ink-700);
  padding:6px 12px; border-radius:999px;
  font-size:12px; font-weight:600;
  text-decoration:none;
  transition:background .15s, color .15s, border-color .15s;
}
.hs-quick-cats a:hover, .hs-quick-cats a.active{
  background:var(--bd-orange);
  border-color:var(--bd-orange);
  color:#fff;
}

.hs-table{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.hs-table table{
  width:100%; border-collapse:collapse;
  font-size:13.5px;
}
.hs-table th, .hs-table td{
  text-align:left;
  padding:12px 18px;
  border-bottom:1px solid var(--line);
}
.hs-table th{
  background:#fafafa;
  font-size:11px; font-weight:800;
  color:var(--ink-700);
  text-transform:uppercase; letter-spacing:.5px;
}
.hs-table tr:last-child td{ border-bottom:0; }
.hs-table tr:hover td{ background:#fff8ee; }
.hs-table td.code{
  font-family:'Courier New', monospace;
  font-weight:700; color:var(--bd-blue);
  white-space:nowrap;
}
.hs-table td.duty{
  font-weight:700; text-align:right;
  font-variant-numeric:tabular-nums;
  color:var(--ink-900);
}
.hs-table td.duty.high{ color:#dc2626; }
.hs-table td.duty.med{ color:#d97706; }
.hs-table td.duty.low{ color:#15803d; }
.hs-empty{
  padding:40px 20px;
  text-align:center;
  font-size:13.5px; color:var(--ink-500);
}

/* ── Industry hero (per-industry colour theming) ── */
.in-hero{
  position:relative;
  padding:46px 0 38px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  color:#fff;
}
.in-hero.theme-energy   { background:linear-gradient(135deg,#15803d 0%,#166534 60%,#14532d 100%); }
.in-hero.theme-elec     { background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 60%,#172554 100%); }
.in-hero.theme-tools    { background:linear-gradient(135deg,#d97700 0%,#b45309 60%,#92400e 100%); }
.in-hero.theme-build    { background:linear-gradient(135deg,#475569 0%,#334155 60%,#1e293b 100%); }
.in-hero.theme-medical  { background:linear-gradient(135deg,#0891b2 0%,#0e7490 60%,#155e75 100%); }
.in-hero.theme-default  { background:linear-gradient(135deg,var(--bd-blue) 0%,#001e5c 100%); }
.in-hero .bd-container{ position:relative; z-index:1; }
.in-hero-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:36px; align-items:center;
}
.in-hero-eyebrow{
  display:inline-block;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  padding:5px 13px; border-radius:5px;
  font-size:11px; font-weight:900; letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.in-hero h1{
  font-size:38px; font-weight:900;
  letter-spacing:-.02em; line-height:1.1;
  margin:0 0 14px; color:#fff;
}
.in-hero h1 .accent{ color:#ffd479; }
.in-hero .lede{
  font-size:15.5px; color:rgba(255,255,255,.88);
  line-height:1.55; margin:0 0 22px;
  max-width:560px;
}
.in-hero-stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.in-hero-stat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  padding:14px; text-align:center;
}
.in-hero-stat .n{
  font-size:20px; font-weight:900; color:#fff; line-height:1;
}
.in-hero-stat .l{
  font-size:11px; color:rgba(255,255,255,.7);
  margin-top:4px; text-transform:uppercase; letter-spacing:.5px;
}
.in-hero-visual{
  display:flex; align-items:center; justify-content:center;
  height:240px;
}
.in-hero-visual svg{
  width:200px; height:200px;
  color:rgba(255,255,255,.18);
}

/* ── Industry hub tile grid ──────────────────── */
.ih-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:18px;
}
.ih-tile{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  text-decoration:none;
  display:flex; flex-direction:column;
  position:relative;
  transition:transform .15s, box-shadow .15s, border-color .15s;
  overflow:hidden;
}
.ih-tile::before{
  content:''; position:absolute;
  top:-30px; right:-30px;
  width:120px; height:120px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--bd-orange), transparent);
  opacity:.08;
  transition:opacity .2s, transform .2s;
}
.ih-tile:hover{
  transform:translateY(-3px);
  border-color:var(--bd-orange);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.ih-tile:hover::before{
  opacity:.16; transform:scale(1.2);
}
.ih-tile .ic{
  width:48px; height:48px;
  background:linear-gradient(135deg, #fff8ee, #ffe6c4);
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
  position:relative; z-index:1;
}
.ih-tile .ic svg{ width:22px; height:22px; color:var(--bd-orange); }
.ih-tile h3{
  font-size:15px; font-weight:800; color:var(--ink-900);
  margin:0 0 6px; position:relative; z-index:1;
}
.ih-tile p{
  font-size:12.5px; color:var(--ink-700);
  margin:0 0 14px; line-height:1.5;
  flex:1;
}
.ih-tile .count{
  font-size:11px; font-weight:700;
  color:var(--bd-orange);
  text-transform:uppercase; letter-spacing:.5px;
  margin-top:auto;
  display:inline-flex; align-items:center; gap:4px;
}
.ih-tile .count svg{ width:11px; height:11px; }

/* ── Industry body sections ─────────────────── */
.in-tabs{
  display:flex; gap:6px;
  background:#fafafa;
  border:1px solid var(--line);
  border-radius:8px;
  padding:4px;
  margin-bottom:24px;
  overflow-x:auto;
}
.in-tabs a{
  flex-shrink:0;
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 16px;
  border-radius:6px;
  font-size:13px; font-weight:600;
  color:var(--ink-700);
  text-decoration:none;
  white-space:nowrap;
  transition:background .15s, color .15s;
}
.in-tabs a:hover{ color:var(--bd-orange); }
.in-tabs a.active{
  background:#fff;
  color:var(--ink-900);
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  font-weight:700;
}

.in-checklist{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px 28px;
  margin-bottom:24px;
}
.in-checklist h3{
  font-size:16px; font-weight:800; color:var(--ink-900);
  margin:0 0 14px;
  display:flex; align-items:center; gap:8px;
}
.in-checklist h3 svg{ width:18px; height:18px; color:var(--bd-orange); }
.in-checklist ul{
  list-style:none; padding:0; margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:8px;
}
.in-checklist li{
  display:flex; align-items:flex-start; gap:8px;
  font-size:13px; color:var(--ink-700);
  line-height:1.5;
}
.in-checklist li svg{
  width:14px; height:14px; flex-shrink:0; margin-top:3px;
  color:#15803d;
}

.in-spec-table{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  margin-bottom:24px;
}
.in-spec-table table{ width:100%; border-collapse:collapse; font-size:13px; }
.in-spec-table th, .in-spec-table td{
  text-align:left;
  padding:11px 16px;
  border-bottom:1px solid var(--line);
}
.in-spec-table th{
  background:#fafafa;
  font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.5px;
  color:var(--ink-700);
}
.in-spec-table tr:last-child td{ border-bottom:0; }
.in-spec-table td.highlight{
  background:#fff8ee; color:var(--ink-900); font-weight:700;
}

/* ── Trust Center hero ──────────────────────── */
.tc-hero{
  background:
    linear-gradient(135deg, rgba(20,83,45,.95) 0%, rgba(13,53,29,.95) 100%),
    radial-gradient(circle at 80% 20%, rgba(255,212,121,.3) 0%, transparent 50%);
  color:#fff;
  padding:46px 0 40px;
  border-bottom:4px solid var(--bd-orange);
  position:relative;
  overflow:hidden;
}
.tc-hero::before{
  content:'';
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 25% 75%, rgba(255,255,255,.06) 0%, transparent 40%),
    radial-gradient(circle at 75% 30%, rgba(255,255,255,.04) 0%, transparent 40%);
  pointer-events:none;
}
.tc-hero .bd-container{ position:relative; z-index:1; }
.tc-hero h1{
  font-size:36px; font-weight:900;
  letter-spacing:-.02em; line-height:1.1;
  margin:0 0 12px;
}
.tc-hero h1 .accent{ color:#ffd479; }
.tc-hero .lede{
  font-size:15.5px; color:rgba(255,255,255,.88);
  max-width:660px; line-height:1.55;
  margin:0 0 22px;
}
.tc-status-pill{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(34,197,94,.18);
  border:1px solid rgba(34,197,94,.45);
  padding:8px 14px; border-radius:999px;
  font-size:13px; font-weight:700;
  color:#86efac;
}
.tc-status-pill .dot{
  width:8px; height:8px;
  background:#22c55e;
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(34,197,94,.2);
  animation:tc-pulse 1.8s ease-in-out infinite;
}
@keyframes tc-pulse{
  0%, 100% { box-shadow:0 0 0 4px rgba(34,197,94,.2); }
  50% { box-shadow:0 0 0 8px rgba(34,197,94,.05); }
}

/* ── Trust Center sections ────────────────── */
.tc-status-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:14px;
  margin-bottom:28px;
}
.tc-status-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:18px;
}
.tc-status-card .head{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:8px;
}
.tc-status-card h4{
  font-size:13.5px; font-weight:700; color:var(--ink-900);
  margin:0;
}
.tc-status-card .status{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:700;
  padding:3px 9px; border-radius:999px;
  text-transform:uppercase; letter-spacing:.4px;
}
.tc-status-card .status .dot{
  width:6px; height:6px; border-radius:50%;
}
.tc-status-card .status.ok{ background:#dcfce7; color:#15803d; }
.tc-status-card .status.ok .dot{ background:#15803d; }
.tc-status-card .status.warn{ background:#fef3c7; color:#92400e; }
.tc-status-card .status.warn .dot{ background:#d97706; }
.tc-status-card .status.down{ background:#fee2e2; color:#991b1b; }
.tc-status-card .status.down .dot{ background:#dc2626; }
.tc-status-card .meta{
  font-size:12px; color:var(--ink-700);
}
.tc-status-card .meta strong{ color:var(--ink-900); font-weight:700; }

/* 90-day uptime bar */
.tc-uptime-bars{
  margin-top:14px;
  display:flex; gap:2px; height:30px;
}
.tc-uptime-bars .bar{
  flex:1; min-width:2px;
  background:#22c55e;
  border-radius:2px;
}
.tc-uptime-bars .bar.degraded{ background:#facc15; }
.tc-uptime-bars .bar.outage{ background:#dc2626; }

/* ── Compliance & security strip ──────────── */
.tc-comp-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
  gap:14px;
}
.tc-comp-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px;
  position:relative;
}
.tc-comp-card .badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px;
  background:linear-gradient(135deg, #fff8ee, #ffe6c4);
  border-radius:10px;
  margin-bottom:12px;
}
.tc-comp-card .badge svg{ width:20px; height:20px; color:var(--bd-orange); }
.tc-comp-card h4{
  font-size:14px; font-weight:800; color:var(--ink-900);
  margin:0 0 4px;
}
.tc-comp-card .compliant{
  font-size:11px; font-weight:700; color:#15803d;
  display:inline-flex; align-items:center; gap:4px;
  margin-bottom:8px;
}
.tc-comp-card .compliant svg{ width:11px; height:11px; }
.tc-comp-card p{
  font-size:12.5px; color:var(--ink-700);
  margin:0; line-height:1.5;
}

/* ── Incident history list ──────────────── */
.tc-incidents{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.tc-incident{
  display:grid;
  grid-template-columns:80px 1fr auto;
  gap:14px; align-items:center;
  padding:14px 20px;
  border-bottom:1px solid var(--line);
}
.tc-incident:last-child{ border-bottom:0; }
.tc-incident .date{
  font-size:11.5px; color:var(--ink-500);
  font-weight:600;
}
.tc-incident .body{
  font-size:13px; color:var(--ink-700); line-height:1.5;
}
.tc-incident .body strong{
  color:var(--ink-900); display:block; font-size:13.5px; margin-bottom:2px;
}
.tc-incident .sev{
  font-size:10.5px; font-weight:700;
  padding:3px 8px; border-radius:999px;
  letter-spacing:.4px; text-transform:uppercase;
}
.tc-incident .sev.minor{ background:#fef3c7; color:#92400e; }
.tc-incident .sev.major{ background:#fee2e2; color:#991b1b; }
.tc-incident .sev.resolved{ background:#dcfce7; color:#15803d; }

/* ── Big metric tiles (Trust Center stats) ─── */
.tc-metrics{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  margin-bottom:32px;
}
.tc-metric{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
  text-align:center;
}
.tc-metric .n{
  font-size:32px; font-weight:900;
  color:var(--bd-orange);
  line-height:1;
}
.tc-metric .l{
  font-size:12px; color:var(--ink-500);
  margin-top:6px;
  text-transform:uppercase; letter-spacing:.5px;
}

/* ── Section heads (shared) ────────────────── */
.tl-sec-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:18px; flex-wrap:wrap;
  margin:32px 0 16px;
}
.tl-sec-head h2{
  font-size:22px; font-weight:800; color:var(--ink-900);
  margin:0 0 4px; letter-spacing:-.01em;
}
.tl-sec-head h2 .accent{ color:var(--bd-orange); }
.tl-sec-head .sub{
  font-size:13px; color:var(--ink-500); margin:0;
}
.tl-sec-head .view-all{
  font-size:13px; font-weight:700;
  color:var(--bd-orange);
  text-decoration:none;
  display:inline-flex; align-items:center; gap:4px;
}
.tl-sec-head .view-all:hover{ text-decoration:underline; }

/* ── Cross-sell CTA ─────────────────────────── */
.tl-cta{
  background:linear-gradient(135deg, var(--bd-blue), #001e5c);
  color:#fff;
  border-radius:14px;
  padding:36px;
  text-align:center;
  margin:36px 0;
  position:relative;
  overflow:hidden;
}
.tl-cta::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 80% 30%, rgba(240,140,0,.16) 0%, transparent 50%);
}
.tl-cta > *{ position:relative; z-index:1; }
.tl-cta h2{
  font-size:26px; font-weight:900;
  margin:0 0 8px; letter-spacing:-.02em;
}
.tl-cta h2 .accent{ color:var(--bd-orange); }
.tl-cta p{
  font-size:14.5px; color:rgba(255,255,255,.85);
  margin:0 auto 18px; max-width:580px;
}
.tl-cta .btns{
  display:inline-flex; gap:10px; flex-wrap:wrap; justify-content:center;
}
.tl-cta .btns a{
  background:var(--bd-orange); color:#fff;
  padding:12px 26px; border-radius:6px;
  font-weight:700; font-size:14px; text-decoration:none;
}
.tl-cta .btns a.ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.4);
}
.tl-cta .btns a:hover{ filter:brightness(1.1); }

/* ── Mobile responsive ─────────────────────── */
@media (max-width:1100px){
  .lc-layout{ grid-template-columns:1fr; }
  .lc-result{ position:static; }
}
@media (max-width:900px){
  .tl-hero-grid{ grid-template-columns:1fr; }
  .tl-hero h1{ font-size:30px; }
  .in-hero-grid{ grid-template-columns:1fr; }
  .in-hero h1{ font-size:28px; }
  .in-hero-visual{ display:none; }
  .tc-metrics{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:600px){
  .tl-hero{ padding:30px 0; }
  .tl-hero h1{ font-size:24px; }
  .tl-hero-stats{ grid-template-columns:1fr 1fr; }
  .lc-form{ padding:20px; }
  .lc-row{ grid-template-columns:1fr; }
  .lc-section h3 .step{ width:20px; height:20px; }
  .lc-mode-toggle{ grid-template-columns:1fr; }
  .lc-total{ font-size:26px; }
  .ih-grid{ grid-template-columns:1fr; }
  .in-hero h1{ font-size:22px; }
  .in-hero .lede{ font-size:14px; }
  .in-hero-stats{ grid-template-columns:repeat(3, 1fr); gap:6px; }
  .in-hero-stat{ padding:10px; }
  .in-hero-stat .n{ font-size:16px; }
  .tc-hero h1{ font-size:24px; }
  .tc-metrics{ grid-template-columns:1fr 1fr; gap:8px; }
  .tc-metric{ padding:16px; }
  .tc-metric .n{ font-size:24px; }
  .tl-cta{ padding:24px 18px; }
  .tl-cta h2{ font-size:22px; }
  .tc-incident{ grid-template-columns:1fr; gap:6px; }
}
