/* ============================================================
   SHEAR MEDIA STUDIOS × BARSTOOL SPORTS — NFL Pitch Deck
   Brand system (cream / brass-gold / ink, Barstool red accent)
   ============================================================ */

:root{
  --cream:#F0EBE7;
  --cream-2:#FAF7F2;
  --paper:#FBF8F4;
  --ink:#1A1714;
  --ink-2:#3c3630;
  --ink-soft:#6A625A;
  --gold:#B0863C;
  --gold-deep:#8C6A2E;
  --red:#E8282B;
  --line:#DAD2C8;
  --line-2:#E7E0D6;
  --pad:100px;
}
*{ box-sizing:border-box; }
deck-stage:not(:defined){ visibility:hidden; }
html,body{ margin:0; background:#26241f; }
deck-stage{ font-family:'Archivo', system-ui, sans-serif; color:var(--ink); }

section{ background:var(--cream); color:var(--ink); overflow:hidden; font-family:'Archivo', sans-serif; }

/* ---------- type ---------- */
.kicker{
  font-size:22px; font-weight:700; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold-deep); display:flex; align-items:center; gap:18px;
}
.kicker::before{ content:''; width:44px; height:3px; background:var(--gold); display:inline-block; }
.kicker.plain::before{ display:none; }

.display{ font-family:'Archivo',sans-serif; font-weight:900; text-transform:uppercase; line-height:.92; letter-spacing:-.015em; margin:0; }
.heavy{ font-family:'Archivo',sans-serif; font-weight:900; line-height:1.02; margin:0; }
.body{ font-family:'Archivo',sans-serif; font-weight:600; line-height:1.45; color:var(--ink-2); margin:0; }
.lead{ font-family:'Archivo',sans-serif; font-weight:700; line-height:1.4; color:var(--ink-2); margin:0; }
.sub{ color:var(--ink-soft); }
.red{ color:var(--red); }
.gold{ color:var(--gold-deep); }
.ital{ font-style:italic; }
.gold-rule{ height:7px; background:var(--gold); border-radius:4px; }

/* ---------- framing ---------- */
.pad{ position:absolute; inset:0; padding:var(--pad); display:flex; flex-direction:column; }
.footer{
  position:absolute; left:var(--pad); right:var(--pad); bottom:40px;
  display:flex; justify-content:space-between; align-items:center;
  font-weight:700; font-size:15px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-soft); z-index:6;
}
.footer .num span{ color:var(--gold-deep); }

/* ---------- logos ---------- */
.logo-shear{ height:66px; width:auto; display:block; }
.logo-bs{ height:60px; width:auto; display:block; }

/* ---------- photos / tiles ---------- */
.ph{ position:relative; overflow:hidden; background:#d8d0c6; }
.ph img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.02) contrast(1.02); }
.ph image-slot{ width:100%; height:100%; }
.cap{
  position:absolute; left:0; right:0; bottom:0; z-index:3; pointer-events:none;
  padding:38px 18px 14px; color:#fff;
  background:linear-gradient(to top, rgba(0,0,0,.86), transparent);
  font-weight:800; font-size:18px; line-height:1.18; letter-spacing:.01em;
}
.cap em{ display:block; font-style:normal; font-weight:600; font-size:14px; color:#d8d8d8; margin-top:3px; }
.photo-tag{
  position:absolute; left:24px; bottom:24px; z-index:3; background:var(--cream); color:var(--ink);
  font-weight:800; font-size:18px; padding:11px 18px; border-left:5px solid var(--gold);
}
.photo-tag em{ display:block; font-style:normal; font-weight:600; font-size:14px; color:var(--ink-soft); margin-top:2px; white-space:nowrap; }

/* ---------- bullets ---------- */
.bullets{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:15px; }
.bullets li{ position:relative; padding-left:34px; font-size:25px; font-weight:600; color:var(--ink-2); line-height:1.28; }
.bullets li::before{ content:''; position:absolute; left:0; top:.55em; width:13px; height:13px; background:var(--gold); transform:translateY(-50%) rotate(45deg); }

/* ---------- cards ---------- */
.card{ background:var(--paper); border:1px solid var(--line); border-radius:4px; }

/* ---------- facility chips ---------- */
.chip{ border:1.5px solid var(--gold); color:var(--gold-deep); font-weight:700; font-size:15px; letter-spacing:.04em; text-transform:uppercase; padding:7px 14px; border-radius:2px; white-space:nowrap; }

/* image-slot dark-on-cream styling */
image-slot{ --is-bg:#E4DCD0; --is-border:#C9BEAE; --is-fg:#9a8f7e; }

/* ---------- capability row (cover) ---------- */
.cap-row{ display:flex; align-items:stretch; border-top:2px solid var(--line); padding-top:26px; }
.cap-row .c{ flex:1; display:flex; flex-direction:column; gap:6px; padding-right:24px; }
.cap-row .c:not(:first-child){ padding-left:32px; border-left:1px solid var(--line); }
.cap-row .c .n{ font-size:14px; font-weight:700; letter-spacing:.12em; color:var(--gold-deep); }
.cap-row .c .t{ font-size:22px; font-weight:800; color:var(--ink); letter-spacing:-.01em; }

/* ---------- entrance ---------- */
/* Entrance animations intentionally omitted: this deck's primary deliverables
   are static PDF + PPTX exports, so every slide must render fully visible in a
   static capture. deck-stage handles slide-to-slide transitions. */
.anim, .anim-2, .anim-3{ }
