/* ============================================================
   Bunker TVM — WordPress theme stylesheet
   Engineering-vault art direction ported from the design system.
   Tokens → base → brand atoms → components → layout → pages.
   ============================================================ */

/* ---------- TOKENS: COLOR ---------- */
:root{
  --ink-900:#08090B; --ink-850:#0C0E11; --ink-800:#111418; --ink-750:#161A1F;
  --ink-700:#1B2026; --ink-650:#232931; --ink-600:#2B323B;
  --steel-500:#3A424D; --steel-400:#525B68; --steel-300:#717B89; --steel-200:#9AA3AF;
  --steel-100:#C5CBD3; --steel-50:#E7EAEE; --white:#FBFCFD;
  --signal-700:#B8901F; --signal-600:#D8A92A; --signal-500:#F5C518; --signal-400:#FFD64A; --signal-300:#FFE585;
  --brand-yellow:#FFE500;
  --secure-500:#3FB55C; --secure-700:#2C8543; --alert-500:#E5484D; --alert-700:#B5363A; --warn-500:#F5C518;
  --scrim-strong:rgba(8,9,11,0.88); --scrim-soft:rgba(8,9,11,0.55);
  --glass-fill:rgba(27,32,38,0.62);
  --hairline:rgba(231,234,238,0.10); --hairline-strong:rgba(231,234,238,0.18); --signal-hairline:rgba(245,197,24,0.32);
  --surface-page:var(--ink-900); --surface-raised:var(--ink-800); --surface-card:var(--ink-700);
  --surface-card-hi:var(--ink-650); --surface-inverse:var(--steel-50);
  --text-strong:var(--steel-50); --text-body:var(--steel-100); --text-muted:var(--steel-300);
  --text-faint:var(--steel-400); --text-on-signal:var(--ink-900); --text-inverse:var(--ink-900);
  --border-hairline:var(--hairline); --border-default:var(--ink-600); --border-strong:var(--steel-500); --border-signal:var(--signal-hairline);
  --accent:var(--signal-500); --accent-hover:var(--signal-400); --accent-press:var(--signal-700); --accent-tint:var(--signal-300);

  /* ---------- TOKENS: TYPE ---------- */
  --font-display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --font-sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-extra:800; --fw-black:900;
  --fs-display-xl:clamp(3.4rem,6.2vw,6.5rem); --fs-display-l:clamp(2.6rem,4.4vw,4.25rem); --fs-display-m:clamp(2rem,3vw,3rem);
  --fs-h1:clamp(1.9rem,2.6vw,2.6rem); --fs-h2:clamp(1.5rem,2vw,2rem); --fs-h3:1.375rem; --fs-h4:1.125rem;
  --fs-body-lg:1.1875rem; --fs-body:1rem; --fs-body-sm:0.9375rem; --fs-caption:0.8125rem; --fs-label:0.75rem; --fs-micro:0.6875rem;
  --lh-tight:0.96; --lh-snug:1.1; --lh-heading:1.15; --lh-body:1.62; --lh-relaxed:1.75;
  --ls-display:-0.022em; --ls-heading:-0.012em; --ls-normal:0; --ls-label:0.16em; --ls-label-sm:0.22em;

  /* ---------- TOKENS: SPACE ---------- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px;
  --sp-10:40px; --sp-12:48px; --sp-16:64px; --sp-20:80px; --sp-24:96px; --sp-32:128px; --sp-40:160px;
  --container:1240px; --container-wide:1440px; --container-text:760px;
  --gutter:clamp(20px,5vw,64px); --section-y:clamp(64px,9vw,144px);

  /* ---------- TOKENS: EFFECTS ---------- */
  --r-xs:2px; --r-sm:4px; --r-md:8px; --r-lg:14px; --r-xl:20px; --r-pill:999px;
  --bw-hair:1px; --bw-mid:1.5px;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.4); --shadow-md:0 8px 24px -8px rgba(0,0,0,0.7);
  --shadow-lg:0 24px 60px -18px rgba(0,0,0,0.85); --shadow-xl:0 40px 100px -28px rgba(0,0,0,0.9);
  --glow-signal:0 0 0 1px var(--signal-hairline),0 0 28px -6px rgba(245,197,24,0.35);
  --etch-top:inset 0 1px 0 0 rgba(231,234,238,0.06);
  --focus-ring:0 0 0 2px var(--ink-900),0 0 0 4px var(--signal-500);
  --blur-panel:18px; --blur-scrim:8px;
  --ease-out:cubic-bezier(0.16,1,0.3,1); --ease-inout:cubic-bezier(0.65,0,0.35,1);
  --dur-fast:120ms; --dur-base:220ms; --dur-slow:420ms;
  --grid-line:rgba(231,234,238,0.06); --grid-line-strong:rgba(231,234,238,0.10);
}

/* ---------- BASE ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; overflow-x:clip;}
body{
  margin:0; background:var(--surface-page); color:var(--text-body);
  font-family:var(--font-sans); font-size:var(--fs-body); line-height:var(--lh-body);
  font-weight:var(--fw-regular); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--font-display); color:var(--text-strong); line-height:var(--lh-heading); letter-spacing:var(--ls-heading); margin:0;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--signal-500); color:var(--ink-900);}
:focus-visible{outline:none; box-shadow:var(--focus-ring);}
img{display:block; max-width:100%;}
.tvm-site{background:var(--ink-900); min-height:100vh;}

/* ---------- BRAND ATOMS ---------- */
.tvm-label{font-family:var(--font-mono); font-size:var(--fs-label); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--text-muted);}
.tvm-label--signal{color:var(--signal-500);}
.tvm-eyebrow{font-family:var(--font-mono); font-size:var(--fs-label); font-weight:var(--fw-medium); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--signal-500); display:inline-flex; align-items:center; gap:var(--sp-3);}
.tvm-eyebrow::before{content:""; width:22px; height:1.5px; background:var(--signal-500);}
.tvm-eyebrow--muted{color:var(--text-muted);}
.tvm-grid-bg{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size:48px 48px;}
.tvm-rule{border:0; border-top:1px solid var(--border-default); margin:0;}
.tvm-container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter);}
.tvm-container-wide{width:100%; max-width:var(--container-wide); margin-inline:auto; padding-inline:var(--gutter);}
.tvm-container-text{width:100%; max-width:var(--container-text); margin-inline:auto; padding-inline:var(--gutter);}
.tvm-eyebrow-tick{font-family:var(--font-mono); font-size:var(--fs-micro); letter-spacing:0.16em; text-transform:uppercase; color:var(--text-faint);}

/* ---------- BUTTON ---------- */
.tvm-btn{--_bg:var(--signal-500); --_fg:var(--ink-900); --_bd:transparent;
  font-family:var(--font-display); font-weight:var(--fw-bold); letter-spacing:0.01em;
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  border:1px solid var(--_bd); background:var(--_bg); color:var(--_fg); border-radius:var(--r-sm);
  cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:transform var(--dur-fast) var(--ease-out),background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);}
.tvm-btn:focus-visible{box-shadow:var(--focus-ring);}
.tvm-btn:active{transform:translateY(0) scale(0.98);}
.tvm-btn--md{height:46px; padding:0 var(--sp-6); font-size:var(--fs-body-sm);}
.tvm-btn--sm{height:36px; padding:0 var(--sp-4); font-size:var(--fs-caption);}
.tvm-btn--lg{height:56px; padding:0 var(--sp-8); font-size:var(--fs-body);}
.tvm-btn--primary{--_bg:var(--signal-500); --_fg:var(--ink-900); box-shadow:var(--shadow-sm);}
.tvm-btn--primary:hover{--_bg:var(--signal-400); box-shadow:var(--glow-signal);}
.tvm-btn--primary:active{--_bg:var(--signal-700);}
.tvm-btn--secondary{--_bg:transparent; --_fg:var(--steel-50); --_bd:var(--steel-500);}
.tvm-btn--secondary:hover{--_bd:var(--steel-300); --_bg:var(--ink-700);}
.tvm-btn--ghost{--_bg:transparent; --_fg:var(--steel-100); --_bd:transparent;}
.tvm-btn--ghost:hover{--_fg:var(--signal-500);}
.tvm-btn[disabled],.tvm-btn[aria-disabled="true"]{opacity:0.4; pointer-events:none; box-shadow:none;}
.tvm-btn svg{width:1.15em; height:1.15em;}
.tvm-btn--block{width:100%;}

/* ---------- TAG ---------- */
.tvm-tag{display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-mono); font-weight:var(--fw-medium);
  font-size:var(--fs-label); letter-spacing:var(--ls-label); text-transform:uppercase; line-height:1;
  padding:6px 10px; border-radius:var(--r-pill); border:1px solid var(--_bd,var(--border-strong));
  background:var(--_bg,transparent); color:var(--_fg,var(--steel-100)); white-space:nowrap;}
.tvm-tag__dot{width:6px; height:6px; border-radius:50%; background:var(--_dot,currentColor); flex:none;}
.tvm-tag--neutral{--_fg:var(--steel-200); --_bd:var(--border-strong); --_dot:var(--steel-300);}
.tvm-tag--signal{--_fg:var(--signal-500); --_bd:var(--signal-hairline); --_dot:var(--signal-500);}
.tvm-tag--secure{--_fg:var(--secure-500); --_bd:color-mix(in srgb,var(--secure-500) 36%,transparent); --_dot:var(--secure-500);}
.tvm-tag--alert{--_fg:var(--alert-500); --_bd:color-mix(in srgb,var(--alert-500) 40%,transparent); --_dot:var(--alert-500);}

/* ---------- INPUT / SELECT ---------- */
.tvm-field{display:flex; flex-direction:column; gap:var(--sp-2);}
.tvm-field__label{font-family:var(--font-mono); font-size:var(--fs-label); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--text-muted); font-weight:var(--fw-medium);}
.tvm-field__req{color:var(--signal-500); margin-left:4px;}
.tvm-input{width:100%; height:48px; padding:0 var(--sp-4); font-family:var(--font-sans); font-size:var(--fs-body); color:var(--text-strong);
  background:var(--ink-850); border:1px solid var(--border-strong); border-radius:var(--r-sm); outline:none;
  transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);}
.tvm-input::placeholder{color:var(--text-faint);}
.tvm-input:hover{border-color:var(--steel-400);}
.tvm-input:focus{border-color:var(--signal-500); box-shadow:0 0 0 3px rgba(245,197,24,0.14); background:var(--ink-800);}
textarea.tvm-input{height:auto; min-height:128px; padding:var(--sp-3) var(--sp-4); resize:vertical; line-height:var(--lh-body);}
.tvm-select-wrap{display:flex; flex-direction:column; gap:var(--sp-2);}
.tvm-select-label{font-family:var(--font-mono); font-size:var(--fs-label); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--text-muted); font-weight:var(--fw-medium);}
.tvm-select-box{position:relative;}
.tvm-select{appearance:none; -webkit-appearance:none; width:100%; height:48px; padding:0 44px 0 var(--sp-4);
  font-family:var(--font-sans); font-size:var(--fs-body); color:var(--text-strong);
  background:var(--ink-850); border:1px solid var(--border-strong); border-radius:var(--r-sm); outline:none; cursor:pointer;
  transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);}
.tvm-select:hover{border-color:var(--steel-400);}
.tvm-select:focus{border-color:var(--signal-500); box-shadow:0 0 0 3px rgba(245,197,24,0.14);}
.tvm-select-chev{position:absolute; right:var(--sp-4); top:50%; transform:translateY(-50%); width:16px; height:16px; pointer-events:none; color:var(--steel-300);}
.tvm-select option{background:var(--ink-800); color:var(--text-strong);}

/* ---------- RISK SEAL ---------- */
.tvm-seal{display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-4); padding:var(--sp-6);
  background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); box-shadow:var(--etch-top);
  transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
.tvm-seal--interactive{cursor:pointer;}
.tvm-seal--interactive:hover{border-color:var(--border-signal); transform:translateY(-3px);}
.tvm-seal--interactive:hover .tvm-seal__glyph{filter:brightness(0) invert(0.98);}
.tvm-seal__chip{width:56px; height:56px; display:grid; place-items:center; border:1px solid var(--hairline-strong); border-radius:var(--r-sm); background:var(--ink-850);}
.tvm-seal__glyph{width:64%; height:64%; object-fit:contain; filter:brightness(0) invert(0.82); transition:filter var(--dur-base) var(--ease-out);}
.tvm-seal__label{font-family:var(--font-mono); font-size:var(--fs-label); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--text-strong); font-weight:var(--fw-medium);}
.tvm-seal__desc{font-size:var(--fs-body-sm); color:var(--text-muted); margin:0;}

/* ---------- SPEC LIST ---------- */
.tvm-specs{display:flex; flex-direction:column;}
.tvm-spec{display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-6); padding:var(--sp-4) 0; border-top:1px solid var(--border-default);}
.tvm-spec:last-child{border-bottom:1px solid var(--border-default);}
.tvm-spec__label{font-family:var(--font-mono); font-size:var(--fs-label); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--text-muted); font-weight:var(--fw-medium);}
.tvm-spec__value{font-family:var(--font-display); font-weight:var(--fw-bold); font-size:var(--fs-body-lg); color:var(--text-strong); letter-spacing:var(--ls-heading); text-align:right;}
.tvm-spec__value em{font-style:normal; color:var(--signal-500);}

/* ---------- HEADER ---------- */
.tvm-header{position:sticky; top:0; z-index:50; background:var(--scrim-strong); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid var(--border-default);}
.tvm-header__bar{max-width:var(--container-wide); margin-inline:auto; padding:14px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px;}
.tvm-brand{display:inline-flex; align-items:center; gap:13px; text-decoration:none; flex:none;}
.tvm-brand img{display:block; border-radius:5px; box-shadow:var(--shadow-sm); flex:none;}
.tvm-brand__name{font-family:var(--font-display); font-weight:900; letter-spacing:0.02em; color:var(--text-strong); font-size:1.18rem;}
.tvm-brand__sub{font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--text-muted); margin-top:5px;}
.tvm-brand__stack{display:flex; flex-direction:column; line-height:1;}
.tvm-nav-desktop{display:flex; gap:30px; align-items:center;}
.tvm-navlink{position:relative; color:var(--steel-200); text-decoration:none; font-size:0.9375rem; padding:6px 0; display:inline-flex; align-items:center; transition:color .18s ease;}
.tvm-navlink:hover{color:var(--steel-50);}
.tvm-navlink.current{color:var(--white);}
.tvm-navlink.current::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--signal-500);}
.tvm-services{position:relative; display:inline-flex; align-items:center;}
.tvm-services-caret{margin-left:6px; transition:transform .18s ease; vertical-align:middle;}
.tvm-services:hover .tvm-services-caret{transform:rotate(180deg);}
.tvm-services-menu{opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; position:absolute; top:100%; left:-12px; padding-top:14px; width:300px;
  transition:opacity .18s var(--ease-out),transform .18s var(--ease-out),visibility .18s;}
.tvm-services:hover .tvm-services-menu,.tvm-services:focus-within .tvm-services-menu{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;}
.tvm-services-menu__inner{background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--r-md); box-shadow:var(--shadow-lg),var(--etch-top); padding:8px;}
.tvm-services-menu__head{display:block; font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-faint); padding:8px 16px 6px;}
.tvm-svc-item{display:block; padding:11px 16px; color:var(--steel-100); text-decoration:none; border-radius:var(--r-sm); font-size:0.9375rem; transition:background .15s ease,color .15s ease;}
.tvm-svc-item:hover{background:var(--ink-650); color:var(--white);}
.tvm-header__cta{display:flex; align-items:center; gap:14px; flex:none;}
.tvm-header__tel{display:inline-flex; align-items:center; gap:8px; color:var(--steel-200); text-decoration:none; font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.1em;}
.tvm-nav-toggle{display:none; align-items:center; justify-content:center; width:42px; height:42px; background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--r-sm); color:var(--steel-50); cursor:pointer;}
.tvm-mobile-panel{display:none; border-top:1px solid var(--border-default); background:var(--ink-850); padding:8px var(--gutter) 28px; max-height:calc(100vh - 70px); overflow-y:auto; -webkit-overflow-scrolling:touch;}
.tvm-mobile-panel.open{display:block;}
.tvm-mob-link{display:block; padding:15px 4px; color:var(--steel-100); text-decoration:none; font-size:1.0625rem; border-bottom:1px solid var(--border-default);}
.tvm-mob-link:hover{color:var(--signal-500);}
.tvm-mob-head{display:block; font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-faint); padding:22px 14px 10px;}
.tvm-mob-head--sep{border-top:1px solid var(--border-default); margin-top:6px;}
.tvm-mob-prim{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 14px; color:var(--steel-50); text-decoration:none; font-size:1.0625rem; font-weight:600; border-radius:var(--r-sm); transition:background .15s ease;}
.tvm-mob-prim:hover{background:var(--ink-650); color:var(--white);}
.tvm-mob-prim svg{color:var(--steel-500); flex:none;}
.tvm-mob-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px 14px;}
.tvm-mob-item{display:flex; align-items:center; gap:12px; padding:13px 14px; color:var(--steel-200); text-decoration:none; font-size:0.96875rem; border-radius:var(--r-sm); transition:background .15s ease,color .15s ease;}
.tvm-mob-item:hover{background:var(--ink-650); color:var(--white);}
.tvm-mob-item::before{content:""; width:5px; height:5px; border-radius:50%; background:var(--steel-500); flex:none; transition:background .15s ease;}
.tvm-mob-item:hover::before{background:var(--signal-500);}
.tvm-mob-foot{margin-top:22px; display:flex; gap:10px; align-items:center;}
.tvm-mob-cta-top{display:flex; gap:12px; align-items:stretch; margin:10px 0 8px;}
.tvm-mob-cta-top .tvm-mob-foot__call{width:52px; height:50px;}
.tvm-mob-cta-top .tvm-btn{flex:1; height:50px; white-space:nowrap;}
.tvm-mob-foot__call{flex:none; display:inline-flex; align-items:center; justify-content:center; width:50px; height:46px; border:1px solid var(--border-strong); border-radius:var(--r-sm); color:var(--steel-50); background:var(--surface-card); text-decoration:none;}
.tvm-mob-foot .tvm-btn{flex:1;}
/* Sticky mobile action bar */
.tvm-mobcta{display:none !important;}
@media(max-width:1040px){.tvm-nav-desktop{display:none !important;} .tvm-header__tel{display:none !important;} .tvm-header__cta .tvm-btn{display:none !important;} .tvm-nav-toggle{display:inline-flex !important;}}

/* ---------- FOOTER ---------- */
.tvm-footer{background:var(--ink-850); border-top:1px solid var(--border-default); color:var(--text-muted); font-family:var(--font-sans);}
.tvm-footer__inner{max-width:var(--container-wide); margin-inline:auto; padding:clamp(48px,7vw,88px) var(--gutter) 40px;}
.tvm-footer__grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:clamp(32px,5vw,64px); align-items:start;}
.tvm-foot-head{display:block; font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-faint); margin-bottom:14px;}
.tvm-foot-link{display:block; color:var(--steel-300); text-decoration:none; font-size:0.9375rem; padding:6px 0; transition:color .15s ease;}
.tvm-foot-link:hover{color:var(--signal-500);}
.tvm-foot-contact{display:flex; gap:11px; align-items:flex-start; color:var(--steel-200); text-decoration:none; font-size:0.9375rem; line-height:1.5;}
.tvm-foot-bottom{display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-faint);}
.tvm-foot-bottom a{color:var(--text-faint); text-decoration:none;}
@media(max-width:860px){.tvm-footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.tvm-footer__grid{grid-template-columns:1fr;}}

/* ---------- SHARED SECTION HELPERS ---------- */
.tvm-section{max-width:var(--container); margin-inline:auto; padding:var(--section-y) var(--gutter);}
.tvm-section--raised{background:var(--ink-850); border-top:1px solid var(--border-default);}
.tvm-breadcrumb{font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-faint); margin-bottom:36px;}
.tvm-breadcrumb a{color:var(--text-muted); text-decoration:none;}
.tvm-breadcrumb .cur{color:var(--steel-200);}
.tvm-eyebrow-h2{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,3.4vw,3rem); letter-spacing:-0.02em; color:var(--text-strong); margin:18px 0 0; line-height:1.05;}
.tvm-lead{color:var(--text-muted); font-size:1.0625rem; line-height:1.65;}
.tvm-arrow{transition:transform .25s ease,color .25s ease;}
.tvm-morelink{display:inline-flex; align-items:center; gap:9px; color:var(--signal-500); text-decoration:none; font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase;}
.tvm-morelink:hover .tvm-arrow{transform:translateX(5px); color:var(--signal-400);}

/* ---------- HERO (home) ---------- */
.tvm-hero{position:relative; overflow:hidden; border-bottom:1px solid var(--border-default);}
.tvm-hero__grid{position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(var(--grid-line-strong) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-strong) 1px,transparent 1px); background-size:96px 96px; -webkit-mask-image:radial-gradient(125% 95% at 16% 32%,#000 28%,transparent 72%); mask-image:radial-gradient(125% 95% at 16% 32%,#000 28%,transparent 72%);}
.tvm-hero__glow{position:absolute; top:-14%; right:-8%; width:48%; height:128%; pointer-events:none; background:radial-gradient(circle at 60% 42%,rgba(245,197,24,0.07),transparent 62%);}
.tvm-hero__inner{position:relative; max-width:var(--container); margin-inline:auto; padding:clamp(56px,8vw,112px) var(--gutter);}
.tvm-grid-2{display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(32px,5vw,72px); align-items:center;}
.tvm-h1{font-family:var(--font-display); font-weight:900; font-size:clamp(2.8rem,5.6vw,5.4rem); line-height:0.96; letter-spacing:-0.026em; color:var(--white); margin:24px 0 0; text-wrap:balance; overflow-wrap:break-word;}
.tvm-trustrow{display:flex; flex-wrap:wrap; gap:14px 40px;}
.tvm-trust-item{display:flex; align-items:center; gap:11px;}
.tvm-trust-item span{font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--steel-200);}

/* ---------- PRODUCT CARDS ---------- */
.tvm-prodgrid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.tvm-prodgrid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:1000px){.tvm-prodgrid--3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.tvm-prodgrid--3{grid-template-columns:1fr;}}
.tvm-prodcard{display:flex; flex-direction:column; text-decoration:none; background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-md),var(--etch-top); transition:transform .28s var(--ease-out),border-color .28s ease,box-shadow .28s ease;}
.tvm-prodcard:hover{transform:translateY(-5px); border-color:var(--border-signal); box-shadow:var(--shadow-lg),var(--etch-top);}
.tvm-prodcard:hover .tvm-prodcard-img{transform:scale(1.05);}
.tvm-prodcard:hover .tvm-arrow{transform:translateX(5px); color:var(--signal-400);}
.tvm-prodcard-imgwrap{overflow:hidden;}
.tvm-prodcard-img{transition:transform .6s var(--ease-out); width:100%; height:200px; object-fit:cover; background:#000;}
.tvm-prodcard__body{padding:22px; display:flex; flex-direction:column; gap:10px; flex:1;}
.tvm-prodcard__body h3{font-family:var(--font-display); font-weight:700; font-size:1.25rem; color:var(--text-strong); margin:2px 0 0;}
.tvm-prodcard__body p{margin:0; color:var(--text-muted); font-size:0.9375rem; line-height:1.55; flex:1;}
.tvm-prodcard__more{display:inline-flex; align-items:center; gap:8px; color:var(--steel-100); font-size:0.875rem; font-weight:600;}
.tvm-prodcard--wide{flex-direction:row; align-items:stretch;}
.tvm-riskgrid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
.tvm-methodgrid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.tvm-riskgrid .tvm-seal__label,.tvm-riskgrid .tvm-seal__desc{overflow-wrap:anywhere; word-break:break-word;}
.tvm-method-card{background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:28px; box-shadow:var(--etch-top);}
.tvm-method-card span{font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.16em; color:var(--signal-500);}
.tvm-method-card h3{font-family:var(--font-display); font-weight:700; font-size:1.25rem; color:var(--text-strong); margin:16px 0 8px;}
.tvm-method-card p{margin:0; color:var(--text-muted); font-size:0.9375rem; line-height:1.6;}
.tvm-galgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.tvm-galgrid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.tvm-galgrid--3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.tvm-galgrid--3{grid-template-columns:1fr;}}
.tvm-gal-tile{overflow:hidden; border-radius:var(--r-md); border:1px solid var(--border-default); display:block; position:relative;}
.tvm-gal-tile img{transition:transform .6s var(--ease-out); width:100%; height:200px; object-fit:cover; background:#000;}
.tvm-gal-tile:hover img{transform:scale(1.06);}

/* ---------- FAQ ---------- */
.tvm-faq{border:1px solid var(--border-default); border-radius:var(--r-md); background:var(--surface-card); margin-bottom:12px; overflow:hidden;}
.tvm-faq summary{list-style:none; cursor:pointer; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-family:var(--font-display); font-weight:600; font-size:1.0625rem; color:var(--text-strong);}
.tvm-faq summary::-webkit-details-marker{display:none;}
.tvm-faq-plus{flex:none; color:var(--signal-500); transition:transform .25s ease;}
.tvm-faq[open] .tvm-faq-plus{transform:rotate(45deg);}
.tvm-faq-body{padding:0 26px 24px; color:var(--text-muted); font-size:1rem; line-height:1.7;}
.tvm-faq-body a{color:var(--signal-500);}

/* ---------- FINAL CTA ---------- */
.tvm-cta{border-top:1px solid var(--border-default); background:var(--ink-800);}
.tvm-cta__inner{max-width:var(--container); margin-inline:auto; padding:clamp(56px,8vw,104px) var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.tvm-cta__inner h2{font-family:var(--font-display); font-weight:800; font-size:clamp(1.9rem,3.2vw,2.8rem); letter-spacing:-0.02em; color:var(--white); margin:0; line-height:1.05;}
.tvm-cta__inner p{margin:16px 0 0; color:var(--steel-200); font-size:1.0625rem; line-height:1.6;}
.tvm-btnrow{display:flex; gap:14px; flex-wrap:wrap;}

/* ---------- SERVICE PAGE ---------- */
.tvm-hero2{display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(32px,5vw,64px); align-items:center;}
.tvm-figure{position:relative; margin:0; border:1px solid var(--border-strong); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-xl);}
.tvm-figure img{display:block; width:100%; height:clamp(340px,40vw,480px); object-fit:cover; background:#000;}
.tvm-spectrum{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.tvm-spectrum-card{background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:24px; box-shadow:var(--etch-top);}
.tvm-spectrum-card .glyph{font-family:var(--font-display); font-weight:900; font-size:2.4rem; color:var(--signal-500); line-height:1;}
.tvm-spectrum-card .name{font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-strong); margin:14px 0 8px;}
.tvm-spectrum-card p{margin:0; font-size:0.875rem; color:var(--text-muted); line-height:1.55;}
.tvm-2col{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:center;}
.tvm-3col{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.tvm-steplist{display:flex; flex-direction:column; gap:20px;}
.tvm-step{display:flex; gap:16px;}
.tvm-step .num{font-family:var(--font-mono); color:var(--signal-500); font-size:0.875rem; flex:none; padding-top:3px;}
.tvm-step h3{font-family:var(--font-display); font-weight:700; font-size:1.125rem; color:var(--text-strong); margin:0 0 6px;}
.tvm-step p{margin:0; color:var(--text-muted); font-size:0.9375rem; line-height:1.6;}
.tvm-speccard{background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-lg); padding:clamp(24px,3vw,36px); box-shadow:var(--shadow-md),var(--etch-top);}
.tvm-speccard .row{display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--border-default);}
.tvm-speccard .row:last-of-type{border-bottom:0;}
.tvm-speccard .row .k{color:var(--text-muted); font-size:0.9375rem;}
.tvm-speccard .row .v{font-family:var(--font-display); font-weight:600; color:var(--text-strong);}
.tvm-infocard{background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:28px; box-shadow:var(--etch-top);}
.tvm-infocard h3{font-family:var(--font-display); font-weight:700; font-size:1.125rem; color:var(--text-strong); margin:0 0 10px;}
.tvm-infocard p{margin:0; color:var(--text-muted); font-size:0.9375rem; line-height:1.6;}
.tvm-relgrid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;}
.tvm-rel{display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:26px; text-decoration:none; box-shadow:var(--etch-top); transition:transform .25s ease,border-color .25s ease;}
.tvm-rel:hover{border-color:var(--border-signal); transform:translateY(-3px);}
.tvm-rel:hover .tvm-arrow{transform:translateX(5px); color:var(--signal-400);}
.tvm-rel h3{font-family:var(--font-display); font-weight:700; font-size:1.125rem; color:var(--text-strong); margin:0 0 6px;}
.tvm-rel p{margin:0; color:var(--text-muted); font-size:0.9375rem;}

/* ---------- GUIDE PAGES (prix, achat, comparatif…) ---------- */
.tvm-pricegrid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.tvm-pricecard{display:flex; flex-direction:column; gap:14px; background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-lg); padding:30px; text-decoration:none; box-shadow:var(--shadow-md),var(--etch-top); transition:transform .28s cubic-bezier(0.16,1,0.3,1),border-color .28s ease,box-shadow .28s ease;}
.tvm-pricecard--signal{border-color:var(--border-signal);}
.tvm-pricecard:hover{transform:translateY(-4px); border-color:var(--border-signal); box-shadow:var(--shadow-lg),var(--etch-top);}
.tvm-pricecard:hover .tvm-arrow{transform:translateX(5px); color:var(--signal-400);}
.tvm-pricecard__top{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.tvm-pricecard h3{font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:var(--text-strong); margin:0;}
.tvm-pricecard__price{font-family:var(--font-display); font-weight:900; font-size:1.9rem; color:var(--white); letter-spacing:-0.02em;}
.tvm-pricecard__price span{font-family:var(--font-mono); font-weight:400; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-faint); display:block; margin-top:6px;}
.tvm-pricecard p{margin:0; color:var(--text-muted); font-size:0.9375rem; line-height:1.6;}
.tvm-stepgrid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.tvm-stepcard{background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:24px; box-shadow:var(--etch-top);}
.tvm-stepcard .num{font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.16em; color:var(--signal-500);}
.tvm-stepcard h3{font-family:var(--font-display); font-weight:700; font-size:1.0625rem; color:var(--text-strong); margin:14px 0 8px;}
.tvm-stepcard p{margin:0; color:var(--text-muted); font-size:0.9rem; line-height:1.55;}
.tvm-chips{display:flex; flex-wrap:wrap; gap:12px;}
.tvm-chip{font-family:var(--font-mono); font-size:0.8125rem; letter-spacing:0.06em; color:var(--steel-200); border:1px solid var(--border-default); border-radius:var(--r-pill); padding:9px 18px; background:var(--surface-card);}
.tvm-cmpwrap{background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); box-shadow:var(--etch-top); overflow:hidden;}
.tvm-cmptable{width:100%; border-collapse:collapse; font-size:0.9375rem;}
.tvm-cmptable th,.tvm-cmptable td{text-align:left; padding:16px 18px; border-bottom:1px solid var(--border-default); vertical-align:top;}
.tvm-cmptable thead th{font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-faint); font-weight:500;}
.tvm-cmptable tbody tr:last-child td{border-bottom:0;}
.tvm-cmptable td:first-child{font-family:var(--font-display); font-weight:600; color:var(--text-strong);}
.tvm-cmptable .tvm-col-best{color:var(--signal-500);}
.tvm-cmptable .tvm-col-muted{color:var(--text-muted);}
.tvm-resgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.tvm-rescard{display:flex; flex-direction:column; background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:24px; text-decoration:none; box-shadow:var(--etch-top); min-height:150px; transition:transform .25s ease,border-color .25s ease;}
.tvm-rescard:hover{transform:translateY(-4px); border-color:var(--border-signal);}
.tvm-rescard h3{font-family:var(--font-display); font-weight:700; font-size:1.0625rem; color:var(--text-strong); margin:14px 0 8px; line-height:1.25; flex:1;}
.tvm-catpill{align-self:flex-start; font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.14em; text-transform:uppercase; padding:5px 11px; border-radius:var(--r-pill); border:1px solid var(--signal-hairline); color:var(--signal-500);}
.tvm-readmore{display:inline-flex; align-items:center; gap:8px; color:var(--steel-200); font-size:0.8125rem; font-family:var(--font-mono); letter-spacing:0.08em; text-transform:uppercase;}

/* ---------- BLOG ---------- */
.tvm-artgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.tvm-artcard{display:flex; flex-direction:column; text-decoration:none; background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--r-md); padding:26px; box-shadow:var(--etch-top); transition:transform .25s ease,border-color .25s ease; min-height:200px;}
.tvm-artcard:hover{transform:translateY(-4px); border-color:var(--border-signal);}
.tvm-artcard:hover .tvm-arrow{transform:translateX(5px); color:var(--signal-400);}
.tvm-artcard h3{font-family:var(--font-display); font-weight:700; font-size:1.1875rem; color:var(--text-strong); margin:16px 0 8px; line-height:1.2; flex:1;}
.tvm-feat{display:grid; grid-template-columns:1.1fr 0.9fr; gap:0; border:1px solid var(--border-strong); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); text-decoration:none;}
.tvm-feat__img{overflow:hidden; background:#000;}
.tvm-feat__img img{display:block; width:100%; height:100%; min-height:300px; object-fit:cover;}
.tvm-feat__body{background:var(--surface-card); padding:clamp(28px,4vw,48px); display:flex; flex-direction:column; justify-content:center; gap:16px;}
.tvm-feat__body h2{font-family:var(--font-display); font-weight:800; font-size:clamp(1.5rem,2.6vw,2.1rem); color:var(--white); margin:0; letter-spacing:-0.018em; line-height:1.1;}
.tvm-catbar{display:flex; gap:8px; flex-wrap:wrap;}
.tvm-catbtn{font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.13em; text-transform:uppercase; padding:7px 13px; border-radius:var(--r-pill); cursor:pointer; transition:all .18s ease; background:transparent; color:var(--steel-200); border:1px solid var(--border-strong);}
.tvm-catbtn.active{background:var(--signal-500); color:var(--ink-900); border-color:var(--signal-500);}

/* ---------- ARTICLE (single) ---------- */
.tvm-article{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(32px,5vw,64px); align-items:start;}
.tvm-prose h2{font-family:var(--font-display); font-weight:800; font-size:clamp(1.5rem,2.4vw,2rem); color:var(--text-strong); letter-spacing:-0.018em; margin:48px 0 16px; line-height:1.12;}
.tvm-prose h3{font-family:var(--font-display); font-weight:700; font-size:1.25rem; color:var(--text-strong); margin:32px 0 10px;}
.tvm-prose p{color:var(--steel-100); font-size:1.0625rem; line-height:1.75; margin:0 0 18px;}
.tvm-prose ul,.tvm-prose ol{color:var(--steel-100); font-size:1.0625rem; line-height:1.7; margin:0 0 18px; padding-left:0; list-style:none;}
.tvm-prose ul li{position:relative; padding-left:26px; margin-bottom:12px;}
.tvm-prose ul li::before{content:""; position:absolute; left:0; top:11px; width:9px; height:2px; background:var(--signal-500);}
.tvm-prose ol{counter-reset:item; padding-left:0;}
.tvm-prose ol li{position:relative; padding-left:30px; margin-bottom:12px; counter-increment:item;}
.tvm-prose ol li::before{content:counter(item); position:absolute; left:0; top:0; font-family:var(--font-mono); font-size:0.8125rem; color:var(--signal-500);}
.tvm-prose a{color:var(--signal-500); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--signal-hairline);}
.tvm-prose strong{color:var(--steel-50); font-weight:600;}
.tvm-prose blockquote{background:var(--surface-card); border:1px solid var(--border-default); border-left:2px solid var(--signal-500); border-radius:var(--r-sm); padding:24px 26px; margin:32px 0;}
.tvm-prose blockquote p{margin:0; color:var(--steel-100); font-size:1.0625rem; line-height:1.7;}
.tvm-prose img{border:1px solid var(--border-strong); border-radius:var(--r-md); margin:24px 0;}
.tvm-rail{position:sticky; top:104px;}
.tvm-cta-aside{background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--r-lg); padding:28px; box-shadow:var(--shadow-md),var(--etch-top); transition:transform .25s ease;}
.tvm-cta-aside:hover{transform:translateY(-3px);}

/* ---------- CONTACT ---------- */
.tvm-contact{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(32px,5vw,72px); align-items:start;}
.tvm-info-row{display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--border-default);}
.tvm-info-row .k{font-family:var(--font-display); font-weight:600; color:var(--text-strong); font-size:1rem;}
.tvm-info-row a,.tvm-info-row p{color:var(--text-muted); text-decoration:none; font-size:0.9375rem; line-height:1.5; display:block; margin-top:4px;}
.tvm-formcard{background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--r-lg); padding:clamp(24px,3.5vw,40px); box-shadow:var(--shadow-md),var(--etch-top);}

/* ---------- DEVIS ---------- */
.tvm-devis{display:grid; grid-template-columns:340px minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start;}
.tvm-railsticky{position:sticky; top:96px;}
.tvm-optcard{display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:var(--r-md); cursor:pointer; text-align:left; width:100%; font:inherit; border:1px solid var(--border-strong); background:var(--ink-750); color:inherit; transition:border-color .18s ease,background .18s ease,transform .18s ease;}
.tvm-optcard:hover{transform:translateY(-2px);}
.tvm-optcard.sel{border-color:var(--signal-500); background:rgba(245,197,24,0.08);}
.tvm-optcard .tick{flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; color:var(--ink-900); background:transparent; border:1px solid var(--border-strong);}
.tvm-optcard.sel .tick{background:var(--signal-500); border-color:var(--signal-500);}
.tvm-optcard .tick svg{opacity:0;}
.tvm-optcard.sel .tick svg{opacity:1;}
.tvm-optcard .lbl{font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--text-strong);}
.tvm-optcard--sq .tick{border-radius:5px; align-self:flex-start; margin-top:1px;}
.tvm-optcard--col{align-items:flex-start;}
.tvm-range{width:100%; height:6px; cursor:pointer; accent-color:var(--signal-500);}
.tvm-steplist-item{display:flex; align-items:center; gap:12px; padding:8px 0;}
@media(max-width:880px){.tvm-devis{grid-template-columns:1fr;} .tvm-rail-hide{display:none;} .tvm-railsticky{position:static;}}
@media(max-width:600px){
  .tvm-devis [style*="grid-template-columns:1fr 1fr"],
  .tvm-devis [style*="grid-template-columns:repeat"],
  .tvm-formcard [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}
}
@media(max-width:640px){.tvm-3col{grid-template-columns:1fr !important;}}

/* ---------- RESPONSIVE GRIDS ---------- */
@media(max-width:1100px){.tvm-stepgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:1080px){.tvm-prodgrid{grid-template-columns:repeat(2,minmax(0,1fr));} .tvm-riskgrid{grid-template-columns:repeat(3,minmax(0,1fr));} .tvm-methodgrid{grid-template-columns:repeat(2,minmax(0,1fr));} .tvm-galgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:1000px){.tvm-spectrum{grid-template-columns:repeat(2,1fr);} .tvm-3col{grid-template-columns:1fr;} .tvm-artgrid{grid-template-columns:repeat(2,1fr);} .tvm-resgrid{grid-template-columns:1fr;} .tvm-pricegrid{grid-template-columns:1fr;}}
@media(max-width:920px){.tvm-article{grid-template-columns:1fr;} .tvm-rail{position:static;}}
@media(max-width:860px){.tvm-contact{grid-template-columns:1fr;}}
@media(max-width:820px){.tvm-grid-2{grid-template-columns:1fr;} .tvm-hero2{grid-template-columns:1fr;} .tvm-2col{grid-template-columns:1fr;} .tvm-feat{grid-template-columns:1fr;} .tvm-relgrid{grid-template-columns:1fr;} .tvm-prodcard--wide{flex-direction:column;} .tvm-stepgrid{grid-template-columns:1fr;} .tvm-cmpwrap{overflow-x:auto;}}
@media(max-width:560px){.tvm-prodgrid{grid-template-columns:1fr;} .tvm-riskgrid{grid-template-columns:repeat(2,minmax(0,1fr));} .tvm-methodgrid{grid-template-columns:1fr;} .tvm-galgrid{grid-template-columns:repeat(2,minmax(0,1fr));} .tvm-artgrid{grid-template-columns:1fr;}}
@media(max-width:420px){.tvm-h1{font-size:clamp(2.2rem,10vw,2.8rem);}}

/* ---------- WP CORE / EDITOR HELPERS ---------- */
.screen-reader-text{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.screen-reader-text:focus{position:fixed !important; top:12px; left:12px; z-index:200; width:auto; height:auto; clip:auto; padding:12px 20px; background:var(--signal-500); color:var(--ink-900); font-family:var(--font-display); font-weight:700; font-size:0.9375rem; border-radius:var(--r-sm); box-shadow:var(--shadow-lg);}
.tvm-pagination{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:48px;}
.tvm-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border:1px solid var(--border-strong); border-radius:var(--r-sm); color:var(--steel-200); font-family:var(--font-mono); font-size:0.8125rem; text-decoration:none;}
.tvm-pagination .page-numbers.current{background:var(--signal-500); color:var(--ink-900); border-color:var(--signal-500);}
.tvm-pagination .page-numbers:hover{border-color:var(--steel-300); color:var(--white);}
.tvm-admin-only{display:none;}
.wp-caption-text,figcaption{font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.06em; color:var(--text-faint); margin-top:8px;}
.tvm-prose .aligncenter{margin-inline:auto;}
