/* ============================================================================
   THE VANCOUVER LOCKSMITH — "Modernist" design system + homepage.
   Flat / architectural: radius 0, 2px section rules, everything flush-left,
   one typeface (Archivo), mono-red accent on warm off-white, B&W photography.
   Source of truth: design_handoff_vancouver_locksmith/modernist-tokens.css.
   All interactivity is wired in static/js/tvl-home.js (CSP-clean, no inline
   handlers). Prefix `tvl-` so it never collides with the legacy sslx-/ssx- CSS.
   ============================================================================ */

:root{
  /* Palette — the handoff Modernist system: mono-red accent on warm off-white,
     near-black ink, warm-grey neutrals. (Source: modernist-tokens.css :root.) */
  --tvl-bg:#f3f2f2; --tvl-surface:#eae9e9; --tvl-text:#201e1d;
  --tvl-accent:#ec3013;
  --tvl-divider:color-mix(in srgb, #201e1d 40%, transparent);

  --tvl-n100:#f8f4f4; --tvl-n200:#eae7e7; --tvl-n300:#d7d3d3; --tvl-n400:#bab6b6;
  --tvl-n500:#9b9797; --tvl-n600:#7d7979; --tvl-n700:#605d5d; --tvl-n800:#444141;
  --tvl-n900:#2d2b2b;

  --tvl-a100:#fff2ef; --tvl-a200:#ffe0d9; --tvl-a300:#ffc4b8; --tvl-a400:#ff9783;
  --tvl-a500:#ff563c; --tvl-a600:#dd2b0f; --tvl-a700:#ae1800; --tvl-a800:#7c1405;
  --tvl-a900:#4d170e;

  --tvl-font:"Archivo",system-ui,-apple-system,sans-serif;
  --tvl-maxw:1180px;
}

/* ── reset / base ───────────────────────────────────────────────────────── */
html,body{margin:0;padding:0;background:var(--tvl-bg)}
.page-code{margin:0;padding:0}
.tvl *,.tvl *::before,.tvl *::after{box-sizing:border-box}
.tvl{background:var(--tvl-bg);color:var(--tvl-text);font-family:var(--tvl-font);
  font-size:15px;line-height:1.55;font-weight:400;margin:0}
.tvl h1,.tvl h2,.tvl h3,.tvl h4{font-family:var(--tvl-font);font-weight:800;
  line-height:1.12;letter-spacing:-.015em;margin:0}
.tvl p{margin:0}
.tvl img{display:block;max-width:100%}
.tvl a{color:var(--tvl-accent);text-underline-offset:3px}
.tvl a:hover{color:var(--tvl-a700)}
/* A link styled as the primary (red) button must keep white text; otherwise the
   .tvl a accent rule (0,1,1) outranks .tvl-btn-primary (0,1,0) and paints the
   label red-on-red (e.g. the menu "Call" button, the nav "Request service"). */
.tvl a.tvl-btn-primary,.tvl a.tvl-btn-primary:hover{color:#fff}
/* Renderer-injected "related services / explore" block below the footer — the
   FL neo-brutalist strip is off-design here; the footer already carries the
   internal links. */
.fl-rel{display:none!important}
.tvl :focus{outline:none}
.tvl :focus-visible{outline:2px solid var(--tvl-accent);outline-offset:2px}
.tvl ::selection{background:color-mix(in srgb,var(--tvl-accent) 30%,transparent)}
.tvl-gs{filter:grayscale(1) contrast(1.08)}
.tvl-wrap{max-width:var(--tvl-maxw);margin:0 auto}
.tvl-kicker{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tvl-a700);font-weight:800}

/* ── buttons ────────────────────────────────────────────────────────────── */
.tvl-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;
  cursor:pointer;text-decoration:none;font-family:var(--tvl-font);font-weight:800;
  font-size:13px;line-height:1.2;color:var(--tvl-text);background:transparent;
  border:1px solid transparent;border-radius:0;padding:11px 16px}
.tvl-btn svg{display:block;flex:none}
.tvl-btn:disabled{opacity:.45;cursor:not-allowed}
.tvl-btn-primary{background:var(--tvl-accent);color:#fff}
.tvl-btn-primary:hover{background:var(--tvl-a600)}
.tvl-btn-primary:active{background:var(--tvl-a700)}
.tvl-btn-secondary{border-color:var(--tvl-divider)}
.tvl-btn-secondary:hover{background:color-mix(in srgb,var(--tvl-text) 7%,transparent)}
.tvl-btn-icon{width:34px;height:34px;padding:0;justify-content:center}
.tvl-btn-block{width:100%}
.tvl-btn-lg{font-size:14px;padding:13px 22px}

/* ── form primitives ────────────────────────────────────────────────────── */
.tvl-field>label{display:block;font-size:12px;margin-bottom:5px;
  color:color-mix(in srgb,var(--tvl-text) 70%,transparent)}
.tvl-input{width:100%;min-height:38px;padding:8px 11px;font:inherit;font-size:14px;
  color:var(--tvl-text);caret-color:var(--tvl-accent);background:var(--tvl-surface);
  border:1px solid var(--tvl-divider);border-radius:0;font-family:var(--tvl-font)}
.tvl-input:hover{border-color:color-mix(in srgb,var(--tvl-text) 45%,transparent)}
.tvl-input:focus-visible{border-color:var(--tvl-accent);outline-offset:0}
textarea.tvl-input{min-height:90px;resize:vertical}
.tvl-tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;
  padding:3px 10px;border-radius:0;background:var(--tvl-n100);color:var(--tvl-n800)}

/* chip — mode / service / window / day selectors */
.tvl-chip{text-align:left;padding:9px 12px;border:1px solid var(--tvl-divider);
  background:var(--tvl-bg);color:var(--tvl-text);cursor:pointer;font-family:var(--tvl-font);
  line-height:1.2;border-radius:0}
.tvl-chip[aria-pressed="true"]{border-color:var(--tvl-accent);background:var(--tvl-accent);color:#fff}
.tvl-chip .cl{display:block;font-weight:800;font-size:14px}
.tvl-chip .cs{display:block;font-size:11px;opacity:.72;margin-top:2px}

/* ── emergency bar ──────────────────────────────────────────────────────── */
.tvl-ebar{background:var(--tvl-accent);color:#fff;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:8px 40px;flex-wrap:wrap}
.tvl-ebar .l{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.03em}
.tvl-ebar .l svg{width:15px;height:15px}
.tvl-ebar a{color:#fff;font-weight:800;font-size:13px;text-decoration:none}

/* ── nav (sticky) ───────────────────────────────────────────────────────── */
.tvl-nav{position:sticky;top:0;z-index:30;background:var(--tvl-bg);
  border-bottom:2px solid var(--tvl-divider);display:flex;align-items:center;
  gap:20px;padding:14px 32px;white-space:nowrap}
.tvl-brand{display:flex;align-items:center;gap:11px;margin-right:auto;text-decoration:none}
.tvl-mark{width:30px;height:30px;background:var(--tvl-accent);display:flex;align-items:center;
  justify-content:center;flex:none}
.tvl-mark svg{width:16px;height:16px}
.tvl-lock{line-height:1;font-family:var(--tvl-font)}
.tvl-lock .a{display:block;font-size:8.5px;letter-spacing:.22em;font-weight:700;color:var(--tvl-n600);margin-bottom:2px}
.tvl-lock .b{display:block;font-size:15px;letter-spacing:.02em;font-weight:800;color:var(--tvl-text)}
.tvl-nav a.tvl-nlink{color:var(--tvl-text);text-decoration:none;font-size:13px;cursor:pointer}
.tvl-nav a.tvl-nlink:hover{color:var(--tvl-accent)}
.tvl-nav .tvl-nphone{font-weight:700;color:var(--tvl-text);text-decoration:none;font-size:13px}
.tvl-burger{display:none}

/* ── hero ───────────────────────────────────────────────────────────────── */
.tvl-hero{position:relative;height:540px;overflow:hidden;border-bottom:2px solid var(--tvl-text)}
.tvl-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tvl-hero .ov{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,18,17,.86),rgba(20,18,17,.46) 50%,rgba(20,18,17,.05) 82%)}
.tvl-hero .in{position:absolute;left:0;bottom:0;padding:48px 40px;max-width:830px;color:#fff}
.tvl-hero .hk{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  border-left:3px solid var(--tvl-accent);padding-left:11px;margin-bottom:20px}
.tvl-hero h1{font-size:54px;line-height:1.01;letter-spacing:-.02em;margin:0 0 16px;color:#fff}
.tvl-hero .hs{font-size:17px;line-height:1.55;max-width:540px;margin:0 0 26px;color:rgba(255,255,255,.9)}
.tvl-hero .hb{display:flex;gap:12px;flex-wrap:wrap}
.tvl-hero .tvl-btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.55)}
.tvl-hero .tvl-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}

/* ── trust strip ────────────────────────────────────────────────────────── */
.tvl-trust{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:2px solid var(--tvl-text)}
.tvl-trust .t{padding:22px 40px;display:flex;align-items:center;gap:14px}
.tvl-trust .t+.t{border-left:1px solid var(--tvl-divider)}
.tvl-trust .t svg{width:26px;height:26px;flex:none}
.tvl-trust .t b{display:block;font-weight:800;font-size:15px}
.tvl-trust .t span{font-size:12px;color:var(--tvl-n700)}

/* ── sections ───────────────────────────────────────────────────────────── */
.tvl-sec{padding:64px 40px}
.tvl-sec.surface{background:var(--tvl-surface)}
.tvl-sec.rule-t{border-top:2px solid var(--tvl-text)}
.tvl-sec.rule-b{border-bottom:2px solid var(--tvl-text)}
.tvl-sec.rules{border-top:2px solid var(--tvl-text);border-bottom:2px solid var(--tvl-text)}
.tvl-shead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.tvl-shead .tvl-kicker{margin-bottom:14px}
.tvl-shead h2{font-size:38px;letter-spacing:-.01em}
.tvl-shead .hint{font-size:13px;color:var(--tvl-n700);white-space:nowrap}
.tvl-scroll-x{overflow-x:auto}

/* services grid */
.tvl-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--tvl-divider);border-left:1px solid var(--tvl-divider)}
.tvl-svc{background:var(--tvl-bg);padding:30px 26px;border-right:1px solid var(--tvl-divider);
  border-bottom:1px solid var(--tvl-divider);cursor:pointer;display:flex;flex-direction:column;
  text-align:left;font-family:var(--tvl-font);border-top:0;border-left:0}
.tvl-svc:hover{background:var(--tvl-surface)}
.tvl-svc>svg{width:30px;height:30px;margin-bottom:20px}
.tvl-svc h3{font-size:21px;margin:0 0 10px}
.tvl-svc p{font-size:13.5px;line-height:1.55;color:var(--tvl-n700);margin:0 0 18px;flex:1}
.tvl-svc .vd{font-size:11px;font-weight:800;color:var(--tvl-a700);text-transform:uppercase;letter-spacing:.09em}

/* how it works */
.tvl-how h2{font-size:34px;letter-spacing:-.01em;margin:0 0 34px}
.tvl-how .g{display:grid;grid-template-columns:repeat(3,1fr)}
.tvl-how .st{padding:0 34px;border-right:1px solid var(--tvl-divider)}
.tvl-how .st:first-child{padding-left:0}
.tvl-how .st:last-child{padding-right:0;border-right:0}
.tvl-how .n{font-weight:800;font-size:42px;color:var(--tvl-accent);line-height:1;margin-bottom:16px}
.tvl-how h3{font-size:20px;margin:0 0 8px}
.tvl-how p{font-size:14px;line-height:1.6;color:var(--tvl-n700)}

/* coverage */
.tvl-cov{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.tvl-cov h2{font-size:36px;line-height:1.05;letter-spacing:-.01em;margin:14px 0 16px}
.tvl-cov p{font-size:15px;line-height:1.62;color:var(--tvl-n800);margin:0 0 22px;max-width:48ch}
.tvl-cov .tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.tvl-cov .note{font-size:13px;color:var(--tvl-n700)}
.tvl-cov .ph{position:relative}
.tvl-cov .ph img{width:100%;height:420px;object-fit:cover}
.tvl-cov .cap{position:absolute;left:0;bottom:0;background:var(--tvl-accent);color:#fff;
  padding:12px 18px;font-weight:800;font-size:13px;letter-spacing:.04em}

/* reviews */
.tvl-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
  background:var(--tvl-divider);border:2px solid var(--tvl-text)}
.tvl-rev{background:var(--tvl-bg);padding:28px;display:flex;flex-direction:column}
.tvl-rev .stars{color:var(--tvl-accent);font-size:15px;letter-spacing:3px;margin-bottom:14px}
.tvl-rev p{font-size:14px;line-height:1.62;margin:0 0 22px;flex:1}
.tvl-rev .who{display:flex;align-items:center;gap:13px}
.tvl-rev .who img{width:50px;height:50px;object-fit:cover}
.tvl-rev .who b{font-weight:800;font-size:15px;display:block}
.tvl-rev .who span{font-size:12px;color:var(--tvl-n700)}

/* quote */
.tvl-quote h2{font-size:36px;letter-spacing:-.01em;margin:0 0 8px}
.tvl-quote .intro{font-size:15px;line-height:1.6;color:var(--tvl-n700);max-width:58ch;margin:0 0 30px}
.tvl-qgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.tvl-qcol{display:flex;flex-direction:column;gap:22px}
.tvl-qcol.right{gap:18px}
.tvl-flabel{font-size:12px;color:var(--tvl-n700);margin-bottom:8px}
.tvl-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tvl-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tvl-frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tvl-emerg{border:2px solid var(--tvl-accent);background:var(--tvl-a100);padding:22px;
  display:flex;gap:14px;align-items:flex-start}
.tvl-emerg svg{width:26px;height:26px;flex:none}
.tvl-emerg b{font-weight:800;font-size:16px;margin-bottom:5px;display:block}
.tvl-emerg p{font-size:13px;line-height:1.55;color:var(--tvl-a800)}
.tvl-hint{font-size:12px;color:var(--tvl-a700);margin:-8px 0 0}
.tvl-assure{font-size:12px;color:var(--tvl-n600);margin:-4px 0 0;display:flex;align-items:center;gap:8px}
.tvl-assure svg{width:14px;height:14px;flex:none}
/* calendar */
.tvl-cal{border:2px solid var(--tvl-text)}
.tvl-cal .hd{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;
  border-bottom:2px solid var(--tvl-text);background:var(--tvl-surface)}
.tvl-cal .hd .m{font-weight:800;font-size:16px}
.tvl-cal .bd{padding:14px}
.tvl-cal .dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}
.tvl-cal .dow span{text-align:center;font-size:10px;letter-spacing:.05em;color:var(--tvl-n600);font-weight:700;padding:4px 0}
.tvl-cal .wk{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}
.tvl-cal .cell{height:38px;display:flex;align-items:center;justify-content:center;font-size:13px;
  font-weight:600;border:1px solid var(--tvl-divider);background:var(--tvl-bg);color:var(--tvl-text);cursor:pointer}
.tvl-cal .cell.empty{border-color:transparent;background:transparent;cursor:default}
.tvl-cal .cell.past{color:var(--tvl-n400);background:transparent;border-color:transparent;cursor:default}
.tvl-cal .cell.today{color:var(--tvl-a800);border-color:var(--tvl-accent);font-weight:800}
.tvl-cal .cell.sel{background:var(--tvl-accent);color:#fff;border-color:var(--tvl-accent)}
/* confirmation */
.tvl-confirm{border:2px solid var(--tvl-accent);background:var(--tvl-a100);padding:32px;max-width:640px}
.tvl-confirm svg{width:34px;height:34px}
.tvl-confirm h3{font-size:24px;margin:14px 0 8px}
.tvl-confirm p{font-size:14px;line-height:1.6;color:var(--tvl-n800);margin:0 0 18px}
.tvl-confirm .sum{border-top:1px solid var(--tvl-a300);padding-top:16px;display:grid;
  grid-template-columns:auto 1fr;gap:8px 20px;font-size:13px}
.tvl-confirm .sum .k{color:var(--tvl-n700)}
.tvl-confirm .sum .v{font-weight:700}
.tvl-confirm .cu{font-size:13px;margin:18px 0;color:var(--tvl-n800)}
[hidden]{display:none!important}

/* faq */
.tvl-faq{border-top:2px solid var(--tvl-text);max-width:920px}
.tvl-faq .qa{border-bottom:1px solid var(--tvl-divider)}
.tvl-faq .qa .q{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 4px;cursor:pointer;width:100%;background:transparent;border:0;text-align:left;
  font-family:var(--tvl-font)}
.tvl-faq .qa .q span:first-child{font-weight:800;font-size:18px;color:var(--tvl-text)}
.tvl-faq .qa .q .sign{font-size:24px;line-height:1;color:var(--tvl-accent);flex:none}
.tvl-faq .qa .a{font-size:14px;line-height:1.65;color:var(--tvl-n800);margin:0 4px;
  padding-bottom:22px;max-width:76ch}

/* closing poster */
.tvl-poster{background:var(--tvl-accent);color:#fff;padding:60px 40px}
.tvl-poster .tvl-kicker{color:rgba(255,255,255,.85);margin-bottom:16px}
.tvl-poster h2{font-size:44px;line-height:1.03;letter-spacing:-.015em;color:#fff;max-width:16ch;margin:0 0 26px}
.tvl-poster .b{display:flex;gap:13px;flex-wrap:wrap}
.tvl-poster .tvl-btn-white{background:#fff;color:var(--tvl-accent)}
.tvl-poster .tvl-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.6)}

/* footer */
.tvl-foot{background:var(--tvl-text);color:var(--tvl-n300);padding:52px 40px}
.tvl-foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;align-items:start}
.tvl-foot .bl{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.tvl-foot .bl .b{font-size:16px;letter-spacing:.02em;font-weight:800;color:#fff}
.tvl-foot .bl .a{font-size:8.5px;letter-spacing:.22em;font-weight:700;color:var(--tvl-n500);margin-bottom:2px}
.tvl-foot .blurb{font-size:14px;line-height:1.62;max-width:42ch;color:var(--tvl-n400);margin:0}
.tvl-foot .ch{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tvl-n500);font-weight:700;margin-bottom:14px}
.tvl-foot .cx{font-size:14px;line-height:1.7;color:var(--tvl-n300)}
.tvl-foot .cx a{color:#fff;text-decoration:none}
.tvl-foot .expl{display:flex;flex-direction:column;gap:9px;font-size:14px}
.tvl-foot .expl a{color:var(--tvl-n300);cursor:pointer;text-decoration:none}
.tvl-foot .expl a:hover{color:#fff}
.tvl-foot .bot{border-top:1px solid var(--tvl-n800);margin-top:34px;padding-top:18px;
  font-size:12px;color:var(--tvl-n500);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* ── service-detail modal (desktop) ─────────────────────────────────────── */
.tvl-modal-scrim{position:fixed;inset:0;background:rgba(20,18,17,.62);z-index:60;
  display:flex;align-items:center;justify-content:center;padding:34px}
.tvl-modal{background:var(--tvl-bg);border:2px solid var(--tvl-text);max-width:780px;width:100%;
  max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;
  box-shadow:0 12px 32px rgba(45,43,43,.22)}
.tvl-modal>img{width:100%;height:100%;min-height:380px;object-fit:cover}
.tvl-modal .c{padding:28px}
.tvl-modal .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tvl-modal h3{font-size:28px;letter-spacing:-.01em;margin:12px 0 8px}
.tvl-modal .bl{font-size:14px;line-height:1.6;color:var(--tvl-n700);margin:0 0 20px}
.tvl-modal .wh{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tvl-n600);font-weight:700;margin-bottom:12px}
.tvl-modal ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px}
.tvl-modal li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4}
.tvl-modal li svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--tvl-accent)}

/* ── mobile bottom tab bar + slide-up sheets ────────────────────────────── */
.tvl-tabbar{display:none;position:fixed;left:0;right:0;bottom:0;height:76px;z-index:40;
  background:var(--tvl-bg);border-top:2px solid var(--tvl-text);grid-template-columns:repeat(5,1fr)}
.tvl-tabbar button,.tvl-tabbar a{display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;font-size:10px;font-weight:700;color:var(--tvl-text);
  background:transparent;border:0;cursor:pointer;font-family:var(--tvl-font);text-decoration:none}
.tvl-tabbar svg{width:22px;height:22px}
.tvl-tabbar .center{background:var(--tvl-accent);color:#fff;font-weight:800}
.tvl-backdrop{display:none;position:fixed;inset:0;background:rgba(20,18,17,.5);z-index:44;opacity:0;
  transition:opacity .3s}
.tvl-backdrop.open{display:block;opacity:1}
.tvl-sheet{position:fixed;left:0;right:0;bottom:0;z-index:48;transform:translateY(110%);
  transition:transform .36s cubic-bezier(.4,0,.2,1);box-shadow:0 -12px 32px rgba(20,18,17,.22);
  background:var(--tvl-bg);border-top:2px solid var(--tvl-text);max-height:90vh;
  display:flex;flex-direction:column}
.tvl-sheet.open{transform:translateY(0)}
.tvl-sheet .sh{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;
  border-bottom:2px solid var(--tvl-text)}
.tvl-sheet .sh b{font-weight:800;font-size:20px}
.tvl-sheet .body{overflow-y:auto;padding:16px 18px 24px}
.tvl-mlist a,.tvl-mlist button{display:flex;gap:14px;align-items:center;width:100%;
  padding:15px 4px;border-bottom:1px solid var(--tvl-divider);cursor:pointer;background:transparent;
  border-left:0;border-right:0;border-top:0;text-align:left;font-family:var(--tvl-font);text-decoration:none;color:var(--tvl-text)}
.tvl-mlist .tx{flex:1;min-width:0}
.tvl-mlist h4{font-size:16px;margin:0 0 3px}
.tvl-mlist p{font-size:12.5px;line-height:1.45;color:var(--tvl-n700);margin:0}
.tvl-mlist svg{width:18px;height:18px;flex:none;color:var(--tvl-n500)}

/* ── responsive ─────────────────────────────────────────────────────────── */
@media(max-width:900px){
  .tvl-nav .tvl-nlink,.tvl-nav .tvl-nphone,.tvl-nav .tvl-btn-primary{display:none}
  .tvl-burger{display:inline-flex}
  .tvl-svc-grid{grid-template-columns:1fr 1fr}
  .tvl-cov{grid-template-columns:1fr;gap:28px}
  .tvl-qgrid{grid-template-columns:1fr;gap:28px}
  .tvl-rev-grid{grid-template-columns:1fr}
  .tvl-tabbar{display:grid}
  .tvl-modal{grid-template-columns:1fr}
  .tvl-modal>img{min-height:200px;height:200px}
  .tvl body,.tvl{padding-bottom:0}
}
@media(max-width:640px){
  .tvl-ebar{padding:8px 20px}
  .tvl-nav{padding:12px 18px}
  .tvl-hero{height:398px}
  .tvl-hero .in{padding:22px 20px}
  .tvl-hero h1{font-size:30px}
  .tvl-hero .hs{font-size:13.5px}
  .tvl-sec{padding:30px 20px}
  .tvl-trust{grid-template-columns:1fr 1fr 1fr}
  .tvl-trust .t{padding:14px 12px;flex-direction:column;text-align:center;gap:8px}
  .tvl-svc-grid{grid-template-columns:1fr}
  .tvl-how .g{grid-template-columns:1fr;gap:22px}
  .tvl-how .st{padding:0;border-right:0;border-bottom:1px solid var(--tvl-divider);padding-bottom:18px}
  .tvl-how .st:last-child{border-bottom:0}
  .tvl-shead{flex-direction:column;align-items:flex-start;gap:8px}
  .tvl-shead h2{font-size:26px}
  .tvl-poster h2{font-size:27px}
  .tvl-foot .cols{grid-template-columns:1fr;gap:24px}
  main.tvl-main{padding-bottom:76px}
}
@media(prefers-reduced-motion:reduce){.tvl-sheet,.tvl-backdrop{transition:none}}
