/* =========================================================================
   Umbrella Studios: v4 (the merge) — Adam's structure + Nick's visuals.
   Loaded AFTER styles.css + v2.css + v3.css, so it settles any overlap and
   adds the merged-only bits (header signature, badge, tighter rhythm).
   Non-destructive: only v4/ pages load this.
   ========================================================================= */

.v4-badge { position:fixed; left:12px; bottom:12px; z-index:90;
  font-family:var(--mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase;
  background:var(--rec); color:#fff; padding:7px 11px; }

/* Nav CTA button (also in v3.css; duplicated here so every v4 page styles it
   whether or not it loads v3.css). */
.nav .nav-cta { background:var(--ink); color:var(--paper); padding:9px 15px; margin-left:6px;
  transition:background .18s var(--ease), color .18s var(--ease); }
.nav .nav-cta:hover { background:var(--rec); color:#fff; }

/* Header: simplified single row, with ONE whisper of the call-sheet identity
   (a small red "book by the day" tag) so it stays distinctively ours. */
.bar .avail { display:inline-flex; align-items:center; gap:7px; font-family:var(--mono);
  font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.bar .avail .rec-dot { width:7px; height:7px; border-radius:50%; background:var(--rec);
  display:inline-block; animation:recblink 2s steps(1) infinite; }
@keyframes recblink { 0%,60%{opacity:1;} 61%,100%{opacity:0.25;} }
@media (max-width: 720px){ .bar .avail { display:none; } }

/* Merged hero height */
.hero-video { min-height:clamp(480px, 70vh, 720px); }

/* A chooser card can hold a Vimeo background video (poster <img> beneath as
   fallback). Cover-fit the 16:9 iframe into the 4:3 card via container units. */
.choice .shot { container-type:size; }
.choice .shot .embed { position:absolute; inset:0; overflow:hidden; }
.choice .shot .embed iframe { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
  width:max(100cqw, 177.78cqh); height:max(56.25cqw, 100cqh); border:0; pointer-events:none; }

/* Keep the merged (longer) page tight */
.v4 .section { padding-block:clamp(44px, 6vw, 84px); }
.v4 .chooser-help { text-align:center; margin-left:auto; margin-right:auto; }

/* Dark availability closer: reuse the inverted look, centered */
.avail-close { text-align:center; }
.avail-close .h2 { margin-bottom:12px; }
.avail-close p { margin:0 auto 26px; max-width:52ch; }
.cta-pair { display:inline-flex; gap:12px; flex-wrap:wrap; justify-content:center; }
/* Secondary (ghost) button readable on the dark availability close */
.inquire-v2 .btn.ghost { background:transparent; color:var(--paper); border-color:rgba(247,246,241,0.55); }
.inquire-v2 .btn.ghost:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }

/* Call-sheet sign-off in the footer bottom line: a subtle blinking REC + live timecode */
.foot-tc { display:inline-flex; align-items:center; gap:8px; }
.footer-v2 .foot-tc .tc { color:rgba(247,246,241,0.78); font-variant-numeric:tabular-nums; }

/* Location map: monochrome tiles + a red locating dot (echoes the REC dot).
   Shared by the home page (.locate .map) and the Contact page (.map). */
.map { position:relative; aspect-ratio:16/10; border:1px solid var(--line2); overflow:hidden; background:var(--hatch1); }
.map iframe { width:100%; height:100%; border:0; display:block; }
.map iframe, .locate .map iframe { filter:grayscale(1) contrast(1.06); }
.map-dot { position:absolute; left:50%; top:50%; width:14px; height:14px; transform:translate(-50%,-50%);
  background:var(--rec); border:2px solid var(--paper); border-radius:50%;
  box-shadow:0 0 0 4px rgba(216,38,28,0.22); pointer-events:none; z-index:1; }
