
    /* SP GO THEME: connect these variables to template color/font settings. */
    :root { color-scheme:dark; --bg:#0b0c10; --surface:#17191f; --text:#f5f5f7; --muted:#a6a8b3; --accent:#f3454e; --line:#ffffff18; --gutter:clamp(22px,5vw,84px); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:95px; }
    body { margin:0; background:var(--bg); color:var(--text); font-family:Inter,"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
    a { color:inherit; text-decoration:none; }
    button { font:inherit; color:inherit; cursor:pointer; }
    button,a { -webkit-tap-highlight-color:transparent; }
    button:focus-visible,a:focus-visible { outline:3px solid #fff; outline-offset:5px; }
    button:disabled { opacity:.3; cursor:default; }
    img { display:block; width:100%; }
    svg { width:20px; height:20px; flex-shrink:0; }
    .skip { position:fixed; top:-80px; left:20px; padding:14px; background:#fff; color:#000; z-index:100; }
    .skip:focus { top:10px; }
    .site-header { position:absolute; top:0; left:0; right:0; z-index:5; padding:28px var(--gutter); display:flex; align-items:center; gap:54px; background:linear-gradient(#090a0ed9,transparent); }
    .brand { display:inline-flex; gap:7px; align-items:baseline; font-size:30px; font-weight:900; letter-spacing:-1.8px; white-space:nowrap; }
    .brand span { color:var(--accent); }
    .site-nav { display:flex; align-items:center; justify-content:flex-end; gap:27px; margin-left:auto; font-size:14px; font-weight:600; }
    .site-nav a { color:#c8c9ce; padding:10px 0; position:relative; }
    .site-nav a:hover,.site-nav a[aria-current] { color:#fff; }
    .site-nav a[aria-current]:after { content:""; position:absolute; bottom:0; left:0; width:16px; height:2px; background:var(--accent); }
    .menu-toggle { display:none; background:transparent; border:1px solid var(--line); border-radius:6px; padding:10px 14px; }
    main { overflow:hidden; }
    .hero { position:relative; min-height:750px; min-height:min(850px,96svh); padding:180px var(--gutter) 38px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; background:radial-gradient(ellipse at 80% 30%,#374150,#111319 60%); }
    /* Full-bleed YouTube layers, cropped like background-size:cover.
       The poster remains underneath until the muted player starts playing. */
    .hero-art { position:absolute; z-index:-3; inset:0; width:100%; height:100%; overflow:hidden; pointer-events:none; }
    .hero-media { position:absolute; inset:0; opacity:0; transition:opacity 1.2s cubic-bezier(.4,0,.2,1); }
    .hero-media.is-active { opacity:1; }
    .hero-media img { width:100%; height:100%; object-fit:cover; object-position:var(--art-position,60% center); filter:brightness(.73) saturate(.82); }
    .youtube-background { position:absolute; inset:0; opacity:0; transition:opacity 1s ease; filter:brightness(.73) saturate(.82); }
    .hero-media.is-playing .youtube-background { opacity:1; }
    .youtube-background iframe { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:var(--video-width,100%); height:var(--video-height,100%); border:0; }
    .hero-copy { transition:opacity .35s ease,transform .35s ease; }
    .hero-copy.is-changing { opacity:0; transform:translateY(8px); }
    /* These gradients do the cinematic work, including hiding competing thumbnail copy. */
    .hero:before { content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(90deg,#0b0c10 3%,rgba(11,12,16,.98) 21%,rgba(11,12,16,.85) 37%,rgba(11,12,16,.25) 66%,rgba(11,12,16,.1)),linear-gradient(0deg,#0b0c10 1%,rgba(11,12,16,.87) 12%,transparent 48%),linear-gradient(180deg,rgba(11,12,16,.35),transparent 30%); }
    .hero-copy { max-width:590px; padding-bottom:70px; }
    .eyebrow { display:flex; align-items:center; gap:10px; color:#e3e3e8; text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:2.7px; margin:0 0 23px; }
    .eyebrow:before { content:""; width:24px; height:2px; background:var(--accent); }
    .eyebrow[hidden] { display:none; }
    h1 { font-size:clamp(42px,4.7vw,72px); line-height:1.04; font-weight:800; letter-spacing:-2.9px; margin:0 0 25px; text-wrap:balance; }
    .hero-description { font-size:16px; line-height:1.75; color:#c0c2cb; max-width:460px; margin:0 0 29px; }
    .watch { display:inline-flex; gap:12px; align-items:center; background:var(--accent); padding:15px 25px; border-radius:5px; font-size:15px; font-weight:750; transition:background .2s,transform .2s; box-shadow:0 6px 30px #ed384a1a; }
    .watch:hover { background:color-mix(in srgb,var(--accent) 85%,white); transform:translateY(-2px); }
    .hero-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; width:100%; }
    .featured-label { color:#b0b2bd; text-transform:uppercase; letter-spacing:2px; font-size:12px; margin:0 0 13px; }
    .previews { display:flex; gap:12px; }
    .preview { padding:0; background:#15161c; width:128px; aspect-ratio:16/9; border:1px solid #ffffff30; border-radius:5px; position:relative; overflow:hidden; transition:border-color .2s,transform .2s; }
    .preview img { width:100%; height:100%; object-fit:cover; opacity:.52; transition:opacity .2s; }
    .preview[aria-pressed="true"] { border:2px solid #fff; }
    .preview[aria-pressed="true"] img,.preview:hover img { opacity:1; }
    .preview:hover { transform:translateY(-3px); }
    .preview-number { position:absolute; bottom:6px; left:8px; font-size:11px; font-weight:700; text-shadow:0 1px 5px #000; }
    .hero-pagination { display:flex; align-items:center; gap:13px; padding-bottom:4px; }
    .slide-count { font-size:12px; color:#a2a5ae; letter-spacing:2px; margin-right:12px; }
    .slide-count strong { color:#fff; font-weight:500; }
    .circle { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#ffffff05; border:1px solid #ffffff2a; }
    .circle:hover:not(:disabled) { background:#ffffff15; border-color:#ffffff70; }
    .library { padding:28px 0 65px; }
    .shelf { margin-bottom:44px; scroll-margin-top:28px; }
    .shelf-heading { display:flex; justify-content:space-between; align-items:center; padding:0 var(--gutter); margin-bottom:19px; gap:16px; }
    h2 { font-size:24px; letter-spacing:-.65px; margin:0; }
    .shelf-controls { display:flex; gap:8px; }
    .shelf-controls .circle { width:32px; height:32px; }
    .track { display:flex; gap:20px; overflow-x:auto; padding:4px var(--gutter) 17px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#34363f transparent; }
    .card { display:block; flex:0 0 clamp(230px,23vw,355px); min-width:0; scroll-snap-align:start; scroll-margin-left:var(--gutter); }
    .card-art { aspect-ratio:16/9; border-radius:7px; overflow:hidden; position:relative; background:linear-gradient(135deg,#252b38,#13141b); border:1px solid #ffffff09; }
    .card-art img { height:100%; object-fit:cover; transition:transform .35s,filter .35s; filter:brightness(.85); }
    .card-art:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 55%,#0005); }
    .card-play { position:absolute; z-index:1; right:13px; bottom:13px; display:grid; place-items:center; width:34px; height:34px; background:#0b0c1088; border:1px solid #ffffff60; border-radius:50%; opacity:0; transform:translateY(6px); transition:.2s; }
    .card-play svg { width:13px; height:13px; }
    .card:hover img,.card:focus-visible img { transform:scale(1.045); filter:brightness(1); }
    .card:hover .card-play,.card:focus-visible .card-play { opacity:1; transform:translateY(0); }
    .card-category { margin:15px 0 7px; color:#999daa; font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:1.7px; }
    .card h3 { font-size:16px; line-height:1.45; font-weight:600; margin:0; letter-spacing:-.15px; }
    footer { border-top:1px solid var(--line); padding:54px var(--gutter) 25px; background:#090a0d; }
    .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:55px; padding-bottom:42px; }
    .footer-about p { max-width:310px; color:var(--muted); font-size:14px; line-height:1.85; margin:17px 0 0; }
    footer h2 { font-size:14px; letter-spacing:0; margin:5px 0 20px; }
    footer ul { padding:0; margin:0; list-style:none; display:grid; gap:14px; font-size:14px; color:var(--muted); }
    footer a:hover { color:#fff; }
    .social-link { display:flex; gap:10px; align-items:center; }
    .social-link svg { width:17px; height:17px; }
    .footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:25px; color:#9295a1; font-size:12px; line-height:1.6; }
    .legal-links { display:flex; gap:23px; flex-wrap:wrap; }
    dialog { width:min(560px,calc(100% - 32px)); border:1px solid #383a45; border-radius:12px; padding:30px; background:#17191f; color:var(--text); }
    dialog::backdrop { background:#000b; backdrop-filter:blur(5px); }
    dialog p { color:#bfc1cc; line-height:1.75; }
    .dialog-close { display:block; margin-left:auto; padding:10px 18px; background:#2a2d36; border:1px solid #ffffff24; border-radius:5px; }
    .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; }
    @media(min-width:1600px) { .hero { min-height:850px; } }
    @media(max-width:1050px) { .site-header { gap:30px; } .site-nav { gap:18px; } .hero { min-height:760px; } .hero-copy { max-width:510px; } .footer-grid { gap:28px; } }
    @media(max-width:760px) {
      .site-header { padding-top:20px; justify-content:space-between; }
      .brand { font-size:27px; } .menu-toggle { display:block; }
      .site-nav { display:none; position:absolute; top:75px; left:var(--gutter); right:var(--gutter); background:#14161df5; border:1px solid var(--line); padding:18px 24px; border-radius:8px; flex-direction:column; align-items:stretch; gap:4px; }
      .site-nav.open { display:flex; }
      .hero { min-height:850px; padding-top:305px; padding-bottom:25px; }
      .hero-art { width:100%; height:100%; }
      .hero-media img { object-position:var(--mobile-position,center top); filter:brightness(.8) saturate(.85); }
      .hero:before { background:linear-gradient(0deg,#0b0c10 0%,#0b0c10 45%,rgba(11,12,16,.9) 57%,rgba(11,12,16,.1) 88%,#0b0c1055),linear-gradient(90deg,#0b0c1044,transparent); }
      .hero-copy { max-width:100%; padding-bottom:35px; }
      h1 { font-size:clamp(38px,9vw,56px); letter-spacing:-1.8px; max-width:560px; }
      .eyebrow { margin-bottom:17px; font-size:11px; }
      .hero-description { line-height:1.65; max-width:490px; }
      .hero-bottom { gap:13px; align-items:center; }
      .previews { gap:8px; } .preview { width:clamp(56px,16vw,112px); }
      .hero-pagination { gap:6px; padding-top:24px; } .slide-count { display:none; }
      .hero-pagination .circle { width:32px; height:32px; }
      .library { padding-top:20px; padding-bottom:20px; } .shelf { margin-bottom:29px; }
      h2 { font-size:21px; } .track { gap:14px; } .card { flex-basis:72vw; max-width:320px; }
      .footer-grid { grid-template-columns:1fr 1fr; gap:32px; } .footer-about { grid-column:1/-1; }
      .footer-about p { max-width:450px; } .footer-bottom { flex-direction:column; }
    }
    @media(max-width:360px) { .hero-bottom { flex-wrap:wrap; } .hero-pagination { padding-top:0; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; scroll-behavior:auto!important; } }
  
.site-header { position:relative; background:#0b0c10; }
.catalog { max-width:1340px; margin:0 auto; padding:38px var(--gutter) 75px; }
.catalog-header { padding:0 0 36px; border-bottom:1px solid var(--line); }
.catalog-header .eyebrow { margin-bottom:17px; }
.catalog-header h1 { font-size:clamp(40px,4.5vw,62px); letter-spacing:-2px; margin:0 0 17px; }
.catalog-header p.description { font-size:16px; color:#a4adbe; line-height:1.8; margin:0; max-width:600px; }
.catalog-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:25px 0; }
.result-count { color:#929cac; font-size:13px; margin:0; }
.category-control { display:flex; align-items:center; gap:13px; font-size:13px; color:#aeb7c5; }
.category-control select { font:inherit; color:#e7eaf0; background:#171a21; border:1px solid #ffffff25; border-radius:5px; padding:11px 36px 11px 13px; max-width:100%; }
.category-control select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.video-list { display:grid; gap:19px; }
.video-row { display:grid; grid-template-columns:310px minmax(0,1fr); gap:29px; padding:18px; background:linear-gradient(115deg,#181a21,#101217); border:1px solid #ffffff17; border-radius:9px; align-items:center; }
.row-image { display:block; position:relative; aspect-ratio:16/9; overflow:hidden; background:#242832; border-radius:5px; }
.row-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s,filter .35s; filter:brightness(.87); }
.row-image:hover img { transform:scale(1.035); filter:brightness(1); }
.row-play { position:absolute; bottom:12px; right:12px; width:33px; height:33px; display:grid; place-items:center; border-radius:50%; border:1px solid #ffffff50; background:#05060a99; }
.row-play svg { width:12px; height:12px; }
.row-copy { min-width:0; padding:3px 12px 3px 0; }
.row-category { display:inline-block; font-size:10px; color:#de8b91; text-transform:uppercase; letter-spacing:1.8px; font-weight:700; margin-bottom:9px; }
.row-copy h2 { font-size:clamp(18px,1.7vw,24px); letter-spacing:-.5px; line-height:1.3; margin:0 0 9px; }
.row-copy h2 a:hover { color:#fff; text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:4px; }
.row-description { color:#a3adbd; font-size:14px; line-height:1.75; margin:0 0 16px; }
.row-cta { display:inline-flex; align-items:center; gap:14px; background:#ffffff05; border:1px solid #ffffff2a; border-radius:4px; padding:9px 13px; color:#e7eaf0; font-size:12px; font-weight:600; transition:background .2s,border-color .2s; }
.row-cta:hover { background:var(--accent); border-color:var(--accent); }
.pagination-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px; margin-top:32px; padding-top:26px; border-top:1px solid var(--line); }
.pagination { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.pagination a,.pagination span { display:grid; place-items:center; min-width:39px; height:39px; padding:0 12px; border:1px solid #ffffff20; border-radius:5px; font-size:13px; }
.pagination a:hover { border-color:#ffffff60; }
.pagination a[aria-current="page"] { background:var(--accent); border-color:var(--accent); color:#fff; }
.pagination span[aria-disabled] { color:#5c6370; border-color:#ffffff0c; }
.pagination .ellipsis { border:0; min-width:15px; padding:0; }
.empty-state { border:1px solid var(--line); border-radius:8px; text-align:center; padding:60px 24px; color:#aeb5c2; }
.empty-state h2 { margin:0 0 12px; color:#fff; }
.empty-state a { display:inline-block; margin-top:20px; color:var(--accent); }
[hidden] { display:none!important; }
@media(max-width:1000px) { .video-row { grid-template-columns:250px minmax(0,1fr); gap:22px; } }
@media(max-width:760px) { .catalog { padding-top:25px; } .video-row { grid-template-columns:1fr; gap:19px; padding:15px; } .row-copy { padding:0 4px 7px; } .row-copy h2 { font-size:22px; } .row-description { font-size:15px; } .row-cta { font-size:13px; } .catalog-tools { align-items:flex-start; } .pagination-footer { align-items:flex-start; flex-direction:column; } }

/* Responsive safeguards for database-driven titles, names and navigation. */
.site-header { gap:clamp(20px,3vw,54px); }
.site-header .brand { min-width:0; max-width:40%; white-space:normal; overflow-wrap:anywhere; line-height:1.15; }
.site-nav { min-width:0; flex-wrap:wrap; }
.site-nav a { overflow-wrap:anywhere; }
h1,h2,h3,.hero-description,.body-copy,.signature,.profile-card,.author-contact { overflow-wrap:anywhere; }
.detail-grid > *, .about-layout > *, .footer-grid > *, .row-copy { min-width:0; }
img { max-width:100%; }
button,a,select { touch-action:manipulation; }
:focus-visible { outline:3px solid #f5f5f7; outline-offset:4px; }
.site-nav a:focus-visible,.category-list :is(button,a):focus-visible { border-radius:3px; }
body { overflow-wrap:break-word; }
@media(max-width:1024px) {
 .site-header { justify-content:space-between; align-items:center; }
 .site-header .brand { max-width:calc(100% - 98px); }
 .menu-toggle { display:block; flex:0 0 auto; min-width:70px; min-height:44px; }
 .site-nav { display:none; position:absolute; top:calc(100% - 4px); left:var(--gutter); right:var(--gutter); margin:0; max-height:calc(100dvh - 130px); overflow-y:auto; background:#14161dfc; border:1px solid var(--line); padding:12px 20px; border-radius:8px; flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:4px; box-shadow:0 18px 35px #0007; }
 .site-nav.open { display:flex; }
 .site-nav a { display:flex; align-items:center; min-height:44px; padding:11px 0; }
 .nav-spacer { display:none; }
}
@media(max-width:900px) {
 .detail-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .profile-card { grid-column:1/-1; }
}
@media(max-width:600px) {
 .sidebar { grid-template-columns:minmax(0,1fr); }
 .site-header { padding-top:18px; padding-bottom:18px; }
 .site-header .brand { font-size:26px; }
 .hero-pagination { flex-wrap:wrap; }
 .hero-bottom { flex-wrap:wrap; align-items:flex-end; }
 .hero-pagination .circle,.shelf-controls .circle,.circle { width:44px; height:44px; }
 .hero-pagination { padding-top:0; }
 .hero-copy h1 { font-size:clamp(34px,9vw,48px); letter-spacing:-1.3px; }
 .hero-copy { padding-bottom:28px; }
 .hero { padding-top:290px; }
 .preview { min-height:44px; }
 .watch,.row-cta,.share-button,.promo :is(button,.screenpreneur-link),.dialog-close { min-height:44px; }
 .tag { min-height:44px; padding:12px; }
 .social-icons a,.author-socials a { width:44px; height:44px; }
 .category-list :is(button,a) { min-height:48px; }
 .player-toolbar { flex-wrap:wrap; }
 .player-toolbar button,.player-toolbar a { min-height:44px; display:inline-flex; align-items:center; }
 .preview-controls { flex-wrap:wrap; }
 .post-meta { gap:10px; line-height:1.7; }
 .promo { gap:18px; }
 .promo-copy { flex-basis:100%; }
 .promo :is(button,.screenpreneur-link) { max-width:100%; white-space:normal; }
 .optional-cta { align-items:stretch; }
 .optional-cta .watch { white-space:normal; justify-content:center; }
 .pagination a,.pagination span { min-width:44px; min-height:44px; }
 .category-control { width:100%; }
 .category-control select { min-width:0; flex:1; min-height:44px; font-size:16px; }
 .catalog-tools { gap:16px; }
 .legal-links { column-gap:18px; row-gap:0; }
 .legal-links a,footer li a { min-height:44px; display:inline-flex; align-items:center; }
 footer ul { gap:2px; }
 .footer-grid { gap:26px; }
 .related-grid { grid-template-columns:minmax(0,1fr); }
 .about-heading h1 { font-size:clamp(36px,10vw,48px); }
 .bio-copy { line-height:1.8; }
}
@media(max-width:360px) {
 .footer-grid { grid-template-columns:minmax(0,1fr); }
 .footer-about { grid-column:auto; }
 .hero-pagination { width:100%; }
 .story-header h1 { font-size:29px; }
 .author-socials { gap:10px; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.portrait-row img[hidden] { display:none; }
.portrait-row .row-image { aspect-ratio:9/16; max-width:160px; justify-self:center; width:100%; }

/* SP GO: personal footer uses the member's profile/contact fields. */
footer .footer-grid { grid-template-columns:minmax(390px,2fr) minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); }
footer .footer-personal { display:flex; align-items:flex-start; gap:23px; min-width:0; }
.footer-portrait { display:block; flex:0 0 156px; width:156px; aspect-ratio:4/5; object-fit:cover; border:1px solid var(--accent); border-radius:5px; }
.footer-contact-copy { min-width:0; }
footer .footer-personal h2 { color:#fff; font-size:21px; letter-spacing:-.035em; margin:0 0 17px; }
footer .footer-personal .footer-name { color:#eceef3; font-size:16px; line-height:1.5; margin:0 0 7px; }
.footer-contact-link { display:block; width:fit-content; overflow-wrap:anywhere; font-size:14px; line-height:1.7; color:#afb6c4; }
.footer-contact-link[hidden] { display:none; }
.footer-contact-link:hover { color:var(--accent); }
.footer-contact-socials { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }
.footer-contact-socials a { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#07080b; border:1px solid #ffffff17; color:#e8eaf0; font-size:19px; font-weight:700; transition:background .2s,border-color .2s; }
.footer-contact-socials a:hover { background:color-mix(in srgb,var(--accent) 20%,#07080b); border-color:var(--accent); color:#fff; }
.footer-contact-socials svg { width:18px; height:18px; }
@media(max-width:1050px) { footer .footer-grid { grid-template-columns:1fr 1fr; } footer .footer-personal { grid-column:1/-1; } }
@media(max-width:600px) { footer .footer-grid { gap:30px 20px; } .footer-portrait { width:116px; flex-basis:116px; } footer .footer-personal { gap:18px; } footer .footer-personal h2 { font-size:19px; } .footer-contact-socials { gap:7px; } .footer-contact-socials a { width:38px; height:38px; } }
@media(max-width:360px) { .footer-portrait { width:88px; flex-basis:88px; } footer .footer-personal { gap:14px; } }

/* Reusable long-form legal page. All content remains readable without JS. */
.legal-page { max-width:1240px; padding:30px var(--gutter) 85px; margin:auto; }
.legal-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; color:#929aaa; font-size:12px; margin-bottom:45px; }
.legal-breadcrumb a:hover { color:var(--accent); }
.legal-page-header { padding-bottom:35px; margin-bottom:38px; border-bottom:1px solid #ffffff1b; }
.legal-page-header .eyebrow { color:var(--accent); letter-spacing:.17em; font-size:11px; font-weight:700; margin:0 0 17px; }
.legal-page h1 { font-size:clamp(36px,5vw,58px); line-height:1.1; letter-spacing:-.045em; margin:0 0 20px; overflow-wrap:anywhere; }
.legal-summary { color:#bec3ce; font-size:16px; line-height:1.5; margin:0 0 5px; }
.legal-updated { font-size:14px; color:#929aaa; display:flex; gap:10px; flex-wrap:wrap; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:clamp(35px,6vw,80px); align-items:start; }
.legal-toc { border:1px solid #ffffff1a; border-radius:8px; padding:23px; background:#111318; }
.legal-toc h2 { font-size:14px; margin:0 0 16px; }
.legal-toc nav { display:flex; flex-direction:column; gap:4px; }
.legal-toc a { font-size:13px; line-height:1.5; color:#aab2c1; padding:9px 0; }
.legal-toc a:hover { color:var(--accent); }
.legal-document { min-width:0; max-width:760px; color:#bcc2ce; font-size:16px; overflow-wrap:anywhere; line-height:1.5; }
.legal-document section { scroll-margin-top:35px; margin:0 0 37px; }
.legal-document h2 { color:#f5f5f7; font-size:24px; line-height:1.4; margin:0; }
.legal-document h3 { color:#eceef4; font-size:17px; margin:25px 0 10px; }
.legal-document ul,.legal-document ol { padding-left:23px; margin:15px 0 22px; }
.legal-document li { margin:8px 0; padding-left:5px; }
.legal-document a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.legal-document .legal-template-note { font-size:13px; line-height:1.7; padding:15px 18px; border-left:2px solid var(--accent); background:#15171d; color:#a9b1c0; margin-bottom:35px; }
.legal-back-top { display:inline-flex; min-height:44px; align-items:center; font-size:13px; }
@media(max-width:760px) { .legal-layout { grid-template-columns:minmax(0,1fr); gap:32px; }.legal-toc nav { display:grid; grid-template-columns:1fr 1fr; column-gap:18px; }.legal-breadcrumb { margin-bottom:30px; }.legal-document { font-size:15px; }.legal-document h2 { font-size:22px; } }
@media print { .site-header,footer,.legal-toc,.legal-template-note,.legal-back-top { display:none!important; } body,.legal-page { background:white!important; color:black!important; }.legal-page { padding:0;max-width:none; }.legal-layout { display:block; }.legal-document { max-width:none; }.legal-page h1,.legal-document h2,.legal-document h3,.legal-document,.legal-summary,.legal-updated { color:black; }.legal-document section { break-inside:avoid; } }

/* Single-column policy content, aligned with the page heading. */
.legal-page {
    width: 100%;
    max-width: none;
    margin: 0;
}
.legal-layout { display:block; }
.legal-document { max-width:none; }

/* PHP-rendered empty/filtered content respects the hidden attribute. */
[hidden]{display:none!important;}
.catalog-tools form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
