/* TBS video page — mobile first. Falls back gracefully if a theme token is missing. */
.tbv{--tbv-ink:var(--tbs-carbon,#101216);--tbv-paper:var(--tbs-bg,#f7f7f4);--tbv-line:var(--tbs-border,#d9dce1);--tbv-muted:var(--tbs-text-muted,#555b64);--tbv-accent:var(--tbs-accent,#ffb300);--tbv-radius:var(--tbs-radius-lg,20px);--tbv-mono:var(--tbs-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);background:var(--tbv-paper);color:var(--tbv-ink)}
.tbv *,.tbv *::before,.tbv *::after{box-sizing:border-box}

/* Hero */
.tbv-hero{position:relative;overflow:hidden;padding:clamp(2.5rem,7vw,5.5rem) 0 clamp(2rem,5vw,4rem);isolation:isolate}
.tbv-hero__grid{position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 78% 40%,#fff 0,transparent 70%),linear-gradient(var(--tbv-line) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,var(--tbv-line) 1px,transparent 1px) 0 0/56px 56px;opacity:.55;-webkit-mask-image:radial-gradient(90% 90% at 70% 40%,#000 30%,transparent 100%);mask-image:radial-gradient(90% 90% at 70% 40%,#000 30%,transparent 100%)}
.tbv-hero__inner{display:grid;gap:2.5rem;align-items:center}
.tbv-hero h1{margin:.4rem 0 1rem;font-size:clamp(2.4rem,9vw,5rem);line-height:1.02;letter-spacing:-.035em}
.tbv-hero .lede{max-width:34rem;margin:0 0 1.75rem;color:var(--tbv-muted);font-size:clamp(1rem,2.6vw,1.2rem);line-height:1.6}
.tbv-hero__stack{position:relative;display:none;height:520px;perspective:1200px}
.tbv-hero__phone{position:absolute;top:0;width:min(250px,22vw);aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:var(--tbv-ink);border:6px solid var(--tbv-ink);box-shadow:0 40px 60px -28px rgb(16 18 22/.55),0 10px 18px -8px rgb(16 18 22/.3);transform-style:preserve-3d}
.tbv-hero__phone img{display:block;width:100%;height:100%;object-fit:cover}
.tbv-hero__phone--1{left:0;top:70px;transform:rotateY(18deg) rotateZ(-5deg);z-index:1}
.tbv-hero__phone--2{left:30%;top:0;transform:rotateY(0) rotateZ(0);z-index:3}
.tbv-hero__phone--3{left:58%;top:70px;transform:rotateY(-18deg) rotateZ(5deg);z-index:2}
@media(min-width:900px){.tbv-hero__inner{grid-template-columns:1.05fr .95fr}.tbv-hero__stack{display:block}.tbv-hero__phone{width:min(240px,20vw)}}
@media(min-width:1180px){.tbv-hero__stack{height:560px}.tbv-hero__phone{width:250px}}

/* Channel buttons */
.tbv-channels{display:grid;gap:.75rem;grid-template-columns:1fr}
.tbv-btn{display:flex;align-items:center;gap:.9rem;min-height:60px;padding:.55rem 1.1rem .55rem .8rem;border-radius:999px;border:1.5px solid var(--tbv-ink);color:var(--tbv-ink);background:transparent;text-decoration:none;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.tbv-btn__icon{flex:none;width:40px;height:40px;padding:9px;border-radius:50%;background:var(--tbv-ink);color:#fff}
.tbv-btn--youtube .tbv-btn__icon{background:#e62117}
.tbv-btn__text{display:flex;flex-direction:column;line-height:1.15;font-size:1.05rem;letter-spacing:-.01em}
.tbv-btn__text small{font:600 .62rem var(--tbv-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.tbv-btn__arrow{margin-left:auto;width:22px;height:22px;flex:none;transition:transform .2s ease}
.tbv-btn:hover,.tbv-btn:focus-visible{transform:translateY(-2px);box-shadow:0 14px 24px -14px rgb(16 18 22/.45)}
.tbv-btn:hover .tbv-btn__arrow,.tbv-btn:focus-visible .tbv-btn__arrow{transform:translate(3px,-3px)}
.tbv-btn:focus-visible{outline:3px solid var(--tbv-accent);outline-offset:3px}
.tbv-btn--youtube{background:var(--tbv-ink);color:#fff;border-color:var(--tbv-ink)}
.tbv-btn--youtube .tbv-btn__icon{background:#e62117;color:#fff}
@media(min-width:560px){.tbv-channels{grid-template-columns:repeat(2,minmax(0,max-content));gap:1rem}.tbv-btn{padding-right:1.5rem;min-width:230px}}

/* Library */
.tbv-library{padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,7vw,5.5rem)}
.tbv-library__head{display:grid;gap:1.25rem;margin-bottom:1.5rem}
.tbv-library h2{margin:.3rem 0 0;font-size:clamp(1.9rem,6vw,3.2rem);letter-spacing:-.03em}
.tbv-chips{display:flex;gap:.5rem;overflow-x:auto;padding:.15rem 1rem .5rem;margin:0 -1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tbv-chips::-webkit-scrollbar{display:none}
.tbv-chip{flex:none;min-height:44px;padding:0 1.1rem;border:1.5px solid var(--tbv-line);border-radius:999px;background:#fff;color:var(--tbv-ink);font:600 .85rem/1 inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tbv-chip:hover{border-color:var(--tbv-ink)}
.tbv-chip.is-active{background:var(--tbv-ink);border-color:var(--tbv-ink);color:#fff}
.tbv-chip:focus-visible{outline:3px solid var(--tbv-accent);outline-offset:2px}
@media(min-width:860px){.tbv-library__head{grid-template-columns:1fr auto;align-items:end}.tbv-chips{overflow:visible;flex-wrap:wrap;padding:0;margin:0;justify-content:flex-end}}

.tbv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem .75rem;margin:0;padding:0;list-style:none}
@media(min-width:720px){.tbv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem 1.1rem}}
@media(min-width:1100px){.tbv-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem 1.4rem}}
.tbv-card[hidden]{display:none}
.tbv-card__btn{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tbv-card__poster{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;border-radius:var(--tbv-radius);background:var(--tbv-ink);box-shadow:0 18px 30px -22px rgb(16 18 22/.6);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.tbv-card__poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tbv-card__poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(16 18 22/.12) 0,transparent 30%,rgb(16 18 22/.55) 100%);pointer-events:none}
.tbv-card__duration{position:absolute;z-index:2;top:.65rem;left:.65rem;padding:.3rem .55rem;border-radius:999px;background:rgb(16 18 22/.72);color:#fff;font:700 .68rem var(--tbv-mono);letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tbv-card__play{position:absolute;z-index:2;right:.7rem;bottom:.7rem;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--tbv-accent);color:var(--tbv-ink);box-shadow:0 8px 18px -6px rgb(0 0 0/.5);transition:transform .25s ease}
.tbv-card__play svg{width:20px;height:20px;margin-left:2px}
.tbv-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-top:.7rem;font-size:.92rem;font-weight:650;line-height:1.35;letter-spacing:-.01em}
@media(min-width:720px){.tbv-card__title{font-size:1rem}.tbv-card__play{width:52px;height:52px}}
@media(hover:hover){.tbv-card__btn:hover .tbv-card__poster{transform:translateY(-6px);box-shadow:0 28px 40px -22px rgb(16 18 22/.7)}.tbv-card__btn:hover img{transform:scale(1.05)}.tbv-card__btn:hover .tbv-card__play{transform:scale(1.1)}}
.tbv-card__btn:focus-visible{outline:3px solid var(--tbv-accent);outline-offset:4px;border-radius:var(--tbv-radius)}
.tbv-empty{padding:3rem 1.5rem;border:1.5px dashed var(--tbv-line);border-radius:var(--tbv-radius);background:#fff;text-align:center}

/* Closing call to action */
.tbv-cta{padding:clamp(3rem,8vw,5.5rem) 0;background:var(--tbv-ink);color:#fff;text-align:center}
.tbv-cta .eyebrow{color:var(--tbv-accent)}
.tbv-cta h2{max-width:20ch;margin:.5rem auto 1.75rem;font-size:clamp(1.8rem,6vw,3rem);line-height:1.1;letter-spacing:-.03em}
.tbv-cta .tbv-channels{justify-content:center;max-width:30rem;margin:0 auto}
.tbv-cta .tbv-btn{border-color:rgb(255 255 255/.4);color:#fff}
.tbv-cta .tbv-btn--youtube{background:#fff;color:var(--tbv-ink);border-color:#fff}
.tbv-cta .tbv-btn--tiktok .tbv-btn__icon{background:#fff;color:var(--tbv-ink)}
@media(min-width:560px){.tbv-cta .tbv-channels{max-width:none}}

/* Modal player */
html.tbv-lock,html.tbv-lock body{overflow:hidden}
.tbv-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center}
.tbv-modal[hidden]{display:none}
.tbv-modal__backdrop{position:absolute;inset:0;border:0;background:rgb(10 11 14/.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;animation:tbv-fade .25s ease}
.tbv-modal__panel{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:#000;animation:tbv-rise .3s cubic-bezier(.2,.7,.2,1)}
.tbv-modal__stage{position:relative;flex:1;min-height:0;background:#000}
.tbv-modal__stage iframe,.tbv-modal__stage video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;object-fit:contain}
.tbv-modal__close{position:absolute;z-index:3;top:max(.75rem,env(safe-area-inset-top));right:.75rem;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgb(16 18 22/.7);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tbv-modal__close svg{width:22px;height:22px}
.tbv-modal__bar{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--tbv-ink,#101216);color:#fff}
.tbv-modal__title{flex:1;min-width:0;margin:0;font-size:.9rem;font-weight:650;line-height:1.3;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tbv-modal__nav{flex:none;display:grid;place-items:center;width:46px;height:46px;border:1.5px solid rgb(255 255 255/.25);border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.tbv-modal__nav svg{width:22px;height:22px}
.tbv-modal__nav[disabled]{opacity:.3;cursor:default}
.tbv-modal__close:focus-visible,.tbv-modal__nav:focus-visible{outline:3px solid #ffb300;outline-offset:2px}
@media(min-width:760px){
  .tbv-modal__panel{width:auto;height:min(92vh,920px);aspect-ratio:9/16;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -20px rgb(0 0 0/.7)}
  .tbv-modal__close{top:.75rem}
}
@keyframes tbv-fade{from{opacity:0}to{opacity:1}}
@keyframes tbv-rise{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tbv *,.tbv-modal *{animation:none!important;transition:none!important}.tbv-hero__phone{transform:none}.tbv-hero__phone--1{left:0}.tbv-hero__phone--3{left:58%}}
