
:root { --bg:#12110f; --card:#1c1a17; --line:#322e28; --text:#f3efe8; --muted:#b2a89c; --red:#8a1f1f; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.45 Georgia, serif; }
a { color:inherit; }
header.site { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); background:#0d0c0b; position:sticky; top:0; z-index:2; }
.logo { font-weight:700; text-decoration:none; font-size:20px; }
.logo span { color:var(--red); }
nav { display:flex; flex-wrap:wrap; gap:8px 14px; }
nav a { color:var(--muted); text-decoration:none; font:14px/1.2 system-ui, sans-serif; }
nav a.on, nav a:hover { color:#fff; }
main { max-width:1100px; margin:0 auto; padding:28px 20px 40px; }
h1 { font-size:34px; margin:0 0 8px; }
.lead { color:var(--muted); max-width:680px; margin:0 0 22px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
.video-card { background:var(--card); border:1px solid var(--line); }
.video-link { display:block; text-decoration:none; color:inherit; }
.video-wrap { position:relative; aspect-ratio:16/9; background:#000; }
.video-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.play-badge { position:absolute; left:10px; bottom:10px; background:var(--red); color:#fff; font:12px/1 system-ui, sans-serif; padding:6px 8px; }
.video-copy { padding:12px 12px 14px; }
.video-title { font:16px/1.3 system-ui, sans-serif; margin:0 0 6px; }
.video-desc { margin:0; color:var(--muted); font:14px/1.4 system-ui, sans-serif; }
.cams-bar { text-align:center; padding:8px 20px 28px; }
.cams-btn { display:inline-block; background:var(--red); color:#fff; text-decoration:none; font:18px/1 system-ui, sans-serif; font-weight:700; padding:16px 28px; border-radius:4px; }
footer { border-top:1px solid var(--line); color:var(--muted); font:13px/1.4 system-ui, sans-serif; padding:16px 20px 28px; }
.age-gate { position:fixed; inset:0; background:rgba(0,0,0,.88); z-index:20; display:flex; align-items:center; justify-content:center; padding:20px; }
.age-gate[hidden] { display:none; }
.age-box { background:#1c1a17; border:1px solid var(--line); max-width:420px; padding:28px 24px; }
.age-kicker { color:var(--red); letter-spacing:.14em; font:12px/1 system-ui, sans-serif; margin:0 0 8px; }
.age-box h2 { margin:0 0 8px; font-size:26px; }
.age-box p { color:var(--muted); margin:0 0 18px; }
.age-actions { display:flex; gap:10px; flex-wrap:wrap; }
.age-actions a { font:15px/1 system-ui, sans-serif; text-decoration:none; padding:12px 14px; }
#age-yes { background:var(--red); color:#fff; }
#age-no { border:1px solid var(--line); color:var(--muted); }

nav.offers { width:100%; display:flex; flex-wrap:wrap; gap:8px 14px; }
nav.offers a { color:#e7c27a; }
.prose { max-width:720px; }
.prose h2 { font-size:22px; margin:22px 0 8px; }
.prose h3 { font-size:18px; margin:16px 0 6px; }
.prose p, .prose li { color:var(--muted); }
.prose a { color:#e7c27a; }
.offer-row { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.offer-row a { background:#8a1f1f; color:#fff; text-decoration:none; font:15px/1 system-ui, sans-serif; font-weight:700; padding:12px 14px; border-radius:4px; }
details { border:1px solid var(--line); background:var(--card); padding:10px 12px; margin:8px 0; }
summary { cursor:pointer; font:16px/1.3 system-ui, sans-serif; }
