/* KingBBC: pure black canvas, edge-to-edge huge images, white + red.
   Heavy bold uppercase display type. Tight gaps. No rounded corners. */

/* ── Reset & base ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#000}
body{
  font-family:'Montserrat','Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:#000;
  color:#fff;
  line-height:1.5;
  font-size:16px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ── Tokens ────────────────────────────────────────────────────────────── */
:root{
  --bg:#000;
  --bg-2:#0a0a0a;
  --white:#fff;
  --muted:#b8b8b8;
  --muted-2:#7a7a7a;
  --red:#ed1c24;
  --red-deep:#c40d14;
  --gap:6px;            /* tight gap between big tiles */
}

::selection{background:var(--red);color:#fff}

/* ── Display type ──────────────────────────────────────────────────────── */
.h-display{
  font-family:'Montserrat','Inter',sans-serif;
  font-weight:900;
  letter-spacing:-.01em;
  line-height:.95;
  text-transform:uppercase;
}

/* ── Sticky bottom promo bar (slides up after page load) ─────────────── */
body.has-gpromo{padding-bottom:60px}
.gpromo{
  position:fixed;left:0;bottom:0;width:100%;z-index:95;
  background:#059a42;color:#000;
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding:8px 44px 8px 12px;
  font-family:'Montserrat',sans-serif;
  font-size:15px;font-weight:700;
  flex-wrap:nowrap;white-space:nowrap;
  box-shadow:0 -4px 18px rgba(0,0,0,.35);
  transform:translateY(100%);
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.gpromo.gpromo--shown{transform:translateY(0)}
.gpromo-img{flex-shrink:0;line-height:0;text-decoration:none;display:block;align-self:stretch;margin:-8px 0}
.gpromo-img img{height:100%;width:auto;display:block}
.gpromo-title{color:#fff;font-weight:900;letter-spacing:.3px;font-size:19px;text-shadow:0 1px 2px rgba(0,0,0,.22)}
.gpromo-title .gpt-m{display:none}
.gpromo-btn{
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  height:34px;line-height:1;
  background:#fff;color:#000;
  border:2px solid #000;border-radius:6px;
  padding:0 20px;
  font-size:17px;font-weight:900;
  text-decoration:none;text-transform:uppercase;letter-spacing:1px;
  animation:gpromoGlow 1.5s ease-in-out infinite;
}
.gpromo-btn:hover{background:#1e9b49;color:#fff;border-color:#fff}
@keyframes gpromoGlow{0%,100%{box-shadow:0 0 4px rgba(255,255,255,.45)}50%{box-shadow:0 0 18px rgba(255,255,255,.95)}}
/* Closed-state attention loop: pulse the green header glow and shake it every few seconds. */
@keyframes gpromoMiniGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 6px rgba(30,192,107,.45),0 0 0 rgba(30,192,107,0)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 22px rgba(30,192,107,.95),0 0 36px rgba(30,192,107,.55)}}
@keyframes gpromoMiniShake{0%,86%,100%{transform:translateX(0) rotate(0)}88%{transform:translateX(-3px) rotate(-1.5deg)}90%{transform:translateX(3px) rotate(1.5deg)}92%{transform:translateX(-2px) rotate(-1deg)}94%{transform:translateX(2px) rotate(.6deg)}96%{transform:translateX(-1px) rotate(-.3deg)}}
.gpromo-timer-box{
  color:#fff;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;
  gap:9px;line-height:1;flex-shrink:0;
}
.gpromo-timer-lbl{color:#bdf5d3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.6px;text-align:right;line-height:1.25}
.gpromo-timer-cd{display:inline-flex;align-items:stretch;gap:4px}
.gpromo-tu{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;height:34px;
  background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.16));
  border:1px solid rgba(255,255,255,.18);border-radius:6px;
  padding:1px 8px;min-width:32px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 3px rgba(0,0,0,.18);
}
.gpromo-tu b{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.5px;color:#fff}
.gpromo-tu i{font-size:7px;font-weight:800;font-style:normal;text-transform:uppercase;letter-spacing:.6px;color:#7fe0a3}
.gpromo-timer-lbl .gpl-m{display:none}
.gpromo-close{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  background:none;border:0;color:#fff;font-size:22px;font-weight:700;
  cursor:pointer;line-height:1;padding:6px;
}
.gpromo-close:hover{color:var(--red)}
/* Minimized state — collapse to just the image strip. */
.gpromo.gpromo--mini{
  cursor:pointer;
  padding:0;height:38px;overflow:hidden;
  justify-content:flex-start;gap:0;
}
.gpromo--mini .gpromo-img{margin:0}
.gpromo--mini .gpromo-img img{height:38px}
.gpromo--mini .gpromo-title,
.gpromo--mini .gpromo-btn,
.gpromo--mini .gpromo-timer-box{display:none}
.gpromo--mini .gpromo-close{font-size:18px}
@media(max-width:880px){
  .gpromo-img{display:none}
  body.has-gpromo{padding-bottom:90px}
  .gpromo{flex-wrap:wrap;align-items:center;justify-content:center;gap:0 10px;font-size:11.5px;padding:8px 32px 48px 10px;letter-spacing:0}
  .gpromo-title{font-size:14.5px}
  .gpromo-title .gpt-d{display:none}
  .gpromo-title .gpt-m{display:inline}
  .gpromo-btn{height:auto;padding:7px 20px;font-size:15px;border-width:2px;letter-spacing:.8px}
  .gpromo-timer-box{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:11px;padding:6px 8px;background:rgba(0,0,0,.24)}
  .gpromo-timer-lbl{font-size:9.5px;letter-spacing:1.4px;line-height:1.2}
  .gpromo-tu{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:auto;padding:3px 7px;min-width:30px;border:1px solid rgba(255,255,255,.2);border-radius:5px;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.12));box-shadow:none}
  .gpromo-tu b{font-size:15px}
  .gpromo-tu i{display:block;font-size:7px;letter-spacing:.3px}
  .gpromo-close{top:7px;right:6px;transform:none;font-size:18px;padding:6px}
  .gpromo.gpromo--mini{height:34px;padding:0}
}

/* Promo card — desktop corner slide-in (bottom-right). Overrides the
   bottom-bar base above. Matches the ManUp/AdultPrime promo card design. */
@media(min-width:881px){
  body.has-gpromo{padding-bottom:0}
  .gpromo{
    left:auto;right:26px;bottom:26px;width:auto;max-width:440px;
    flex-direction:column;flex-wrap:nowrap;
    align-items:stretch;justify-content:flex-start;
    gap:0;padding:0 0 20px;
    background:linear-gradient(165deg,#0b0b0b 0%,#0c1410 50%,#0a1f12 100%);
    border:1px solid rgba(30,192,107,.32);border-radius:16px;
    box-shadow:0 26px 70px rgba(0,0,0,.6),0 0 0 1px rgba(30,192,107,.10),inset 0 1px 0 rgba(255,255,255,.04);
    font-size:14px;white-space:normal;color:#fff;
    transform:translate(calc(100% + 46px),0);opacity:0;pointer-events:none;
    transition:transform .55s cubic-bezier(.2,.85,.25,1),opacity .35s ease;
  }
  .gpromo.gpromo--shown{transform:none;opacity:1;pointer-events:auto;animation:gpromoWiggle 9s ease-in-out 4s infinite}
  @keyframes gpromoWiggle{0%,90%,100%{transform:translateX(0) rotate(0)}91%{transform:translateX(-6px) rotate(-1.6deg)}92.5%{transform:translateX(6px) rotate(1.6deg)}94%{transform:translateX(-4px) rotate(-1deg)}95.5%{transform:translateX(3px) rotate(.7deg)}97%{transform:translateX(-1px) rotate(-.3deg)}}
  .gpromo-img{display:flex;align-items:center;justify-content:center;align-self:stretch;margin:0;height:90px;overflow:hidden;border-radius:15px 15px 0 0;background:#059a42}
  .gpromo-img img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}
  .gpromo-title{font-size:22px;font-weight:900;line-height:1.25;letter-spacing:.1px;padding:18px 22px 6px;text-align:center;color:#fff;text-shadow:none;white-space:normal}
  .gpromo-btn{margin:14px 22px 0;height:46px;font-size:15px;padding:0 26px;background:#1ec06b;color:#fff;border:2px solid #1ec06b;letter-spacing:1.2px;border-radius:10px}
  .gpromo-btn:hover{background:#27d878;color:#fff;border-color:#27d878}
  .gpromo-timer-box{padding:14px 22px 0;justify-content:center;gap:12px}
  .gpromo-timer-lbl{color:#7fe0a3;font-size:11px;text-align:center;line-height:1.2;letter-spacing:1.4px;font-weight:800;text-transform:uppercase}
  .gpromo-timer-cd{gap:6px}
  .gpromo-tu{height:46px;min-width:46px;padding:3px 10px;background:linear-gradient(180deg,rgba(30,192,107,.16),rgba(30,192,107,.05));border-color:rgba(30,192,107,.28);box-shadow:none}
  .gpromo-tu b{font-size:21px;color:#fff}
  .gpromo-tu i{font-size:8.5px;color:#7fe0a3}
  .gpromo-close{top:10px;right:10px;transform:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;font-size:18px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:rgba(255,255,255,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .gpromo-close:hover{color:#fff;background:rgba(0,0,0,.82);border-color:rgba(255,255,255,.34)}
  .gpromo.gpromo--mini{max-width:200px;padding:0;cursor:pointer}
  .gpromo.gpromo--mini.gpromo--shown{animation:none}
  .gpromo.gpromo--mini::before{content:'⇧ Open Offer';display:block;padding:10px 14px;background:linear-gradient(180deg,#27d878 0%,#1ec06b 100%);color:#fff;font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;text-align:center;border-bottom:1px solid rgba(255,255,255,.18);border-radius:15px 15px 0 0;pointer-events:none;animation:gpromoMiniGlow 1.8s ease-in-out infinite,gpromoMiniShake 6s ease-in-out 3s infinite;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
  .gpromo.gpromo--mini .gpromo-img{border-radius:0 0 15px 15px;height:64px;pointer-events:none}
  .gpromo.gpromo--mini .gpromo-img img{pointer-events:none}
  .gpromo.gpromo--mini .gpromo-title,
  .gpromo.gpromo--mini .gpromo-btn,
  .gpromo.gpromo--mini .gpromo-timer-box,
  .gpromo.gpromo--mini .gpromo-close{display:none}
  .gpromo.gpromo--mini:hover{transform:translateY(-2px);transition:transform .15s ease}
}

/* Promo card — mobile (≤880px) shows the same card design but full-width
   along the bottom, sliding up from below. */
@media(max-width:880px){
  body.has-gpromo{padding-bottom:0}
  .gpromo{
    left:12px;right:12px;bottom:12px;width:auto;max-width:none;
    flex-direction:column;flex-wrap:nowrap;
    align-items:stretch;justify-content:flex-start;
    gap:0;padding:0 0 12px;
    background:linear-gradient(165deg,#0b0b0b 0%,#0c1410 50%,#0a1f12 100%);
    border:1px solid rgba(30,192,107,.32);border-radius:14px;
    box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(30,192,107,.10),inset 0 1px 0 rgba(255,255,255,.04);
    font-size:13px;white-space:normal;color:#fff;letter-spacing:0;
    transform:translateY(calc(100% + 26px));opacity:0;pointer-events:none;
    transition:transform .55s cubic-bezier(.2,.85,.25,1),opacity .35s ease;
  }
  .gpromo.gpromo--shown{transform:none;opacity:1;pointer-events:auto;animation:gpromoWiggle 9s ease-in-out 4s infinite}
  .gpromo-img{display:flex;align-items:center;justify-content:center;align-self:stretch;margin:0;height:62px;overflow:hidden;border-radius:13px 13px 0 0;background:#059a42}
  .gpromo-img img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}
  .gpromo-title{font-size:16px;font-weight:900;line-height:1.25;letter-spacing:.1px;padding:12px 16px 2px;text-align:center;color:#fff;text-shadow:none;white-space:normal}
  .gpromo-btn{margin:8px 16px 0;height:38px;font-size:13.5px;padding:0 20px;background:#1ec06b;color:#fff;border:2px solid #1ec06b;letter-spacing:1px;border-radius:9px}
  .gpromo-btn:hover{background:#27d878;color:#fff;border-color:#27d878}
  .gpromo-timer-box{position:static;background:none;padding:8px 16px 0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px}
  .gpromo-timer-lbl{color:#7fe0a3;font-size:10px;text-align:center;line-height:1.2;letter-spacing:1.3px;font-weight:800;text-transform:uppercase}
  .gpromo-timer-cd{gap:4px}
  .gpromo-tu{height:36px;min-width:36px;padding:2px 8px;background:linear-gradient(180deg,rgba(30,192,107,.16),rgba(30,192,107,.05));border-color:rgba(30,192,107,.28);box-shadow:none;border-radius:6px}
  .gpromo-tu b{font-size:16px;color:#fff}
  .gpromo-tu i{display:block;font-size:7px;color:#7fe0a3;letter-spacing:.5px}
  .gpromo-close{top:8px;right:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;font-size:18px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:rgba(255,255,255,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:none}
  .gpromo-close:hover{color:#fff;background:rgba(0,0,0,.82);border-color:rgba(255,255,255,.34)}
  .gpromo.gpromo--mini{left:auto;right:12px;bottom:12px;max-width:170px;padding:0;cursor:pointer}
  .gpromo.gpromo--mini.gpromo--shown{animation:none}
  .gpromo.gpromo--mini::before{content:'⇧ Open Offer';display:block;padding:9px 11px;background:linear-gradient(180deg,#27d878 0%,#1ec06b 100%);color:#fff;font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;text-align:center;border-bottom:1px solid rgba(255,255,255,.18);border-radius:13px 13px 0 0;pointer-events:none;animation:gpromoMiniGlow 1.8s ease-in-out infinite,gpromoMiniShake 6s ease-in-out 3s infinite;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
  .gpromo.gpromo--mini .gpromo-img{border-radius:0 0 13px 13px;height:56px;pointer-events:none}
  .gpromo.gpromo--mini .gpromo-img img{pointer-events:none}
  .gpromo.gpromo--mini .gpromo-title,
  .gpromo.gpromo--mini .gpromo-btn,
  .gpromo.gpromo--mini .gpromo-timer-box,
  .gpromo.gpromo--mini .gpromo-close{display:none}
}

/* ── 18+ Age verification gate ───────────────────────────────────────── */
.age-gate{
  position:fixed;inset:0;z-index:100000;
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;
  background:radial-gradient(ellipse at center,rgba(237,28,36,.12) 0%,rgba(6,6,6,.98) 60%);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  overflow-y:auto;
}
.age-gate.is-hidden{display:none !important}
body.age-gate-lock{overflow:hidden}
.age-gate-card{
  max-width:560px;width:100%;
  background:#0a0a0a;
  border:1px solid #1f1f1f;
  box-shadow:0 28px 90px rgba(0,0,0,.7),0 0 0 1px rgba(237,28,36,.2);
  padding:2.2rem 2rem 1.6rem;
  text-align:center;
}
.age-gate-logo{
  font-family:'Montserrat',sans-serif;
  font-weight:900;font-size:1.6rem;
  text-transform:uppercase;letter-spacing:-.01em;
  line-height:1;margin-bottom:1rem;
}
.age-gate-logo .white{color:#fff}
.age-gate-logo .red{color:var(--red)}
.age-gate-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .85rem;
  background:rgba(237,28,36,.14);
  border:1px solid rgba(237,28,36,.5);
  color:var(--red);
  font-family:'Montserrat',sans-serif;
  font-size:.7rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.18em;
  border-radius:30px;
  margin-bottom:1.1rem;
}
.age-gate-card h2{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.3rem,3vw,1.9rem);
  letter-spacing:-.01em;line-height:1.1;
  color:#fff;margin-bottom:.7rem;
}
.age-gate-lede{
  color:rgba(255,255,255,.85);font-size:.95rem;
  line-height:1.55;margin-bottom:1.1rem;
}
.age-gate-terms{
  text-align:left;font-size:.75rem;line-height:1.55;
  color:rgba(255,255,255,.6);
  background:rgba(255,255,255,.03);
  border:1px solid #1a1a1a;
  padding:.9rem 1rem;
  max-height:150px;overflow-y:auto;
  margin-bottom:1.3rem;
}
.age-gate-terms a{color:var(--red);text-decoration:underline}
.age-gate-actions{
  display:flex;gap:.7rem;flex-wrap:wrap;
}
.age-gate-btn{
  flex:1 1 0;min-width:140px;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem 1.2rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:.9rem;
  text-decoration:none;cursor:pointer;
  border:1px solid #1f1f1f;
  transition:transform .15s,background .15s,box-shadow .15s;
}
.age-gate-exit{background:rgba(255,255,255,.05);color:rgba(255,255,255,.75)}
.age-gate-exit:hover{background:rgba(255,255,255,.12);color:#fff}
.age-gate-enter{
  background:var(--red);color:#fff;border-color:var(--red);
  box-shadow:0 8px 24px rgba(230,38,61,.45);
}
.age-gate-enter:hover{transform:translateY(-2px);background:var(--red-deep);box-shadow:0 12px 30px rgba(230,38,61,.55);color:#fff}
.age-gate-foot{
  margin-top:1.2rem;
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.4);
}
@media(max-width:600px){
  .age-gate{padding:1rem}
  .age-gate-card{padding:1.6rem 1.2rem 1.2rem}
  .age-gate-logo{font-size:1.3rem}
  .age-gate-lede{font-size:.88rem}
  .age-gate-terms{font-size:.72rem;max-height:120px}
  .age-gate-btn{padding:.85rem 1rem;font-size:.82rem;min-width:0}
  .age-gate-actions{flex-wrap:nowrap}
}

/* ── Promo bar (top) ───────────────────────────────────────────────────── */
.promobar{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:#0a6b30;color:#fff;
  padding:.55rem .9rem;
  font-size:.8rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  text-align:center;
}
.promobar .pb-btn{
  background:var(--red);color:#fff;
  padding:.3rem .8rem;
  font-weight:900;text-decoration:none;
  letter-spacing:.06em;white-space:nowrap;
}

/* ── Header ────────────────────────────────────────────────────────────── */
header.site{
  position:sticky;top:0;z-index:50;
  background:#000;
}
.nav{
  display:flex;align-items:center;gap:1.6rem;
  padding:.9rem 1.5rem;
  max-width:none;
}
.brand{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:2.4rem;line-height:1;
  text-transform:uppercase;letter-spacing:-.015em;
  white-space:nowrap;
  margin-right:.6rem;
}
.brand .king{color:var(--white)}
.brand .bbc{color:var(--red)}
.nav-links{display:flex;gap:.2rem;align-items:center;flex:1}
.nav-links a{
  padding:.5rem 1.1rem;
  font-weight:800;text-transform:uppercase;
  font-size:.92rem;letter-spacing:.02em;
  color:var(--white);
  white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.nav-spacer{flex:1}
/* Header search box. Hidden on mobile (replaced by a link in the hamburger menu). */
.nav-search{margin-right:.4rem;position:relative;display:flex;align-items:stretch}
.nav-search-drop{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:340px;max-width:420px;
  background:#0a0a0a;
  border:1px solid #1a1a1a;
  box-shadow:0 14px 40px rgba(0,0,0,.7);
  z-index:60;
  max-height:70vh;overflow-y:auto;
}
.nav-search-drop .nsd-h{
  padding:.55rem .8rem .35rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:.7rem;letter-spacing:.18em;
  color:var(--red);
  background:#000;
}
.nav-search-drop .nsd-row{
  display:flex;align-items:center;gap:.7rem;
  padding:.5rem .8rem;
  color:#fff;text-decoration:none;
  border-top:1px solid #111;
  font-size:.85rem;font-weight:700;
  transition:background .12s;
}
.nav-search-drop .nsd-row:hover{background:#1a1a1a;color:var(--red)}
.nav-search-drop .nsd-row img{
  width:40px;height:40px;
  border-radius:50%;object-fit:cover;object-position:top center;
  flex-shrink:0;background:#000;
}
.nav-search-drop .nsd-row-scene img{
  width:64px;height:36px;border-radius:3px;
}
.nav-search-drop .nsd-row span{
  flex:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nav-search-drop .nsd-empty{
  padding:1rem .9rem;
  color:var(--muted);font-size:.85rem;text-align:center;
  font-weight:600;
}
.nav-search input{
  background:#111;color:#fff;
  border:1px solid #1a1a1a;border-right:0;
  padding:.55rem .9rem;
  font-family:'Montserrat',sans-serif;
  font-weight:600;font-size:.82rem;
  width:180px;
  transition:width .2s,border-color .2s,background .2s;
}
.nav-search input::placeholder{color:#7a7a7a;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.nav-search input:focus{outline:none;border-color:var(--red);background:#000;width:240px}
.nav-search input:focus + .nav-search-btn{border-color:var(--red)}
.nav-search-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 .7rem;
  background:#111;color:#9c9c9c;
  border:1px solid #1a1a1a;border-left:0;
  cursor:pointer;
  transition:background .15s,color .15s,border-color .2s;
}
.nav-search-btn:hover{background:var(--red);color:#fff;border-color:var(--red)}
.nav-search-btn svg{display:block}
.nav-links .mobile-search{display:none}
@media(max-width:900px){
  .nav-search{display:none}
  .nav-links .mobile-search{display:block}
}

.nav-right{display:flex;align-items:center;gap:1.1rem}
/* Mobile-only search icon next to the Join button. Hidden on desktop
   (where the full search input is available in the nav). */
.nav-right .mobile-search-icon{display:none;color:#fff;padding:.25rem}
.nav-right .mobile-search-icon:hover{color:var(--red)}
.nav-right .mobile-search-icon svg{display:block}
@media(max-width:900px){
  .nav-right .mobile-search-icon{display:inline-flex;align-items:center}
}

/* Mobile search bar slides under the header when the search icon is tapped.
   Hard-hidden on desktop (the toggle button isn't visible there anyway). */
.mobile-search-bar{
  position:relative;
  display:flex;align-items:stretch;
  background:#000;
  border-top:1px solid #1a1a1a;
  padding:.6rem .8rem;
  gap:.4rem;
}
.mobile-search-bar[hidden]{display:none}
@media(min-width:901px){
  .mobile-search-bar{display:none !important}
}
.mobile-search-bar input{
  flex:1;
  background:#111;color:#fff;
  border:1px solid #1a1a1a;
  padding:.85rem 1rem;
  font-family:'Montserrat',sans-serif;
  font-weight:600;font-size:.95rem;
}
.mobile-search-bar input:focus{outline:none;border-color:var(--red);background:#000}
.mobile-search-bar button{
  background:var(--red);color:#fff;
  border:0;padding:0 1rem;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.mobile-search-drop{
  position:absolute;top:100%;left:.8rem;right:.8rem;
  background:#0a0a0a;border:1px solid #1a1a1a;border-top:0;
  box-shadow:0 14px 40px rgba(0,0,0,.7);
  z-index:60;
  max-height:60vh;overflow-y:auto;
}
.mobile-search-drop .nsd-h{
  padding:.55rem .8rem .35rem;
  font-family:'Montserrat',sans-serif;font-weight:900;
  text-transform:uppercase;font-size:.7rem;letter-spacing:.18em;
  color:var(--red);background:#000;
}
.mobile-search-drop .nsd-row{
  display:flex;align-items:center;gap:.7rem;
  padding:.6rem .8rem;
  color:#fff;text-decoration:none;
  border-top:1px solid #111;
  font-size:.88rem;font-weight:700;
}
.mobile-search-drop .nsd-row:hover{background:#1a1a1a;color:var(--red)}
.mobile-search-drop .nsd-row img{
  width:42px;height:42px;border-radius:50%;
  object-fit:cover;object-position:top center;flex-shrink:0;background:#000;
}
.mobile-search-drop .nsd-row-scene img{width:72px;height:42px;border-radius:3px}
.mobile-search-drop .nsd-row span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-search-drop .nsd-empty{padding:1rem;color:var(--muted);text-align:center;font-size:.85rem;font-weight:600}
.nav-right > *{display:inline-flex;align-items:center;line-height:1}
.nav-right .network-logo{
  opacity:.9;transition:opacity .15s;
  height:100%;
}
.nav-right .network-logo:hover{opacity:1}
.nav-right .network-logo img{
  height:26px;width:auto;display:block;
  /* The PNG has ~9px transparent padding at the bottom (scaled ≈7px at 26px height),
     which throws off flex centering. Negative margin removes it from the box so the
     visible content centers correctly with LOGIN and JOIN NOW. */
  margin-bottom:-7px;
}
@media(max-width:900px){.nav-right .network-logo{display:none}}
.nav-right .login{
  font-weight:800;text-transform:uppercase;
  font-size:.92rem;letter-spacing:.04em;
  color:var(--white);
}
.nav-right .login:hover{color:var(--red)}
.nav-right .cta{
  background:var(--red);color:#fff;
  padding:.85rem 1.4rem;
  font-weight:900;text-transform:uppercase;letter-spacing:.04em;
  font-size:.92rem;
}
.nav-right .cta:hover{background:var(--red-deep)}

/* Mobile nav: collapse links behind hamburger */
#navtoggle{display:none}
.hamburger{display:none;font-size:1.5rem;padding:.3rem .5rem}
.nav-links .mobile-login{display:none}
@media(max-width:900px){
  .nav{gap:.35rem;padding:.7rem .9rem .7rem .35rem}
  .brand{font-size:1.8rem}
  .hamburger{display:inline-block;color:#fff;margin-right:0;padding:.3rem .35rem}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:#000;
    border-top:1px solid #1a1a1a;
    display:none;padding:.5rem 0;
  }
  #navtoggle:checked ~ .nav-links{display:flex}
  .nav-links a{padding:.85rem 1.5rem;width:100%;font-size:1rem;border-bottom:1px solid #111}
  .nav-links .mobile-login{display:block}
  .nav-spacer{display:none}
  .nav-right .login{display:none}
  .nav-right{margin-left:auto}
  .nav-right .cta{padding:.6rem .9rem;font-size:.8rem}
}

/* ── Full-bleed hero ───────────────────────────────────────────────────── */
.hero{
  position:relative;
  width:100%;
  aspect-ratio:16/7;
  min-height:380px;
  max-height:78vh;
  background:#000;
  overflow:hidden;
}
.hero video,.hero .hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  transform:scaleX(-1); /* mirror */
}
.hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.4) 100%);
  pointer-events:none;
}
.hero-overlay{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;
  align-items:flex-end;justify-content:center;
  padding:0 6vw;
}
.hero-overlay h1,
.hero-overlay .hero-title{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  color:#fff;
  font-size:clamp(2.4rem,8vw,6.5rem);
  line-height:.92;
  letter-spacing:-.02em;
  text-shadow:0 4px 30px rgba(0,0,0,.5);
  text-align:right;
  margin:0;
}
/* Small welcome line inside the hero, right under the h1. */
.hero-welcome{
  margin-top:1rem;
  max-width:560px;text-align:right;
  color:#e7e2d8;
  font-size:clamp(.85rem,1.2vw,1rem);
  line-height:1.55;font-weight:500;
  text-shadow:0 2px 14px rgba(0,0,0,.6);
}
/* Inline links inside the hero copy get the red-highlight marker treatment. */
.hero-welcome a{
  color:#fff;text-decoration:none;
  background:var(--red);
  padding:.05em .35em;
  text-shadow:none;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  white-space:nowrap;
}
.hero-welcome a:hover{background:#a30714}
.hero-welcome-mobile{display:none}
/* Desktop variant is a flex row: welcome line on the left, Louie Smalls
   avatar pinned to the right. */
.hero-welcome-desktop{
  display:flex;align-items:center;gap:1rem;
  max-width:660px;
}
.hero-welcome-desktop p{
  flex:1;margin:0;text-align:right;
}
.hero-avatar{
  flex-shrink:0;
  display:block;width:96px;height:96px;
  border-radius:50%;overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.6);
  transition:transform .2s;
}
.hero-avatar:hover{transform:scale(1.05)}
.hero-avatar img{
  width:100%;height:100%;
  object-fit:cover;object-position:top center;
  display:block;
}
@media(max-width:760px){
  .hero-welcome{
    text-align:center;
    max-width:90%;
    margin:.8rem auto 0;
    font-size:.85rem;
  }
  .hero-welcome-desktop{display:none}
  .hero-welcome-mobile{display:block}
}
.hero-overlay h1 .red,
.hero-overlay .hero-title .red{color:var(--red)}
.hero .mute-btn{
  position:absolute;top:1rem;left:1rem;z-index:3;
  background:var(--red);color:#fff;
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
}
.hero .hero-cta{
  position:absolute;bottom:1.4rem;right:0;z-index:3;
  background:var(--red);color:#fff;
  padding:1.2rem 2.2rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:clamp(.95rem,2.5vw,1.4rem);
  display:inline-flex;align-items:center;gap:.7rem;
}
.hero .hero-cta:hover{background:var(--red-deep)}
@media(max-width:600px){
  .hero{aspect-ratio:auto;height:62vh;min-height:380px;max-height:520px}
  .hero .hero-bg{object-position:75% center}
  .hero-overlay{justify-content:flex-end;align-items:center;padding:0 1rem 5.5rem}
  .hero-overlay h1,
  .hero-overlay .hero-title{text-align:center;font-size:clamp(2rem,11vw,3rem)}
  .hero .hero-cta{
    padding:.85rem 1.2rem;font-size:.85rem;bottom:1rem;
    left:50%;right:auto;transform:translateX(-50%);
  }
}

/* ── Welcome block (mobile only; desktop shows it inside the hero) ───── */
.welcome{
  text-align:center;
  padding:3.5rem 1.5rem 3rem;
  background:#000;
}
@media(min-width:761px){
  .welcome{display:none}
}
.welcome h2{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(1.8rem,5.5vw,3.2rem);
  letter-spacing:-.01em;line-height:.95;
  margin-bottom:1rem;
}
.welcome p{
  color:var(--muted);
  max-width:880px;margin:0 auto;
  font-size:clamp(.95rem,2.2vw,1.1rem);
  line-height:1.55;
  font-weight:500;
}
.welcome p strong{color:#fff}

/* ── Section heading (red + white two-tone, centered) ──────────────────── */
.section{
  background:#000;
  padding:0;
}
.section + .section{margin-top:0}
.section-head{
  text-align:center;
  padding:2.6rem 1.5rem 1.8rem;
}
.section-head h1,
.section-head h2{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(1.8rem,6vw,3.4rem);
  letter-spacing:-.01em;line-height:.95;
  color:#fff;
}
.section-head h1 .red,
.section-head h2 .red{color:var(--red)}
@media(max-width:760px){
  /* Tighten the empty space above titles on listing pages (reels, videos,
     free-videos, models). The first .section-head after the header sits flush. */
  header.site + .section-head,
  header.site + section.section > .section-head:first-child{
    padding-top:.8rem;
  }
  /* Shrink listing-page titles so common cases ("All KingBBC Videos",
     "Free KingBBC Reels", "KingBBC Big Cock Videos") fit on one line. */
  .section-head h1,
  .section-head h2{
    font-size:clamp(.95rem,4.3vw,1.35rem);
    letter-spacing:-.005em;
  }
}

/* ── Reels filter chips (top of /free-reels) ─────────────────────────── */
.reel-filters{
  display:flex;flex-wrap:wrap;gap:.4rem;
  padding:0 1rem 1.4rem;
  justify-content:center;
}
.reel-filters .rf-chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem .85rem;
  background:#111;color:#fff;
  border:1px solid #1f1f1f;
  font-family:'Montserrat',sans-serif;
  font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  font-size:.72rem;
  transition:background .15s,border-color .15s,color .15s;
}
.reel-filters .rf-chip:hover{background:#1f1f1f;border-color:var(--red);color:#fff}
.reel-filters .rf-chip.is-active{background:var(--red);border-color:var(--red);color:#fff}
.reel-filters .rf-count{
  font-size:.6rem;opacity:.7;font-weight:700;
}
.reel-filters .rf-chip.is-active .rf-count{opacity:.95}
/* Mobile niche dropdown (replaces the chip strip). */
.reel-filter-mobile{display:none;padding:0 1rem 1.2rem}
.reel-filter-mobile select{
  width:100%;
  background:#111;color:#fff;
  border:1px solid #1f1f1f;
  padding:.85rem 1rem;
  font-family:'Montserrat',sans-serif;
  font-weight:800;font-size:.9rem;
  text-transform:uppercase;letter-spacing:.06em;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23ed1c24' stroke-width='2'><path d='M1 1l5 5 5-5'/></svg>");
  background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 8px;
  padding-right:2.4rem;
}
.reel-filter-mobile select:focus{outline:none;border-color:var(--red)}
@media(max-width:600px){
  .reel-filters{display:none}
  .reel-filter-mobile{display:block}
}

/* Big play overlay on the clip poster (hidden once the visitor presses play). */
.clip-play-overlay{
  position:absolute;inset:0;z-index:3;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.45) 100%);
  border:0;padding:0;cursor:pointer;color:#fff;
  transition:opacity .2s;
}
.clip-play-overlay[hidden]{display:none}
.clip-play-overlay:hover .clip-play-circle{transform:scale(1.08);background:var(--red);border-color:var(--red)}
.clip-play-circle{
  width:96px;height:96px;border-radius:50%;
  background:rgba(0,0,0,.55);
  border:3.5px solid rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(0,0,0,.55);
  transition:transform .15s ease,background .15s,border-color .15s;
}
.clip-play-circle::after{
  content:'';display:block;
  width:0;height:0;
  border-style:solid;border-width:18px 0 18px 28px;
  border-color:transparent transparent transparent #fff;
  margin-left:6px;
}
@media(max-width:600px){
  .clip-play-circle{width:74px;height:74px;border-width:3px}
  .clip-play-circle::after{border-width:14px 0 14px 22px}
}

/* ── End-of-clip overlay (shown 10s before the clip ends) ─────────────── */
.clip-end-overlay{
  position:absolute;inset:0;z-index:4;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;
  padding:1.5rem;
  background:rgba(0,0,0,.7);
  animation:ceoFadeIn .3s ease;
  pointer-events:none;
}
.clip-end-overlay > *{pointer-events:auto}
@keyframes ceoFadeIn{from{opacity:0}to{opacity:1}}
.clip-end-overlay[hidden]{display:none}
.clip-end-overlay h3{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.3rem,3vw,2.2rem);
  line-height:1.1;letter-spacing:-.01em;
  color:#fff;margin-bottom:.7rem;max-width:680px;
}
.clip-end-overlay h3 .red{color:var(--red)}
.clip-end-overlay .ceo-studio-logo{
  display:block;
  max-width:60%;max-height:30%;height:auto;
  margin-bottom:1.2rem;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.8));
}
@media(max-width:600px){
  .clip-end-overlay .ceo-studio-logo{max-width:70%;max-height:25%;margin-bottom:.9rem}
  /* Trim the network-clip overlay paragraph to just the bolded line on mobile. */
  .clip-end-overlay .ceo-desktop{display:none}
}
.clip-end-overlay p{
  color:#d4d4d4;
  font-size:clamp(.85rem,1.4vw,1.05rem);
  line-height:1.5;max-width:560px;
  margin-bottom:1.4rem;
}
.clip-end-overlay p strong{color:#fff}
.ceo-cta{
  display:inline-block;
  background:var(--red);color:#fff;
  padding:1.1rem 2rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.07em;
  font-size:1.05rem;
  box-shadow:0 12px 36px rgba(230,38,61,.5);
  transition:background .15s,transform .15s;
}
.ceo-cta:hover{background:var(--red-deep);transform:translateY(-2px);color:#fff}
.ceo-dismiss{
  margin-top:1rem;
  background:none;color:#9c9c9c;
  border:0;cursor:pointer;
  font-family:'Montserrat',sans-serif;
  font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  font-size:.72rem;
  padding:.4rem .8rem;
}
.ceo-dismiss:hover{color:#fff}
@media(max-width:600px){
  .clip-end-overlay{padding:1rem}
  .clip-end-overlay h3{font-size:1.15rem;margin-bottom:.5rem}
  .clip-end-overlay p{font-size:.8rem;margin-bottom:1rem}
  .ceo-cta{padding:.85rem 1.4rem;font-size:.9rem}
}

/* ── Free clips grid (/free-videos) ──────────────────────────────────── */
.clips-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--gap);
  padding:0 1rem;
}
@media(max-width:900px){.clips-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.clips-grid{grid-template-columns:repeat(2,1fr);padding:0 .5rem}}
.clip-tile{
  display:block;background:#0a0a0a;
  text-decoration:none;color:inherit;
  transition:transform .15s,border-color .15s;
}
.clip-tile:hover{transform:translateY(-3px)}
.clip-thumb{
  position:relative;aspect-ratio:16/9;
  overflow:hidden;background:#000;
}
.clip-thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s;
}
.clip-tile:hover .clip-thumb img{transform:scale(1.04)}
.clip-play{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:50%;
  background:rgba(0,0,0,.55);
  border:2.5px solid rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,.45);
}
.clip-play::after{
  content:'';display:block;
  width:0;height:0;
  border-style:solid;border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent #fff;
  margin-left:4px;
}
.clip-badge{
  position:absolute;top:.55rem;left:.55rem;
  background:var(--red);color:#fff;
  padding:.25rem .55rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;font-size:.65rem;
  letter-spacing:.1em;text-transform:uppercase;
}
/* Bonus Clip badge: surfaced from network studios (IndustryInvaders, PawgQueen, …). */
.clip-badge--bonus{
  background:#1f8a3a;
  box-shadow:0 2px 8px rgba(31,138,58,.45);
}
.clip-dur{
  position:absolute;bottom:.55rem;right:.55rem;
  background:rgba(0,0,0,.78);color:#fff;
  padding:.2rem .5rem;
  font-size:.74rem;font-weight:800;
  font-variant-numeric:tabular-nums;
}
.clip-info{padding:.7rem .8rem 1rem}
.clip-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;font-size:.85rem;
  color:#fff;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.clip-tile:hover .clip-title{color:var(--red)}
/* Soft mode: blur + lock overlay, anchor routes to join. */
.clip-tile.is-locked .clip-thumb img{filter:blur(22px) brightness(.65) saturate(.6);transform:scale(1.1)}
.clip-tile.is-locked:hover .clip-thumb img{transform:scale(1.12)}
.clip-tile.is-locked .clip-info{display:none}

/* ── Reels grid + TikTok-style viewer ────────────────────────────────── */
.reels-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--gap);
  padding:0 1rem;
}
@media(max-width:1100px){.reels-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.reels-grid{grid-template-columns:repeat(3,1fr);padding:0 .5rem}}
@media(max-width:600px){.reels-grid{grid-template-columns:repeat(2,1fr)}}
.reel-tile{
  position:relative;display:block;
  background:#0a0a0a;overflow:hidden;
  border:0;padding:0;cursor:pointer;
  aspect-ratio:9/16;
  transition:transform .15s;
}
.reel-tile:hover{transform:translateY(-2px)}
.reel-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.reel-tile:hover img{transform:scale(1.04)}
.reel-tile .reel-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;
  background:rgba(0,0,0,.55);
  border:2.5px solid rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,.45);
}
.reel-tile .reel-play::after{
  content:'';display:block;
  width:0;height:0;
  border-style:solid;border-width:9px 0 9px 14px;
  border-color:transparent transparent transparent #fff;
  margin-left:4px;
}
/* Soft-mode locked tile: strong blur + center "Join to Unlock" overlay,
   routes to the join URL on click (no viewer). */
.reel-tile.is-locked{
  text-decoration:none;color:inherit;
}
.reel-tile.is-locked img{
  filter:blur(22px) brightness(.65) saturate(.6);
  transform:scale(1.1); /* hide blur bleed at edges */
}
.reel-tile.is-locked:hover img{transform:scale(1.12)}
.reel-tile .reel-lock-overlay,
.clip-tile .reel-lock-overlay{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.6rem;
  text-align:center;padding:0 .7rem;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.55));
  pointer-events:none;
}
.reel-tile .reel-lock-icon,
.clip-tile .reel-lock-icon{
  font-size:1.5rem;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));
}
.reel-tile .reel-lock-text,
.clip-tile .reel-lock-text{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.08em;
  font-size:.78rem;color:#fff;
  background:var(--red);
  padding:.45rem .85rem;
  box-shadow:0 6px 18px rgba(230,38,61,.5);
}
.reel-tile.is-locked:hover .reel-lock-text,
.clip-tile.is-locked:hover .reel-lock-text{background:var(--red-deep)}

.reel-tile .reel-models{
  position:absolute;left:.5rem;right:.5rem;bottom:2rem;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  text-shadow:0 2px 6px rgba(0,0,0,.9);
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Full-screen viewer */
body.rv-open{overflow:hidden}
.reels-viewer{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  height:100dvh;
  z-index:200;
  background:#000;
  display:flex;align-items:stretch;justify-content:center;
  overscroll-behavior:none;
}
.reels-viewer[hidden]{display:none}
/* Stage hugs the portrait video on desktop so controls sit ON the video.
   On mobile it spans the full viewport. */
.rv-stage{
  position:relative;
  width:min(100vw,calc(100dvh*9/16));
  height:100dvh;            /* dynamic viewport, accounts for mobile URL bar */
  height:100vh;             /* fallback for older browsers */
  height:100dvh;
  background:#000;
}
.rv-stage .rv-close,
.rv-stage .rv-mute{
  position:absolute;top:1rem;z-index:3;
  width:42px;height:42px;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-size:1.4rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.rv-stage .rv-close{right:1rem;font-size:1.6rem;font-weight:700}
.rv-stage .rv-mute{right:4rem;font-size:1.05rem}
.rv-feed{
  height:100vh;
  height:100dvh;
  overflow-y:auto;
  overscroll-behavior:contain;      /* don't chain-scroll the body underneath */
  scroll-snap-type:y mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;             /* Firefox */
  -ms-overflow-style:none;          /* IE/legacy Edge */
}
.rv-feed::-webkit-scrollbar{display:none} /* Chrome/Safari/new Edge */
.rv-slide{
  position:relative;
  height:100vh;
  height:100dvh;
  scroll-snap-align:start;
  scroll-snap-stop:always;          /* prevents over-scroll past a slide */
  display:flex;align-items:center;justify-content:center;
  background:#000;
}
.rv-slide video{
  width:100%;height:100%;
  object-fit:cover;background:#000;
  display:block;cursor:pointer;
}
/* Per-slide overlays: title + performer chips top-left,
   "Watch Full Scene" CTA bottom-left. */
.rv-slide .rv-info-top{
  position:absolute;top:1rem;left:1.2rem;right:6.5rem;
  z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;
  pointer-events:none;
}
.rv-slide .rv-info-bottom{
  position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);
  z-index:2;pointer-events:none;
}
.rv-slide .rv-info-top > *,
.rv-slide .rv-info-bottom > *{pointer-events:auto}
.rv-slide .rv-actors{display:flex;flex-wrap:wrap;gap:.4rem}
.rv-slide .rv-actor{
  display:inline-block;
  background:rgba(0,0,0,.55);
  color:#fff;text-decoration:none;
  padding:.3rem .7rem;border-radius:99px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:background .15s,color .15s;
}
.rv-slide .rv-actor:hover{background:var(--red);color:#fff}
.rv-slide .rv-niches{display:flex;flex-wrap:wrap;gap:.35rem}
.rv-slide .rv-niche{
  display:inline-block;
  background:rgba(237,28,36,.18);
  color:#ff8585;
  border:1px solid rgba(237,28,36,.45);
  padding:.22rem .6rem;border-radius:99px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.06em;
  text-decoration:none;
  transition:background .15s,color .15s,border-color .15s;
}
.rv-slide .rv-niche:hover{background:var(--red);color:#fff;border-color:var(--red)}
.rv-slide .rv-caption{
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.4rem,3.4vw,2.2rem);
  letter-spacing:-.005em;
  text-shadow:0 3px 12px rgba(0,0,0,.9);
  line-height:1.05;
}
.rv-slide .rv-cta{
  display:inline-block;
  background:var(--red);color:#fff;
  padding:1.15rem 2.1rem;
  font-family:'Montserrat',sans-serif;font-weight:900;
  text-transform:uppercase;letter-spacing:.07em;font-size:1.1rem;
  box-shadow:0 10px 30px rgba(230,38,61,.5);
  white-space:nowrap;
}
.rv-slide .rv-cta:hover{background:var(--red-deep);color:#fff}
@media(max-width:600px){
  .rv-slide .rv-info-top{top:1rem;left:1rem;right:6rem;gap:.5rem}
  /* Keep the CTA horizontally centered on mobile too (don't reset left). */
  .rv-slide .rv-info-bottom{bottom:1.2rem}
  .rv-slide .rv-cta{font-size:.95rem;padding:.95rem 1.5rem}
}

/* ── /adultprime page ─────────────────────────────────────────────────── */
.ap-hero{
  background:linear-gradient(180deg,#0d0d0d 0%,#000 100%);
  border-bottom:1px solid #1a1a1a;
  padding:3.5rem 1.5rem 3rem;
  text-align:center;
}
@media(max-width:760px){
  .ap-hero{padding:1rem 1rem .8rem}
  .ap-hero .ap-kicker{margin-bottom:.4rem;font-size:.6rem;padding:.2rem .55rem;letter-spacing:.15em}
  .ap-hero h1{font-size:clamp(1.6rem,6.5vw,2rem);margin-bottom:0;line-height:.95}
  .ap-hero .ap-lede{display:none}
}
.ap-hero-inner{max-width:780px;margin:0 auto}
.ap-kicker{
  display:inline-block;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.2em;
  font-size:.72rem;color:var(--red);
  padding:.35rem .85rem;
  border:1px solid var(--red);border-radius:30px;
  margin-bottom:1rem;
}
.ap-hero h1{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(2.2rem,7vw,4.2rem);
  letter-spacing:-.01em;line-height:.95;
  margin-bottom:1rem;
}
.ap-hero .ap-lede{
  color:var(--muted);font-size:clamp(.95rem,2vw,1.15rem);
  line-height:1.55;max-width:680px;margin:0 auto;
}
.ap-hero .ap-lede strong{color:#fff}

.ap-page{max-width:1400px;margin:0 auto;padding:2.5rem 1.5rem 3rem}
@media(max-width:760px){.ap-page{padding:.6rem 1rem 2rem}}

.ap-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--gap);margin-bottom:3rem;
}
.ap-stat{
  background:#0a0a0a;border:1px solid #1a1a1a;
  padding:1.5rem 1rem;text-align:center;
}
.ap-stat-num{
  font-family:'Montserrat',sans-serif;
  font-weight:900;font-size:clamp(1.6rem,3vw,2.2rem);
  color:var(--red);line-height:1;margin-bottom:.4rem;
}
.ap-stat-lbl{
  font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:.74rem;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--muted);
}
@media(max-width:760px){
  .ap-stats{grid-template-columns:repeat(4,1fr);margin-bottom:1rem;gap:4px}
  .ap-stat{padding:.55rem .25rem}
  .ap-stat-num{font-size:.95rem;margin-bottom:.1rem}
  .ap-stat-lbl{font-size:.52rem;letter-spacing:.06em;line-height:1.15}
}

.ap-intro{max-width:780px;margin:0 auto 3rem;text-align:center}
.ap-intro h2{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.4rem,3vw,2rem);line-height:1.1;
  margin-bottom:1.2rem;letter-spacing:-.005em;
}
.ap-intro p{
  color:var(--muted);line-height:1.65;font-size:.98rem;
  margin-bottom:.9rem;
}
.ap-intro p strong{color:#fff}
@media(max-width:760px){
  .ap-intro{margin-bottom:1.4rem}
  .ap-intro h2{font-size:1.15rem;margin-bottom:.6rem}
  .ap-intro p{font-size:.82rem;line-height:1.5;margin-bottom:.5rem}
  /* Hide the second intro paragraph on mobile to keep the studios above the fold. */
  .ap-intro p:nth-child(n+3){display:none}
}

.ap-section-h{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.3rem,2.8vw,1.8rem);
  text-align:center;margin:1rem 0 1.6rem;
  letter-spacing:-.005em;
}
@media(max-width:760px){
  .ap-section-h{font-size:1.1rem;margin:.4rem 0 .8rem}
}

.ap-studios{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--gap);
}
@media(max-width:900px){.ap-studios{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ap-studios{grid-template-columns:1fr}}
.ap-studio-card{
  display:flex;gap:1rem;
  padding:1.2rem;
  background:#0a0a0a;border:1px solid #1a1a1a;
  color:inherit;text-decoration:none;
  transition:transform .15s,border-color .15s,background .15s;
}
.ap-studio-card:hover{transform:translateY(-2px);border-color:var(--red);background:#0e0e0e}
.ap-studio-card.is-self{border-color:rgba(237,28,36,.5);background:rgba(237,28,36,.04)}
.ap-studio-logo{
  flex-shrink:0;
  width:110px;height:110px;
  display:flex;align-items:center;justify-content:center;
  background:#000;border:1px solid #1a1a1a;
  padding:.5rem;
}
.ap-studio-logo img{max-width:100%;max-height:100%;object-fit:contain}
.ap-studio-logo.ap-plus{color:var(--red);font-size:3rem;font-weight:900;line-height:1}
@media(max-width:520px){
  .ap-studio-logo{width:88px;height:88px}
}
.ap-studio-body h3{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:.95rem;letter-spacing:.02em;
  color:#fff;margin-bottom:.4rem;
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
}
.ap-studio-body p{
  color:var(--muted);font-size:.82rem;line-height:1.45;
}
.ap-self-tag{
  display:inline-block;
  background:var(--red);color:#fff;
  font-size:.6rem;font-weight:900;
  padding:.15rem .45rem;letter-spacing:.1em;
}

.ap-cta{
  margin-top:3rem;
  background:linear-gradient(180deg,#101010,#050505);
  border:1px solid #1f1f1f;
  padding:2.5rem 1.5rem;text-align:center;
}
.ap-cta h2{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.5rem,3.5vw,2.4rem);
  letter-spacing:-.005em;line-height:1.05;
  margin-bottom:.8rem;
}
.ap-cta p{color:var(--muted);max-width:560px;margin:0 auto 1.5rem;line-height:1.55}
.ap-cta-btn{
  display:inline-block;
  background:var(--red);color:#fff;
  padding:1.1rem 2.2rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:1rem;
  box-shadow:0 10px 30px rgba(230,38,61,.45);
  transition:background .15s,transform .15s;
}
.ap-cta-btn:hover{background:var(--red-deep);transform:translateY(-2px);color:#fff}

/* ── Live Girls block (6-up cam category grid) ───────────────────────── */
@keyframes lg-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.livegirls-section .section-head h1,
.section-head h2{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.lg-count{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.25rem .65rem;
  background:rgba(237,28,36,.16);
  border:1px solid rgba(237,28,36,.45);
  color:#ff8585;
  font-family:'Montserrat',sans-serif;
  font-size:.7rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;
  border-radius:30px;
}
.lg-count::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:var(--red);display:inline-block;
  animation:lg-pulse 1.4s infinite;
}
.lg-watch{
  font-family:'Montserrat',sans-serif;font-weight:900;
  text-transform:uppercase;letter-spacing:.1em;
  font-size:.78rem;color:var(--red);white-space:nowrap;
}
.lg-watch:hover{color:#fff}

.livegirls-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--gap);
  padding:0 1rem;
}
@media(max-width:1100px){.livegirls-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.livegirls-grid{grid-template-columns:repeat(2,1fr)}}
.livegirl-card{
  display:block;text-decoration:none;color:inherit;
  transition:transform .25s,box-shadow .25s;
}
.livegirl-card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 40px rgba(0,0,0,.55),0 0 0 1px var(--red);z-index:3}
.livegirl-thumb{
  position:relative;aspect-ratio:1/1.25;
  overflow:hidden;background:#0a0a0a;
}
.livegirl-thumb img,
.livegirl-thumb .livegirl-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.livegirl-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.85) 100%);
  pointer-events:none;
}
.livegirl-pill{
  position:absolute;top:.55rem;left:.55rem;z-index:2;
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.25rem .55rem;
  background:rgba(15,15,15,.78);color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.62rem;font-weight:900;letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:30px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.livegirl-pill .lg-dot{
  width:7px;height:7px;border-radius:50%;
  background:#1ec06b;
  animation:lg-pulse 1.4s infinite;
}
.livegirl-label{
  position:absolute;left:.85rem;right:.85rem;bottom:.7rem;z-index:2;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.95rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  text-shadow:0 2px 8px rgba(0,0,0,.7);
}

/* ── Feature rows (Latest Videos) ──────────────────────────────────────── */
/* Each row: big 16:9 plate left + portrait model side(s) right + title below. */
.feature-row{display:block;padding:0;margin-bottom:0}
.feature-item{
  display:grid;
  grid-template-columns:2fr 1fr;
  grid-template-areas:"big side" "info info";
  gap:var(--gap);
  margin-bottom:calc(var(--gap) * 4);
}
.feature-item.no-side{
  grid-template-columns:1fr;
  grid-template-areas:"big" "info";
}

/* Decorative divider between feature rows. Thin red line with a centered diamond. */
.feature-divider{
  position:relative;
  height:1px;
  margin:1rem 8% 3rem;
  background:linear-gradient(90deg,transparent 0%,rgba(237,28,36,.45) 50%,transparent 100%);
}
.feature-divider::after{
  content:'◆';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  color:var(--red);
  background:#000;
  padding:0 .9rem;
  font-size:.95rem;
  line-height:1;
}
@media(max-width:600px){
  .feature-divider{margin:.5rem 4% 2rem}
}
.feature-item .big{
  grid-area:big;
  display:block;position:relative;overflow:hidden;background:#0a0a0a;
}
.feature-item .big .thumb{
  display:block;
  width:100%;aspect-ratio:16/9;
  position:relative;overflow:hidden;
}
.feature-item .big .thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.feature-item .big:hover .thumb img{transform:scale(1.03)}
.feature-item .big .thumb video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .25s;
}
.feature-item .big:hover .thumb video{opacity:1}

/* Desktop-only hover overlay + CTA on the big plate. */
.feature-item .big .big-overlay{
  position:absolute;inset:0;z-index:3;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.65) 100%);
  opacity:0;transition:opacity .25s ease;
  pointer-events:none; /* let thumb keep receiving hover */
}
.feature-item .big:hover .big-overlay{opacity:1}
.feature-item .big .big-cta{
  pointer-events:auto;
  background:var(--red);color:#fff;
  padding:1.1rem 1.8rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:1.05rem;
  transform:translateY(8px);transition:transform .25s ease,background .15s;
}
.feature-item .big:hover .big-cta{transform:translateY(0)}
.feature-item .big .big-cta:hover{background:var(--red-deep)}
@media(hover:none),(max-width:760px){
  .feature-item .big .big-overlay{display:none}
}
.feature-item .models{
  grid-area:side;
  display:grid;gap:var(--gap);
  grid-auto-rows:1fr;
}
.feature-item .model-side{
  position:relative;display:block;
  background:#0a0a0a;overflow:hidden;
  min-height:0;
}
.feature-item .model-side img{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  transition:transform .5s ease;
}
.feature-item .model-side:hover img{transform:scale(1.04)}
.feature-item .model-side .name{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.4rem .6rem .7rem;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.85) 100%);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:.92rem;letter-spacing:.02em;
  text-align:center;
}
.feature-item .info{
  grid-area:info;
  text-align:center;
  padding:1.4rem 1rem 0;
}
.feature-item .info .credits{
  font-size:.78rem;font-weight:800;
  color:var(--muted);
  text-transform:uppercase;letter-spacing:.2em;
  margin-bottom:.6rem;
}
.feature-item .info .credits .dot{margin:0 .35rem;color:var(--red)}
.feature-item .info .title-link{display:inline-block}
.feature-item .info .title{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.2rem,3.2vw,2rem);
  color:#fff;letter-spacing:-.005em;
  margin-bottom:.5rem;
}
.feature-item .info .title-link:hover .title{color:var(--red)}
.feature-item .info .sub{
  font-size:.74rem;font-weight:700;
  color:var(--muted);
  text-transform:uppercase;letter-spacing:.18em;
}
.feature-item .info .sub .dot{margin:0 .35rem;color:var(--red)}
.feature-item .dur{
  position:absolute;top:.7rem;right:.7rem;
  background:rgba(0,0,0,.78);color:#fff;
  padding:.3rem .6rem;font-size:.82rem;
  font-weight:800;font-variant-numeric:tabular-nums;
}
.feature-item .badge-4k{
  position:absolute;top:.7rem;left:.7rem;
  background:var(--red);color:#fff;
  padding:.25rem .55rem;font-size:.72rem;font-weight:900;
  letter-spacing:.08em;
}
.feature-item .badge-included{
  position:absolute;bottom:.7rem;left:.7rem;
  background:#1f8a3a;color:#fff;
  padding:.3rem .65rem;font-size:.72rem;font-weight:900;
  letter-spacing:.1em;text-transform:uppercase;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
/* Stacked badges top-right: duration on top, views below. */
.feature-item .views{
  position:absolute;top:2.6rem;right:.7rem;
  background:rgba(0,0,0,.78);color:#fff;
  padding:.3rem .6rem;font-size:.78rem;font-weight:800;
  letter-spacing:.04em;
}
@media(max-width:760px){
  .feature-item{
    grid-template-columns:1fr;
    grid-template-areas:"big" "info";
  }
  .feature-item .models{display:none}
}

/* ── 2-col big-image grid (videos.php / top-rated) ─────────────────────── */
.big-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--gap);
}
@media(max-width:760px){
  .big-grid{grid-template-columns:1fr}
}
/* Overlay shown on top of the censored fallback image. The JS error handler
   (head.php) inserts .censored-overlay into the .thumb / .video-player when
   it swaps in censored.jpg. */
.censored-overlay{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:0 1rem;gap:.45rem;
  color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 100%);
  pointer-events:none;
  z-index:5;
}
.censored-overlay span{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.08em;
  font-size:clamp(.7rem,2.2vw,1.6rem);
  text-shadow:0 2px 8px rgba(0,0,0,.85);
}
.censored-overlay small{
  font-family:'Montserrat',sans-serif;
  font-weight:800;text-transform:uppercase;letter-spacing:.12em;
  font-size:clamp(.55rem,1.3vw,.85rem);
  color:var(--gold-bright,#ffd84d);
  text-shadow:0 2px 6px rgba(0,0,0,.85);
}
/* Hide hover-CTA + play-icon on censored tiles (they'd clash with the overlay). */
.thumb.is-censored .play-icon,
.thumb.is-censored .hover-cta{display:none}
/* When the tile is censored, lift the network logo above the centered text
   so it sits at the top of the tile instead of overlapping the message. */
.thumb.is-censored img.site-logo,
.big-grid .thumb.is-censored img.site-logo{
  top:42%;
  transform:translate(-50%,-100%);
  max-height:18%;max-width:42%;
  z-index:6;
}

/* Generic play-icon + WATCH VIDEO hover-CTA inside any .thumb.
   Default: big circular play icon. Desktop hover: icon fades, red CTA appears. */
.thumb .play-icon{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:84px;height:84px;border-radius:50%;
  background:rgba(0,0,0,.55);
  border:3px solid rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:2;
  transition:opacity .25s ease,transform .25s ease;
  box-shadow:0 4px 18px rgba(0,0,0,.5);
}
.thumb .play-icon::after{
  content:'';display:block;
  width:0;height:0;
  border-style:solid;border-width:14px 0 14px 22px;
  border-color:transparent transparent transparent #fff;
  margin-left:6px;
}
.thumb .hover-cta{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:var(--red);color:#fff;
  padding:1rem 1.6rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:1rem;white-space:nowrap;
  opacity:0;pointer-events:none;z-index:3;
  transition:opacity .25s ease;
}
/* Hover on big-grid + external cards: swap play-icon for WATCH VIDEO. */
.big-grid a:hover .thumb .play-icon,
.big-grid .external:hover .thumb .play-icon{opacity:0;transform:translate(-50%,-50%) scale(.85)}
.big-grid a:hover .thumb .hover-cta,
.big-grid .external:hover .thumb .hover-cta{opacity:1}
/* Hide the site logo on hover so the WATCH VIDEO button has the spotlight. */
.big-grid .external:hover .thumb img.site-logo{opacity:0;transition:opacity .25s ease}
/* Feature-card has its own .big-overlay CTA — fade out the default icon on hover too. */
.feature-item .big:hover .thumb .play-icon{opacity:0;transform:translate(-50%,-50%) scale(.85)}
/* Touch devices: keep default icon, no hover CTA. */
@media(hover:none){
  .thumb .hover-cta{display:none}
}

.big-grid a,.big-grid .external{display:block;position:relative;background:#0a0a0a;overflow:hidden}
/* Site logo overlay on external scene thumbs. Top-center on the image.
   `.big-grid .thumb img.site-logo` beats the generic `.big-grid .thumb img`
   that sets width/height to 100%. */
.big-grid .thumb img.site-logo{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:auto;height:auto;
  max-width:55%;max-height:35%;
  object-fit:contain;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.85));
  pointer-events:none;
  z-index:2;
  transition:none;
}
.big-grid .thumb{
  width:100%;
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
}
.big-grid .thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.big-grid a:hover .thumb img:not(.site-logo){transform:scale(1.04)}
.big-grid .thumb video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .25s;
}
.big-grid a:hover .thumb video{opacity:1}
.big-grid .info{
  text-align:center;
  padding:1rem 1rem 1.6rem;
}
.big-grid .info .title{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1rem,2vw,1.35rem);
  color:#fff;line-height:1.15;
  letter-spacing:-.005em;
  margin-bottom:.35rem;
}
.big-grid .info .sub{
  font-size:.72rem;font-weight:700;
  color:var(--muted);
  text-transform:uppercase;letter-spacing:.18em;
}
.big-grid .info .sub .dot{margin:0 .35rem;color:var(--red)}
.big-grid .dur{
  position:absolute;top:.6rem;right:.6rem;
  background:rgba(0,0,0,.78);color:#fff;
  padding:.25rem .55rem;font-size:.78rem;
  font-weight:800;font-variant-numeric:tabular-nums;
}
.big-grid .badge-4k{
  position:absolute;top:.6rem;left:.6rem;
  background:var(--red);color:#fff;
  padding:.2rem .5rem;font-size:.68rem;font-weight:900;
  letter-spacing:.08em;
}
.big-grid .badge-included{
  position:absolute;bottom:.7rem;left:.7rem;
  background:#1f8a3a;color:#fff;
  padding:.45rem .85rem;font-size:.88rem;font-weight:900;
  letter-spacing:.12em;text-transform:uppercase;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
/* Stacked badges top-right: duration on top, views below. */
.big-grid .views{
  position:absolute;top:2.4rem;right:.6rem;
  background:rgba(0,0,0,.78);color:#fff;
  padding:.2rem .5rem;font-size:.72rem;font-weight:800;
}

/* ── Featured Guest banner (edge-to-edge) ──────────────────────────────── */
.guest-banner{
  position:relative;
  width:100%;
  aspect-ratio:5/2;
  min-height:280px;
  overflow:hidden;
  background:#0a0a0a;
}
.guest-banner img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.guest-banner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 40%);
}
.guest-banner .gb-overlay{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  padding:0 6vw;text-align:right;
}
.guest-banner .gb-eyebrow{
  font-size:.78rem;font-weight:700;
  color:#fff;letter-spacing:.4em;text-transform:uppercase;
  margin-bottom:.6rem;opacity:.9;
}
.guest-banner .gb-name{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(2rem,6vw,4.4rem);
  line-height:.95;color:#fff;letter-spacing:-.01em;
  margin-bottom:1.2rem;
}
.guest-banner .gb-cta{
  background:var(--red);color:#fff;
  padding:.85rem 1.6rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:.95rem;
}
.guest-banner .gb-cta:hover{background:var(--red-deep)}
/* Soft variant of the banner is much lighter — flip overlay text to black so
   it stays legible against the brighter background. */
body.soft .guest-banner::after{
  background:linear-gradient(90deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 40%);
}
body.soft .guest-banner .gb-eyebrow{color:#0a0a0a;opacity:1}
body.soft .guest-banner .gb-name{
  color:#0a0a0a;
  text-shadow:0 1px 2px rgba(255,255,255,.4);
}
@media(max-width:600px){
  .guest-banner{aspect-ratio:4/5;min-height:auto}
  .guest-banner .gb-overlay{align-items:center;text-align:center;padding:0 1rem}
}

/* ── Model row (portrait, edge-to-edge) ────────────────────────────────── */
.model-row{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--gap);
}
@media(max-width:1100px){.model-row{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.model-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:460px){.model-row{grid-template-columns:repeat(2,1fr)}}
.model-tile{display:block;background:#0a0a0a;position:relative;overflow:hidden}
.model-tile .ph{
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#0a0a0a;
}
.model-tile .ph img{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  transition:transform .5s ease;
}
.model-tile:hover .ph img{transform:scale(1.04)}
.model-tile .name{
  text-align:center;
  padding:.85rem .5rem 1.3rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:.95rem;
  text-transform:uppercase;letter-spacing:.04em;
  color:#fff;
}
.model-tile .name .count{
  display:block;
  font-size:.7rem;font-weight:700;
  color:var(--red);
  margin-top:.25rem;letter-spacing:.12em;
}
@media(max-width:700px){
  .model-tile .name{font-size:.78rem;padding:.55rem .4rem .95rem;letter-spacing:.02em}
  .model-tile .name .count{font-size:.6rem;margin-top:.2rem}
}

/* ── Model grid (models.php), same as model-row but more rows ─────────── */
.model-grid-page{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--gap);
}
@media(max-width:1100px){.model-grid-page{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.model-grid-page{grid-template-columns:repeat(3,1fr)}}
@media(max-width:460px){.model-grid-page{grid-template-columns:repeat(2,1fr)}}

/* ── Detail page (video) ───────────────────────────────────────────────── */
.video-detail{padding:0;max-width:none;display:flex;flex-direction:column}
/* Header (title + date/duration/views). On desktop it sits below the player,
   on mobile it lifts above the player via flex order. */
.video-header{
  max-width:1100px;margin:0 auto;width:100%;
  padding:2.4rem 1.5rem 0;
}
.video-header h1{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.6rem,4.5vw,3rem);
  letter-spacing:-.01em;line-height:.95;
  text-align:center;
  margin-bottom:1rem;
}
.video-header .meta-row{
  display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;
  color:var(--muted);font-size:.85rem;
  font-weight:600;
}
.video-header .meta-row strong{color:#fff}
@media(min-width:601px){
  .video-detail .video-player{order:1}
  .video-detail .video-header{order:2}
  .video-detail .video-info{order:3;padding-top:0}
}
@media(max-width:600px){
  .video-header{padding:1.3rem 1.2rem .2rem}
  .video-header h1{font-size:clamp(1.4rem,5.5vw,2rem);margin-bottom:.7rem}
  .video-header .meta-row{gap:1rem;font-size:.78rem}
}
.video-player{
  /* Cap the player to whatever fits above the fold. The reserved-h tokens
     subtract the sticky site header (desktop) plus the title block and
     below-player CTA (mobile) so the 16:9 player + its button never push
     content out of the viewport. */
  --vp-reserved: 90px;
  width:min(100%, calc((100dvh - var(--vp-reserved)) * 16 / 9));
  aspect-ratio:16/9;
  margin:0 auto;
  background:#000;position:relative;overflow:hidden;
}
.video-player video,
.video-player .player-poster{width:100%;height:100%;object-fit:cover;display:block}
.video-player .play-overlay{
  position:absolute;inset:0;
  display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:2rem;
  background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.55) 100%);
}
.video-player .play-overlay a{
  background:var(--red);color:#fff;
  padding:1.1rem 1.8rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:1.05rem;
}
/* Mobile: lift the Watch Full Scene button out of the overlay and render
   it below the trailer at the same width as the "Unlock Full Scenes" CTA
   further down the page (matches .video-info's 1.5rem side padding). */
@media(max-width:600px){
  .video-player{
    overflow:visible;
    /* Mobile reserves more: site header (~58px) + article H1/meta block
       (~120px) + the lifted Watch/Unlock CTA below the player (~80px). */
    --vp-reserved:260px;
  }
  .video-player .play-overlay{
    position:static;inset:auto;
    background:none;
    display:block;
    margin-top:1.4rem;
    padding:0 1.5rem;
  }
  .video-player .play-overlay a{
    display:block;text-align:center;
    padding:1.1rem 1rem;font-size:1rem;
    box-shadow:0 8px 24px rgba(230,38,61,.35);
  }
}
.video-info{
  max-width:1100px;margin:0 auto;
  padding:2.4rem 1.5rem;
}
.video-info h1{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(1.6rem,4.5vw,3rem);
  letter-spacing:-.01em;line-height:.95;
  text-align:center;
  margin-bottom:1rem;
}
.video-info .credits{
  text-align:center;
  font-size:.85rem;font-weight:700;
  color:var(--muted);
  text-transform:uppercase;letter-spacing:.2em;
  margin-bottom:1.4rem;
}
.video-info .credits a{color:#fff}
.video-info .credits a:hover{color:var(--red)}
.video-info .credits .dot{margin:0 .5rem;color:var(--red)}

/* Performer chips on video detail: small avatar + name pill. */
.performer-chips{
  display:flex;flex-wrap:wrap;gap:.7rem;
  justify-content:center;
  margin-top:1.6rem;margin-bottom:1.6rem;
}
.performer-chips .chip{
  display:inline-flex;align-items:center;gap:.6rem;
  background:#111;
  padding:.3rem 1rem .3rem .3rem;
  border-radius:999px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;text-transform:uppercase;
  font-size:.78rem;letter-spacing:.08em;
  color:#fff;white-space:nowrap;
  transition:background .15s,color .15s;
}
.performer-chips .chip:hover{background:var(--red);color:#fff}
.performer-chips .chip img{
  width:38px;height:38px;border-radius:50%;
  object-fit:cover;object-position:top center;
  display:block;background:#000;flex-shrink:0;
}
/* Mobile: tighten chips so multiple performers fit on one line. */
@media(max-width:600px){
  .performer-chips{gap:.35rem;margin-top:.3rem}
  .performer-chips .chip{
    padding:.2rem .7rem .2rem .2rem;
    gap:.4rem;
    font-size:.68rem;letter-spacing:.04em;
  }
  .performer-chips .chip img{width:28px;height:28px}
}
.video-info .meta-row{
  display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;
  color:var(--muted);font-size:.85rem;margin-bottom:1.6rem;
  font-weight:600;
}
.video-info .meta-row strong{color:#fff}
.video-niches{
  display:flex;flex-wrap:wrap;gap:.4rem;
  justify-content:center;
  margin:1rem 0 1.8rem;
}
.tag{
  background:#111;color:#fff;
  padding:.45rem .8rem;
  font-size:.72rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
}
.tag.bbc{background:var(--red);color:#fff}
.video-desc{
  font-size:1rem;line-height:1.7;
  color:#d4d4d4;
  max-width:780px;margin:0 auto 2rem;
  text-align:center;
}
/* "Unlock Full HD Scene" CTA at the bottom of the video detail. */
.unlock-cta{
  display:inline-block;
  background:var(--red);color:#fff;
  padding:1rem 1.8rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:1rem;text-decoration:none;
  box-shadow:0 8px 24px rgba(230,38,61,.35);
  transition:background .15s,transform .15s;
}
.unlock-cta:hover{background:var(--red-deep);transform:translateY(-2px);color:#fff}
@media(max-width:600px){
  .unlock-cta{
    display:block;width:100%;
    padding:1.1rem 1rem;font-size:1rem;
    text-align:center;
  }
}

/* ── Model detail ──────────────────────────────────────────────────────── */
.model-detail{padding:0}
.model-hero{
  display:grid;
  grid-template-columns:380px 1fr;
  grid-template-areas:"photo meta" "photo bio";
  gap:0;
  max-width:none;
  align-items:start;
}
.model-hero .photo{
  grid-area:photo;
  width:100%;aspect-ratio:3/4;overflow:hidden;position:relative;
}
.model-hero .photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.model-hero .model-meta{grid-area:meta;padding:3rem 3vw 1.4rem}
.model-hero .bio{grid-area:bio;padding:0 3vw 3rem}
.model-hero h1{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:clamp(2rem,6vw,4rem);line-height:.95;
  margin-bottom:1rem;letter-spacing:-.01em;
}
.model-hero .stats{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:baseline;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.model-hero .stats strong{color:var(--red);font-weight:900;font-size:1.05rem;letter-spacing:0;margin-right:.4rem}
.model-hero .bio{font-size:.95rem;line-height:1.7;color:#d4d4d4}
.model-hero .bio-text{margin:0}
.model-hero .bio-toggle{
  display:inline-block;margin-top:.5rem;
  color:var(--red);font-weight:900;text-transform:uppercase;
  letter-spacing:.08em;font-size:.78rem;
  background:none;border:0;padding:0;cursor:pointer;
}
.model-hero .bio-toggle:hover{color:#fff}
/* Bio is never clamped on desktop, so the toggle is irrelevant there. */
@media(min-width:761px){
  .model-hero .bio-toggle{display:none !important}
}

@media(max-width:760px){
  .model-hero{
    grid-template-columns:1fr;
    grid-template-areas:"stack" "bio";
  }
  .model-hero .photo{
    grid-area:stack;aspect-ratio:auto;
    height:38vh;min-height:240px;max-height:360px;
  }
  .model-hero .photo::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.92) 100%);
    pointer-events:none;
  }
  .model-hero .model-meta{
    grid-area:stack;
    align-self:end;
    z-index:2;
    padding:1.4rem 1.2rem 1rem;
    color:#fff;
    text-align:center;
    text-shadow:0 2px 6px rgba(0,0,0,.7);
  }
  .model-hero .model-meta h1{color:#fff;margin-bottom:.5rem}
  .model-hero .stats{justify-content:center;color:#ddd;gap:1rem}
  .model-hero .stats strong{color:var(--red)}
  .model-hero .bio{grid-area:bio;padding:1rem 1.2rem 1rem;text-align:center;font-size:.9rem}
  /* Bio clamped to 3 lines until "Read more" is tapped */
  .model-hero .bio:not(.expanded) .bio-text{
    display:-webkit-box;
    -webkit-line-clamp:3;line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

/* ── Search page form ──────────────────────────────────────────────────── */
.search-page{
  display:flex;gap:.4rem;
  max-width:640px;margin:0 auto;
  padding:0 1rem 1.5rem;
}
.search-page input{
  flex:1;
  background:#111;color:#fff;
  border:1px solid #1a1a1a;
  padding:.95rem 1.1rem;
  font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:1rem;
  letter-spacing:.02em;
}
.search-page input:focus{outline:none;border-color:var(--red);background:#000}
.search-page button{
  background:var(--red);color:#fff;
  padding:.95rem 1.5rem;
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  font-size:.9rem;
  border:0;cursor:pointer;
  transition:background .15s;
}
.search-page button:hover{background:var(--red-deep)}

/* ── Pagination ────────────────────────────────────────────────────────── */
.pagination{
  display:flex;justify-content:center;gap:.4rem;
  padding:3rem 1rem 1.5rem;flex-wrap:wrap;
}
.pagination a,.pagination span{
  padding:.7rem 1.1rem;
  background:#0a0a0a;color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:900;font-size:.9rem;
  min-width:48px;text-align:center;
  text-transform:uppercase;letter-spacing:.04em;
}
.pagination a:hover{background:var(--red)}
.pagination .cur{background:var(--red);color:#fff}
.pagination .disabled{opacity:.3;pointer-events:none}

/* ── Sort dropdown ─────────────────────────────────────────────────────── */
.toolbar{
  display:flex;justify-content:space-between;align-items:center;
  gap:1rem;padding:.5rem 1.5rem 1.2rem;flex-wrap:wrap;
  max-width:none;
}
.toolbar .count{color:var(--muted);font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}
.toolbar select{
  background:#0a0a0a;color:#fff;
  border:1px solid #1a1a1a;
  padding:.7rem 1.1rem;font-weight:800;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.08em;
}

/* ── Footer ────────────────────────────────────────────────────────────── */
footer.ftr{
  background:#000;
  padding:4rem 1.5rem 1.5rem;
  color:var(--muted);
  border-top:4px solid var(--red);
  font-size:.85rem;line-height:1.55;
}
.ftr-inner{max-width:1400px;margin:0 auto}
.ftr-cols{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1fr;
  gap:2.5rem;
  padding-bottom:2.5rem;
  border-bottom:1px solid #1a1a1a;
}
@media(max-width:900px){.ftr-cols{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:520px){.ftr-cols{grid-template-columns:1fr}}
.ftr-col h4{
  font-family:'Montserrat',sans-serif;
  font-weight:900;text-transform:uppercase;
  font-size:.9rem;letter-spacing:.1em;
  color:#fff;margin-bottom:1rem;
}
.ftr-col a{
  display:block;
  padding:.3rem 0;
  color:var(--muted);
  font-weight:600;
}
.ftr-col a:hover{color:var(--red)}
.ftr-col .logo{
  font-family:'Montserrat',sans-serif;font-weight:900;
  font-size:1.7rem;text-transform:uppercase;line-height:1;
  letter-spacing:-.01em;padding:0;margin-bottom:.8rem;
}
.ftr-col .logo .white{color:#fff}
.ftr-col .logo .red{color:var(--red)}
.ftr-col .logo:hover{color:inherit}
.ftr-tag{color:var(--muted);max-width:340px;margin-bottom:1.3rem;font-weight:500}
/* Higher specificity (.ftr-col …) needed so it beats the generic
   `.ftr-col a { display: block }` rule above, which would otherwise flatten
   the column layout into a single inline line. */
.ftr-col a.btn-footer{
  display:inline-flex;flex-direction:column;align-items:center;
  background:var(--red);color:#fff !important;
  padding:1.15rem 2.4rem;line-height:1.2;
  text-align:center;
}
.btn-footer:hover{background:var(--red-deep);color:#fff !important}
.btn-footer .bf-main{
  font-family:'Montserrat',sans-serif;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;font-size:1.3rem;
}
.btn-footer .bf-sub{
  font-size:.8rem;font-weight:700;opacity:.9;
  letter-spacing:.14em;text-transform:uppercase;margin-top:.35rem;
}

.ftr-bot{
  padding-top:2rem;
  text-align:center;
  font-size:.78rem;line-height:1.7;
  color:#7a7a7a;
}
.ftr-bot p{margin-bottom:.7rem}
.ftr-bot a{color:#9c9c9c}
.ftr-bot a:hover{color:var(--red)}
.ftr-bot .ftr-tagline{
  color:#fff;font-weight:800;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:1.2rem;
}
.ftr-bot .ftr-billing,.ftr-bot .ftr-legal-links{font-size:.75rem}
.ftr-bot .ftr-address{font-style:italic;color:#6a6a6a}
.ftr-bot .ftr-report-link{font-weight:700}
.ftr-details{
  margin:1.2rem auto;max-width:780px;text-align:left;
  border:1px solid #1a1a1a;padding:.6rem 1rem;
}
.ftr-details summary{
  cursor:pointer;font-weight:800;color:#bbb;
  text-transform:uppercase;letter-spacing:.06em;
  font-size:.78rem;padding:.3rem 0;
}
.ftr-details p{margin-top:.6rem;font-size:.74rem;color:#7a7a7a}
.ftr-badges{
  display:flex;justify-content:center;gap:1rem;
  margin:1.4rem 0 .6rem;
}
.ftr-badges img{height:32px;width:auto;display:block}
.ftr-network{
  margin-top:1rem;
  font-size:.78rem;text-transform:uppercase;
  letter-spacing:.15em;color:#9c9c9c;
}
.ftr-network strong{color:#fff;font-weight:900}

/* ── Utilities ─────────────────────────────────────────────────────────── */
.muted{color:var(--muted)}
.center{text-align:center}
.spacer{height:2rem}
.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.5rem 1.5rem;justify-content:center}
