/* Tower Aim hero video card + custom player (mock, branch toweraim-hero-video).
   Scoped to .tt-hero-inner--video / .ta-player so nothing else on the page changes.
   Colours reuse tower-aim-next tokens: ink #071219, panel #0d202a, cyan #36dce5, white #edf5f4. */
/* Desktop grid stays as tower-aim-next (1.28fr / .92fr) so the H1 keeps its single line. */
.tt-hero-video { min-width:0; display:flex; align-items:center; padding:0 0 35px 8px; }

.ta-player { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:18px;
  background:#071219; border:1px solid rgba(160,196,202,.17);
  box-shadow:0 28px 60px -18px rgba(0,0,0,.65), 0 0 0 1px rgba(54,220,229,.04) inset;
  isolation:isolate; color:#edf5f4; font:600 13px Inter,system-ui,sans-serif; -webkit-tap-highlight-color:transparent; }
.ta-player:focus-within { box-shadow:0 28px 60px -18px rgba(0,0,0,.65), 0 0 0 2px rgba(54,220,229,.35); }
.ta-player-media, .ta-player-poster, .ta-player-poster img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.ta-player-media { background:#071219; z-index:0; }
.ta-player-poster { z-index:1; transition:opacity .35s ease; pointer-events:none; }
.ta-player.is-started .ta-player-poster { opacity:0; }
.ta-player.is-unavailable .ta-player-poster { opacity:1; }

/* Big centred play button */
.ta-player-big { position:absolute; z-index:3; left:50%; top:50%; width:76px; height:76px; margin:-38px 0 0 -38px;
  display:grid; place-items:center; padding:0; border:1px solid rgba(237,245,244,.22); border-radius:50%; cursor:pointer;
  color:#06171c; background:#36dce5; box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 10px rgba(54,220,229,.14);
  transition:transform .18s ease, background .18s ease, opacity .25s ease; }
.ta-player-big:hover { background:#70eaf0; transform:scale(1.05); }
.ta-player-big:focus-visible { outline:3px solid #edf5f4; outline-offset:4px; }
.ta-player-big svg { width:30px; height:30px; margin-left:4px; }
.ta-player.is-playing .ta-player-big, .ta-player.is-started.is-paused .ta-player-big { opacity:0; pointer-events:none; }
.ta-player.is-started.is-paused .ta-player-big { opacity:1; pointer-events:auto; }
.ta-player.is-unavailable .ta-player-big { opacity:.45; pointer-events:none; }

/* Bottom control bar */
.ta-player-bar { position:absolute; z-index:4; left:0; right:0; bottom:0; display:flex; align-items:center; gap:6px;
  padding:28px 12px 10px; background:linear-gradient(to top, rgba(4,10,14,.88), rgba(4,10,14,0));
  opacity:0; transform:translateY(6px); pointer-events:none; transition:opacity .25s ease, transform .25s ease; }
.ta-player.is-started .ta-player-bar, .ta-player.controls-visible .ta-player-bar { opacity:1; transform:none; pointer-events:auto; }
.ta-player.is-playing:not(.controls-visible) .ta-player-bar { opacity:0; transform:translateY(6px); pointer-events:none; }
.ta-player.is-playing:not(.controls-visible) { cursor:none; }
.ta-player.is-unavailable .ta-player-bar { display:none; }

.ta-player-btn { flex:0 0 auto; width:36px; height:36px; display:grid; place-items:center; padding:0; border:0; border-radius:9px;
  background:transparent; color:#edf5f4; cursor:pointer; transition:background .15s ease, color .15s ease; }
.ta-player-btn:hover { background:rgba(237,245,244,.1); color:#36dce5; }
.ta-player-btn:focus-visible { outline:2px solid #36dce5; outline-offset:1px; }
.ta-player-btn svg { width:20px; height:20px; }
.ta-player-btn .ta-ico-alt { display:none; }
.ta-player.is-playing [data-act="play"] .ta-ico-main,
.ta-player.is-muted [data-act="mute"] .ta-ico-main,
.ta-player.is-fullscreen [data-act="fs"] .ta-ico-main { display:none; }
.ta-player.is-playing [data-act="play"] .ta-ico-alt,
.ta-player.is-muted [data-act="mute"] .ta-ico-alt,
.ta-player.is-fullscreen [data-act="fs"] .ta-ico-alt { display:block; }

.ta-player-time { flex:0 0 auto; min-width:76px; font:500 12px "DM Mono",ui-monospace,monospace; color:#c6d4d7; letter-spacing:.02em; text-align:center; font-variant-numeric:tabular-nums; }

/* Seek slider */
.ta-player-seek { --p:0%; flex:1 1 auto; min-width:60px; height:28px; margin:0 6px; background:transparent; cursor:pointer;
  -webkit-appearance:none; appearance:none; }
.ta-player-seek:focus { outline:none; }
.ta-player-seek::-webkit-slider-runnable-track { height:4px; border-radius:4px;
  background:linear-gradient(to right, #36dce5 0 var(--p), rgba(237,245,244,.22) var(--p) 100%); }
.ta-player-seek::-moz-range-track { height:4px; border-radius:4px; background:rgba(237,245,244,.22); }
.ta-player-seek::-moz-range-progress { height:4px; border-radius:4px; background:#36dce5; }
.ta-player-seek::-webkit-slider-thumb { -webkit-appearance:none; width:14px; height:14px; margin-top:-5px; border-radius:50%;
  background:#edf5f4; border:0; box-shadow:0 0 0 4px rgba(54,220,229,.25); }
.ta-player-seek::-moz-range-thumb { width:14px; height:14px; border-radius:50%; background:#edf5f4; border:0; box-shadow:0 0 0 4px rgba(54,220,229,.25); }
.ta-player-seek:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 4px #36dce5; }
.ta-player-seek:focus-visible::-moz-range-thumb { box-shadow:0 0 0 4px #36dce5; }

.ta-player:fullscreen { border-radius:0; border:0; aspect-ratio:auto; }
.ta-player:fullscreen .ta-player-media { object-fit:contain; background:#000; }
.ta-sr { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

@media (max-width:1050px) {
  .tt-hero-inner.tt-hero-inner--video { gap:0; }
  .tt-hero-video { width:100%; padding:30px 0 8px; }
}
@media (max-width:760px) {
  .tt-hero-video { padding-top:26px; }
  .ta-player { border-radius:14px; }
  .ta-player-big { width:62px; height:62px; margin:-31px 0 0 -31px; box-shadow:0 8px 24px rgba(0,0,0,.45), 0 0 0 8px rgba(54,220,229,.14); }
  .ta-player-big svg { width:25px; height:25px; }
  .ta-player-bar { gap:2px; padding:22px 6px 4px; }
  .ta-player-btn { width:34px; height:34px; }
  .ta-player-time { min-width:0; font-size:11px; }
  .ta-player-seek { margin:0 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .ta-player *, .ta-player { transition:none !important; }
  .ta-player-big:hover { transform:none; }
}
