/* ============================================================================
   ToolVerse — Premium Fintech Design System (Phase 1 pilot)
   ----------------------------------------------------------------------------
   Scope rule: every selector in this file is scoped to `body.tv-premium`.
   Only the three approved pilot pages carry that class, so this file cannot
   restyle the rest of the site.

   Page scopes
     .tv-premium-home    index.html                (Tailwind CDN utility shell)
     .tv-premium-tool    original calculators      (guides.css shell)
     .tv-premium-center  Financial Center pages    (fintech-tools.css shell)

   This file is presentation only. It changes no markup contract, no element
   IDs, no calculation logic, no analytics and no stored data.
   ========================================================================== */

/* ---------------------------------------------------------------- 1. Tokens */

body.tv-premium{
  /* Brand */
  --tv-brand-600:#e5322d;
  --tv-brand-700:#c92520;
  --tv-brand-050:#fff1f0;
  --tv-brand-100:#ffe0de;

  /* Ink */
  --tv-ink-950:#111827;
  --tv-ink-800:#1f2937;
  --tv-ink-600:#4b5563;
  --tv-ink-500:#6b7280;

  /* Surfaces */
  --tv-surface:#ffffff;
  --tv-canvas:#f7f8fa;
  --tv-subtle:#f3f4f6;
  --tv-border:#e5e7eb;
  --tv-border-strong:#d1d5db;

  /* Semantic */
  --tv-info:#1d4ed8;
  --tv-success:#18794e;
  --tv-warning:#9a6700;
  --tv-danger:#b42318;
  --tv-info-050:#eff4ff;
  --tv-success-050:#edfaf3;
  --tv-warning-050:#fff8e6;
  --tv-danger-050:#fef3f2;

  /* Spacing scale */
  --tv-s1:4px;  --tv-s2:8px;  --tv-s3:12px; --tv-s4:16px; --tv-s5:24px;
  --tv-s6:32px; --tv-s7:40px; --tv-s8:48px; --tv-s9:64px; --tv-s10:80px; --tv-s11:96px;

  /* Radius */
  --tv-r-xs:8px; --tv-r-sm:10px; --tv-r-md:12px; --tv-r-lg:14px; --tv-r-xl:16px; --tv-r-pill:999px;

  /* Elevation */
  --tv-shadow-xs:0 1px 2px rgba(17,24,39,.05);
  --tv-shadow-sm:0 2px 8px rgba(17,24,39,.05);
  --tv-shadow-md:0 4px 16px rgba(17,24,39,.06);
  --tv-shadow-lg:0 12px 32px rgba(17,24,39,.08);

  /* Focus */
  --tv-focus-ring:0 0 0 3px rgba(229,50,45,.30);
  --tv-focus-outline:2px solid var(--tv-brand-600);

  /* Type + layout */
  --tv-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --tv-measure:720px;
  --tv-app:1200px;
  --tv-control:46px;

  /* --- Legacy variable remap: recolors guides.css / fintech / navigation --- */
  --bg:#f7f8fa; --panel:#ffffff; --panel2:#ffffff;
  --text:#1f2937; --muted:#4b5563; --line:#e5e7eb;
  --cyan:#e5322d; --violet:#1f2937;
  --green:#18794e; --warning:#9a6700; --danger:#b42318;

  --tv-nav-bg:#ffffff; --tv-nav-cyan:#e5322d; --tv-nav-line:#e5e7eb;
  --tv-nav-muted:#4b5563; --tv-nav-panel:#ffffff; --tv-nav-panel-strong:#ffffff;
  --tv-nav-text:#1f2937; --tv-nav-violet:#4b5563;

  color-scheme:light;
  background:var(--tv-canvas)!important;
  color:var(--tv-ink-800);
  font-family:var(--tv-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

body.tv-premium select,
body.tv-premium input,
body.tv-premium textarea{color-scheme:light}

/* ------------------------------------------------------- 2. Base + typography */

body.tv-premium *,
body.tv-premium *::before,
body.tv-premium *::after{box-sizing:border-box}

body.tv-premium img,
body.tv-premium svg,
body.tv-premium canvas{max-width:100%}

body.tv-premium h1,
body.tv-premium h2,
body.tv-premium h3,
body.tv-premium h4{
  color:var(--tv-ink-950);
  font-family:var(--tv-font);
  letter-spacing:-.018em;
  text-wrap:balance;
}

body.tv-premium h1{font-size:clamp(30px,4.6vw,44px);line-height:1.12;font-weight:700;letter-spacing:-.026em}
body.tv-premium h2{font-size:clamp(24px,3vw,30px);line-height:1.22;font-weight:700}
body.tv-premium h3{font-size:clamp(18px,2vw,22px);line-height:1.3;font-weight:650}
body.tv-premium p,
body.tv-premium li,
body.tv-premium dd,
body.tv-premium dt{font-family:var(--tv-font)}
body.tv-premium p{color:var(--tv-ink-600);line-height:1.65}

body.tv-premium .tvp-display{
  font-size:clamp(36px,5.4vw,54px);
  line-height:1.06;
  letter-spacing:-.03em;
  font-weight:700;
  color:var(--tv-ink-950);
  margin:0;
}

body.tv-premium .tvp-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px;border-radius:var(--tv-r-pill);
  border:1px solid var(--tv-border);background:var(--tv-surface);
  color:var(--tv-ink-600);
  font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;
}
body.tv-premium .tvp-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--tv-brand-600);flex:none;
}

body.tv-premium .tvp-lede{
  max-width:var(--tv-measure);
  color:var(--tv-ink-600);
  font-size:clamp(16px,1.6vw,19px);
  line-height:1.65;
  margin:0;
}

/* Numeric emphasis */
body.tv-premium .tvp-figure,
body.tv-premium .result-summary span,
body.tv-premium #score-value,
body.tv-premium .tv-fintech-metric strong{font-variant-numeric:tabular-nums}

/* -------------------------------------------------- 3. Focus + a11y defaults */

body.tv-premium a:focus-visible,
body.tv-premium button:focus-visible,
body.tv-premium summary:focus-visible,
body.tv-premium input:focus-visible,
body.tv-premium select:focus-visible,
body.tv-premium textarea:focus-visible,
body.tv-premium [tabindex]:focus-visible{
  outline:var(--tv-focus-outline)!important;
  outline-offset:2px!important;
  border-radius:var(--tv-r-xs);
}

body.tv-premium .tv-sr-only,
body.tv-premium .tvp-sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

@media(prefers-reduced-motion:reduce){
  body.tv-premium *,
  body.tv-premium *::before,
  body.tv-premium *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
}

/* ------------------------------------------------------------- 4. Components */

/* 4.1 Cards */
body.tv-premium .tvp-card{
  background:var(--tv-surface);
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-xl);
  box-shadow:var(--tv-shadow-md);
  padding:var(--tv-s5);
}
@media(min-width:768px){body.tv-premium .tvp-card{padding:var(--tv-s6)}}

body.tv-premium .tvp-card-quiet{
  background:var(--tv-surface);
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  box-shadow:none;
  padding:var(--tv-s5);
}

body.tv-premium a.tvp-card-link{
  display:block;text-decoration:none;
  background:var(--tv-surface);
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  box-shadow:var(--tv-shadow-xs);
  padding:var(--tv-s5);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.tv-premium a.tvp-card-link:hover{
  border-color:var(--tv-border-strong);
  box-shadow:var(--tv-shadow-md);
  transform:translateY(-1px);
}

/* 4.2 Buttons */
body.tv-premium .tvp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:var(--tv-control);
  padding:0 20px;
  border-radius:var(--tv-r-md);
  border:1px solid transparent;
  font:600 15px/1.2 var(--tv-font);
  text-decoration:none;
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
body.tv-premium .tvp-btn-primary{
  background:var(--tv-brand-600);border-color:var(--tv-brand-600);color:#fff;
  box-shadow:var(--tv-shadow-xs);
}
body.tv-premium .tvp-btn-primary:hover{background:var(--tv-brand-700);border-color:var(--tv-brand-700)}
body.tv-premium .tvp-btn-secondary{
  background:var(--tv-surface);border-color:var(--tv-border-strong);color:var(--tv-ink-800);
}
body.tv-premium .tvp-btn-secondary:hover{background:var(--tv-subtle);border-color:var(--tv-ink-500)}
body.tv-premium .tvp-btn:disabled,
body.tv-premium .tvp-btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}

/* 4.3 Status chips (never colour-only: each carries a text label) */
body.tv-premium .tvp-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:var(--tv-r-pill);
  border:1px solid var(--tv-border);background:var(--tv-subtle);
  color:var(--tv-ink-600);font-size:12px;font-weight:600;
}

/* 4.4 Trust row */
body.tv-premium .tvp-trust{
  display:flex;flex-wrap:wrap;gap:10px 22px;
  margin:0;padding:0;list-style:none;
}
body.tv-premium .tvp-trust li{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--tv-ink-600);font-size:14px;font-weight:550;
}
body.tv-premium .tvp-trust li::before{
  content:"";width:16px;height:16px;flex:none;border-radius:50%;
  background:var(--tv-brand-050);
  border:1px solid var(--tv-brand-100);
  box-shadow:inset 0 0 0 3px var(--tv-brand-600);
}

/* ------------------------------------------------------ 5. Header/navigation */

body.tv-premium .tv-global-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid var(--tv-border);
  box-shadow:none;
}
body.tv-premium .tv-global-inner{
  width:min(var(--tv-app),calc(100% - 40px));
  margin:0 auto;
  min-height:68px;
  gap:var(--tv-s5);
}
body.tv-premium .tv-brand{
  color:var(--tv-ink-950);
  font-weight:700;
  letter-spacing:-.02em;
  text-decoration:none;
}
body.tv-premium .tv-brand b{color:var(--tv-brand-600);font-weight:700}
body.tv-premium .tv-brand-mark{
  background:var(--tv-brand-600)!important;
  color:#fff!important;
  border-radius:9px;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow:none;
}

body.tv-premium .tv-desktop-nav{gap:2px}
body.tv-premium .tv-menu>summary,
body.tv-premium .tv-mobile-nav>summary{
  min-height:40px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:var(--tv-r-sm);
  color:var(--tv-ink-600);
  background:transparent;
  font:600 15px/1 var(--tv-font);
  transition:background-color .14s ease,color .14s ease;
}
body.tv-premium .tv-menu>summary:hover{background:var(--tv-subtle);color:var(--tv-ink-950)}
body.tv-premium .tv-menu[open]>summary{background:var(--tv-subtle);color:var(--tv-ink-950)}
body.tv-premium .tv-menu>summary[data-tv-current],
body.tv-premium .tv-desktop-nav a[aria-current="page"]{
  color:var(--tv-ink-950);
  box-shadow:inset 0 -2px 0 var(--tv-brand-600);
}

body.tv-premium .tv-mega{
  top:72px;
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-xl);
  background:var(--tv-surface);
  box-shadow:var(--tv-shadow-lg);
  padding:var(--tv-s5);
}
body.tv-premium .tv-mega-title,
body.tv-premium .tv-menu-section-label{
  color:var(--tv-ink-500);
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
body.tv-premium .tv-mega-link{
  color:var(--tv-ink-800);
  border-radius:var(--tv-r-sm);
  text-decoration:none;
}
body.tv-premium .tv-mega-link span{color:var(--tv-ink-500)}
body.tv-premium .tv-mega-link:hover,
body.tv-premium .tv-mega-link:focus-visible{background:var(--tv-subtle);color:var(--tv-ink-950)}
body.tv-premium .tv-menu-panel{
  border:1px solid var(--tv-border);
  background:var(--tv-surface);
  box-shadow:var(--tv-shadow-lg);
  border-radius:var(--tv-r-lg);
}
body.tv-premium .tv-menu-panel a{color:var(--tv-ink-800);text-decoration:none}
body.tv-premium .tv-menu-panel a:hover{background:var(--tv-subtle)}

body.tv-premium .tv-feature{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-canvas);
  box-shadow:none;
}
body.tv-premium .tv-feature-eyebrow{color:var(--tv-brand-600);font-weight:700}
body.tv-premium .tv-feature-title{color:var(--tv-ink-950)}
body.tv-premium .tv-feature p{color:var(--tv-ink-600)}
body.tv-premium .tv-feature a{
  color:#fff!important;background:var(--tv-brand-600);
  border-radius:var(--tv-r-sm);text-decoration:none;font-weight:600;
}
body.tv-premium .tv-feature a:hover{background:var(--tv-brand-700)}

body.tv-premium .tv-header-cta{
  min-height:42px;padding:0 18px;
  background:var(--tv-brand-600)!important;
  color:#fff!important;
  border:1px solid var(--tv-brand-600);
  border-radius:var(--tv-r-md);
  font-weight:600;
  box-shadow:none;
}
body.tv-premium .tv-header-cta:hover{background:var(--tv-brand-700)!important;border-color:var(--tv-brand-700)}

/* Mobile navigation */
body.tv-premium .tv-mobile-nav>summary{
  min-height:44px;min-width:44px;padding:0 14px;
  border:1px solid var(--tv-border-strong);
  border-radius:var(--tv-r-sm);
  color:var(--tv-ink-800);
  background:var(--tv-surface);
  font-weight:600;
}
body.tv-premium .tv-mobile-nav[open]>summary{background:var(--tv-subtle)}
body.tv-premium .tv-mobile-panel{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-surface);
  box-shadow:var(--tv-shadow-lg);
  padding:var(--tv-s3);
}
body.tv-premium .tv-mobile-cta{
  display:flex;align-items:center;justify-content:center;
  min-height:46px;
  background:var(--tv-brand-600)!important;
  color:#fff!important;
  border-radius:var(--tv-r-md);
  font-weight:600;text-decoration:none;
}
body.tv-premium .tv-mobile-section>summary{
  min-height:46px;display:flex;align-items:center;
  color:var(--tv-ink-950);font-weight:650;
  border-radius:var(--tv-r-sm);
}
body.tv-premium .tv-mobile-category{
  border:1px solid var(--tv-border)!important;
  border-radius:var(--tv-r-md);
  background:var(--tv-surface)!important;
}
body.tv-premium .tv-mobile-category-toggle{
  min-height:46px;
  color:var(--tv-ink-800)!important;
  background:transparent;
  font-weight:600;
}
body.tv-premium .tv-mobile-category-panel a,
body.tv-premium .tv-mobile-direct a{
  display:flex;align-items:center;min-height:44px;
  color:var(--tv-ink-600);text-decoration:none;
}
body.tv-premium .tv-mobile-category-panel a:hover,
body.tv-premium .tv-mobile-direct a:hover{color:var(--tv-brand-600)}
body.tv-premium .tv-mobile-category-chevron{color:var(--tv-ink-500)}

/* --------------------------------------------------------------- 6. Footer */

body.tv-premium .tv-footer{
  margin-top:var(--tv-s10);
  border-top:1px solid var(--tv-border);
  background:var(--tv-surface);
  color:var(--tv-ink-600);
}
body.tv-premium .tv-footer-inner{width:min(var(--tv-app),calc(100% - 40px))}
body.tv-premium .tv-footer-cta{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-xl);
  background:var(--tv-canvas);
  padding:var(--tv-s5);
}
body.tv-premium .tv-footer-cta h2{font-size:22px;color:var(--tv-ink-950)}
body.tv-premium .tv-footer-cta-eyebrow{color:var(--tv-brand-600);font-weight:700;letter-spacing:.02em}
body.tv-premium .tv-footer-cta p{color:var(--tv-ink-600)}
body.tv-premium .tv-footer-cta-link{
  min-height:46px;display:inline-flex;align-items:center;
  background:var(--tv-brand-600)!important;color:#fff!important;
  border:1px solid var(--tv-brand-600);border-radius:var(--tv-r-md);
  font-weight:600;text-decoration:none;box-shadow:none;
}
body.tv-premium .tv-footer-cta-link:hover{background:var(--tv-brand-700)!important}
body.tv-premium .tv-footer-heading,
body.tv-premium .tv-footer-accordion-toggle{
  color:var(--tv-ink-950)!important;font-size:13px;font-weight:700;letter-spacing:.04em;
}
body.tv-premium .tv-footer-accordion-toggle{min-height:46px}
body.tv-premium .tv-footer-column a{
  display:flex;align-items:center;min-height:34px;
  color:var(--tv-ink-600);text-decoration:none;font-size:14px;
}
body.tv-premium .tv-footer-column a:hover{color:var(--tv-brand-600)}
body.tv-premium .tv-footer-brand p{color:var(--tv-ink-600)}
body.tv-premium .tv-footer-trust{color:var(--tv-ink-500);font-size:13px}
body.tv-premium .tv-footer-bottom{
  border-top:1px solid var(--tv-border);
  color:var(--tv-ink-500);font-size:13px;
}
body.tv-premium .tv-footer-bottom a{color:var(--tv-ink-600)}
body.tv-premium .tv-footer-chevron{color:var(--tv-ink-500)}

/* ================================================================= 7. HOME ==
   index.html runs on the Tailwind CDN. Attribute-substring selectors remap the
   dark utility palette to the light system without touching class names.
   ========================================================================== */

body.tv-premium-home{background:var(--tv-canvas)}
body.tv-premium-home .grid-bg{background-image:none!important;background:transparent}
body.tv-premium-home [data-tv-decor]{display:none!important}

/* Surfaces */
body.tv-premium-home .glass{
  background:var(--tv-surface)!important;
  border:1px solid var(--tv-border)!important;
  border-radius:var(--tv-r-xl)!important;
  box-shadow:var(--tv-shadow-md)!important;
  backdrop-filter:none!important;
}
body.tv-premium-home [class*="shadow-glow"],
body.tv-premium-home [class*="shadow-purpleglow"],
body.tv-premium-home [class*="shadow-["]{box-shadow:var(--tv-shadow-md)!important}

body.tv-premium-home [class*="bg-slate-950"]{background-color:var(--tv-surface)!important}
body.tv-premium-home [class*="bg-white/"]{background-color:var(--tv-canvas)!important}
body.tv-premium-home [class*="bg-cyan-"],
body.tv-premium-home [class*="bg-violet-"],
body.tv-premium-home [class*="bg-fuchsia-"],
body.tv-premium-home [class*="bg-sky-"]{background-color:var(--tv-brand-050)!important}
body.tv-premium-home [class*="bg-rose-"]{background-color:var(--tv-danger-050)!important}
body.tv-premium-home [class*="bg-amber-"],
body.tv-premium-home [class*="bg-orange-"]{background-color:var(--tv-warning-050)!important}

/* Borders */
body.tv-premium-home [class*="border-white/"],
body.tv-premium-home [class*="border-slate-"]{border-color:var(--tv-border)!important}
body.tv-premium-home [class*="border-cyan-"],
body.tv-premium-home [class*="border-violet-"],
body.tv-premium-home [class*="border-sky-"]{border-color:var(--tv-border)!important}
body.tv-premium-home [class*="border-rose-"]{border-color:#f4c4be!important}
body.tv-premium-home [class*="border-amber-"],
body.tv-premium-home [class*="border-orange-"]{border-color:#eedaa8!important}
body.tv-premium-home [class*="border-dashed"]{border-color:var(--tv-border-strong)!important}

/* Text */
body.tv-premium-home [class*="text-white"]{color:var(--tv-ink-950)!important}
body.tv-premium-home [class*="text-slate-100"],
body.tv-premium-home [class*="text-slate-200"],
body.tv-premium-home [class*="text-slate-300"]{color:var(--tv-ink-800)!important}
body.tv-premium-home [class*="text-slate-400"],
body.tv-premium-home [class*="text-slate-500"]{color:var(--tv-ink-600)!important}
body.tv-premium-home [class*="text-slate-600"],
body.tv-premium-home [class*="text-slate-700"]{color:var(--tv-ink-500)!important}
body.tv-premium-home [class*="text-cyan-"],
body.tv-premium-home [class*="text-sky-"]{color:var(--tv-brand-600)!important}
body.tv-premium-home [class*="text-violet-"],
body.tv-premium-home [class*="text-fuchsia-"]{color:var(--tv-ink-800)!important}
body.tv-premium-home [class*="text-rose-"]{color:var(--tv-danger)!important}
body.tv-premium-home [class*="text-amber-"],
body.tv-premium-home [class*="text-orange-"]{color:var(--tv-warning)!important}
body.tv-premium-home [class*="placeholder:text-"]::placeholder{color:var(--tv-ink-500)!important}
body.tv-premium-home input::placeholder{color:var(--tv-ink-500)!important}

/* Gradient text and gradient panels become solid */
body.tv-premium-home .bg-clip-text{
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  color:var(--tv-brand-600)!important;
}
body.tv-premium-home [class*="bg-gradient-to-br"],
body.tv-premium-home [class*="bg-gradient-to-b"]{background-image:none!important;background-color:var(--tv-surface)!important}

/* Primary/secondary actions */
body.tv-premium-home button[type="submit"],
body.tv-premium-home a[href="#calculator"].focus-ring{
  background-image:none!important;
  background-color:var(--tv-brand-600)!important;
  color:#fff!important;
  border:1px solid var(--tv-brand-600)!important;
  border-radius:var(--tv-r-md)!important;
  box-shadow:var(--tv-shadow-xs)!important;
  font-weight:600!important;
  transform:none!important;
}
body.tv-premium-home button[type="submit"]:hover,
body.tv-premium-home a[href="#calculator"].focus-ring:hover{
  background-color:var(--tv-brand-700)!important;border-color:var(--tv-brand-700)!important;transform:none!important;
}
body.tv-premium-home #share-button,
body.tv-premium-home #pdf-button,
body.tv-premium-home #amort-run,
body.tv-premium-home #clear-data,
body.tv-premium-home #clear-history{
  background-color:var(--tv-surface)!important;
  background-image:none!important;
  border:1px solid var(--tv-border-strong)!important;
  color:var(--tv-ink-800)!important;
  border-radius:var(--tv-r-md)!important;
  font-weight:600!important;
  min-height:46px;
}
body.tv-premium-home #share-button:hover,
body.tv-premium-home #pdf-button:hover,
body.tv-premium-home #amort-run:hover{background-color:var(--tv-subtle)!important}
body.tv-premium-home #clear-data{color:var(--tv-danger)!important;border-color:#f4c4be!important}
body.tv-premium-home #clear-data:hover{background-color:var(--tv-danger-050)!important}

/* Fields */
body.tv-premium-home .input-wrap,
body.tv-premium-home input[type="number"],
body.tv-premium-home select{
  background-color:var(--tv-surface)!important;
  border:1px solid var(--tv-border-strong)!important;
  border-radius:var(--tv-r-md)!important;
  color:var(--tv-ink-950)!important;
}
body.tv-premium-home .input-wrap input{border:0!important;background:transparent!important;min-height:44px}
body.tv-premium-home input[type="number"],
body.tv-premium-home select{min-height:46px}
body.tv-premium-home .input-wrap:focus-within{
  border-color:var(--tv-brand-600)!important;
  box-shadow:var(--tv-focus-ring)!important;
}
body.tv-premium-home .focus-ring:focus-visible{outline:var(--tv-focus-outline)!important;outline-offset:2px!important}
body.tv-premium-home input[type="range"]{accent-color:var(--tv-brand-600)}

/* Score ring + key result emphasis */
body.tv-premium-home #score-value{
  font-size:clamp(48px,9vw,64px)!important;
  color:var(--tv-ink-950)!important;
  letter-spacing:-.03em;
}
body.tv-premium-home #verdict{
  background:var(--tv-brand-050)!important;
  border:1px solid var(--tv-brand-100)!important;
  color:var(--tv-ink-950)!important;
  font-weight:650!important;
}
body.tv-premium-home #status-pill{
  background:var(--tv-subtle)!important;border:1px solid var(--tv-border)!important;color:var(--tv-ink-600)!important;
}
body.tv-premium-home #error-message{
  background:var(--tv-danger-050)!important;border:1px solid #f4c4be!important;color:var(--tv-danger)!important;
}

/* Premium hero block */
body.tv-premium-home .tvp-hero{
  width:100%;
  max-width:820px;
  margin:0;
  padding:clamp(28px,5vw,64px) 0 clamp(24px,3vw,40px);
  display:grid;
  gap:var(--tv-s5);
  text-align:left;
}
body.tv-premium-home .tvp-hero-actions{display:flex;flex-wrap:wrap;gap:var(--tv-s3)}
body.tv-premium-home .tvp-hero-note{font-size:13px;color:var(--tv-ink-500);max-width:var(--tv-measure)}

/* Source strip */
body.tv-premium-home .tv-source-ticker-shell{
  border:1px solid var(--tv-border)!important;
  border-radius:var(--tv-r-xl)!important;
  background:var(--tv-surface)!important;
  box-shadow:none!important;
}
body.tv-premium-home .tv-source-ticker-eyebrow{color:var(--tv-ink-500)!important}
body.tv-premium-home .tv-source-ticker-heading h2{font-size:20px}
body.tv-premium-home .tv-source-ticker-heading p{color:var(--tv-ink-600)!important;font-size:14px}
body.tv-premium-home .tv-source-mark{
  background:var(--tv-subtle)!important;border:1px solid var(--tv-border)!important;color:var(--tv-ink-800)!important;
}
body.tv-premium-home .tv-source-ticker-track li{color:var(--tv-ink-600)!important}

/* Section rhythm */
body.tv-premium-home main>section{padding-bottom:var(--tv-s9)}
body.tv-premium-home #calculator{margin-top:var(--tv-s7)}

/* ================================================== 8. ORIGINAL CALCULATORS ==
   guides.css shell (mortgage-payment-calculator.html pilot)
   ========================================================================== */

body.tv-premium-tool{background:var(--tv-canvas)!important}
body.tv-premium-tool .wrap{width:min(var(--tv-app),calc(100% - 40px))}

body.tv-premium-tool .hero{padding:clamp(32px,5vw,56px) 0 var(--tv-s5);max-width:820px}
body.tv-premium-tool .breadcrumbs{color:var(--tv-ink-500);font-size:13px}
body.tv-premium-tool .breadcrumbs a{color:var(--tv-ink-600);text-decoration:none}
body.tv-premium-tool .breadcrumbs a:hover{color:var(--tv-brand-600);text-decoration:underline}
body.tv-premium-tool .breadcrumbs span{color:var(--tv-border-strong)}
body.tv-premium-tool .eyebrow{
  border:1px solid var(--tv-border);
  background:var(--tv-surface);
  color:var(--tv-ink-600);
  font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;
  padding:6px 12px;
}
body.tv-premium-tool .eyebrow::before{background:var(--tv-brand-600)}
body.tv-premium-tool h1{
  font-size:clamp(30px,4.4vw,44px)!important;
  line-height:1.12!important;
  letter-spacing:-.026em!important;
  color:var(--tv-ink-950)!important;
  margin:var(--tv-s4) 0 var(--tv-s3);
  max-width:16ch;
  text-wrap:balance;
}
body.tv-premium-tool .lede{color:var(--tv-ink-600);font-size:clamp(16px,1.6vw,19px);max-width:var(--tv-measure)}

body.tv-premium-tool .disclaimer{
  border:1px solid var(--tv-border);
  border-left:3px solid var(--tv-info);
  border-radius:var(--tv-r-md);
  background:var(--tv-info-050);
  color:var(--tv-ink-800);
  padding:var(--tv-s3) var(--tv-s4);
}
body.tv-premium-tool .disclaimer strong{color:var(--tv-ink-950)}

body.tv-premium-tool .grid{gap:var(--tv-s5);padding-bottom:var(--tv-s9)}
body.tv-premium-tool .main-card,
body.tv-premium-tool .side-card,
body.tv-premium-tool .tool-card,
body.tv-premium-tool .source-card,
body.tv-premium-tool .related{
  border:1px solid var(--tv-border)!important;
  border-radius:var(--tv-r-xl)!important;
  background:var(--tv-surface)!important;
  box-shadow:var(--tv-shadow-md)!important;
}
body.tv-premium-tool .related,
body.tv-premium-tool .source-card{box-shadow:none!important;background:var(--tv-surface)!important}
body.tv-premium-tool .main-card{padding:clamp(20px,3vw,32px)}
body.tv-premium-tool .side-card{padding:var(--tv-s5);top:88px}

body.tv-premium-tool .section-label{
  color:var(--tv-ink-500);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
}
body.tv-premium-tool .prose h2{color:var(--tv-ink-950);font-size:clamp(22px,3vw,28px);margin:var(--tv-s7) 0 var(--tv-s3)}
body.tv-premium-tool .prose h3{color:var(--tv-ink-950);font-size:19px}
body.tv-premium-tool .prose p,
body.tv-premium-tool .prose li,
body.tv-premium-tool .side-card p{color:var(--tv-ink-600)}
body.tv-premium-tool .prose a,
body.tv-premium-tool .source-list a,
body.tv-premium-tool .link-list a{color:var(--tv-info);text-decoration:underline;text-underline-offset:2px}
body.tv-premium-tool .prose a:hover,
body.tv-premium-tool .source-list a:hover{color:var(--tv-brand-700)}

/* Form system */
body.tv-premium-tool .form-section,
body.tv-premium-tool .scenario-fieldset{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-canvas);
  padding:var(--tv-s5);
  margin-top:var(--tv-s5);
}
body.tv-premium-tool .form-section legend,
body.tv-premium-tool .scenario-fieldset legend{
  color:var(--tv-ink-950);font-size:14px;font-weight:700;letter-spacing:.01em;padding:0 8px;
}
body.tv-premium-tool .tool-grid{gap:var(--tv-s4)}
body.tv-premium-tool .tool-grid label{color:var(--tv-ink-800);font-size:14px;font-weight:600}
body.tv-premium-tool .tool-grid label>.optional{color:var(--tv-ink-500);font-weight:500}
body.tv-premium-tool .tool-grid input,
body.tv-premium-tool .tool-grid select{
  min-height:var(--tv-control);
  margin-top:8px;
  border:1px solid var(--tv-border-strong);
  border-radius:var(--tv-r-md);
  background:var(--tv-surface);
  color:var(--tv-ink-950);
  padding:10px 12px;
  font-variant-numeric:tabular-nums;
  transition:border-color .14s ease,box-shadow .14s ease;
}
body.tv-premium-tool .tool-grid input:hover,
body.tv-premium-tool .tool-grid select:hover{border-color:var(--tv-ink-500)}
body.tv-premium-tool .tool-grid input:focus,
body.tv-premium-tool .tool-grid select:focus{
  border-color:var(--tv-brand-600);
  box-shadow:var(--tv-focus-ring);
  outline:var(--tv-focus-outline);
  outline-offset:1px;
}
body.tv-premium-tool .form-error{
  border:1px solid #f4c4be;
  border-radius:var(--tv-r-md);
  background:var(--tv-danger-050);
  color:var(--tv-danger);
  font-weight:550;
}

body.tv-premium-tool .tool-actions{gap:var(--tv-s3);margin-top:var(--tv-s5)}
body.tv-premium-tool .button{
  min-height:var(--tv-control);
  border-radius:var(--tv-r-md);
  background:var(--tv-brand-600)!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid var(--tv-brand-600);
  font-weight:600;
  padding:0 20px;
  box-shadow:var(--tv-shadow-xs);
}
body.tv-premium-tool .button:hover{filter:none;background:var(--tv-brand-700)!important;border-color:var(--tv-brand-700)}
body.tv-premium-tool .button.secondary{
  background:var(--tv-surface)!important;
  color:var(--tv-ink-800)!important;
  border:1px solid var(--tv-border-strong);
  box-shadow:none;
}
body.tv-premium-tool .button.secondary:hover{background:var(--tv-subtle)!important;border-color:var(--tv-ink-500)}

/* Result: promote the decisive figure, keep every supporting number */
body.tv-premium-tool .tool-result{
  display:flex;
  flex-direction:column;
  margin-top:var(--tv-s6);
  padding:var(--tv-s5);
  border:1px solid var(--tv-border)!important;
  border-radius:var(--tv-r-xl)!important;
  background:var(--tv-surface)!important;
  box-shadow:var(--tv-shadow-md);
  color:var(--tv-ink-800)!important;
}
body.tv-premium-tool .tool-result.positive{border-color:var(--tv-border)!important;background:var(--tv-surface)!important}
body.tv-premium-tool .tool-result.warning{border-color:#eedaa8!important;background:var(--tv-warning-050)!important;color:var(--tv-ink-800)!important}
body.tv-premium-tool .tool-result.danger{border-color:#f4c4be!important;background:var(--tv-danger-050)!important;color:var(--tv-ink-800)!important}
body.tv-premium-tool .tool-result h2{
  order:-2;
  margin:0 0 var(--tv-s3);
  font-size:15px;
  font-weight:650;
  letter-spacing:.01em;
  color:var(--tv-ink-600)!important;
}
body.tv-premium-tool .tool-result .result-summary{
  order:-1;
  display:grid;gap:6px;
  margin:0 0 var(--tv-s5);
  padding:var(--tv-s5);
  border:1px solid var(--tv-brand-100);
  border-left:4px solid var(--tv-brand-600);
  border-radius:var(--tv-r-lg);
  background:var(--tv-brand-050);
  color:var(--tv-ink-950);
}
body.tv-premium-tool .tool-result .result-summary strong{
  font-size:13px;font-weight:650;letter-spacing:.02em;color:var(--tv-ink-600);text-transform:none;
}
body.tv-premium-tool .tool-result .result-summary span{
  font-size:clamp(30px,5vw,42px);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.025em;
  color:var(--tv-ink-950);
}
body.tv-premium-tool .result-grid{gap:var(--tv-s4);margin-top:0}
body.tv-premium-tool .result-grid-card{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-canvas);
  padding:var(--tv-s5);
}
body.tv-premium-tool .result-grid-card h3{color:var(--tv-ink-950);font-size:15px;font-weight:650;margin-bottom:var(--tv-s3)}
body.tv-premium-tool .result-grid-card dl>div{border-bottom:1px solid var(--tv-border)}
body.tv-premium-tool .result-grid-card dt{color:var(--tv-ink-600);font-size:13px}
body.tv-premium-tool .result-grid-card dd{color:var(--tv-ink-950);font-weight:650;font-variant-numeric:tabular-nums}
body.tv-premium-tool .result-note{
  margin-top:var(--tv-s5);padding-top:var(--tv-s4);
  border-top:1px solid var(--tv-border);
  color:var(--tv-ink-500);font-size:13px;line-height:1.6;
}
body.tv-premium-tool .result{
  border:1px solid var(--tv-border);border-radius:var(--tv-r-lg);
  background:var(--tv-surface);color:var(--tv-ink-800);
}
body.tv-premium-tool .result strong{color:var(--tv-ink-950)}

/* Supporting blocks */
body.tv-premium-tool details{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-surface);
  padding:0 var(--tv-s4);
}
body.tv-premium-tool summary{color:var(--tv-ink-950);font-weight:600;min-height:46px;display:flex;align-items:center}
body.tv-premium-tool .faq-answer{color:var(--tv-ink-600)}
body.tv-premium-tool .source-list{color:var(--tv-ink-600)}
body.tv-premium-tool .source-list small{color:var(--tv-ink-500)}
body.tv-premium-tool .badge{
  background:var(--tv-subtle);color:var(--tv-ink-600);
  border:1px solid var(--tv-border);font-weight:600;
}
body.tv-premium-tool .next-decision{border-top:1px solid var(--tv-border)}
body.tv-premium-tool .next-decision-title{color:var(--tv-ink-500)}
body.tv-premium-tool .next-decision-copy{color:var(--tv-ink-600)}
body.tv-premium-tool .next-decision .link-list a::after{color:var(--tv-brand-600)}
body.tv-premium-tool .note{
  border:1px solid #eedaa8;border-left:3px solid var(--tv-warning);
  background:var(--tv-warning-050);color:var(--tv-ink-800);
}
body.tv-premium-tool .compare{border:1px solid var(--tv-border)}
body.tv-premium-tool .compare th{background:var(--tv-subtle);color:var(--tv-ink-950)}
body.tv-premium-tool .compare td{color:var(--tv-ink-600);border-bottom:1px solid var(--tv-border)}
body.tv-premium-tool .stateless{color:var(--tv-ink-500)}

/* =============================================== 9. FINANCIAL CENTER PILOT ==
   fintech-tools.css shell (debt-consolidation-vs-settlement-calculator.html)
   ========================================================================== */

body.tv-premium-center.tv-fintech-page{background:var(--tv-canvas)!important;color:var(--tv-ink-800)!important}
body.tv-premium-center .tv-fintech-main{max-width:var(--tv-app);padding:clamp(28px,4vw,48px) 20px var(--tv-s9)}

body.tv-premium-center .tv-fintech-crumbs{color:var(--tv-ink-500)}
body.tv-premium-center .tv-fintech-crumbs a{color:var(--tv-ink-600);text-decoration:none}
body.tv-premium-center .tv-fintech-crumbs a:hover{color:var(--tv-brand-600);text-decoration:underline}
body.tv-premium-center .tv-fintech-hero{max-width:820px;margin-bottom:var(--tv-s6)}
body.tv-premium-center .tv-fintech-kicker{
  border:1px solid var(--tv-border);background:var(--tv-surface);color:var(--tv-ink-600);
  font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;padding:6px 12px;
}
body.tv-premium-center .tv-fintech-hero h1{
  font-size:clamp(30px,4.4vw,44px);
  line-height:1.12;
  letter-spacing:-.026em;
  color:var(--tv-ink-950);
  margin:var(--tv-s4) 0 var(--tv-s3);
  max-width:18ch;
  text-wrap:balance;
}
body.tv-premium-center .tv-fintech-hero p{color:var(--tv-ink-600);font-size:clamp(16px,1.6vw,19px);max-width:var(--tv-measure)}

body.tv-premium-center .tv-fintech-layout{gap:var(--tv-s5)}
body.tv-premium-center .tv-fintech-card,
body.tv-premium-center .tv-fintech-aside,
body.tv-premium-center .tv-fintech-guide-section{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-xl);
  background:var(--tv-surface);
  box-shadow:var(--tv-shadow-md);
  padding:var(--tv-s5);
}
@media(min-width:768px){
  body.tv-premium-center .tv-fintech-card{padding:var(--tv-s6)}
}
body.tv-premium-center .tv-fintech-guide-section{box-shadow:none;margin-top:var(--tv-s5)}
body.tv-premium-center .tv-fintech-card h2,
body.tv-premium-center .tv-fintech-aside h2,
body.tv-premium-center .tv-fintech-guide-section h2{color:var(--tv-ink-950);font-size:20px;font-weight:700}
body.tv-premium-center .tv-fintech-guide-section p,
body.tv-premium-center .tv-fintech-guide-section li,
body.tv-premium-center .tv-fintech-aside p{color:var(--tv-ink-600)}
body.tv-premium-center .tv-fintech-aside a,
body.tv-premium-center .tv-fintech-guide-section a{color:var(--tv-info);text-underline-offset:2px}
body.tv-premium-center .tv-fintech-aside{top:88px}

/* Fields */
body.tv-premium-center .tv-fintech-form{gap:var(--tv-s5)}
body.tv-premium-center .tv-fintech-grid{gap:var(--tv-s4)}
body.tv-premium-center .tv-fintech-field label{color:var(--tv-ink-800);font-size:14px;font-weight:600}
body.tv-premium-center .tv-fintech-field small{color:var(--tv-ink-500);font-size:12px}
body.tv-premium-center .tv-fintech-field input,
body.tv-premium-center .tv-fintech-field select{
  min-height:var(--tv-control);
  border:1px solid var(--tv-border-strong);
  border-radius:var(--tv-r-md);
  background:var(--tv-surface);
  color:var(--tv-ink-950);
  padding:10px 12px;
  font-variant-numeric:tabular-nums;
  transition:border-color .14s ease,box-shadow .14s ease;
}
body.tv-premium-center .tv-fintech-field input:hover,
body.tv-premium-center .tv-fintech-field select:hover{border-color:var(--tv-ink-500)}
body.tv-premium-center .tv-fintech-field input:focus,
body.tv-premium-center .tv-fintech-field select:focus{
  border-color:var(--tv-brand-600);
  box-shadow:var(--tv-focus-ring);
  outline:var(--tv-focus-outline);
  outline-offset:1px;
}
body.tv-premium-center .tv-fintech-error{
  color:var(--tv-danger);font-weight:600;
}
body.tv-premium-center .tv-fintech-error:not(:empty){
  padding:12px 14px;border:1px solid #f4c4be;border-radius:var(--tv-r-md);background:var(--tv-danger-050);
}
body.tv-premium-center .tv-fintech-button{
  min-height:var(--tv-control);
  border-radius:var(--tv-r-md);
  background:var(--tv-brand-600);
  background-image:none;
  color:#fff;
  border:1px solid var(--tv-brand-600);
  font-weight:600;
  font-size:15px;
  box-shadow:var(--tv-shadow-xs);
}
body.tv-premium-center .tv-fintech-button:hover{filter:none;background:var(--tv-brand-700);border-color:var(--tv-brand-700)}
body.tv-premium-center .tv-fintech-button:active{transform:none}

/* Result: decision-led hierarchy */
body.tv-premium-center .tv-fintech-result{
  margin-top:var(--tv-s5);
  padding:var(--tv-s5);
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-xl);
  background:var(--tv-canvas);
}
body.tv-premium-center .tv-fintech-result h3{
  margin:0 0 var(--tv-s4);
  color:var(--tv-ink-950);
  font-size:18px;
  font-weight:700;
}
body.tv-premium-center .tv-fintech-metrics{gap:var(--tv-s3);margin:0 0 var(--tv-s5)}
body.tv-premium-center .tv-fintech-metric{
  padding:var(--tv-s4);
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-surface);
}
body.tv-premium-center .tv-fintech-metric span{color:var(--tv-ink-600);font-size:13px;margin-bottom:6px}
body.tv-premium-center .tv-fintech-metric strong{
  color:var(--tv-ink-950);font-size:20px;font-weight:700;letter-spacing:-.015em;font-variant-numeric:tabular-nums;
}
/* Lead metric: the decision figure reads first and largest */
body.tv-premium-center .tv-fintech-metrics>.tv-fintech-metric:nth-child(5){
  order:-1;
  grid-column:1 / -1;
  border:1px solid var(--tv-brand-100);
  border-left:4px solid var(--tv-brand-600);
  background:var(--tv-brand-050);
}
body.tv-premium-center .tv-fintech-metrics>.tv-fintech-metric:nth-child(5) strong{
  font-size:clamp(28px,5vw,38px);line-height:1.1;
}
body.tv-premium-center .tv-fintech-note{
  color:var(--tv-ink-500);font-size:13px;line-height:1.6;
  padding-top:var(--tv-s4);border-top:1px solid var(--tv-border);
}
body.tv-premium-center .tv-fintech-note+.tv-fintech-note{border-top:0;padding-top:0}

body.tv-premium-center .tv-fintech-pill{
  background:var(--tv-subtle);color:var(--tv-ink-600);border:1px solid var(--tv-border);font-weight:600;
}
body.tv-premium-center .tv-fintech-mini{color:var(--tv-ink-500)}
body.tv-premium-center .tv-fintech-list-links{gap:2px}
body.tv-premium-center .tv-fintech-list-links a{
  display:flex;align-items:center;min-height:44px;
  color:var(--tv-ink-800);border-bottom:1px solid var(--tv-border);font-size:14px;font-weight:550;
}
body.tv-premium-center .tv-fintech-list-links a:last-child{border-bottom:0}
body.tv-premium-center .tv-fintech-list-links a:hover{color:var(--tv-brand-600)}
body.tv-premium-center .tv-fintech-disclosure{
  border:1px solid var(--tv-border);
  border-left:3px solid var(--tv-info);
  border-radius:var(--tv-r-md);
  background:var(--tv-info-050);
  color:var(--tv-ink-800);
}
body.tv-premium-center details{
  border:1px solid var(--tv-border);
  border-radius:var(--tv-r-lg);
  background:var(--tv-surface);
  padding:0 var(--tv-s4);
  margin:10px 0;
}
body.tv-premium-center summary{color:var(--tv-ink-950);font-weight:600;min-height:46px;display:flex;align-items:center;cursor:pointer}
body.tv-premium-center details p{padding-bottom:var(--tv-s4)}

/* ============================================================ 10. RESPONSIVE */

@media(min-width:1441px){
  body.tv-premium .tv-global-inner,
  body.tv-premium .tv-footer-inner,
  body.tv-premium-tool .wrap,
  body.tv-premium-center .tv-fintech-main,
  body.tv-premium-home .tvp-hero{width:min(1280px,calc(100% - 96px))}
  body.tv-premium-center .tv-fintech-main{max-width:1280px}
}

@media(max-width:1024px){
  body.tv-premium-tool .side-card{position:static}
  body.tv-premium-center .tv-fintech-aside{position:static}
}

@media(max-width:768px){
  body.tv-premium .tv-global-inner,
  body.tv-premium .tv-footer-inner,
  body.tv-premium-tool .wrap{width:min(100% - 32px,var(--tv-app))}
  body.tv-premium-center .tv-fintech-main{padding-left:16px;padding-right:16px}
  body.tv-premium-tool .grid{grid-template-columns:1fr}
  body.tv-premium-tool .tool-grid{grid-template-columns:1fr}
  body.tv-premium-center .tv-fintech-layout{grid-template-columns:1fr}
  body.tv-premium-center .tv-fintech-grid{grid-template-columns:1fr}
  body.tv-premium-center .tv-fintech-metrics{grid-template-columns:1fr}
  body.tv-premium-home .tvp-hero{padding-top:var(--tv-s6)}
  body.tv-premium-tool .tool-actions .button{width:100%}
  body.tv-premium .tvp-btn{width:100%}
  body.tv-premium-home .tvp-hero-actions .tvp-btn{width:100%}
}

@media(max-width:430px){
  body.tv-premium .tv-global-inner,
  body.tv-premium .tv-footer-inner,
  body.tv-premium-tool .wrap{width:calc(100% - 28px)}
  body.tv-premium-center .tv-fintech-main{padding-left:14px;padding-right:14px}
  body.tv-premium .tvp-card,
  body.tv-premium-center .tv-fintech-card,
  body.tv-premium-center .tv-fintech-aside,
  body.tv-premium-center .tv-fintech-guide-section,
  body.tv-premium-tool .main-card,
  body.tv-premium-tool .side-card,
  body.tv-premium-tool .tool-card{padding:18px}
  body.tv-premium-tool .form-section,
  body.tv-premium-tool .scenario-fieldset{padding:16px}
  body.tv-premium-center .tv-fintech-result,
  body.tv-premium-tool .tool-result{padding:18px}
}

@media(max-width:360px){
  body.tv-premium h1,
  body.tv-premium-tool h1,
  body.tv-premium-center .tv-fintech-hero h1{font-size:27px!important;letter-spacing:-.02em!important}
  body.tv-premium .tvp-display{font-size:32px}
  body.tv-premium-tool .tool-result .result-summary span,
  body.tv-premium-center .tv-fintech-metrics>.tv-fintech-metric:nth-child(5) strong{font-size:26px}
  body.tv-premium-home #score-value{font-size:44px!important}
  body.tv-premium .tv-global-inner{gap:12px}
}

/* Long unbroken figures must never push the viewport */
body.tv-premium .tv-fintech-metric strong,
body.tv-premium .result-grid-card dd,
body.tv-premium .result-summary span{overflow-wrap:anywhere}

/* ==================================================== 11. QA REMEDIATIONS ==
   Fixes verified in the Phase 1 browser sweep (320-1600px).
   ========================================================================== */

/* 11.1 Mobile menu must always anchor to the right edge and stay in-viewport.
   One pilot shell resolved `margin-left:auto` to 0, pushing the absolutely
   positioned panel past the left edge of small viewports. */
body.tv-premium .tv-global-inner{display:flex;align-items:center}
body.tv-premium .tv-mobile-nav{margin-left:auto!important}
body.tv-premium .tv-mobile-panel{
  right:0!important;left:auto!important;
  width:min(360px,calc(100vw - 28px))!important;
  max-width:calc(100vw - 24px)!important;
}

/* 11.2 The source strip becomes a calm static credential row.
   A scrolling marquee reads as promotional motion, not established finance. */
body.tv-premium-home .tv-source-ticker-viewport{overflow:visible;padding:0}
body.tv-premium-home .tv-source-ticker-run{
  animation:none!important;display:block;width:100%;
}
body.tv-premium-home .tv-source-ticker-track{
  display:flex!important;flex-wrap:wrap;gap:10px 12px;
  animation:none!important;width:100%;min-width:0;margin:0;padding:0;list-style:none;
}
body.tv-premium-home .tv-source-ticker-track[aria-hidden="true"]{display:none!important}
body.tv-premium-home .tv-source-ticker-track li{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border:1px solid var(--tv-border);border-radius:var(--tv-r-pill);
  background:var(--tv-surface);font-size:13px;white-space:nowrap;
}
body.tv-premium-home .tv-source-ticker-shell{
  display:grid;gap:var(--tv-s4);padding:var(--tv-s5);
}

/* 11.3 Touch targets */
body.tv-premium .tv-brand{min-height:44px;display:inline-flex;align-items:center;gap:10px}
body.tv-premium .tv-mega-link{min-height:44px}
body.tv-premium-home summary{min-height:44px;display:flex;align-items:center}
body.tv-premium-home #expense-details>summary{justify-content:space-between;gap:12px}
body.tv-premium-home input[type="range"]{height:44px;accent-color:var(--tv-brand-600)}
@media(max-width:768px){
  body.tv-premium .tv-footer-column a,
  body.tv-premium .tv-footer-bottom a{min-height:44px}
  body.tv-premium .tv-fintech-list-links a{min-height:46px}
}

/* 11.4 Small-phone heading calibration */
@media(max-width:360px){
  body.tv-premium h1,
  body.tv-premium-tool h1,
  body.tv-premium-center .tv-fintech-hero h1{font-size:29px!important;line-height:1.15!important}
  body.tv-premium .tvp-display{font-size:30px}
}

/* 11.5 Source chips wrap on small screens instead of forcing a wide row. */
body.tv-premium-home .tv-source-ticker-track li{white-space:normal}
@media(min-width:640px){body.tv-premium-home .tv-source-ticker-track li{white-space:nowrap}}

/* 11.6 Remove decorative blur ornaments (crypto/AI look, not corporate finance) */
body.tv-premium-home [class*="blur-3xl"],
body.tv-premium-home [class*="blur-2xl"],
body.tv-premium-home [class*="blur-["]{display:none!important}

/* 11.7 The tool shell nests the header/footer inside `.wrap`, which double-inset
   the sticky bar and pushed the mobile panel off-canvas. Full-bleed them.
   No transform is used, so the fixed-position mega menu keeps its containing block. */
body.tv-premium-tool .wrap>.tv-global-header,
body.tv-premium-tool .wrap>.tv-footer{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* 11.8 Final mobile-panel clamp: stay fully inside the viewport on every shell. */
body.tv-premium .tv-mobile-panel{width:min(360px,calc(100vw - 48px))!important}

/* 11.9 Next-step links are standalone controls, not inline prose links. */
body.tv-premium-tool .next-decision .link-list a{min-height:44px}
body.tv-premium-tool .link-list li{margin:0}

/* 11.10 Tinted section panels must stay neutral. Brand red is reserved for the
   primary action and the single decisive result — not for large surfaces. */
body.tv-premium-home [class*="bg-cyan-"],
body.tv-premium-home [class*="bg-violet-"],
body.tv-premium-home [class*="bg-fuchsia-"],
body.tv-premium-home [class*="bg-sky-"]{background-color:var(--tv-canvas)!important}
body.tv-premium-home section[class*="bg-cyan-"],
body.tv-premium-home section[class*="bg-violet-"]{
  background-color:var(--tv-surface)!important;
  border:1px solid var(--tv-border)!important;
  border-radius:var(--tv-r-xl)!important;
  box-shadow:var(--tv-shadow-md)!important;
}
body.tv-premium-home a[class*="bg-slate-950"]{background-color:var(--tv-surface)!important}
/* Keep the decisive verdict on brand */
body.tv-premium-home #verdict{background-color:var(--tv-brand-050)!important;border-color:var(--tv-brand-100)!important}

/* 11.11 The shared header sets `.tv-brand{color:#fff!important}`; the light shell
   needs the same weight to keep the wordmark legible. */
body.tv-premium .tv-brand{color:var(--tv-ink-950)!important}
body.tv-premium .tv-brand b{color:var(--tv-brand-600)!important}
body.tv-premium .tv-footer .tv-brand{color:var(--tv-ink-950)!important}

/* 11.12 Trust markers read as checks, not as unselected radio controls. */
body.tv-premium .tvp-trust li::before{
  content:"";width:16px;height:16px;flex:none;border-radius:0;border:0;background:none;box-shadow:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23e5322d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5l4 4 8-9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:16px 16px;
}
