:root {
  color-scheme: light dark;
  --bg: #EDE6DA;
  --bg-alt: #E3DACB;
  --surface: #F6F1E7;
  --ink: #241C22;
  --ink-soft: #55494E;
  --sage: #6E7A5C;
  --accent: #FD7B15;
  --accent-text: #B84A00;
  --sage-deep: var(--accent);
  --brass: #B08A4E;
  --brass-deep: #8E6D38;
  --line: rgba(36,28,34,.14);
  --wrap: 1120px;
  --title-red: crimson;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #241C22;
    --bg-alt: #2C222A;
    --surface: #2F2530;
    --ink: #F3ECE1;
    --ink-soft: #C9BEB8;
    --sage: #9BAB86;
    --accent: #FD7B15;
    --sage-deep: var(--accent);
    --brass: #D9B679;
    --brass-deep: #E8CB99;
    --line: rgba(243,236,225,.14);
    --accent-text: var(--accent);
  }
}

[data-theme="light"] { color-scheme: light; --accent:#FD7B15; --accent-text:#B84A00; --bg:#EDE6DA; --bg-alt:#E3DACB; --surface:#F6F1E7; --ink:#241C22; --ink-soft:#55494E; --sage:#6E7A5C; --sage-deep:var(--accent); --brass:#B08A4E; --brass-deep:#8E6D38; --line:rgba(36,28,34,.14); }
[data-theme="dark"] { color-scheme: dark; --accent:#FD7B15; --accent-text:var(--accent); --bg:#241C22; --bg-alt:#2C222A; --surface:#2F2530; --ink:#F3ECE1; --ink-soft:#C9BEB8; --sage:#9BAB86; --sage-deep:var(--accent); --brass:#D9B679; --brass-deep:#E8CB99; --line:rgba(243,236,225,.14); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:16px; line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; }
button,input,select { font:inherit; }
.wrap { width:min(calc(100% - 40px), var(--wrap)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:8px; left:8px; z-index:99; background:var(--surface); padding:8px 12px; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.privacy-bar { min-height:38px; padding:7px 24px; display:flex; justify-content:center; gap:28px; background:#009688; color:#fff; font-size:.86rem; border-bottom:1px solid color-mix(in srgb,#fff 18%,transparent); }
.privacy-bar span:first-child { color:#fff; font-weight:400; }
.site-header { background:var(--bg-alt); }
.header-main { min-height:118px; display:grid; grid-template-columns:1fr minmax(300px,500px) auto; gap:26px; align-items:center; background:var(--bg-alt); }
.home .header-main,.home .site-header { background:#2C222A; }
.bookmark-us { display:none; }
.brand { display:inline-flex; align-items:center; width:max-content; text-decoration:none; }
.home .brand { gap:0; }
.home .brand-hover { display:inline-flex; align-items:center; gap:8px; max-width:0; margin-left:0; opacity:0; overflow:hidden; white-space:nowrap; pointer-events:none; transition:max-width .22s ease, opacity .18s ease, margin .22s ease; }
.home .brand-word { font-size:1.85rem; font-weight:800; letter-spacing:-.03em; line-height:1; color:#F3ECE1; }
.home .brand-play { display:grid; place-items:center; width:32px; height:32px; padding-left:2px; border-radius:50%; color:#241C22; background:var(--accent); }
.home .brand-play svg { display:block; width:16px; height:16px; fill:currentColor; }
@media (hover: hover) {
  .home .brand:hover .brand-hover,
  .home .brand:focus-visible .brand-hover { max-width:120px; margin-left:12px; opacity:1; }
}
.brand-logo { display:block; width:100px; height:100px; object-fit:contain; }
.footer-brand.brand-logo { mix-blend-mode:normal; }

@media (prefers-color-scheme: dark) {
  .brand-logo { mix-blend-mode:screen; }
}

[data-theme="light"] .brand-logo { mix-blend-mode:normal; }
[data-theme="dark"] .brand-logo { mix-blend-mode:screen; }
[data-theme="light"] .footer-brand.brand-logo,
[data-theme="dark"] .footer-brand.brand-logo { mix-blend-mode:normal; }
.search { display:flex; align-items:center; padding-right:8px; border:1px solid var(--line); background:var(--surface); border-radius:999px; }
.search:focus-within { border-color:var(--accent); }
.search input { flex:1; width:100%; min-width:0; padding:13px 15px; border:0; background:transparent; color:var(--ink); font-size:16px; }
.search input:focus,.search input:focus-visible { outline:none; }
.search input::-webkit-search-decoration,
.search input::-webkit-search-results-button,
.search input::-webkit-search-results-decoration,
.search input::-webkit-calendar-picker-indicator { display:none; appearance:none; }
.search input::-ms-clear { display:none; }
.search button,.theme-toggle { border:0; background:var(--ink); color:var(--bg); cursor:pointer; }
.search button { flex:none; width:36px; height:36px; display:grid; place-items:center; padding:0; border-radius:50%; }
.search button svg { display:block; width:18px; height:18px; fill:currentColor; }
.theme-toggle { width:44px; height:44px; border-radius:4px; font-size:1.25rem; }
.topic-nav { position:sticky; top:0; z-index:30; background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.nav-inner { display:flex; }
.nav-item { position:relative; }
.nav-inner > a,.nav-item > a { display:flex; align-items:center; gap:8px; padding:14px 22px; text-decoration:none; border-inline-start:1px solid var(--line); font-size:.94rem; }
.nav-inner > a:last-child { border-inline-end:1px solid var(--line); }
.nav-bar,.nav-toggle,.icon-btn,.nav-backdrop,.nav-drawer { display:none; }
.nav-inner > a:hover,.nav-item > a:hover,.nav-item > a.active { background:var(--surface); }
.nav-inner > a.nav-premium { background:linear-gradient(135deg,#ff321f 0%,#ed0711 48%,#ff7100 80%); color:#fff; font-weight:700; }
.nav-inner > a.nav-premium svg { width:24px; height:24px; fill:#fff; }
.nav-inner > a.nav-premium:hover { background:linear-gradient(135deg,#ff321f 0%,#ed0711 48%,#ff7100 80%); filter:brightness(1.08); }
.caret { display:inline-block; width:7px; height:7px; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:translateY(-2px) rotate(45deg); transition:transform .18s ease; }
.nav-item:hover > a .caret,.nav-item:focus-within > a .caret,.nav-item.open > a .caret { transform:translateY(2px) rotate(225deg); }
.nav-sub { position:absolute; z-index:4; top:100%; left:0; min-width:210px; margin:0; padding:6px; list-style:none; background:var(--surface); border:1px solid var(--line); opacity:0; visibility:hidden; translate:0 -8px; transition:opacity .18s ease, translate .18s ease, visibility .18s; }
.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub,.nav-item.open .nav-sub { opacity:1; visibility:visible; translate:0 0; }
.nav-sub a { display:flex; align-items:center; gap:10px; padding:8px 12px; color:var(--ink); text-decoration:none; }
.nav-inner > a svg,.nav-sub svg { flex:none; width:16px; height:16px; fill:var(--accent); }
@keyframes nav-ai-heart-pulse {
  0%, 100% { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 0 transparent); }
  50% { opacity: 0.88; transform: scale(1.14); filter: drop-shadow(0 0 8px #fd15ec); }
}
.nav-inner > a svg.nav-ai-heart,.drawer-links svg.nav-ai-heart { fill:#fd15ec; transform-origin:center; animation:nav-ai-heart-pulse 2.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .nav-inner > a svg.nav-ai-heart,.drawer-links svg.nav-ai-heart { animation:none; }
}
.nav-favicon { flex:none; width:16px; height:16px; }
.nav-sub a:hover { background:var(--bg-alt); }
.nav-sub.nav-cats { display:grid; grid-template-columns:repeat(3,minmax(160px,1fr)); min-width:min(520px,92vw); gap:2px 8px; }
.nav-sub.nav-cats a { padding:7px 10px; font-size:.88rem; }
.nav-sub.nav-cats a:hover,.nav-sub.nav-cats a:focus-visible,.nav-sub.nav-cats a[aria-current="page"] { color:var(--accent-text); }
.nav-cats a:has(.verified-badge) { gap:5px; }
.nav-cats .verified-badge { width:15px; height:15px; flex:none; }

[data-theme="light"] .topic-nav {
  background:#241C22;
  color:#F3ECE1;
  border-top-color:rgba(243,236,225,.14);
  --nav-line:rgba(243,236,225,.14);
  --nav-hover:#2C222A;
  --nav-sub-bg:#2F2530;
  --nav-sub-hover:#3A2F38;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav {
    background:#241C22;
    color:#F3ECE1;
    border-top-color:rgba(243,236,225,.14);
    --nav-line:rgba(243,236,225,.14);
    --nav-hover:#2C222A;
    --nav-sub-bg:#2F2530;
    --nav-sub-hover:#3A2F38;
  }
}
[data-theme="light"] .topic-nav .nav-inner > a,
[data-theme="light"] .topic-nav .nav-item > a { border-color:var(--nav-line); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-inner > a,
  :root:not([data-theme="dark"]) .topic-nav .nav-item > a { border-color:var(--nav-line); }
}
[data-theme="light"] .topic-nav .nav-inner > a:hover,
[data-theme="light"] .topic-nav .nav-item > a:hover,
[data-theme="light"] .topic-nav .nav-item > a.active { background:var(--nav-hover); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-inner > a:hover,
  :root:not([data-theme="dark"]) .topic-nav .nav-item > a:hover,
  :root:not([data-theme="dark"]) .topic-nav .nav-item > a.active { background:var(--nav-hover); }
}
[data-theme="light"] .topic-nav .nav-sub { background:var(--nav-sub-bg); border-color:var(--nav-line); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-sub { background:var(--nav-sub-bg); border-color:var(--nav-line); }
}
[data-theme="light"] .topic-nav .nav-sub a { color:#F3ECE1; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-sub a { color:#F3ECE1; }
}
[data-theme="light"] .topic-nav .nav-sub a:hover { background:var(--nav-sub-hover); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-sub a:hover { background:var(--nav-sub-hover); }
}
[data-theme="light"] .topic-nav .nav-sub.nav-cats a:hover,
[data-theme="light"] .topic-nav .nav-sub.nav-cats a:focus-visible,
[data-theme="light"] .topic-nav .nav-sub.nav-cats a[aria-current="page"] { color:var(--accent); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-sub.nav-cats a:hover,
  :root:not([data-theme="dark"]) .topic-nav .nav-sub.nav-cats a:focus-visible,
  :root:not([data-theme="dark"]) .topic-nav .nav-sub.nav-cats a[aria-current="page"] { color:var(--accent); }
}
[data-theme="light"] .topic-nav .nav-toggle { color:#F3ECE1; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .topic-nav .nav-toggle { color:#F3ECE1; }
}

.library-main { padding:34px 0 84px; }
.library-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.library-count { margin:6px 0 0; color:var(--ink-soft); font-size:.88rem; font-weight:600; }
.library-intro { margin:8px 0 0; max-width:52ch; color:var(--ink-soft); font-size:.92rem; line-height:1.45; }
.library-main .breadcrumb:not([hidden]) { margin-bottom:16px; }
.eyebrow { margin:0 0 7px; color:var(--sage-deep); font-weight:600; }
h1,h2,h3 { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; font-weight:500; line-height:1.12; }
h1 { max-width:15ch; margin:0; font-size:clamp(2.1rem,4.4vw,3.15rem); }
.col-toggle { display:none; }
.sort { display:flex; align-items:center; gap:10px; color:var(--ink-soft); font-size:.9rem; }
.sort-menu { position:relative; }
.sort-menu summary { list-style:none; min-width:168px; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 12px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:4px; cursor:pointer; }
.sort-menu summary::-webkit-details-marker { display:none; }
.sort-menu summary::after { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.sort-menu[open] summary::after { transform:translateY(2px) rotate(225deg); }
.sort-menu ul { position:absolute; z-index:3; top:calc(100% + 4px); left:0; right:0; margin:0; padding:4px; list-style:none; background:var(--surface); border:1px solid var(--line); border-radius:4px; }
.sort-menu li { margin:0; }
.sort-menu button { width:100%; padding:8px 10px; border:0; border-radius:2px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.sort-menu button:hover,.sort-menu button[aria-selected="true"] { background:#009688; color:#fff; }
.video-grid { padding-top:22px; display:grid; grid-template-columns:repeat(3,1fr); gap:34px 20px; }
.library-main .video-grid { grid-template-columns:repeat(4,1fr); }
.video-card { display:block; text-decoration:none; }
.thumb { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:var(--bg-alt); border-radius:10px; border:1px solid var(--line); }
.thumb img { width:100%; height:100%; object-fit:cover; transition:filter .14s ease; }
.crop-left img { object-position:25% center; }
.crop-right img { object-position:75% center; }
.video-card:hover img { filter:brightness(.82); }
.duration { position:absolute; right:9px; bottom:9px; padding:3px 7px; background:rgba(36,28,34,.88); color:#F3ECE1; border-radius:4px; font-size:.78rem; }
.play { position:absolute; left:50%; top:50%; translate:-50% -50%; width:46px; height:46px; display:grid; place-items:center; padding-left:3px; border-radius:50%; color:#F3ECE1; background:rgba(36,28,34,.74); opacity:0; transition:opacity .14s ease; }
.video-card:hover .play,.video-card:focus-visible .play { opacity:1; }
.card-kicker { display:flex; align-items:baseline; justify-content:space-between; gap:8px; width:100%; margin-top:13px; }
.card-topic { color:var(--sage-deep); font-size:.85rem; font-weight:600; }
.card-model { color:#fd15ec; font-size:.85rem; font-weight:400; text-align:right; }
.library-main .card-model,
.related-section .card-model { color:#fff; background:#fd15ec; border-radius:4px; padding:1px 6px; text-align:center; }
.video-card h2 { margin:4px 0 0; max-width:24ch; font-size:1.28rem; }
.library-main .video-card h2 { color:#fff; text-decoration:none; }
[data-theme="light"] .library-main .video-card h2 { color:var(--ink); }
.library-main .video-card:hover h2 { color:var(--title-red); text-decoration:none; }

.site-footer { padding:54px 0; background:var(--ink); color:var(--bg); }
.footer-inner { display:grid; grid-template-columns:1fr 2fr 1fr; gap:36px; align-items:start; }
.site-footer p { margin:0; max-width:48ch; color:color-mix(in srgb,var(--bg) 78%,transparent); }
.site-footer nav { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.site-footer a { font-size:.88rem; color:inherit; }
.footer-rta { display:flex; gap:16px; align-items:center; margin-top:28px; }
.footer-rta a { flex:none; font-size:0; line-height:0; }
.footer-rta img { display:block; width:88px; height:auto; }
.footer-rta p { margin:0; max-width:62ch; font-size:.88rem; }
.empty-state { margin:46px 0 0; padding:28px; border:1px solid var(--line); background:var(--surface); color:var(--ink-soft); }

.detail-main { padding:34px 0 84px; }
.breadcrumb { display:flex; gap:10px; align-items:center; margin-bottom:24px; color:var(--ink-soft); font-size:.88rem; }
.breadcrumb[hidden] { display:none !important; }
.breadcrumb a { text-underline-offset:3px; }
.watch-layout { display:grid; grid-template-columns:minmax(0,2.25fr) minmax(260px,.75fr); gap:36px; align-items:start; }
.watch-layout > aside,.takeaway,.cast-list { min-width:0; }
.player { position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); background:#171216; border-radius:10px; }
.player > img,.player > video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; background:#171216; transform:translateZ(0); }
.player.is-vertical { aspect-ratio:9/16; width:min(100%, calc(85vh * 9 / 16)); margin-inline:auto; }
.player-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to top,rgba(20,15,19,.78),transparent 45%); }
.player-toggle { position:absolute; z-index:2; left:50%; top:50%; translate:-50% -50%; width:70px; height:70px; display:flex; align-items:center; justify-content:center; padding:0; border:1px solid rgba(255,255,255,.48); border-radius:50%; background:rgba(36,28,34,.78); color:#F3ECE1; cursor:pointer; opacity:0; pointer-events:none; transition:background .14s ease, transform .14s ease, opacity .14s ease; }
.player-toggle svg,.player-controls #small-toggle svg,.player-controls #fullscreen-toggle svg { display:block; fill:currentColor; }
.player-toggle svg { width:30px; height:30px; }
.player-controls #small-toggle svg { width:14px; height:14px; }
.player-toggle .icon-pause,.player-controls #small-toggle .icon-pause,.player-controls #fullscreen-toggle .icon-exit { display:none; }
.player:fullscreen #fullscreen-toggle .icon-enter,.player:-webkit-full-screen #fullscreen-toggle .icon-enter { display:none; }
.player:fullscreen #fullscreen-toggle .icon-exit,.player:-webkit-full-screen #fullscreen-toggle .icon-exit { display:block; }
.player:fullscreen,.player:-webkit-full-screen,.player.is-vertical:fullscreen,.player.is-vertical:-webkit-full-screen { width:100vw; height:100vh; max-width:none; margin:0; aspect-ratio:auto; border:0; border-radius:0; background:#000; }
.player:fullscreen > video,.player:-webkit-full-screen > video { object-fit:contain; background:#000; }
.player.is-playing .player-toggle .icon-play,.player.is-playing .player-controls #small-toggle .icon-play { display:none; }
.player.is-playing .player-toggle .icon-pause,.player.is-playing .player-controls #small-toggle .icon-pause { display:block; }
.player-controls #small-toggle { display:flex; align-items:center; justify-content:center; padding:0; }
.player-toggle:hover { background:#241C22; transform:scale(1.04); }
.player.is-playing > img { filter:brightness(.54) saturate(.75); }
.player.is-playing > video { filter:none; }
.player:not(.is-playing) .player-toggle { opacity:1; pointer-events:auto; }
.player.is-playing:hover .player-toggle,.player.is-playing:focus-within .player-toggle { opacity:.28; pointer-events:auto; }
.player.is-playing .player-toggle:hover,.player.is-playing .player-toggle:focus-visible { opacity:1; }
.player-controls { position:absolute; z-index:2; left:18px; right:18px; bottom:14px; display:flex; align-items:center; gap:10px; color:#F3ECE1; font-size:.78rem; opacity:0; pointer-events:none; transition:opacity .14s ease; }
.player:hover .player-controls,.player:focus-within .player-controls { opacity:1; pointer-events:auto; }
.player-controls button { border:0; background:transparent; color:inherit; cursor:pointer; min-width:30px; min-height:30px; }
.progress-track { position:relative; flex:1; height:3px; overflow:visible; background:rgba(255,255,255,.34); cursor:pointer; }
.progress-track::before { content:""; position:absolute; left:0; right:0; top:50%; height:20px; transform:translateY(-50%); }
.progress-track span { display:block; width:0; height:100%; background:var(--brass); pointer-events:none; }
.caption-line { position:absolute; left:50%; bottom:56px; translate:-50% 0; width:min(80%,620px); margin:0; padding:8px 12px; text-align:center; background:rgba(36,28,34,.88); color:#F3ECE1; font-size:.9rem; }
.video-copy { padding:28px 0 0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; }
.video-heading,.desc-block,.action-row { grid-column:1 / -1; }
.video-heading { grid-row:1; }
.desc-block { grid-row:2; }
.video-meta { grid-column:1; grid-row:3; }
.meta-performer { grid-column:2; grid-row:3; }
.action-row { grid-row:4; }
.video-copy h1 { max-width:18ch; }
.detail-lede { max-width:56ch; margin:18px 0 0; color:var(--ink-soft); font-size:1.08rem; }
.desc-toggle { margin-top:4px; padding:0; border:0; background:none; color:var(--accent-text); font-weight:600; min-height:44px; cursor:pointer; }
.desc-toggle[hidden] { display:none !important; }
.video-meta { display:flex; flex-wrap:wrap; align-items:flex-start; gap:24px 38px; margin:28px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.video-meta > div:not(.meta-performer) { display:grid; gap:3px; }
.video-meta dt { display:flex; align-items:center; gap:6px; color:var(--ink-soft); font-size:.78rem; }
.video-meta dt svg { width:14px; height:14px; flex:none; fill:var(--accent); }
.video-meta dd { margin:0; padding-left:1.2rem; font-size:.9rem; }
.meta-performer { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:8px; align-self:stretch; margin-top:28px; padding-top:18px; border-top:1px solid var(--line); }
.uploader-id { display:contents; }
.uploader-label { order:-1; }
.uploader-subscribe { display:inline-flex; flex:none; align-self:center; white-space:nowrap; }
.uploader-label { margin:0; color:var(--accent); font-size:.78rem; font-weight:600; }
.uploader-avatar-link { display:block; line-height:0; border-radius:50%; }
.uploader-avatar-link:hover .performer-avatar { border-color:var(--accent); }
.performer-avatar { width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid var(--line); background:var(--bg-alt); transition:border-color .14s ease; }
.profile-link { font-size:.82rem; font-weight:600; line-height:1.25; text-align:center; text-decoration:none; color:var(--ink); word-break:break-word; max-width:96px; }
.profile-link:hover,.profile-link:focus-visible { color:var(--title-red); }
.profile-header { display:flex; gap:22px; align-items:center; padding-bottom:28px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.profile-avatar-lg { width:96px; height:96px; }
.profile-username { margin:0; font-size:clamp(1.75rem,3vw,2.4rem); }
.takeaway { padding:25px; background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.cast { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.cast h2 { margin:0 0 16px; font-size:1.35rem; }
.cast-list { display:flex; flex-wrap:nowrap; gap:12px; width:100%; margin:0; padding:0 0 6px; list-style:none; overflow-x:auto; scrollbar-width:thin; mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent); }
.cast-list li { display:flex; flex:0 0 84px; flex-direction:column; align-items:center; gap:8px; position:static; padding:0; border:0; }
.cast-list li::before { content:none; }
.cast-list a { display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--ink); font-size:.82rem; font-weight:600; line-height:1.25; text-align:center; text-decoration:none; }
.cast-list a:hover,.cast-list a:focus-visible { color:var(--accent); }
.cast-list a:hover .performer-avatar,.cast-list a:focus-visible .performer-avatar { border-color:var(--title-red); }
.cast-list .performer-avatar { width:52px; height:52px; }
.subscribe-pill { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 12px; border:1px solid var(--line); border-radius:999px; background:var(--bg); color:var(--ink); font-size:.72rem; font-weight:600; line-height:1; white-space:nowrap; cursor:pointer; }
.cast-list .subscribe-pill { width:100%; padding-inline:8px; font-size:.7rem; }
.subscribe-pill:hover,.subscribe-pill:focus-visible { border-color:var(--accent); color:var(--accent-text); }
.subscribe-pill[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:#241C22; }
.subscribe-pill.uploader-subscribe,
.cast-list .subscribe-pill,
.subscribe-pill.uploader-subscribe:hover,
.cast-list .subscribe-pill:hover,
.subscribe-pill.uploader-subscribe:focus-visible,
.cast-list .subscribe-pill:focus-visible,
.subscribe-pill.uploader-subscribe[aria-pressed="true"],
.cast-list .subscribe-pill[aria-pressed="true"] { background:var(--title-red); border-color:var(--title-red); color:#fff; }
.takeaway h2 { margin:0 0 22px; font-size:1.75rem; }
.takeaway .cast h2 { margin:0 0 16px; font-size:1.5rem; }
.takeaway ul { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.takeaway li { position:relative; padding:0 0 14px 24px; border-bottom:1px solid var(--line); }
.takeaway li::before { content:'✓'; position:absolute; left:0; color:var(--sage-deep); font-weight:600; }
.takeaway .cast-list { display:flex; flex-wrap:nowrap; gap:10px; }
.takeaway .cast-list li { position:static; padding:0; border:0; }
.takeaway .cast-list li::before { content:none; }
.medical-note { margin:22px 0 0; color:var(--ink-soft); font-size:.82rem; }
.medical-note a { color:var(--title-red); font-weight:600; text-decoration:none; }
.medical-note a:hover,.medical-note a:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.recommended-profiles { margin-top:48px; padding:28px 0 12px; border-top:1px solid var(--line); background:#241C22; color:var(--bg); }
.recommended-profiles .section-heading { text-align:center; }
.recommended-profiles .eyebrow { margin:0; color:#FFD700; text-align:center; }
[data-theme="light"] .recommended-profiles .eyebrow { color:#B8860B; }
.recommended-profiles-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px 16px; margin:18px 0 0; padding:0; list-style:none; }
.rec-profile { display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; color:var(--bg); font-size:.82rem; font-weight:700; line-height:1.2; text-align:center; text-decoration:none; }
.rec-profile-card { position:relative; display:flex; flex-direction:column; width:100%; border:2px solid #2ab7ec; border-radius:10px; overflow:hidden; }
.rec-profile-ad { position:absolute; top:8px; right:8px; z-index:1; padding:2px 6px; border-radius:4px; background:rgba(0,0,0,.72); color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.06em; line-height:1; }
.rec-profile-avatar { width:100%; aspect-ratio:1; height:auto; border:0; border-radius:0; object-fit:cover; background:#111; }
.rec-profile-visit { display:flex; align-items:center; justify-content:center; gap:4px; margin:0; padding:8px 4px; border-radius:0; background:#00AFF0; color:#fff; font-size:.8rem; font-weight:700; line-height:1.15; text-align:center; }
.rec-profile-visit svg { flex:none; width:16px; height:16px; fill:currentColor; stroke:none; }
.rec-profile-name { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#FFD700; }
[data-theme="light"] .btn-primary.view-more { color:#241C22; }
[data-theme="light"] .recommended-profiles { background:var(--bg-alt); color:var(--ink); }
[data-theme="light"] .rec-profile { color:var(--ink); }
[data-theme="light"] .rec-profile-name { color:#B8860B; }
@media (prefers-color-scheme: light) {
  html:not([data-theme="dark"]) .btn-primary.view-more { color:#241C22; }
  html:not([data-theme="dark"]) .recommended-profiles { background:var(--bg-alt); color:var(--ink); }
  html:not([data-theme="dark"]) .recommended-profiles .eyebrow { color:#B8860B; }
  html:not([data-theme="dark"]) .rec-profile { color:var(--ink); }
  html:not([data-theme="dark"]) .rec-profile-name { color:#B8860B; }
}
.related-section { margin-top:76px; padding-top:34px; border-top:1px solid var(--line); }
.section-heading h2 { margin:0; font-size:clamp(1.7rem,2.9vw,2.35rem); }
.related-grid { padding-top:24px; }
.video-card h3 { margin:4px 0 0; font-size:1.24rem; }
.text-link { display:inline-flex; gap:8px; margin-top:34px; font-weight:600; text-underline-offset:4px; }
.privacy-section { padding:76px 0; background:var(--ink); color:var(--bg); }
.privacy-copy { display:grid; grid-template-columns:.65fr 1.35fr 1fr; gap:42px; align-items:start; }
.privacy-copy .eyebrow { color:var(--accent); }
.privacy-copy h2 { margin:0; max-width:18ch; font-size:clamp(1.7rem,2.9vw,2.35rem); }
.privacy-copy > p:last-child { margin:0; max-width:46ch; color:color-mix(in srgb,var(--bg) 78%,transparent); }


@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}

/* Buttons */
.btn-primary,.btn-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border-radius:999px; font-weight:600; text-decoration:none; cursor:pointer; border:1px solid var(--line); }
.btn-primary { background:var(--accent); color:#241C22; border-color:var(--accent); }
.btn-primary:hover { filter:brightness(1.08); }
.btn-primary.view-more { margin-top:28px; min-height:48px; padding:0 18px; display:flex; width:max-content; margin-inline:auto; font-size:1.05rem; color:var(--bg-alt); }
.bookmark-us,
.btn-primary.view-more { border:0; border-radius:999px; background:#FFDB4D; font-weight:700; line-height:1; white-space:nowrap; box-shadow:0 2px 10px rgba(0,0,0,.22); }
.bookmark-us { color:#241C22; font-size:.7rem; gap:5px; }
.bookmark-us svg.bookmark-us-icon { flex:none; width:14px; height:14px; fill:currentColor; }
.bookmark-hint { position:fixed; left:50%; bottom:calc(20px + env(safe-area-inset-bottom)); z-index:90; translate:-50% 0; width:max-content; max-width:calc(100vw - 32px); margin:0; padding:12px 16px; border-radius:10px; background:#241C22; color:#F3ECE1; font-size:.85rem; font-weight:600; text-align:center; box-shadow:0 6px 24px rgba(0,0,0,.35); }
.btn-primary.view-more:hover,
.btn-primary.view-more:active,
.bookmark-us:active { filter:brightness(.94); }
.btn-secondary { background:var(--surface); color:var(--ink); }
.btn-secondary:hover,.btn-secondary[aria-pressed="true"] { border-color:var(--accent); color:var(--accent-text); }
.action-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.action-row .btn-secondary { gap:8px; }
.action-row svg { width:16px; height:16px; flex:none; fill:currentColor; }

/* Age gate */
.age-gate { width:min(92vw,480px); padding:32px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
.age-gate::backdrop { background:rgba(20,15,19,.92); backdrop-filter:blur(8px); }
.age-gate h2 { margin:0 0 14px; font-size:1.8rem; }
.age-gate p { color:var(--ink-soft); }
.age-actions { display:flex; gap:12px; margin-top:22px; }
.age-fine { margin:18px 0 0; font-size:.8rem; }

/* Tags and card details */
.tag-row { display:flex; flex-wrap:wrap; gap:8px; padding-top:18px; }
.tag-row a { padding:6px 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); font-size:.8rem; text-decoration:none; }
.tag-row a[aria-current="page"] { border-color:var(--accent); color:var(--accent-text); background:color-mix(in srgb,var(--accent) 12%,var(--surface)); }
.tag-row a:hover,.tag-row a:focus-visible { border-color:var(--accent); color:var(--accent-text); }
.tag-col { padding-top:0; }
.card-meta { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:4px; color:var(--ink-soft); font-size:.8rem; }
.card-meta span { display:inline-flex; align-items:center; gap:4px; }
.card-meta svg { width:14px; height:14px; flex:none; fill:var(--accent); }
.badge-hd,.badge-new { position:absolute; left:9px; top:9px; padding:2px 6px; border-radius:4px; color:#241C22; font-size:.7rem; font-weight:700; }
.badge-hd { background:#87EEEE; }
.badge-new { background:#e10600; color:#fff; }
.thumb .preview { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.video-card:focus-visible { outline-offset:6px; border-radius:10px; }
.related-grid .video-card:hover h3 { color:var(--accent-text); }

/* Player extras */
.progress-track:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
.player-controls #mute-toggle { display:flex; align-items:center; justify-content:center; padding:0; }
.player-controls #mute-toggle .icon-muted { display:none; }
.player-controls svg { fill:currentColor; }
.up-next { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:rgba(20,15,19,.86); color:#F3ECE1; text-align:center; padding:20px; }
.up-next[hidden] { display:none; }
.pause-ad { display:none; }
.up-next p { margin:0; font-size:1.1rem; }

/* Legal pages */
.legal-main { padding:40px 0 84px; }
.legal-body { max-width:70ch; }
.legal-body p { color:var(--ink-soft); }


@media (hover: none) {
  .player-controls { opacity:1; pointer-events:auto; }
  .player-controls button { min-width:44px; min-height:44px; }
  .btn-primary:active,.btn-secondary:active,.subscribe-pill:active { filter:brightness(.92); }
  .video-card:active img { filter:brightness(.82); }
}

@media (max-width:1100px) {
  .site-header { position:sticky; top:0; z-index:40; background:var(--bg-alt); padding-top:env(safe-area-inset-top); }
  .header-main { min-height:64px; padding-block:8px; grid-template-columns:auto minmax(0,1fr) auto auto; gap:8px; align-items:center; }
  .brand-logo { width:48px; height:48px; }
  .header-main > .search { display:flex; min-width:0; grid-column:auto; grid-row:auto; }
  .header-main > .theme-toggle { display:inline-flex; }
  .search-toggle { display:none !important; }
  .icon-btn,.nav-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--ink); cursor:pointer; flex:none; }
  .icon-btn:active,.nav-toggle:active,.nav-close:active { background:var(--surface); }
  .search-toggle svg { display:block; width:22px; height:22px; fill:currentColor; }
  .nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after { display:block; width:18px; height:2px; background:currentColor; content:""; position:relative; }
  .nav-toggle-bars::before { position:absolute; top:-6px; }
  .nav-toggle-bars::after { position:absolute; top:6px; }
  .topic-nav { position:static; height:0; overflow:visible; border:0; background:transparent; }
  .nav-inner { display:none; }
  .nav-backdrop { position:fixed; inset:0; z-index:60; background:rgba(20,15,19,.62); }
  .topic-nav.open .nav-backdrop { display:block; }
  .nav-drawer { display:flex; flex-direction:column; position:fixed; z-index:70; top:0; left:0; bottom:0; width:min(86vw,340px); padding:calc(12px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; background:#241C22; color:#F3ECE1; box-shadow:8px 0 32px rgba(0,0,0,.35); transform:translateX(-100%); visibility:hidden; transition:transform .22s ease, visibility .22s; }
  .topic-nav.open .nav-drawer { transform:none; visibility:visible; }
  .nav-drawer-head { display:flex; align-items:center; justify-content:space-between; min-height:44px; position:sticky; top:0; background:#241C22; z-index:1; }
  .nav-close { width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; border-radius:8px; background:transparent; color:inherit; cursor:pointer; }
  .nav-close svg { width:22px; height:22px; fill:currentColor; }
  .drawer-premium { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; margin:8px 0 16px; border-radius:999px; background:linear-gradient(135deg,#ff321f 0%,#ed0711 48%,#ff7100 80%); color:#fff; font-weight:700; text-decoration:none; }
  .drawer-premium svg { width:24px; height:24px; fill:#fff; }
  .drawer-links a { display:flex; align-items:center; gap:12px; min-height:48px; padding:0 4px; border-bottom:1px solid rgba(243,236,225,.12); text-decoration:none; }
  .drawer-links svg,.drawer-cats svg { flex:none; width:16px; height:16px; fill:var(--accent); }
  .drawer-label { margin:18px 0 8px; color:var(--accent); font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .drawer-cats { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .drawer-cats a { display:flex; align-items:center; justify-content:center; gap:4px; min-height:44px; padding:6px 8px; border:1px solid rgba(243,236,225,.16); border-radius:999px; background:rgba(255,255,255,.04); font-size:.8rem; text-align:center; text-decoration:none; }
  .drawer-cats a[aria-current="page"],.drawer-cats a:active { border-color:var(--accent); color:var(--accent); }
  .nav-drawer .drawer-theme { width:100%; height:auto; margin-top:18px; min-height:48px; border:1px solid rgba(243,236,225,.16); border-radius:10px; background:#2C222A; color:#F3ECE1; }
  body.nav-lock { overflow:hidden; }
}

@media (max-width:780px) {
  .privacy-bar { min-height:28px; padding:4px 12px; font-size:.75rem; }
  .privacy-bar span:last-child { display:none; }
  .wrap { width:min(calc(100% - 24px), var(--wrap)); }
  .header-main { min-height:56px; padding-block:6px; grid-template-columns:auto minmax(0,1fr) auto auto; gap:4px; }
  .header-main > .search,.header-main > .theme-toggle { display:none; }
  .site-header.search-open .header-main > .search { display:flex; grid-column:1 / -1; grid-row:2; }
  .header-main .brand { overflow:visible; }
  .header-main .brand-logo { width:40px; height:40px; transform:scale(1.5); transform-origin:left center; mix-blend-mode:screen; }
  .bookmark-us { display:inline-flex; align-items:center; justify-content:center; gap:5px; position:absolute; left:50%; top:calc(env(safe-area-inset-top, 0px) + 28px); z-index:2; translate:-50% -50%; min-height:32px; max-width:calc(100vw - 120px); padding:0 12px; cursor:pointer; mix-blend-mode:normal; }
  .search-toggle { display:inline-flex !important; grid-column:3; justify-self:end; }
  .nav-toggle { grid-column:4; }
  .search button { width:44px; height:44px; }

  .library-main { padding:12px 0 48px; }
  .library-heading { align-items:stretch; flex-direction:column; gap:10px; padding-bottom:10px; }
  .library-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
  .library-title-row h1,
  .library-title-row h2 { flex:1 1 auto; min-width:0; max-width:none; }
  .library-title-row h1 { font-size:1.35rem; }
  .library-title-row h2 { margin:0; font-size:1.25rem; }
  .library-heading h1,.library-main h1 { max-width:none; font-size:1.35rem; }
  .col-toggle { display:inline-flex; flex:none; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--surface); }
  .col-toggle-btn { display:inline-flex; align-items:center; justify-content:center; width:44px; height:36px; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--ink); cursor:pointer; }
  .col-toggle-btn + .col-toggle-btn { border-left:1px solid var(--line); }
  .col-toggle-btn svg { width:22px; height:22px; display:block; }
  .col-toggle-btn[aria-pressed="true"] { background:#009688; color:#e6ebef; }
  .library-main[data-cols="1"] .video-grid,
  .related-section[data-cols="1"] .related-grid { grid-template-columns:minmax(0,1fr); }
  .library-heading .eyebrow { margin-bottom:2px; font-size:.78rem; }
  .sort { display:block; box-sizing:border-box; width:calc(100% + 24px); margin-left:-12px; margin-right:-12px; padding-left:12px; padding-right:12px; }
  .sort > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .sort-menu summary { display:none; }
  .sort-menu ul { position:static; display:flex; flex-wrap:nowrap; gap:8px; width:100%; margin:0; padding:2px 0 8px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; background:transparent; border:0; mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent); }
  .sort-menu ul::-webkit-scrollbar,#popular-tags::-webkit-scrollbar { display:none; }
  .sort-menu li { flex:none; scroll-snap-align:start; }
  .sort-menu button { width:auto; min-height:40px; padding:0 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); white-space:nowrap; }
  .sort-menu button:hover { background:#009688; border-color:#009688; color:#fff; }
  .sort-menu button[aria-selected="true"] { background:#009688; border-color:#009688; color:#fff; }
  .popular-tags-wrap { box-sizing:border-box; width:calc(100% + 24px); margin-left:-12px; margin-right:-12px; padding-left:12px; padding-right:12px; }
  #popular-tags { display:flex; flex-wrap:nowrap; gap:8px; width:100%; margin:0; padding:8px 0 0; overflow-x:auto; scrollbar-width:none; mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent); }
  #popular-tags a { flex:none; display:inline-flex; align-items:center; min-height:40px; }
  .video-grid,.library-main .video-grid,.related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:12px; }
  .video-card { min-width:0; }
  .thumb { width:100%; aspect-ratio:16/9; }
  .card-kicker { margin-top:8px; gap:6px; min-width:0; }
  .card-topic,.card-model { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.75rem; }
  .card-topic { flex:1 1 auto; }
  .library-main .card-model,
  .related-section .card-model { flex:0 1 40%; }
  .video-card h2,.video-card h3 { max-width:none; margin-top:2px; font-size:.75rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .badge-hd,.badge-new { left:6px; top:6px; padding:1px 5px; font-size:.62rem; }
  .duration { right:6px; bottom:6px; font-size:.68rem; }

  .detail-page .detail-main { width:100%; padding:0 0 48px; }
  .detail-page .breadcrumb { display:none; }
  .watch-layout { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
  .video-heading,.desc-block,.video-meta,.action-row,.meta-performer,.cast,.tag-block,.medical-note { width:100%; }
  .watch-primary,.video-copy,.takeaway { display:contents; }
  .player-slot { order:1; width:100%; }
  .player-slot.is-mini-active { aspect-ratio:16/9; }
  .player-slot.is-mini-active:has(.is-vertical) { aspect-ratio:9/16; }
  .player.is-mini.is-vertical { width:36vw; max-width:168px; aspect-ratio:9/16; }
  .player { order:unset; width:100%; margin:0; border-radius:0; border-inline:0; }
  .player.is-mini { position:fixed; z-index:50; width:63vw; max-width:300px; margin:0; border-radius:10px; border:1px solid var(--line); box-shadow:0 8px 28px rgba(0,0,0,.45); touch-action:none; right:calc(12px + env(safe-area-inset-right)); bottom:calc(12px + env(safe-area-inset-bottom)); left:auto; top:auto; }
  .player.is-mini.is-dragged { right:auto; bottom:auto; }
  .player.is-mini .player-toggle { display:none; }
  .player.is-mini .player-shade { background:linear-gradient(to top,rgba(20,15,19,.65),transparent 38%); }
  .player.is-mini .player-controls { left:4px; right:4px; bottom:4px; gap:2px; font-size:.65rem; opacity:1; pointer-events:auto; }
  .player.is-mini .player-controls button { min-width:32px; min-height:32px; }
  .player.is-mini .progress-track { flex:1; min-width:0; }
  .player-mini-close { display:none; position:absolute; top:6px; left:6px; right:auto; z-index:3; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:#fff; color:#241C22; box-shadow:0 2px 8px rgba(0,0,0,.35); cursor:pointer; }
  .player.is-mini .player-mini-close { display:grid; place-items:center; }
  .player-mini-close svg { width:16px; height:16px; fill:currentColor; }
  .video-heading,.desc-block,.action-row,.tag-block,.medical-note,.related-section { padding-inline:12px; max-width:100%; }
  .video-heading { order:2; }
  .video-heading h1,.video-copy h1 { max-width:none; font-size:1.15rem; }
  .desc-block { order:3; }
  .video-meta { order:4; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0; padding:0 12px; border:0; overflow:visible; max-width:100%; }
  .video-meta > div { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; padding:10px 4px; background:var(--surface); border:1px solid var(--line); border-radius:10px; text-align:center; }
  .video-meta dt { display:flex; align-items:center; justify-content:center; gap:4px; font-size:.72rem; color:var(--ink-soft); }
  .video-meta dt svg { width:14px; height:14px; flex:none; }
  .video-meta dd { margin:0; padding-left:0; font-size:.95rem; font-weight:600; white-space:nowrap; }
  #detail-added { font-size:.75rem; }
  .action-row { order:5; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0; }
  .action-row > * { flex-direction:column; gap:4px; min-height:48px; padding:8px 2px; border-radius:12px; font-size:.68rem; }
  .action-row svg { width:20px; height:20px; }
  .meta-performer { order:6; flex-direction:row; align-items:center; justify-content:flex-start; width:100%; margin:0; padding:0 12px; border:0; gap:10px; max-width:100%; }
  .uploader-id { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
  .uploader-label { order:0; }
  .profile-link { max-width:none; text-align:left; }
  .uploader-avatar-link .performer-avatar,.meta-performer .performer-avatar { width:48px; height:48px; }
  .uploader-subscribe { display:inline-flex; margin-left:auto; min-height:40px; }
  .cast { order:7; margin:0; padding:0 12px; border:0; max-width:100%; }
  .cast h2,.takeaway .cast h2,.tag-block h2 { font-size:1.15rem; margin-bottom:10px; }
  .cast-list { mask-image:none; overflow-x:visible; gap:6px; padding:0; }
  .cast-list li { flex:1 1 0; min-width:0; max-width:none; }
  .cast-list a { font-size:.75rem; gap:6px; }
  .cast-list .performer-avatar { width:44px; height:44px; }
  .subscribe-pill { min-height:40px; padding:0 12px; }
  .cast-list .subscribe-pill { min-height:32px; padding-inline:2px; font-size:.62rem; }
  .view-more { margin-top:18px; }
  .tag-block { order:8; }
  .tag-block .tag-row { padding-top:0; }
  .detail-lede { margin-top:0; font-size:1rem; }
  .detail-lede.is-clamped { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .desc-toggle { display:inline-flex; align-items:center; }
  .medical-note { order:9; margin:0; }
  .medical-note a { display:block; margin-top:8px; }
  .player-controls { left:8px; right:8px; bottom:8px; gap:4px; }
  body.pause-ad-open { overflow:hidden; }
  .pause-ad { display:flex; position:fixed; inset:0; z-index:80; width:100%; min-height:100dvh; align-items:center; justify-content:center; padding:12px; padding-top:calc(12px + env(safe-area-inset-top)); padding-bottom:calc(12px + env(safe-area-inset-bottom)); box-sizing:border-box; }
  .pause-ad[hidden] { display:none !important; }
  .pause-ad-backdrop { position:absolute; inset:0; background:rgba(20,15,19,.92); }
  .pause-ad-countdown { position:fixed; left:50%; bottom:15%; z-index:2; margin:0; translate:-50% 0; display:grid; place-items:center; min-width:44px; min-height:44px; padding:0 14px; border-radius:999px; background:#fff; color:#111; font-size:1rem; font-weight:800; font-variant-numeric:tabular-nums; box-shadow:0 2px 12px rgba(0,0,0,.25); }
  .pause-ad-countdown[hidden] { display:none !important; }
  .pause-ad-close { position:fixed; left:50%; bottom:15%; z-index:2; translate:-50% 0; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:#fff; color:#111; cursor:pointer; box-shadow:0 2px 12px rgba(0,0,0,.25); }
  .pause-ad-close[hidden] { display:none !important; }
  .pause-ad-close svg { width:22px; height:22px; fill:currentColor; }
  .pause-ad-card { position:relative; z-index:1; width:min(300px,calc(100vw - 48px)); max-width:100%; }
  .pause-ad-slot { position:relative; width:100%; aspect-ratio:300/250; overflow:hidden; border-radius:10px; border:1px solid rgba(243,236,225,.2); background:#171216; }
  .pause-ad-variant { position:absolute; inset:0; display:flex; flex-direction:column; align-items:stretch; justify-content:center; }
  .pause-ad-variant[hidden] { display:none !important; }
  .pause-ad-variant--image { text-decoration:none; color:inherit; }
  .pause-ad-image-banner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:100%; padding:16px; background:linear-gradient(135deg,#ff321f 0%,#ed0711 45%,#ff7100 100%); text-align:center; }
  .pause-ad-image-badge { padding:2px 8px; border-radius:4px; background:rgba(0,0,0,.35); color:#fff; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
  .pause-ad-image-title { color:#fff; font-size:1.35rem; font-weight:800; line-height:1.15; }
  .pause-ad-image-cta { padding:8px 18px; border-radius:999px; background:#241C22; color:#F3ECE1; font-size:.85rem; font-weight:700; }
  .pause-ad-variant--html { padding:18px 16px; gap:8px; background:linear-gradient(160deg,#2F2530 0%,#241C22 100%); color:#F3ECE1; text-align:center; }
  .pause-ad-html-eyebrow { margin:0; color:var(--accent); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .pause-ad-html-title { margin:0; font-size:1.15rem; font-weight:800; line-height:1.2; }
  .pause-ad-html-copy { margin:0; color:var(--ink-soft); font-size:.82rem; line-height:1.35; }
  .pause-ad-html-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; margin-top:auto; padding:0 16px; border-radius:999px; background:var(--accent); color:#241C22; font-size:.85rem; font-weight:700; text-decoration:none; }
  .pause-ad-variant--video { background:#000; }
  .pause-ad-video { width:100%; height:100%; object-fit:cover; }
  .pause-ad-video-badge { position:absolute; left:8px; top:8px; padding:2px 6px; border-radius:4px; background:rgba(0,0,0,.55); color:#fff; font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
  .recommended-profiles { margin-top:8px; padding:16px 12px 18px; }
  .recommended-profiles-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 10px; margin-top:12px; }
  .rec-profile { gap:6px; font-size:.68rem; }
  .rec-profile-ad { top:6px; right:6px; font-size:.58rem; }
  .rec-profile-visit { gap:3px; padding:5px 2px; font-size:.65rem; }
  .rec-profile-visit svg { width:12px; height:12px; }
  .related-section { margin-top:8px; padding-top:16px; }
  .section-heading h2 { font-size:1.25rem; }
  .text-link { margin-top:16px; min-height:44px; align-items:center; }

  .footer-inner { grid-template-columns:1fr; justify-items:center; text-align:center; gap:16px; }
  .footer-brand.brand-logo { width:64px; height:64px; }
  .site-footer { padding:32px 0 calc(28px + env(safe-area-inset-bottom)); }
  .site-footer p { max-width:42ch; }
  .site-footer nav { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; width:100%; }
  .site-footer nav a { min-height:44px; display:flex; align-items:center; justify-content:center; }
  .footer-rta { flex-direction:column; align-items:center; text-align:center; }
  .privacy-copy { grid-template-columns:1fr; gap:16px; }
  .age-gate { width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; border:0; border-radius:0; display:flex; align-items:center; padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom)); }
  .age-gate form { width:min(100%,420px); margin-inline:auto; }
  .age-actions { flex-direction:column; }
  .age-actions > * { width:100%; min-height:48px; }
}

@media (max-width:520px) {
  .card-meta span.card-likes { display:none; }
  .card-meta { font-size:.72rem; }
  .card-meta svg { width:12px; height:12px; }
}
