@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Syne:wght@500;600;700;800&display=swap");

/* =========================================================
   TripVendor Design System v2 — Software company (Stripe/Linear)
   ========================================================= */
:root{
  --tv-bg:#fafbfd;
  --tv-bg-elev:#ffffff;
  --tv-bg-soft:#f3f5f9;
  --tv-paper:#ffffff;
  --tv-ink:#0f172a;
  --tv-ink-dim:rgba(15,23,42,.72);
  --tv-mute:rgba(15,23,42,.52);
  --tv-line:rgba(15,23,42,.08);
  --tv-line-strong:rgba(15,23,42,.14);
  --tv-accent:#2563eb;
  --tv-accent-2:#0ea5e9;
  --tv-good:#059669;
  --tv-warn:#d97706;
  --tv-radius:18px;
  --tv-radius-sm:12px;
  --tv-radius-pill:999px;
  --tv-shadow:0 24px 60px rgba(15,23,42,.08);
  --tv-shadow-soft:0 12px 32px rgba(15,23,42,.06);
  --tv-glass:rgba(255,255,255,.82);
  --tv-glass-border:rgba(15,23,42,.08);
  --tv-max:1180px;
  --tv-gutter:clamp(1.1rem,3vw,2rem);
  --tv-ease:cubic-bezier(.22,1,.36,1);
  --tv-font:"DM Sans",system-ui,sans-serif;
  --tv-display:"Syne",system-ui,sans-serif;
  --tv-header:72px;
}

.tv-site[data-theme="dark"]{
  --tv-bg:#05070c;
  --tv-bg-elev:#0b0f19;
  --tv-bg-soft:#111827;
  --tv-paper:#f7f8fa;
  --tv-ink:#f3f4f6;
  --tv-ink-dim:rgba(243,244,246,.68);
  --tv-mute:rgba(243,244,246,.48);
  --tv-line:rgba(255,255,255,.08);
  --tv-line-strong:rgba(255,255,255,.14);
  --tv-shadow:0 30px 80px rgba(0,0,0,.45);
  --tv-shadow-soft:0 16px 40px rgba(0,0,0,.28);
  --tv-glass:rgba(255,255,255,.04);
  --tv-glass-border:rgba(255,255,255,.1);
}

.tv-site{
  font-family:var(--tv-font);
  color:var(--tv-ink);
  background:var(--tv-bg);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.tv-site *,.tv-site *:before,.tv-site *:after{box-sizing:border-box}
.tv-container{width:min(calc(100% - (var(--tv-gutter) * 2)),var(--tv-max));margin-inline:auto}
.tv-skip{position:absolute;left:-9999px}.tv-skip:focus{left:1rem;top:1rem;z-index:100;padding:.75rem 1rem;background:#fff;color:#000;border-radius:999px}

/* Type */
.tv-display{
  font-family:var(--tv-display);font-weight:700;letter-spacing:-.04em;line-height:.95;
  font-size:clamp(2.75rem,7.2vw,5.6rem);margin:0;
}
.tv-display-md{
  font-family:var(--tv-display);font-weight:700;letter-spacing:-.035em;line-height:1.02;
  font-size:clamp(2rem,4.4vw,3.4rem);margin:0;
}
.tv-display-sm{
  font-family:var(--tv-display);font-weight:650;letter-spacing:-.03em;line-height:1.1;
  font-size:clamp(1.55rem,2.8vw,2.15rem);margin:0;
}
.tv-lead{color:var(--tv-ink-dim);font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:36rem;margin:.9rem 0 0;line-height:1.65}
.tv-kicker{
  display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:999px;
  border:1px solid var(--tv-line-strong);background:var(--tv-glass);color:var(--tv-accent-2);
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.tv-mute{color:var(--tv-mute)}
.tv-section-head{max-width:40rem;margin-bottom:clamp(1.75rem,4vw,2.75rem)}
.tv-section-head .tv-lead{margin-top:.85rem}

/* Buttons */
.tv-btn{
  --btn-bg:var(--tv-accent);--btn-fg:#fff;--btn-bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:48px;padding:.8rem 1.35rem;border-radius:var(--tv-radius-pill);
  border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);
  font:600 .94rem/1 var(--tv-font);text-decoration:none;cursor:pointer;
  transition:transform .35s var(--tv-ease),background .25s,border-color .25s,box-shadow .35s;
  box-shadow:0 10px 30px rgba(59,130,246,.25);
}
.tv-btn:hover{transform:translateY(-2px)}
.tv-btn:focus-visible{outline:2px solid var(--tv-accent);outline-offset:3px}
.tv-btn:disabled{opacity:.4;pointer-events:none}
.tv-btn-lg{min-height:54px;padding:.95rem 1.55rem;font-size:1rem}
.tv-btn-sm{min-height:40px;padding:.55rem 1rem;font-size:.86rem}
.tv-btn-ghost{--btn-bg:transparent;--btn-fg:var(--tv-ink);--btn-bd:var(--tv-line-strong);box-shadow:none}
.tv-btn-ghost:hover{background:var(--tv-bg-soft)}
.tv-btn-soft{--btn-bg:rgba(37,99,235,.08);--btn-fg:var(--tv-accent);--btn-bd:rgba(37,99,235,.18);box-shadow:none}
.tv-btn-light{--btn-bg:#fff;--btn-fg:var(--tv-ink);box-shadow:var(--tv-shadow-soft)}
.tv-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.tv-actions-center{justify-content:center}

/* Header */
.tv-announce{border-bottom:1px solid var(--tv-line);background:rgba(37,99,235,.06);font-size:.88rem}
.tv-announce-inner{display:flex;gap:.85rem;flex-wrap:wrap;align-items:center;justify-content:center;padding:.65rem 0;color:var(--tv-ink-dim)}
.tv-announce a{color:var(--tv-accent);text-underline-offset:3px}
.tv-header{
  position:sticky;top:0;z-index:70;height:var(--tv-header);
  background:rgba(250,251,253,.86);backdrop-filter:blur(18px) saturate(1.2);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s;
}
.tv-header.is-scrolled{border-color:var(--tv-line);background:rgba(250,251,253,.96)}
.tv-nav{height:var(--tv-header);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.tv-brand{font-family:var(--tv-display);font-weight:700;font-size:1.2rem;letter-spacing:-.03em;color:var(--tv-ink);text-decoration:none}
.tv-menu{display:flex;align-items:center;gap:1.15rem}
.tv-menu>a{color:var(--tv-ink-dim);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}
.tv-menu>a:hover{color:var(--tv-ink)}
.tv-nav-toggle{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--tv-line);background:transparent;color:var(--tv-ink);cursor:pointer}

/* Sections */
.tv-section{position:relative;isolation:isolate;padding:clamp(4rem,9vw,7rem) 0}
.tv-section-tight{padding:clamp(2.5rem,6vw,4rem) 0}
.tv-section-dark{background:linear-gradient(180deg,#f8fafc,#eef2f7)}
.tv-site[data-theme="dark"] .tv-section-dark{background:radial-gradient(1200px 500px at 80% -10%,rgba(59,130,246,.18),transparent 55%),linear-gradient(180deg,#070b14,#05070c)}
.tv-section-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.35}
.tv-section-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(5,7,12,.35),rgba(5,7,12,.92))}
.tv-section-inner{position:relative;z-index:1}
.tv-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--tv-ease),transform .8s var(--tv-ease)}
.tv-reveal.is-visible{opacity:1;transform:none}

/* Hero */
.tv-hero{
  min-height:100svh;display:grid;align-items:end;padding:calc(var(--tv-header) + 2rem) 0 3.5rem;
  position:relative;overflow:hidden;
}
.tv-hero-media{position:absolute;inset:0;z-index:0}
.tv-hero-media video,.tv-hero-media img{width:100%;height:100%;object-fit:cover}
.tv-hero-scrim{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(900px 420px at 75% 20%,rgba(37,99,235,.12),transparent 55%),
    linear-gradient(180deg,rgba(250,251,253,.15) 0%,rgba(250,251,253,.72) 45%,rgba(250,251,253,.94) 100%);
}
.tv-site[data-theme="dark"] .tv-hero-scrim{
  background:
    radial-gradient(900px 420px at 75% 20%,rgba(59,130,246,.22),transparent 55%),
    linear-gradient(180deg,rgba(5,7,12,.45) 0%,rgba(5,7,12,.78) 45%,rgba(5,7,12,.96) 100%);
}
.tv-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:end}
.tv-hero-copy .tv-display{max-width:11ch}
.tv-float-stack{display:grid;gap:.85rem}
.tv-float-card{
  padding:1.05rem 1.15rem;border-radius:16px;background:var(--tv-glass);
  border:1px solid var(--tv-glass-border);backdrop-filter:blur(16px);
  box-shadow:var(--tv-shadow-soft);transform:translateY(0);transition:transform .4s var(--tv-ease);
}
.tv-float-card:hover{transform:translateY(-4px)}
.tv-float-card strong{display:block;font-size:.95rem;margin-bottom:.25rem}
.tv-float-card span{color:var(--tv-mute);font-size:.84rem;line-height:1.45}
.tv-trust-row{display:flex;flex-wrap:wrap;gap:.65rem 1.35rem;margin-top:1.75rem;color:var(--tv-mute);font-size:.82rem;font-weight:600}
.tv-search-pill{
  display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:1.5rem;max-width:34rem;
  padding:.4rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--tv-line-strong);
}
.tv-search-pill input{
  border:0;background:transparent;color:var(--tv-ink);padding:.7rem 1rem;font:inherit;outline:none;min-width:0;
}
.tv-search-pill input::placeholder{color:var(--tv-mute)}

/* MacBook showcase */
.tv-device-stage{display:grid;gap:1.25rem;justify-items:center}
.tv-device-switch{display:inline-flex;gap:.3rem;padding:.3rem;border-radius:999px;background:var(--tv-bg-soft);border:1px solid var(--tv-line)}
.tv-device-switch button{
  border:0;background:transparent;color:var(--tv-mute);padding:.55rem 1rem;border-radius:999px;
  font:600 .84rem var(--tv-font);cursor:pointer;
}
.tv-device-switch button.is-active{background:var(--tv-ink);color:var(--tv-bg)}
.tv-macbook{
  width:min(100%,920px);aspect-ratio:16/10.2;position:relative;
  border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#eceff4,#d8dee8);
  border:1px solid var(--tv-line-strong);box-shadow:var(--tv-shadow);padding:1.1% 1.1% 3%;
}
.tv-macbook-screen{
  width:100%;height:100%;border-radius:10px;overflow:hidden;background:#000;position:relative;
  border:1px solid rgba(255,255,255,.06);
}
.tv-macbook-screen img,.tv-macbook-screen video{width:100%;height:100%;object-fit:cover;display:block}
.tv-macbook-chin{height:10px;margin-top:8px;border-radius:0 0 8px 8px;background:#0a0c10}
.tv-macbook.is-tablet{width:min(100%,520px);aspect-ratio:4/3;border-radius:28px;padding:2.2%}
.tv-macbook.is-mobile{width:min(100%,280px);aspect-ratio:9/17;border-radius:36px;padding:3.5%}
.tv-device-meta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.tv-template-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:.85rem;overflow:auto;width:100%;padding-bottom:.35rem;scroll-snap-type:x mandatory}
.tv-template-chip{
  scroll-snap-align:start;padding:1rem;border-radius:16px;border:1px solid var(--tv-line);
  background:var(--tv-bg-elev);cursor:pointer;text-align:left;color:inherit;font:inherit;
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.tv-template-chip.is-active,.tv-template-chip:hover{border-color:rgba(37,99,235,.35);background:rgba(37,99,235,.05);box-shadow:var(--tv-shadow-soft)}
.tv-template-chip strong{display:block;margin-bottom:.2rem}
.tv-template-chip span{color:var(--tv-mute);font-size:.82rem}

/* Features storytelling */
.tv-story{display:grid;gap:clamp(3rem,8vw,5.5rem)}
.tv-story-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.tv-story-row.is-flip .tv-story-visual{order:-1}
.tv-story-visual{
  border-radius:24px;overflow:hidden;border:1px solid var(--tv-line);
  background:radial-gradient(circle at 30% 20%,rgba(59,130,246,.2),transparent 55%),var(--tv-bg-elev);
  min-height:280px;box-shadow:var(--tv-shadow-soft);
}
.tv-story-visual img{width:100%;height:100%;object-fit:cover;display:block;min-height:280px}
.tv-story-copy h3{margin:.65rem 0 .5rem}

/* Stats */
.tv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.tv-stat{
  padding:1.4rem 1.2rem;border-radius:20px;border:1px solid var(--tv-line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
}
.tv-stat-value{font-family:var(--tv-display);font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:-.04em;display:inline}
.tv-stat-suffix{font-family:var(--tv-display);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--tv-accent-2)}
.tv-stat p{margin:.35rem 0 0;color:var(--tv-mute);font-size:.9rem}

/* Pricing */
.tv-billing{display:inline-flex;gap:.3rem;padding:.3rem;border-radius:999px;border:1px solid var(--tv-line);background:rgba(255,255,255,.03);margin-bottom:1.4rem}
.tv-billing button{border:0;background:transparent;color:var(--tv-mute);padding:.55rem 1.05rem;border-radius:999px;font:600 .86rem var(--tv-font);cursor:pointer}
.tv-billing button.is-active{background:#fff;color:#05070c}
.tv-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.tv-price-card{
  padding:1.5rem;border-radius:22px;border:1px solid var(--tv-line);
  background:rgba(255,255,255,.025);display:grid;gap:.7rem;align-content:start;
  transition:transform .35s var(--tv-ease),border-color .25s,box-shadow .35s;
}
.tv-price-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
.tv-price-card.is-featured{
  background:linear-gradient(165deg,rgba(59,130,246,.18),rgba(255,255,255,.03));
  border-color:rgba(59,130,246,.45);box-shadow:0 20px 50px rgba(59,130,246,.15);
}
.tv-price{font-family:var(--tv-display);font-size:2.4rem;letter-spacing:-.04em}
.tv-price-calc{
  margin-top:1.75rem;padding:1.25rem;border-radius:18px;border:1px solid var(--tv-line);
  background:rgba(255,255,255,.03);display:grid;gap:.85rem;max-width:520px;
}
.tv-price-calc label{display:grid;gap:.4rem;font-size:.88rem;font-weight:600}
.tv-price-calc input[type=range]{width:100%}

/* FAQ / forms / misc */
.tv-faq details{border-bottom:1px solid var(--tv-line);padding:1.1rem 0}
.tv-faq summary{cursor:pointer;font-weight:650;font-size:1.05rem;list-style:none}
.tv-faq summary::-webkit-details-marker{display:none}
.tv-faq p{margin:.75rem 0 0;color:var(--tv-ink-dim);max-width:48rem}
.tv-form{display:grid;gap:1rem;max-width:520px}
.tv-form label{display:grid;gap:.4rem;font-weight:600;font-size:.9rem}
.tv-form input,.tv-form textarea{
  min-height:50px;border-radius:14px;border:1px solid var(--tv-line-strong);
  background:var(--tv-bg-elev);color:var(--tv-ink);padding:.8rem 1rem;font:inherit;
}
.tv-form input:focus,.tv-form textarea:focus{outline:none;border-color:rgba(59,130,246,.55);box-shadow:0 0 0 4px rgba(59,130,246,.15)}
.tv-success{padding:1rem 1.1rem;border-radius:14px;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35);color:#a7f3d0}
.tv-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;position:relative}
.tv-step{padding:1.25rem;border-radius:18px;border:1px solid var(--tv-line);background:rgba(255,255,255,.03)}
.tv-step strong{display:block;color:var(--tv-accent-2);font-size:1.35rem;margin-bottom:.4rem;font-family:var(--tv-display)}
.tv-logo-row{display:flex;flex-wrap:wrap;gap:.7rem}
.tv-logo-chip{padding:.85rem 1.15rem;border-radius:999px;border:1px solid var(--tv-line);color:var(--tv-ink-dim);font-weight:600;font-size:.9rem}
.tv-quote-grid,.tv-case-grid,.tv-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.tv-quote,.tv-case,.tv-gallery-card{margin:0;padding:1.35rem;border-radius:20px;border:1px solid var(--tv-line);background:rgba(255,255,255,.03)}
.tv-quote blockquote{margin:0;font-family:var(--tv-display);font-size:1.2rem;line-height:1.35;letter-spacing:-.02em}
.tv-stars{color:var(--tv-warn);letter-spacing:.08em;margin-bottom:.5rem}
.tv-case-metric{font-family:var(--tv-display);font-size:1.6rem;color:var(--tv-accent-2);margin-bottom:.35rem}
.tv-compare-wrap{overflow:auto;border:1px solid var(--tv-line);border-radius:18px}
.tv-compare{width:100%;border-collapse:collapse;min-width:760px}
.tv-compare th,.tv-compare td{padding:1rem;border-bottom:1px solid var(--tv-line);text-align:left;font-size:.92rem}
.tv-compare thead th{background:rgba(255,255,255,.03);color:var(--tv-mute);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.tv-cta-band{
  text-align:center;padding:clamp(3rem,7vw,4.5rem) 1.5rem;border-radius:28px;
  background:
    radial-gradient(700px 280px at 80% 0%,rgba(34,211,238,.18),transparent 50%),
    linear-gradient(145deg,#0b1220,#111827 55%,#0a1628);
  border:1px solid var(--tv-line);
}
.tv-cta-band .tv-display-md{max-width:16ch;margin-inline:auto}
.tv-cta-band .tv-lead{margin-inline:auto}
.tv-prose{max-width:42rem}
.tv-prose .tv-rich{color:var(--tv-ink-dim);font-size:1.05rem;line-height:1.75}
.tv-empty{padding:2rem;border:1px dashed var(--tv-line);border-radius:16px;text-align:center;color:var(--tv-mute)}
.tv-tcard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.tv-tcard{border-radius:22px;overflow:hidden;border:1px solid var(--tv-line);background:var(--tv-bg-elev);display:flex;flex-direction:column;transition:transform .4s var(--tv-ease),box-shadow .4s}
.tv-tcard:hover{transform:translateY(-6px);box-shadow:var(--tv-shadow)}
.tv-tcard-preview{aspect-ratio:16/10;position:relative;background:var(--tv-bg-soft)}
.tv-tcard-preview img{width:100%;height:100%;object-fit:cover;object-position:top}
.tv-tcard-body{padding:1.15rem 1.2rem 1.3rem;display:grid;gap:.55rem;flex:1}
.tv-tcard-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}
.tv-tcard-features{margin:.15rem 0 0;padding-left:1.1rem;color:var(--tv-ink-dim);font-size:.88rem;line-height:1.55}
.tv-tcard-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .85rem;margin:.35rem 0 0;font-size:.82rem}
.tv-tcard-meta dt{color:var(--tv-mute);font-weight:600}
.tv-tcard-meta dd{margin:0;color:var(--tv-ink)}
.tv-live-url{margin:.15rem 0 0;font-size:.82rem}
.tv-live-url a{color:var(--tv-accent);text-decoration:none;font-weight:600}
.tv-badge{display:inline-flex;padding:.26rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;background:rgba(37,99,235,.08);color:var(--tv-accent)}
.tv-filters{display:flex;gap:.65rem;margin-bottom:1.4rem;flex-wrap:wrap}
.tv-filters input{flex:1;min-height:46px;border-radius:999px;border:1px solid var(--tv-line);background:var(--tv-bg-elev);color:var(--tv-ink);padding:.65rem 1rem;font:inherit}
.tv-newsletter{display:grid;grid-template-columns:1fr auto;gap:.55rem;max-width:560px}
.tv-newsletter input{min-height:50px;border-radius:999px;border:1px solid var(--tv-line);background:var(--tv-bg-elev);color:var(--tv-ink);padding:.75rem 1.1rem;font:inherit}

/* Footer */
.tv-footer{margin-top:2rem;padding:4.5rem 0 2rem;border-top:1px solid var(--tv-line);background:var(--tv-bg-soft)}
.tv-footer-mega{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem}
.tv-footer .tv-brand{font-size:1.6rem}
.tv-footer p{color:var(--tv-mute);max-width:28rem;margin:.85rem 0 0;line-height:1.65}
.tv-footer h4{margin:0 0 1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tv-mute)}
.tv-footer nav{display:grid;gap:.65rem}
.tv-footer a{color:var(--tv-ink-dim);text-decoration:none}
.tv-footer a:hover{color:var(--tv-ink)}
.tv-footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--tv-line);color:var(--tv-mute);font-size:.88rem}
.tv-footer-base nav{display:flex;gap:1rem}

/* Cookie / popup */
.tv-popup{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:1rem}
.tv-popup-card{width:min(100%,420px);background:#0f1420;border:1px solid var(--tv-line);border-radius:20px;padding:1.6rem;position:relative;box-shadow:var(--tv-shadow)}
.tv-popup-close{position:absolute;right:.8rem;top:.55rem;border:0;background:transparent;color:#fff;font-size:1.4rem;cursor:pointer}
.tv-cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;max-width:460px;margin-inline:auto;padding:1.1rem;border-radius:18px;background:#0f1420;border:1px solid var(--tv-line);box-shadow:var(--tv-shadow);display:grid;gap:.85rem}
.tv-cookie-actions{display:flex;gap:.5rem}

@media(max-width:1024px){
  .tv-hero-grid,.tv-story-row,.tv-footer-mega{grid-template-columns:1fr}
  .tv-story-row.is-flip .tv-story-visual{order:0}
  .tv-price-grid,.tv-stats,.tv-timeline,.tv-quote-grid,.tv-case-grid,.tv-gallery-grid,.tv-tcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .tv-nav-toggle{display:grid;place-items:center}
  .tv-menu{
    display:none;position:absolute;left:var(--tv-gutter);right:var(--tv-gutter);top:calc(var(--tv-header) + .4rem);
    flex-direction:column;align-items:stretch;padding:1rem;gap:.25rem;
    background:var(--tv-bg-elev);border:1px solid var(--tv-line);border-radius:18px;box-shadow:var(--tv-shadow);
  }
  .tv-menu.is-open{display:flex}
  .tv-nav{position:relative}
  .tv-menu>a{padding:.8rem .9rem;border-radius:12px}
  .tv-hero{min-height:92svh;align-items:center}
  .tv-hero-copy .tv-display{max-width:none}
}
@media(max-width:640px){
  .tv-price-grid,.tv-stats,.tv-timeline,.tv-quote-grid,.tv-case-grid,.tv-gallery-grid,.tv-tcard-grid,.tv-newsletter{grid-template-columns:1fr}
  .tv-footer-mega{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  .tv-reveal{opacity:1;transform:none;transition:none}
  .tv-btn:hover,.tv-tcard:hover,.tv-price-card:hover,.tv-float-card:hover{transform:none}
}

/* Phase 20 — brand gallery hover + page switch */
.tv-page-switch{display:inline-flex;gap:.3rem;padding:.3rem;border-radius:999px;background:var(--tv-bg-soft);border:1px solid var(--tv-line);margin-bottom:.35rem;flex-wrap:wrap;justify-content:center}
.tv-page-switch button{border:0;background:transparent;color:var(--tv-mute);padding:.5rem .95rem;border-radius:999px;font:600 .82rem var(--tv-font);cursor:pointer}
.tv-page-switch button.is-active{background:var(--tv-ink);color:var(--tv-bg)}
.tv-tcard-preview{position:relative}
.tv-tcard-hover-hint{position:absolute;left:.75rem;bottom:.75rem;padding:.35rem .65rem;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:.72rem;font-weight:650;opacity:0;transition:opacity .25s}
.tv-tcard:hover .tv-tcard-hover-hint{opacity:1}
.tv-tcard-devices{position:absolute;right:.55rem;top:.55rem;display:inline-flex;gap:.2rem;padding:.2rem;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08)}
.tv-tcard-devices button{border:0;background:transparent;font:650 .68rem var(--tv-font);padding:.3rem .45rem;border-radius:999px;cursor:pointer;color:var(--tv-mute)}
.tv-tcard-devices button.is-active{background:var(--tv-ink);color:#fff}
