/* ============================================================
   Traverse: single course template
   Scoped to .tvsc so it does not fight the active theme.
   ============================================================ */

.tvsc{
  --ink:#0F1626; --ink-2:#1A2438;
  --paper:#F4F5F7; --amber:#E9A13B; --amber-dim:#A9721F;
  --slate:#5C6779; --slate-2:#8A93A3; --rule:#DCE0E7;
  --display:'Archivo',system-ui,sans-serif;
  --body:'Public Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  font-family:var(--body);
  color:var(--ink);
  line-height:1.6;
}
.tvsc *{box-sizing:border-box}
.tvsc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.tvsc h1,.tvsc h2,.tvsc h3{font-family:var(--display);font-variation-settings:'wdth' 112;letter-spacing:-.02em;line-height:1.1;font-weight:800;margin:0}

/* ---------- head ---------- */
.tvsc-head{background:var(--ink);color:#fff;padding:26px 0 40px}
.tvsc-crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--slate-2);margin:0 0 22px}
.tvsc-crumbs a{color:var(--amber);text-decoration:none}
.tvsc-crumbs a:hover{text-decoration:underline}
.tvsc-head-grid{display:grid;grid-template-columns:1fr 330px;gap:44px;align-items:start}
.tvsc-eyebrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.tvsc-code{font-family:var(--mono);font-weight:600;font-size:13px;color:var(--amber);letter-spacing:-.01em}
.tvsc-brand{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-2)}
.tvsc-head h1{font-size:clamp(27px,3.6vw,42px);color:#fff}
.tvsc-facts{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin:22px 0 0;padding:0;font-size:14px;color:#AEB6C4}
.tvsc-facts b{font-family:var(--display);font-variation-settings:'wdth' 118;font-weight:800;font-size:19px;color:#fff;margin-right:5px}

/* buybox */
.tvsc-buybox{background:var(--ink-2);border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:24px}
.tvsc-price{font-family:var(--display);font-variation-settings:'wdth' 116;font-weight:800;font-size:38px;line-height:1;color:#fff;margin:0 0 4px}
.tvsc-price span{display:block;font-family:var(--body);font-size:12.5px;font-weight:400;color:var(--slate-2);margin-top:7px;letter-spacing:0}
.tvsc-nextline{font-size:13.5px;color:#AEB6C4;margin:16px 0 20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.tvsc-nextline b{display:block;color:var(--amber);font-family:var(--mono);font-size:15px;margin:3px 0}
.tvsc-fineprint{font-size:12px;color:var(--slate-2);margin:14px 0 0;line-height:1.5}

/* buttons */
.tvsc-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:4px;font-weight:700;font-size:14.5px;text-decoration:none;transition:background .15s,border-color .15s}
.tvsc-btn-primary{background:var(--amber);color:var(--ink)}
.tvsc-btn-primary:hover{background:#F5B052;color:var(--ink)}
.tvsc-btn-ghost{border:1.5px solid rgba(255,255,255,.28);color:#fff}
.tvsc-btn-ghost:hover{border-color:#fff;color:#fff}
.tvsc-btn-block{display:flex;width:100%}
.tvsc-buybox .tvsc-btn{display:flex;width:100%;margin-bottom:9px}

/* ---------- body ---------- */
.tvsc-body{display:grid;grid-template-columns:1fr 300px;gap:48px;padding-top:46px;padding-bottom:70px;align-items:start}
.tvsc-main h2{font-size:23px;margin-bottom:16px}
.tvsc-sched{margin-bottom:48px}
.tvsc-sched-note{font-size:14.5px;color:var(--slate);margin:0 0 20px}
.tvsc-sched-note b{color:var(--ink)}

/* schedule table */
.tvsc-table{width:100%;border-collapse:collapse;font-size:14.5px}
.tvsc-table th{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-2);text-align:left;padding:0 14px 10px;border-bottom:1.5px solid var(--rule)}
.tvsc-table td{padding:14px;border-bottom:1px solid var(--rule);vertical-align:middle}
.tvsc-table tr.is-gtr td{background:rgba(233,161,59,.05)}
.tvsc-table tbody tr:hover td{background:var(--paper)}
.tvsc-table tr.is-gtr:hover td{background:rgba(233,161,59,.1)}
.tvsc-r{text-align:right}
.tvsc-date{font-weight:700;white-space:nowrap}
.tvsc-time{font-family:var(--mono);font-size:13px;color:var(--slate);white-space:nowrap}
.tvsc-where{color:var(--slate)}
.tvsc-inperson{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-dim);margin-top:2px}
.tvsc-seat{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:16.5px;white-space:nowrap}
.tvsc-flag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;padding:4px 8px;border-radius:2px;white-space:nowrap}
.tvsc-flag-gtr{background:var(--amber);color:var(--ink)}
.tvsc-flag-open{background:transparent;color:var(--slate-2);border:1px solid var(--rule)}
.tvsc-book{font-weight:700;font-size:13.5px;color:var(--amber-dim);text-decoration:none;white-space:nowrap}
.tvsc-book:hover{text-decoration:underline}

/* empty state */
.tvsc-empty{border:1px solid var(--rule);border-left:3px solid var(--amber);border-radius:4px;padding:30px;background:var(--paper)}
.tvsc-empty h3{font-size:20px;margin-bottom:12px}
.tvsc-empty p{color:var(--slate);font-size:15px;margin:0 0 14px;max-width:60ch}
.tvsc-empty .tvsc-btn{margin-top:6px}

/* prose */
.tvsc-prose{margin-bottom:40px}
.tvsc-prose p,.tvsc-prose li{font-size:16px;color:#26324a}
.tvsc-prose ul{padding-left:20px}
.tvsc-outline h3{font-family:var(--body);font-size:15.5px;font-weight:700;margin:20px 0 4px;padding-top:14px;border-top:1px solid var(--rule)}
.tvsc-outline h3:first-of-type{border-top:0;padding-top:0}

/* sidebar */
.tvsc-side{position:sticky;top:24px;display:grid;gap:16px}
.tvsc-card{border:1px solid var(--rule);border-radius:4px;padding:22px}
.tvsc-card h3{font-size:17px;margin-bottom:9px}
.tvsc-card p{font-size:14px;color:var(--slate);margin:0 0 16px}
.tvsc-card .tvsc-btn-ghost{border-color:var(--rule);color:var(--ink)}
.tvsc-card .tvsc-btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.tvsc-card-quiet{background:var(--paper);border-color:transparent}
.tvsc-card-quiet p{margin-bottom:7px}
.tvsc-card-quiet a{color:var(--amber-dim);font-weight:600;text-decoration:none}
.tvsc-card-quiet a:hover{text-decoration:underline}

.tvsc a:focus-visible,.tvsc button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

@media (max-width:960px){
  .tvsc-head-grid{grid-template-columns:1fr;gap:28px}
  .tvsc-body{grid-template-columns:1fr;gap:34px}
  .tvsc-side{position:static}
}
@media (max-width:680px){
  .tvsc-facts{gap:16px}
  .tvsc-table thead{display:none}
  .tvsc-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 0;border-bottom:1px solid var(--rule)}
  .tvsc-table td{border:0;padding:1px 0}
  .tvsc-table tr.is-gtr td{background:none}
  .tvsc-table tr.is-gtr{background:rgba(233,161,59,.05);padding-left:10px;padding-right:10px}
  .tvsc-date{grid-column:1}
  .tvsc-seat{grid-column:2;grid-row:1;text-align:right}
  .tvsc-time,.tvsc-where{grid-column:1;font-size:13px}
  .tvsc-table td:nth-child(4){grid-column:1;padding-top:6px}
  .tvsc-table td:nth-child(6){grid-column:2;grid-row:4;text-align:right}
}

/* ============================================================
   Quote form
   ============================================================ */
.tvsq{
  --ink:#0F1626; --paper:#F4F5F7; --amber:#E9A13B; --amber-dim:#A9721F;
  --slate:#5C6779; --slate-2:#8A93A3; --rule:#DCE0E7;
  --display:'Archivo',system-ui,sans-serif;
  --body:'Public Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  font-family:var(--body);color:var(--ink);line-height:1.6;
  background:var(--paper);border-top:1px solid var(--rule);
  padding:56px 0;scroll-margin-top:20px;
}
.tvsq *{box-sizing:border-box}
.tvsq-inner{max-width:760px;margin:0 auto;padding:0 24px}
.tvsq h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:28px;letter-spacing:-.02em;margin:0 0 10px}
.tvsq-lede{color:var(--slate);font-size:16px;margin:0 0 26px;max-width:60ch}

.tvsq-for{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--amber);border-radius:4px;padding:14px 16px;margin:0 0 22px;font-size:15px}
.tvsq-for-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-2);display:block;margin-bottom:3px}
.tvsq-chosen{display:block;font-family:var(--mono);font-size:13px;color:var(--amber-dim);margin-top:5px}

.tvsq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tvsq-field{display:flex;flex-direction:column;gap:6px}
.tvsq-wide{grid-column:1 / -1}
.tvsq-field > span{font-size:13.5px;font-weight:700}
.tvsq-field > span i{font-style:normal;font-weight:400;color:var(--slate-2)}
.tvsq-field input,.tvsq-field select,.tvsq-field textarea{
  font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--rule);
  border-radius:4px;background:#fff;color:var(--ink);width:100%;
}
.tvsq-field textarea{resize:vertical;min-height:84px}
.tvsq-field input:focus,.tvsq-field select:focus,.tvsq-field textarea:focus{
  outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber);
}

.tvsq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.tvsq-actions{display:flex;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}
.tvsq-submit{font:inherit;font-weight:700;font-size:15.5px;padding:14px 30px;border:0;border-radius:4px;background:var(--amber);color:var(--ink);cursor:pointer;transition:background .15s}
.tvsq-submit:hover:not(:disabled){background:#F5B052}
.tvsq-submit:disabled{opacity:.55;cursor:default}
.tvsq-status{font-size:14px}
.tvsq-status.is-error{color:#B3261E;font-weight:600}
.tvsq-status.is-busy{color:var(--slate)}
.tvsq-fine{font-size:12.5px;color:var(--slate-2);margin:16px 0 0}
.tvsq-done{font-size:17px;font-weight:600;padding:22px;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--amber);border-radius:4px;margin:0}

@media (max-width:640px){
  .tvsq-grid{grid-template-columns:1fr}
  .tvsq-submit{width:100%}
}

/* ============================================================
   Catalog archive
   ============================================================ */
.tvsa-head{background:var(--ink);color:#fff;padding:26px 0 34px}
.tvsa h1{font-size:clamp(26px,3.4vw,38px);color:#fff}
.tvsa-count{color:#AEB6C4;font-size:15px;margin:12px 0 0}
.tvsa-count b{font-family:var(--display);font-variation-settings:'wdth' 118;font-weight:800;font-size:20px;color:#fff;margin-right:4px}
.tvsa-termdesc{display:block;margin-top:8px;max-width:62ch;color:var(--slate-2);font-size:14.5px}

.tvsa-body{display:grid;grid-template-columns:1fr 250px;gap:44px;padding-top:32px;padding-bottom:70px;align-items:start}

.tvsa-filters{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;padding:0 0 20px;margin:0 0 24px;border-bottom:1px solid var(--rule)}
.tvsa-f{display:flex;flex-direction:column;gap:5px}
.tvsa-f > span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-2)}
.tvsa-f select{font:inherit;font-size:14.5px;padding:8px 11px;border:1px solid var(--rule);border-radius:4px;background:#fff}
.tvsa-check{display:flex;align-items:center;gap:8px;font-size:14.5px;padding-bottom:8px;cursor:pointer}
.tvsa-clear{margin-left:auto;font-size:14px;font-weight:700;color:var(--amber-dim);text-decoration:none;padding-bottom:8px}
.tvsa-clear:hover{text-decoration:underline}

.tvsa-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tvsa-card{border:1px solid var(--rule);border-radius:4px;transition:border-color .15s,transform .15s,box-shadow .15s}
.tvsa-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 26px -18px rgba(15,22,38,.4)}
.tvsa-card.is-private{background:#FAFAFB;border-style:dashed}
.tvsa-card-link{display:flex;flex-direction:column;height:100%;padding:20px;text-decoration:none;color:inherit}
.tvsa-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.tvsa-code{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--amber-dim)}
.tvsa-brand{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);text-align:right}
.tvsa-title{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:17px;line-height:1.24;letter-spacing:-.015em;margin:0 0 8px}
.tvsa-excerpt{font-size:14px;color:var(--slate);margin:0 0 14px;flex:1}
.tvsa-avail{margin-bottom:14px}
.tvsa-badge{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.09em;padding:4px 8px;border-radius:2px;margin-bottom:6px}
.tvsa-badge-gtr{background:var(--amber);color:var(--ink)}
.tvsa-badge-private{background:transparent;border:1px solid var(--slate-2);color:var(--slate)}
.tvsa-availnote{display:block;font-size:12.5px;color:var(--slate)}
.tvsa-card-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:13px;border-top:1px solid var(--rule)}
.tvsa-days{font-family:var(--mono);font-size:12.5px;color:var(--slate)}
.tvsa-price{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:17px}

.tvsa-pager{margin-top:30px}
.tvsa-pager ul{list-style:none;display:flex;gap:6px;flex-wrap:wrap;padding:0;margin:0}
.tvsa-pager a,.tvsa-pager span{display:inline-block;padding:9px 14px;border:1px solid var(--rule);border-radius:4px;font-size:14px;text-decoration:none;color:var(--ink)}
.tvsa-pager a:hover{border-color:var(--ink)}
.tvsa-pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}

.tvsa-side{position:sticky;top:24px;display:grid;gap:26px}
.tvsa-terms h3{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:15px;margin:0 0 12px;padding-bottom:9px;border-bottom:1.5px solid var(--rule)}
.tvsa-terms ul{list-style:none;margin:0;padding:0;font-size:14px}
.tvsa-terms li{padding:5px 0}
.tvsa-terms a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:var(--ink)}
.tvsa-terms a:hover{color:var(--amber-dim)}
.tvsa-terms a span{font-family:var(--mono);font-size:11.5px;color:var(--slate-2)}

@media (max-width:900px){
  .tvsa-body{grid-template-columns:1fr;gap:32px}
  .tvsa-side{position:static;grid-template-columns:1fr 1fr;display:grid}
}
@media (max-width:620px){
  .tvsa-grid{grid-template-columns:1fr}
  .tvsa-side{grid-template-columns:1fr}
  .tvsa-filters{gap:12px}
}

/* ============================================================
   Homepage + board + schedule
   ============================================================ */
.tvsh-hero{background:var(--ink);color:#fff;padding:56px 0 0;position:relative;overflow:hidden}
.tvsh-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 64px);pointer-events:none}
.tvsh-hero .tvsc-wrap{position:relative}
.tvsh-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:end;padding-bottom:38px}
.tvsh-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 14px}
.tvsh h1{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:clamp(36px,5vw,58px);line-height:1.06;letter-spacing:-.025em;color:#fff;margin:0}
.tvsh h1 em{font-style:normal;color:var(--amber)}
.tvsh-sub{color:#B5BDCB;font-size:17px;max-width:50ch;margin:20px 0 0}

.tvsh-search{background:#fff;border-radius:4px;padding:6px;display:flex;gap:6px;margin-top:26px;max-width:560px}
.tvsh-search input{flex:1;border:0;outline:0;padding:13px 14px;font:inherit;font-size:15.5px;color:var(--ink);min-width:0}
.tvsh-search button{font:inherit;font-weight:700;font-size:14.5px;padding:12px 24px;border:0;border-radius:4px;background:var(--amber);color:var(--ink);cursor:pointer}
.tvsh-search button:hover{background:#F5B052}
.tvsh-chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.tvsh-chips a{font-family:var(--mono);font-size:12px;padding:5px 11px;border:1px solid rgba(255,255,255,.2);border-radius:100px;color:#C9D0DB;text-decoration:none}
.tvsh-chips a:hover{border-color:var(--amber);color:var(--amber)}

.tvsh-stats{display:grid;gap:20px}
.tvsh-stat{border-left:2px solid var(--amber);padding-left:15px}
.tvsh-stat b{font-family:var(--display);font-variation-settings:'wdth' 118;font-weight:800;font-size:33px;display:block;line-height:1;color:#fff}
.tvsh-stat span{color:#9AA3B3;font-size:13.5px}

/* board */
.tvsb{background:var(--ink-2,#1A2438);border:1px solid rgba(255,255,255,.09);border-radius:6px 6px 0 0;border-bottom:0;overflow:hidden;font-family:var(--body)}
.tvsb-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 19px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.22);flex-wrap:wrap}
.tvsb-t{font-family:var(--display);font-variation-settings:'wdth' 108;font-weight:800;font-size:14.5px;text-transform:uppercase;color:#fff}
.tvsb-live{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--slate-2);letter-spacing:.06em}
.tvsb-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:tvsbpulse 2.4s infinite}
@keyframes tvsbpulse{0%{box-shadow:0 0 0 0 rgba(233,161,59,.6)}70%{box-shadow:0 0 0 7px rgba(233,161,59,0)}100%{box-shadow:0 0 0 0 rgba(233,161,59,0)}}
.tvsb-table{width:100%;border-collapse:collapse;font-size:14px}
.tvsb-table th{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--slate-2);text-align:left;padding:10px 19px;border-bottom:1px solid rgba(255,255,255,.09)}
.tvsb-table td{padding:13px 19px;border-bottom:1px solid rgba(255,255,255,.055);color:#DBE0E8}
.tvsb-table tr:last-child td{border-bottom:0}
.tvsb-table tbody tr:hover{background:rgba(255,255,255,.035)}
.tvsb-date{font-family:var(--mono);color:#fff;white-space:nowrap;font-weight:500}
.tvsb-title a{color:#fff;font-weight:600;text-decoration:none}
.tvsb-title a:hover{color:var(--amber)}
.tvsb-code{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--amber);margin-right:8px}
.tvsb-mode{color:#9AA3B3;font-size:13px;white-space:nowrap}
.tvsb-flag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;padding:4px 8px;border-radius:2px;white-space:nowrap}
.tvsb-flag-gtr{background:var(--amber);color:var(--ink)}
.tvsb-flag-open{background:transparent;color:var(--slate-2);border:1px solid rgba(255,255,255,.18)}
.tvsb-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 19px;background:rgba(0,0,0,.22);flex-wrap:wrap;font-size:13.5px;color:#9AA3B3}
.tvsb-foot a{color:var(--amber);font-weight:700;text-decoration:none}
.tvsb-foot a:hover{text-decoration:underline}

/* home sections */
.tvsh-sec{padding:66px 0}
.tvsh-alt{background:var(--paper)}
.tvsh-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dim);margin:0 0 12px}
.tvsh-kicker-onink{color:var(--amber)}
.tvsh-sec h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:clamp(26px,3.3vw,38px);letter-spacing:-.02em;line-height:1.1;margin:0;max-width:22ch}
.tvsh-lede{color:var(--slate);font-size:16.5px;max-width:62ch;margin:14px 0 34px}
.tvsh-facets{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:start}
.tvsh-facet h3{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:16px;margin:0 0 14px;padding-bottom:9px;border-bottom:1.5px solid var(--rule)}
.tvsh-facet ul{list-style:none;margin:0;padding:0;font-size:14.5px}
.tvsh-facet li{padding:6px 0}
.tvsh-facet li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:var(--ink)}
.tvsh-facet li a:hover{color:var(--amber-dim)}
.tvsh-facet li span{font-family:var(--mono);font-size:11.5px;color:var(--slate-2)}
.tvsh-more{display:inline-block;margin-top:16px;font-weight:700;font-size:14px;color:var(--amber-dim);text-decoration:none}
.tvsh-more:hover{text-decoration:underline}
.tvsh-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.tvsh-brands a{background:#fff;padding:16px 10px;text-align:center;font-family:var(--display);font-variation-settings:'wdth' 100;font-weight:700;font-size:14px;color:var(--slate);text-decoration:none}
.tvsh-brands a:hover{color:var(--ink);background:var(--paper)}

.tvsh-twoup{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tvsh-panel{padding:36px;border-radius:4px}
.tvsh-panel h3{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:24px;letter-spacing:-.02em;margin:0 0 16px}
.tvsh-panel ul{list-style:none;margin:0 0 24px;padding:0;font-size:15.5px}
.tvsh-panel li{padding:8px 0 8px 24px;position:relative;border-bottom:1px solid rgba(0,0,0,.07)}
.tvsh-panel li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:9px;border:2px solid var(--amber);border-right:0;border-bottom:0;transform:rotate(45deg)}
.tvsh-panel-dark{background:var(--ink);color:#fff}
.tvsh-panel-dark h3{color:#fff}
.tvsh-panel-dark li{border-bottom-color:rgba(255,255,255,.1);color:#C9D0DB}
.tvsh-panel-dark .tvsc-btn-ghost{border-color:rgba(255,255,255,.28);color:#fff}
.tvsh-panel-light{background:var(--paper);border:1px solid var(--rule)}
.tvsh-panel-light .tvsc-btn-ghost{border-color:var(--rule);color:var(--ink)}

/* schedule page */
.tvss{padding:8px 0 40px}
.tvss-filters{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--rule)}
.tvss-count{font-size:15px;color:var(--slate);margin:0 0 18px}
.tvss-count b{color:var(--ink);font-family:var(--display);font-variation-settings:'wdth' 116;font-weight:800;font-size:19px}
.tvss-month td{background:var(--ink)!important;color:#fff;font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:9px 14px!important}
.tvss-time{display:block;font-family:var(--mono);font-size:12px;color:var(--slate-2)}

@media (max-width:960px){
  .tvsh-hero-grid{grid-template-columns:1fr;gap:32px;align-items:start}
  .tvsh-stats{grid-template-columns:repeat(3,1fr)}
  .tvsh-facets{grid-template-columns:1fr;gap:32px}
  .tvsh-twoup{grid-template-columns:1fr}
}
@media (max-width:680px){
  .tvsh-stats{grid-template-columns:1fr}
  .tvsb-hide-sm{display:none}
  .tvsb-table td,.tvsb-table th{padding:11px 13px}
  .tvsh-search{flex-direction:column}
  .tvsh-search button{width:100%}
}

/* ============================================================
   Job role paths
   ============================================================ */
.tvsr-head{background:var(--ink);color:#fff;padding:26px 0 34px}
.tvsr h1{font-size:clamp(26px,3.4vw,38px);color:#fff}
.tvsr-totals{color:#AEB6C4;font-size:15px;margin:14px 0 0}
.tvsr-totals b{font-family:var(--display);font-variation-settings:'wdth' 116;font-weight:800;font-size:19px;color:#fff}
.tvsr-body{display:grid;grid-template-columns:1fr 250px;gap:44px;padding-top:34px;padding-bottom:60px;align-items:start}
.tvsr-intro{max-width:66ch;margin-bottom:38px}
.tvsr-intro p{font-size:16.5px;color:#26324a;margin:0 0 14px}
.tvsr-h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:21px;margin:0 0 20px;padding-bottom:10px;border-bottom:1.5px solid var(--rule)}
.tvsr-path{list-style:none;margin:0;padding:0;counter-reset:none}
.tvsr-step{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--rule)}
.tvsr-step:last-child{border-bottom:0}
.tvsr-num{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;font-weight:600}
.tvsr-step h3{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:18px;line-height:1.25;margin:4px 0 8px}
.tvsr-step h3 a{text-decoration:none;color:var(--ink)}
.tvsr-step h3 a:hover{color:var(--amber-dim)}
.tvsr-step-excerpt{font-size:14.5px;color:var(--slate);margin:0 0 10px;max-width:62ch}
.tvsr-step-meta{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--slate-2);margin:0}
.tvsr-gtr{color:var(--amber-dim);font-weight:600}
.tvsr-cta{margin-top:34px;padding:26px;background:var(--paper);border-left:3px solid var(--amber);border-radius:4px}
.tvsr-cta p{margin:0 0 16px;font-size:15.5px;color:var(--slate);max-width:60ch}
@media (max-width:900px){.tvsr-body{grid-template-columns:1fr;gap:30px}}
@media (max-width:620px){.tvsr-step{grid-template-columns:32px 1fr;gap:12px}.tvsr-num{width:28px;height:28px;font-size:12px}}

/* booking cutoff */
.tvsc-book-call{color:var(--slate)!important;font-weight:600}
.tvsc-book-call:hover{color:var(--ink)!important}
.tvss-callnote{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--slate-2);font-weight:400;margin-top:2px}

/* reservations */
.tvsc-reserve{font:inherit;font-weight:700;font-size:13.5px;color:var(--ink);background:var(--amber);border:0;border-radius:3px;padding:6px 13px;cursor:pointer;white-space:nowrap}
.tvsc-reserve:hover:not(:disabled){background:#F5B052}
.tvsc-reserve:disabled{opacity:.55;cursor:default}
.tvsc-reserve-note{padding:22px 24px 0}
.tvsc-reserve-note p{max-width:70ch;font-size:14.5px;color:var(--slate);margin:0}
.tvsc-reserved-ok{margin:24px 0 0;padding:24px;background:#F2FAF4;border:1px solid #BFE3C9;border-left:3px solid #2E7D46;border-radius:4px}
.tvsc-reserved-ok h2{font-family:var(--display);font-weight:800;font-size:21px;margin:0 0 8px}
.tvsc-reserved-ok p{margin:0;font-size:15px;color:#26324a;max-width:66ch}

/* attendee modal */
.tvsm{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;
  --ink:#0F1626;--paper:#F4F5F7;--amber:#E9A13B;--slate:#5C6779;--slate-2:#8A93A3;--rule:#DCE0E7;
  --display:'Archivo',system-ui,sans-serif;--body:'Public Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;
  font-family:var(--body)}
.tvsm[hidden]{display:none}
.tvsm-backdrop{position:absolute;inset:0;background:rgba(15,22,38,.62)}
.tvsm-box{position:relative;background:#fff;border-radius:6px;max-width:620px;width:100%;max-height:88vh;overflow-y:auto;padding:30px;box-shadow:0 30px 70px -20px rgba(15,22,38,.5)}
.tvsm-x{position:absolute;top:12px;right:14px;font-size:26px;line-height:1;background:none;border:0;color:var(--slate-2);cursor:pointer;padding:4px 8px}
.tvsm-x:hover{color:var(--ink)}
.tvsm-box h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:23px;letter-spacing:-.02em;margin:0 0 6px}
.tvsm-class{font-family:var(--mono);font-size:13px;color:var(--slate);margin:0 0 22px}
.tvsm-seats{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.tvsm-seats > span{font-size:13.5px;font-weight:700;margin-right:4px}
.tvsm-minus,.tvsm-plus{width:32px;height:32px;padding:0;border:1px solid var(--rule);background:#fff;border-radius:4px;font-family:var(--body);font-size:17px;font-weight:700;line-height:1;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;text-shadow:none;box-shadow:none}
.tvsm-minus:hover,.tvsm-plus:hover{border-color:var(--ink)}
.tvsm-count{font-family:var(--display);font-variation-settings:'wdth' 116;font-weight:800;font-size:20px;min-width:28px;text-align:center}
.tvsm-row{display:grid;grid-template-columns:26px 1fr 1fr;gap:12px;align-items:end;margin-bottom:14px}
.tvsm-num{font-family:var(--mono);font-size:12px;color:var(--slate-2);padding-bottom:11px}
.tvsm-row label{display:flex;flex-direction:column;gap:5px}
.tvsm-row label span{font-size:12.5px;font-weight:700}
.tvsm-row input{font:inherit;font-size:14.5px;padding:9px 11px;border:1px solid var(--rule);border-radius:4px;width:100%}
.tvsm-row input:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.tvsm-err{color:#B3261E;font-size:13.5px;font-weight:600;margin:10px 0 0;min-height:1em}
.tvsm-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--rule)}
.tvsm-go{font:inherit;font-weight:700;font-size:15px;padding:13px 26px;border:0;border-radius:4px;background:var(--amber);color:var(--ink);cursor:pointer}
.tvsm-go:hover:not(:disabled){background:#F5B052}
.tvsm-go:disabled{opacity:.55;cursor:default}
.tvsm-note{font-size:12.5px;color:var(--slate-2)}
@media (max-width:560px){
  .tvsm-box{padding:22px}
  .tvsm-row{grid-template-columns:1fr;gap:8px}
  .tvsm-num{padding:0}
  .tvsm-go{width:100%}
}

/* cart bar on course pages */
.tvsc-cartbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 0;padding:16px 20px;background:#F2FAF4;border:1px solid #BFE3C9;border-left:3px solid #2E7D46;border-radius:4px;font-size:15px;font-weight:600}
.tvsn-cartlink{position:relative}
.tvsn-cart-n{display:inline-block;min-width:19px;height:19px;line-height:19px;text-align:center;background:var(--amber);color:var(--ink);border-radius:10px;font-family:var(--mono);font-size:11px;font-weight:600;margin-left:5px;padding:0 5px}

/* cart page */
.tvsk{max-width:900px;margin:0 auto;padding:34px 24px 70px;font-family:var(--body)}
.tvsk h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:21px;letter-spacing:-.02em;margin:0 0 16px}
.tvsk section{margin-bottom:38px}
.tvsk-empty{text-align:center;padding:60px 20px}
.tvsk-notice{background:#FFF7E6;border:1px solid #F0D9A8;border-left:3px solid var(--amber);border-radius:4px;padding:14px 16px;margin-bottom:24px;font-size:14.5px}
.tvsk-item{display:grid;grid-template-columns:1fr auto auto 28px;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule)}
.tvsk-item-main a{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:16.5px;color:var(--ink);text-decoration:none;display:block}
.tvsk-item-main a:hover{color:var(--amber-dim)}
.tvsk-when{display:block;font-family:var(--mono);font-size:12.5px;color:var(--slate);margin-top:3px}
.tvsk-qty{display:flex;align-items:center;gap:8px}
/* Themes routinely set a light color on <button>. Everything visual here is
   stated explicitly so the glyphs cannot end up white on white. */
.tvsk-qty button{width:30px;height:30px;flex:0 0 30px;padding:0;margin:0;
  border:1px solid var(--rule);background:#fff;color:var(--ink);
  border-radius:4px;cursor:pointer;font-family:var(--body);font-size:17px;
  font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;
  text-shadow:none;box-shadow:none}
.tvsk-qty button:hover{border-color:var(--ink);background:var(--paper);color:var(--ink)}
.tvsk-qty button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.tvsk-qty output{font-family:var(--mono);font-weight:600;min-width:20px;text-align:center}
.tvsk-line{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:17px;white-space:nowrap}
.tvsk-rm{background:none;border:0;padding:0;font-family:var(--body);font-size:22px;font-weight:400;color:var(--slate-2);cursor:pointer;line-height:1;text-shadow:none;box-shadow:none}
.tvsk-rm:hover{color:#B3261E}
.tvsk-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tvsk-grid label{display:flex;flex-direction:column;gap:5px}
.tvsk-grid label span{font-size:13px;font-weight:700}
.tvsk-grid label span i{font-style:normal;font-weight:400;color:var(--slate-2)}
.tvsk-grid input{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--rule);border-radius:4px}
.tvsk-grid input:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.tvsk-wide{grid-column:1 / -1}
.tvsk-radios{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:22px;font-size:15px}
.tvsk-radios label{display:flex;align-items:center;gap:7px;cursor:pointer}
.tvsk-att{border:1px solid var(--rule);border-radius:4px;padding:18px;margin-bottom:16px}
.tvsk-att h3{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:15.5px;margin:0 0 14px}
.tvsk-att h3 span{display:block;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--slate);margin-top:3px}
.tvsk-total{border-top:2px solid var(--ink);padding-top:22px}
.tvsk-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.tvsk-sum span{font-size:16px;font-weight:700}
.tvsk-amount{font-family:var(--display);font-variation-settings:'wdth' 116;font-weight:800;font-size:30px}
.tvsk-err{color:#B3261E;font-size:14px;font-weight:600;margin:0 0 12px;min-height:1em}
.tvsk-go{font:inherit;font-weight:700;font-size:16px;padding:15px 34px;border:0;border-radius:4px;background:var(--amber);color:var(--ink);cursor:pointer}
.tvsk-go:hover:not(:disabled){background:#F5B052}
.tvsk-go:disabled{opacity:.55;cursor:default}
.tvsk-note{font-size:13px;color:var(--slate);margin:14px 0 0;max-width:66ch}
@media (max-width:640px){
  .tvsk-item{grid-template-columns:1fr auto;gap:10px}
  .tvsk-grid{grid-template-columns:1fr}
  .tvsk-go{width:100%}
}

/* buybox reserve */
.tvsc-buybox .tvsc-reserve{display:flex;width:100%;margin-bottom:9px;padding:12px 22px;font-size:14.5px;border-radius:4px;justify-content:center;align-items:center;border:0}
.tvsc-pickdate{display:block;text-align:center;font-size:13px;color:var(--slate-2);text-decoration:none;margin:0 0 12px}
.tvsc-pickdate:hover{color:var(--amber);text-decoration:underline}
.tvsc-fineprint a{color:var(--amber);text-decoration:none}
.tvsc-fineprint a:hover{text-decoration:underline}

/* payment method */
.tvsk-methods{display:grid;gap:12px;margin-bottom:18px}
.tvsk-method{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--rule);border-radius:4px;cursor:pointer}
.tvsk-method:has(input:checked){border-color:var(--amber);background:#FFFBF3}
.tvsk-method input{margin-top:3px}
.tvsk-method span{font-size:14px;color:var(--slate)}
.tvsk-method b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:2px}
.tvsk-terms{font-size:13px;color:var(--slate);margin:14px 0 0;max-width:66ch}

/* how-this-works band */
.tvsh-model{background:var(--ink);color:#fff}
.tvsh-model h2{color:#fff;max-width:20ch}
.tvsh-model .tvsh-kicker{color:var(--amber)}
.tvsh-model .tvsh-lede{color:#B5BDCB;max-width:58ch}
.tvsh-model-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
.tvsh-model-list{list-style:none;margin:0;padding:0}
.tvsh-model-list li{padding:15px 0 15px 26px;position:relative;border-bottom:1px solid rgba(255,255,255,.1);font-size:15px;color:#C9D0DB}
.tvsh-model-list li:last-child{border-bottom:0}
.tvsh-model-list li::before{content:"";position:absolute;left:0;top:23px;width:9px;height:9px;border:2px solid var(--amber);border-right:0;border-bottom:0;transform:rotate(45deg)}
.tvsh-model-list b{color:#fff}
@media (max-width:900px){.tvsh-model-grid{grid-template-columns:1fr;gap:30px}}
.tvsh-more{display:inline-block;margin-top:8px;font-weight:700;font-size:15px;color:var(--amber);text-decoration:none}
.tvsh-more:hover{text-decoration:underline}

/* contract vehicles */
.tvsv{max-width:820px;margin:0 auto;padding:30px 24px 60px;font-family:var(--body)}
.tvsv h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:21px;letter-spacing:-.02em;margin:34px 0 12px}
.tvsv p{font-size:16px;color:#26324a;margin:0 0 14px;max-width:68ch}
.tvsv-entity{background:var(--paper);border-left:3px solid var(--amber);border-radius:4px;padding:16px 18px;font-size:15px!important}
.tvsv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}
.tvsv-card{border:1px solid var(--rule);border-radius:4px;padding:22px}
.tvsv-label{font-family:var(--mono);font-size:10.5px!important;letter-spacing:.11em;text-transform:uppercase;color:var(--slate-2);margin:0 0 8px!important}
.tvsv-num{font-family:var(--mono);font-weight:600;font-size:20px!important;color:var(--ink);margin:0 0 10px!important;word-break:break-all}
.tvsv-note{font-size:14px!important;color:var(--slate);margin:0!important}
.tvsv-reg{list-style:none;display:flex;gap:30px;flex-wrap:wrap;margin:0 0 10px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tvsv-reg li{font-family:var(--mono);font-size:13.5px}
.tvsv-reg span{display:block;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--slate-2);margin-bottom:3px}
.tvsv-cta{margin-top:30px!important}
@media (max-width:640px){.tvsv-grid{grid-template-columns:1fr}}

/* in-house badge */
.tvs-inhouse{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:var(--ink);color:#fff;margin-bottom:8px}
.tvs-inhouse-onink{background:var(--amber);color:var(--ink);margin-bottom:0}
/* The card is a flex column, and a flex child stretches to the full cross
   axis whatever its own display value says. align-self is what actually
   shrinks the badge back to its content. */
.tvsa-card .tvs-inhouse,
.tvsa-card .tvs-partner{align-self:flex-start;width:auto;margin:0 0 8px}

/* runs-with-minimum status */
.tvsc-flag-min{background:transparent;color:var(--amber-dim);border:1px solid var(--amber)}
.tvsb-flag-min{background:transparent;color:var(--amber);border:1px solid rgba(233,161,59,.5)}
.tvsc-nextnote{display:block;font-family:var(--body);font-size:12px;color:var(--slate-2);margin-top:4px;font-weight:400}

/* policies page + checkout terms */
.tvsp{max-width:760px;margin:0 auto;padding:30px 24px 60px;font-family:var(--body)}
.tvsp h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:20px;letter-spacing:-.02em;margin:32px 0 10px;padding-top:22px;border-top:1px solid var(--rule)}
.tvsp h2:first-of-type{border-top:0;padding-top:0;margin-top:22px}
.tvsp p,.tvsp li{font-size:15.5px;color:#26324a}
.tvsp ul{padding-left:20px;margin:0 0 14px}
.tvsp li{padding:3px 0}
.tvsp-intro{background:var(--paper);border-left:3px solid var(--amber);border-radius:4px;padding:16px 18px;font-size:14.5px!important}
.tvsk-agree{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;font-size:13.5px;color:var(--slate);line-height:1.5;cursor:pointer}
.tvsk-agree input{margin-top:3px;flex-shrink:0}
.tvsk-agree a{color:var(--amber-dim);font-weight:600}

/* student portal */
.tvspo{max-width:720px;margin:0 auto;padding:30px 24px 60px;font-family:var(--body)}
.tvspo h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:24px;letter-spacing:-.02em;margin:0 0 8px}
.tvspo h3{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:16px;margin:32px 0 12px;padding-bottom:8px;border-bottom:1.5px solid var(--rule)}
.tvspo-lede{color:var(--slate);font-size:15.5px;margin:0 0 22px;max-width:60ch}
.tvspo-warn{background:#FFF7E6;border:1px solid #F0D9A8;border-left:3px solid var(--amber);border-radius:4px;padding:14px 16px;margin:0 0 22px;font-size:14.5px}
.tvspo-form{display:flex;gap:8px;flex-wrap:wrap;max-width:520px}
.tvspo-form input[type=email]{flex:1;min-width:220px;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--rule);border-radius:4px}
.tvspo-form input[type=email]:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.tvspo-form button{font:inherit;font-weight:700;font-size:15px;padding:12px 24px;border:0;border-radius:4px;background:var(--amber);color:var(--ink);cursor:pointer}
.tvspo-form button:hover:not(:disabled){background:#F5B052}
.tvspo-form button:disabled{opacity:.55;cursor:default}
.tvspo-msg{font-size:14px;color:var(--slate);margin:14px 0 0;min-height:1em}
.tvspo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.tvspo-who{font-family:var(--mono);font-size:13px;color:var(--slate-2);margin:0}
.tvspo-out{font-size:13.5px;font-weight:600;color:var(--amber-dim);text-decoration:none}
.tvspo-out:hover{text-decoration:underline}
.tvspo-list{list-style:none;margin:0;padding:0}
.tvspo-list li{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--rule)}
.tvspo-title{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:15.5px}
.tvspo-when{grid-column:1;font-family:var(--mono);font-size:12.5px;color:var(--slate)}
.tvspo-state{grid-column:2;grid-row:1;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:2px;white-space:nowrap;align-self:start}
.tvspo-enrolled{background:var(--amber);color:var(--ink)}
.tvspo-pending{background:transparent;color:var(--slate-2);border:1px solid var(--rule)}
.tvspo-past .tvspo-title{font-weight:700;color:var(--slate)}
.tvspo-none{color:var(--slate);font-size:15px}
.tvspo-note{font-size:13px;color:var(--slate-2);margin-top:16px;max-width:64ch}
.tvspo-note a,.tvspo-none a{color:var(--amber-dim)}

/* contact page */
.tvsct-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.tvsct-hero{background:var(--ink);color:#fff;padding:54px 0 64px}
.tvsct-split{display:grid;grid-template-columns:1fr 480px;gap:56px;align-items:start}
.tvsct-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 14px}
.tvsct-kicker-dark{color:var(--amber-dim)}
.tvsct h1{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:clamp(28px,3.6vw,40px);letter-spacing:-.025em;line-height:1.1;color:#fff;margin:0 0 20px;max-width:18ch}
.tvsct-pitch p{color:#B5BDCB;font-size:16px;max-width:52ch;margin:0 0 14px}
.tvsct-phone{display:inline-block;font-family:var(--display);font-variation-settings:'wdth' 116;font-weight:800;font-size:32px;color:#fff;text-decoration:none;margin-top:20px;letter-spacing:-.02em}
.tvsct-phone:hover{color:var(--amber)}
.tvsct-hours{color:var(--slate-2)!important;font-size:13.5px!important;margin-top:6px!important}

.tvsct-card{background:#fff;color:var(--ink);border-radius:6px;padding:32px;box-shadow:0 24px 60px -24px rgba(0,0,0,.5)}
.tvsct-card h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:22px;letter-spacing:-.02em;margin:0 0 6px}
.tvsct-lede{font-size:13.5px;color:var(--slate);margin:0 0 22px}
.tvsct-card .tvsq-grid{grid-template-columns:1fr 1fr}
.tvsct-card .tvsq-actions{margin-top:18px;padding-top:0;border-top:0}

.tvsct-offices{padding:56px 0 64px;background:var(--paper)}
.tvsct-h2{font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;font-size:26px;letter-spacing:-.02em;margin:0 0 26px}
.tvsct-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tvsct-office{background:#fff;border:1px solid var(--rule);border-radius:5px;padding:26px}
.tvsct-office-remit{border-left:3px solid var(--amber)}
.tvsct-office h3{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--slate-2);margin:0 0 12px}
.tvsct-org{font-family:var(--display);font-variation-settings:'wdth' 110;font-weight:800;font-size:17px;margin:0 0 6px}
.tvsct-addr{font-size:15px;color:#26324a;margin:0 0 18px;line-height:1.5}
.tvsct-meta{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--rule);font-size:14px}
.tvsct-meta li{display:flex;gap:12px;padding:4px 0}
.tvsct-meta span{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--slate-2);min-width:48px;padding-top:3px}
.tvsct-meta a{color:var(--amber-dim);text-decoration:none}
.tvsct-meta a:hover{text-decoration:underline}
.tvsct-note{font-size:13.5px;color:var(--slate);margin:16px 0 0;padding-top:16px;border-top:1px solid var(--rule);line-height:1.55}
.tvsct-gov{margin:26px 0 0;font-size:15px;color:var(--slate)}
.tvsct-gov a{color:var(--amber-dim);font-weight:600}

@media (max-width:980px){
  .tvsct-split{grid-template-columns:1fr;gap:34px}
  .tvsct-cards{grid-template-columns:1fr}
}
@media (max-width:560px){
  .tvsct-card{padding:22px}
  .tvsct-card .tvsq-grid{grid-template-columns:1fr}
}

/* brand wall: logos where licensed, names where not */
.tvsh-brands a.has-logo{display:flex;align-items:center;justify-content:center;padding:14px 16px;min-height:72px}
.tvsh-brands a.has-logo img{max-height:34px;max-width:120px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(100%);opacity:.62;transition:filter .18s,opacity .18s}
.tvsh-brands a.has-logo:hover img{filter:grayscale(0);opacity:1}
.tvsc-outline-link{margin:0 0 34px}
.tvsc-outline-link a{font-weight:700;font-size:14.5px;color:var(--amber-dim);text-decoration:none}
.tvsc-outline-link a:hover{text-decoration:underline}
.tvs-partner{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:transparent;border:1px solid var(--rule);color:var(--slate);margin-bottom:8px}
.tvs-partner.tvs-inhouse-onink{background:transparent;border-color:rgba(255,255,255,.3);color:#C9D0DB;margin-bottom:0}
