/* base.css: every storefront page, loaded first. Tokens, base, header/burger/mega, bottom nav,
   footer, 18+ gate, FAQ accordion, .cat-chip, shared hero/search panel/tabs, keyframes.
   Split from docs/redesign/source/mockup-v2/styles.css (R1-01); values unchanged,
   "Lnnn" markers = source line; the mockup comments live there. */
/* Local fonts (ADR-039 §3, as Open Sans in 0686f0d): @fontsource/sora@5.3.0,
   @fontsource/plus-jakarta-sans@5.3.0, latin, OFL-1.1. URL is relative to this file
   (/css/sc/ -> /fonts/), so it resolves the same with @ver and on the docs showcase. */
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url(../../fonts/sora-400-normal.woff2) format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url(../../fonts/sora-600-normal.woff2) format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url(../../fonts/sora-700-normal.woff2) format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url(../../fonts/sora-800-normal.woff2) format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../../fonts/plusjakartasans-400-normal.woff2) format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../../fonts/plusjakartasans-500-normal.woff2) format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../../fonts/plusjakartasans-600-normal.woff2) format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../../fonts/plusjakartasans-700-normal.woff2) format('woff2');}

/* L22 1. TOKENS */
:root{
  --bg:#0a0808;
  --card:#141010;
  --card-2:#161111;
  --input:#0f0b0b;
  --line:rgba(255,255,255,0.08);
  --accent:#e83323;
  --accent-hover:#f04a3a;
  --accent-light:#ff6b57;
  --accent-dark:#9e1c12;
  --green:#ffb800;
  --text:#fbefea;
  --text-2:#b5a49e;
  --text-3:#8f7e79;
  --font-head:'Sora',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
}

/* L41 2. BASE */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{font-family:var(--font-body);color:var(--text);}
::selection{background:var(--accent);color:#fff;}
::placeholder{color:#6b5a55;}
img{max-width:100%;}
.page{position:relative;min-height:100vh;background:var(--bg);color:var(--text);padding-bottom:72px;overflow-x:clip;}

/* L52 3. LAYOUT */
.container{max-width:1080px;margin:0 auto;padding:0 28px;position:relative;z-index:1;}
.container--wide{max-width:1180px;}
.container--narrow{max-width:880px;}
.glow{display:none;}
.rule{height:1px;background:rgba(255,255,255,0.06);width:100vw;margin-left:calc(50% - 50vw);}
.section{padding:84px 0 84px;text-align:center;}

/* L65 4. BUTTONS / BADGES / PILLS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 24px;border-radius:13px;border:none;cursor:pointer;
  font-family:var(--font-body);font-weight:700;font-size:15px;text-decoration:none;
  transition:all .16s;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-dark);
  transition:transform .07s ease,box-shadow .07s ease,background .16s;}
.btn-primary:hover{background:var(--accent-hover);}
.btn-primary:active{transform:translateY(4px);box-shadow:0 0 0 var(--accent-dark);}
.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;
  border:1px solid rgba(232,51,35,0.3);background:rgba(232,51,35,0.08);
  color:var(--accent-light);font-size:12px;font-weight:700;letter-spacing:0.14em;}
.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
.icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:9px;background:#241c1b;text-decoration:none;flex:none;transition:all .16s;}
.icon-btn:hover{background:rgba(232,51,35,0.18);}
.h1{font-family:var(--font-head);font-weight:800;font-size:clamp(32px,4.8vw,56px);
  line-height:1.06;letter-spacing:-0.03em;margin:0;color:#fff;}
.h2{font-family:var(--font-head);font-weight:800;font-size:clamp(30px,4vw,46px);
  letter-spacing:-0.025em;margin:0;color:#fff;}
.lead{margin:22px auto 0;max-width:600px;font-size:clamp(16px,2vw,21px);color:var(--text-2);font-weight:500;}
.accent{color:var(--accent);}

/* L94 5. HEADER */
.site-header{position:relative;top:auto;z-index:40;background:#0c0a0a;
  border-bottom:1px solid rgba(255,255,255,0.07);}
.header-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:12px 28px;}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex:none;line-height:1;}
.brand img{width:38px;height:38px;object-fit:cover;display:block;border-radius:11px;}
.brand b{font-family:var(--font-head);font-weight:800;font-size:23px;letter-spacing:0.01em;
  color:#fff;line-height:1;}
.header-search{flex:1;display:flex;align-items:center;gap:10px;max-width:600px;margin:0 auto;}
.search-box{flex:1;display:flex;align-items:center;gap:11px;background:var(--card-2);
  border:1px solid rgba(255,255,255,0.09);border-radius:13px;height:44px;padding:0 7px 0 14px;}
.search-box input{flex:1;background:transparent;border:none;outline:none;color:var(--text);
  font-family:var(--font-body);font-size:15px;min-width:0;}
.header-nav{position:relative;display:flex;align-items:center;gap:8px;flex:none;}
.burger-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:13px;background:#1a1514;border:1px solid var(--line);color:#e0d0ca;
  cursor:pointer;transition:all .16s;}
.burger-btn:hover{background:#241c1b;border-color:rgba(255,255,255,0.16);color:#fff;}
.header-nav.menu-open .burger-btn{background:#241c1b;border-color:rgba(232,51,35,0.4);color:#fff;}
.burger-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:50;min-width:218px;
  padding:7px;background:#171212;border:1px solid rgba(255,255,255,0.1);border-radius:15px;
  box-shadow:none;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;
  transition:opacity .16s,transform .16s,visibility .16s;}
.header-nav.menu-open .burger-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.burger-item{display:flex;align-items:center;gap:12px;height:42px;padding:0 13px;border-radius:11px;
  text-decoration:none;color:#e0d0ca;font-weight:600;font-size:15px;transition:background .14s,color .14s;}
.burger-item svg{flex:none;color:#e83323;}
.burger-item:hover{background:#241c1b;color:#fff;}
.burger-item:hover svg{color:#ff7d6a;}
.burger-sep{height:1px;margin:6px 9px;background:rgba(255,255,255,0.08);}
.burger-mega-wrap{position:relative;}
.burger-mega-wrap > .burger-item svg:last-of-type{margin-left:auto;opacity:.6;}
.mega{position:absolute;right:calc(100% + 12px);top:-7px;z-index:60;width:470px;
  background:#171212;border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:14px;
  box-shadow:none;
  opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .16s,transform .16s,visibility .16s;}
.burger-mega-wrap:hover .mega,.burger-mega-wrap:focus-within .mega{opacity:1;visibility:visible;transform:translateX(0);}
.mega::before{content:"";position:absolute;top:0;right:-14px;width:16px;height:100%;}
.mega-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(8,auto);gap:2px 12px;}
.mega-cat{display:flex;align-items:center;padding:10px 13px;border-radius:9px;text-decoration:none;
  color:#e0d0ca;font-size:14px;font-weight:600;white-space:nowrap;transition:background .14s,color .14s;}
.mega-cat:hover{background:#241c1b;color:#fff;}
.mega-cat.is-free{color:var(--green);}
.mega-cat.is-free:hover{color:#ffd25a;}
.mega-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:13px 13px 3px;
  border-top:1px solid rgba(255,255,255,0.08);}
.mega-foot a{color:var(--accent-light);font-size:14px;font-weight:700;text-decoration:none;}
.mega-foot a:hover{color:var(--accent);}
.mega-foot span{color:var(--text-3);font-size:13px;}
@media(max-width:760px){.mega{display:none;}}
body[data-page="home"] .header-search{display:none;}
body[data-page="home"] .header-nav{margin-left:auto;}
.icon-btn.is-active{background:rgba(232,51,35,0.18);}

/* L178 6. BOTTOM NAV */
:root:has(.bottom-nav){scroll-padding-bottom:80px;}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#0e0b0b;border-top:1px solid var(--line);}
.bottom-nav-inner{max-width:640px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;padding:12px 24px;}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;
  text-decoration:none;color:var(--text-2);transition:color .16s;}
.bottom-nav a span{font-size:13px;font-weight:600;}
.bottom-nav a:hover{color:#fff;}
.bottom-nav a.is-active{color:var(--accent);}
.bottom-nav a.is-active span{font-weight:700;}
.bottom-nav .bn-center{justify-content:flex-end;color:var(--accent);}
.bottom-nav .bn-fab{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;
  background:var(--accent);color:#fff;margin-top:-30px;border:none;
  box-shadow:0 4px 0 var(--accent-dark);transition:transform .1s ease,box-shadow .1s ease,background .16s;}
.bottom-nav .bn-center:hover{color:var(--accent);}
.bottom-nav .bn-center:hover .bn-fab{background:var(--accent-hover);}
.bottom-nav .bn-center:active .bn-fab{transform:translateY(4px);box-shadow:0 0 0 var(--accent-dark);}
.bottom-nav .bn-center span:last-child{font-weight:700;color:var(--accent);}

/* L201 7. FOOTER */
.site-footer{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,0.07);
  padding:22px 24px;text-align:center;}
.site-footer span{color:var(--text-3);font-size:14px;}
.site-footer-link{color:var(--text-2);font-size:14px;font-weight:600;text-decoration:none;transition:color .15s;}
.site-footer-link:hover{color:var(--accent-light);}
.site-footer-sep{margin:0 10px;color:var(--text-3);opacity:.5;}
body:not([data-page="home"]) main{padding-bottom:64px;}

/* L211 8. SEARCH PANEL */
.search-panel{position:relative;font-family:var(--font-body);}
.search-panel-card{position:relative;z-index:1;background:var(--card);
  border:1px solid rgba(255,255,255,0.09);border-radius:20px;padding:18px;
  box-shadow:none;}
.sp-row{display:flex;align-items:stretch;gap:12px;}
.sp-input{flex:1;display:flex;align-items:center;gap:13px;background:var(--input);
  border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:14px 18px;min-width:0;}
.sp-input input{flex:1;background:transparent;border:none;outline:none;color:var(--text);
  font-family:var(--font-body);font-size:16px;min-width:0;}
.sp-cam{display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:12px;background:#241c1b;text-decoration:none;flex:none;transition:all .16s;}
.sp-cam:hover{background:rgba(232,51,35,0.18);}
.sp-search{flex:none;padding:0 34px;border-radius:16px;border:none;background:var(--accent);
  color:#fff;font-family:var(--font-body);font-weight:700;font-size:16px;cursor:pointer;
  box-shadow:0 5px 0 var(--accent-dark);transition:transform .07s ease,box-shadow .07s ease,background .16s;}
.sp-search:hover{background:var(--accent-hover);}
.sp-search:active{transform:translateY(5px);box-shadow:0 0 0 var(--accent-dark);}

/* L230 9. HOME PAGE */
.hero{text-align:center;padding:80px 0 40px;}
.hero .badge{margin-bottom:18px;}
.hero .lead{margin:22px auto 36px;}
.cat-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:34px 0 38px;}
.tab{padding:11px 22px;border-radius:999px;border:1px solid rgba(255,255,255,0.1);background:transparent;
  color:var(--text-2);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;
  white-space:nowrap;transition:all .2s;}
.tab.is-active{border-color:var(--accent);background:var(--accent);color:#fff;}

/* L296 10. SEARCH RESULTS */
.view-toggle button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:11px;
  border:1px solid rgba(255,255,255,0.12);background:var(--card-2);color:var(--text-2);
  font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:all .15s;}

/* L451 13. VIDEOS PAGE */
.reels-side a,.reels-side button{width:48px;height:48px;border-radius:13px;background:rgba(38,22,22,0.72);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;color:#fff;transition:all .15s;}

/* L495 14. CATEGORY PAGE */
@keyframes presencePulse{0%{box-shadow:0 0 0 0 rgba(255,184,0,0.5);}70%{box-shadow:0 0 0 5px rgba(255,184,0,0);}100%{box-shadow:0 0 0 0 rgba(255,184,0,0);}}
.fd-head button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--card-2);
  color:#e0d0ca;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s;}

/* L688 15. KEYFRAMES */
@keyframes hzBlur{0%{opacity:0;filter:blur(16px);letter-spacing:0.32em;}100%{opacity:1;filter:blur(0);letter-spacing:-0.03em;}}
@keyframes hzBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-20px);}}
@keyframes slideDown{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
@keyframes fdIn{from{transform:translateX(-100%);}to{transform:translateX(0);}}
@media(max-width:900px){
  .header-search{display:none;}
  .header-nav{margin-left:auto;}
}
@media(max-width:560px){
  .container,.container--wide,.container--narrow{padding:0 18px;}
}
@media(max-width:640px){
  .hero{padding:30px 0 24px;}
  .hero .badge{font-size:11px;letter-spacing:0.08em;padding:7px 14px;
    white-space:normal;text-align:center;max-width:100%;}
  .hero .lead{margin:18px auto 26px;}
  .search-panel-card{padding:8px;}
  .sp-row{gap:0;}
  .sp-search{display:none;}
  .sp-input{flex:1;padding:14px 16px;gap:12px;border-radius:13px;}
  .sp-input input{order:-1;font-size:15px;}
  .sp-input > svg{order:1;}
  .sp-input .sp-cam{order:2;width:auto;height:auto;padding:0;background:transparent;}
  .sp-input .sp-cam:hover{background:transparent;}
  .sp-input > svg circle,.sp-input > svg line{stroke:var(--accent);}
  .sp-input .sp-cam svg{width:21px;height:21px;}
  .sp-input .sp-cam svg path,.sp-input .sp-cam svg circle{stroke:var(--accent);}
}

/* L739 13. Near Me page */
.nm-h1{text-align:left;margin:6px 0 0;line-height:1.04;}

/* L819 16. FEATURES TRACK */
@media(max-width:560px){
  .nm-h1{font-size:clamp(26px,7.4vw,33px);}
}

/* L867 17. HELP / SUPPORT page */
.faq-groups{display:flex;flex-direction:column;gap:22px;}
.faq-group{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;}
.faq-group-label{padding:20px 26px;font-family:var(--font-head);font-weight:700;font-size:17px;
  color:var(--accent-light);border-bottom:1px solid rgba(255,255,255,0.07);}
.faq-q{border-bottom:1px solid rgba(255,255,255,0.06);}
.faq-q:last-child{border-bottom:none;}
.faq-q summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 26px;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:17px;color:#fff;
  transition:background .15s;}
.faq-q summary::-webkit-details-marker{display:none;}
.faq-q summary:hover{background:rgba(255,255,255,0.02);}
.faq-q summary .chev{flex:none;color:var(--text-2);transition:transform .22s ease,color .15s;}
.faq-q[open] summary{color:var(--accent-light);}
.faq-q[open] summary .chev{transform:rotate(180deg);color:var(--accent-light);}
.faq-a{padding:0 26px 22px;color:var(--text-2);font-size:15px;line-height:1.7;text-wrap:pretty;}
.faq-a a{color:var(--accent-light);font-weight:600;text-decoration:none;}
.faq-a a:hover{text-decoration:underline;}
.faq-q[open] .faq-a{animation:faqIn .2s ease;}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:560px){
  .faq-group-label,.faq-q summary,.faq-a{padding-left:20px;padding-right:20px;}
}

/* L1010 18. METHODOLOGY page + homepage rank CTA */
.badge--mth{border-color:rgba(255,184,0,0.7);background:rgba(255,184,0,0.16);color:#ffe9a8;}
.badge--mth .dot{background:var(--green);}

/* L1529 22. IMAGE AI — CTA teaser */
.ims-cta2 .btn-primary{background:var(--accent);box-shadow:0 4px 0 var(--accent-dark);}

/* L1554 SHORTS — centered CTA + wide illustration area */
.badge--sh{border-color:rgba(232,51,35,0.3);background:rgba(232,51,35,0.08);color:var(--accent-light);margin-bottom:20px;}
.sh-cta .btn-primary{background:var(--accent)!important;color:#fff;box-shadow:0 4px 0 #9e1c12;}

/* L1574 23. CONTACT + FAQ */
.cts-btn{margin-top:28px;height:auto;padding:16px 34px;border-radius:14px;font-family:var(--font-head);font-size:16px;}
.hf-a a{color:var(--accent-light);font-weight:600;text-decoration:none;}

/* L2197 SpicyCreator brand layer */
:root{--grad:linear-gradient(135deg,#e83323 0%,#e83323 100%);--gold:#ffb800;--green:#ffb800;}
.brand b em.brand-hot,.brand-hot{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.brand img{border-radius:0;object-fit:contain;}
.btn-primary,.sp-search{background:var(--grad)!important;color:#fff;box-shadow:0 4px 0 #9e1c12;}
.btn-primary:hover,.sp-search:hover{filter:brightness(1.1);}
.btn-primary:active,.sp-search:active{box-shadow:0 0 0 #9e1c12;}
.badge{border-color:rgba(232,51,35,.45);background:rgba(120,10,10,.35);color:#ff6b57;}
.mega-cat{background:rgba(110,12,12,.32);border-color:rgba(232,51,35,.4);}
::selection{background:#e83323;}
.hero{position:relative;}
.hero .h1{max-width:860px;margin-left:auto;margin-right:auto;color:#fff;text-wrap:balance;}
.hero .lead{max-width:760px;margin-left:auto;margin-right:auto;}
.hero .h1{max-width:760px;letter-spacing:0;}
.brand img{height:50px;width:auto;}
@media(max-width:700px){.brand img{height:40px}}
.brand b em.brand-hot,.brand-hot{background:none!important;color:#e83323!important;-webkit-text-fill-color:#e83323!important;}

/* L2238 SPICY POLISH — satin / velvet finish */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.h1,.h2{letter-spacing:-0.035em;text-wrap:balance;}
.badge{padding:8px 18px;border-color:rgba(232,51,35,0.45);background:rgba(232,51,35,0.1);text-transform:uppercase;}
.btn{letter-spacing:0.01em;}
.sp-search,.btn-primary{text-shadow:none;}
.site-header{border-bottom:1px solid rgba(232,51,35,0.28);}
.bottom-nav{border-top:1px solid rgba(232,51,35,0.28);}
.site-footer{border-top:1px solid rgba(232,51,35,0.22);}
.rule{background:rgba(232,51,35,0.16);}
.search-panel-card{border-color:rgba(232,51,35,0.32);border-radius:26px;}
.sp-input,.search-box{border-color:rgba(232,51,35,0.22);}
.sp-input:focus-within,.search-box:focus-within{border-color:var(--accent);}
.h2::after{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--accent);margin:16px auto 0;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#0a0808;}
::-webkit-scrollbar-thumb{background:#3a1414;border-radius:6px;border:2px solid #0a0808;}
::-webkit-scrollbar-thumb:hover{background:var(--accent-dark);}
a{color:var(--accent-light);}
a:hover{color:var(--accent);}
.h2::after{content:none!important;display:none!important;}
.brand img{width:38px;height:38px;object-fit:cover;border-radius:10px;}
@media(max-width:700px){.brand img{width:34px;height:34px;}}
.search-panel-card,.faq-q,.burger-menu,.mega{border:1px solid rgba(255,255,255,0.1)!important;}
.sp-input,.search-box{border-color:rgba(255,255,255,0.1);}
.sp-input:focus-within,.search-box:focus-within{border-color:rgba(255,255,255,0.28);}
.sp-input,.search-box,.sp-input:focus-within,.search-box:focus-within{border:none!important;outline:none;}
.search-panel-card{border:none!important;}
.search-panel-card{border:1px solid rgba(255,255,255,0.09)!important;}
.sp-input,.search-box{border:1px solid rgba(255,255,255,0.09)!important;}
.sp-input:focus-within,.search-box:focus-within{border-color:rgba(255,255,255,0.09)!important;}
.site-header{border-bottom:1px solid rgba(255,255,255,0.08);}
.bottom-nav{border-top:1px solid rgba(255,255,255,0.08);}
.site-footer{border-top:1px solid rgba(255,255,255,0.08);}
.badge--mth{border-color:rgba(232,51,35,0.45);background:rgba(232,51,35,0.1);color:#ff6b57;}
.badge--mth .dot{background:#e83323;}

/* L2485 MOBILE — unified pass */
@media(max-width:700px){
  html{-webkit-text-size-adjust:100%;}
  body{overflow-x:hidden;}
  .container,.container--wide,.container--narrow{padding-left:20px;padding-right:20px;}
  .section{padding-top:56px!important;padding-bottom:56px!important;}
  .header-inner{padding:10px 16px;gap:12px;}
  .brand{min-height:44px;}
  .brand img{width:34px;height:34px;}
  .brand b{font-size:21px;}
  .burger-btn{width:44px;height:44px;}
  .burger-menu{min-width:min(280px,calc(100vw - 32px));}
  .burger-item{height:48px;}
  .h1,.hero .h1{font-size:clamp(30px,9vw,38px);line-height:1.1;letter-spacing:-0.03em;}
  .h2{font-size:clamp(27px,7.8vw,34px);line-height:1.12;}
  .lead{font-size:16.5px;line-height:1.55;margin-top:16px;}
  .badge{font-size:11px;padding:7px 14px;}
  .btn{min-height:48px;height:auto;padding:0 24px;font-size:16px;}
  .search-panel-card{padding:12px;border-radius:20px;}
  .sp-row{flex-direction:column;gap:10px;}
  .sp-input{padding:0 14px;min-height:52px;}
  .sp-input input{font-size:16px;}
  .sp-cam{width:44px;height:44px;display:flex;align-items:center;justify-content:center;}
  .sp-search{width:100%;min-height:52px;font-size:16px;}
  .search-box input{font-size:16px;}
  .cat-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:8px;margin:26px -20px 24px;padding:2px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .cat-tabs::-webkit-scrollbar{display:none;}
  .tab{flex:none;min-height:44px;padding:0 18px;}
  .faq-q summary{min-height:56px;padding:16px 18px;font-size:16px;}
  .site-footer{padding:24px 16px calc(24px + 80px);display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0;}
  .site-footer-link{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:14px;}
  .site-footer-sep{display:none;}
  .site-footer>span:last-child{width:100%;text-align:center;margin-top:6px;}
  .bottom-nav{padding-bottom:env(safe-area-inset-bottom);}
  .bottom-nav-inner{padding:6px 8px 8px;}
  .bottom-nav a{min-height:52px;}
  .bottom-nav a span{font-size:12px;}
}
@media(max-width:380px){
  .h1,.hero .h1{font-size:28px;}
  .brand b{font-size:19px;}
  .container,.container--wide,.container--narrow{padding-left:16px;padding-right:16px;}
}
@media(max-width:700px){
  .cts-btn{width:100%;max-width:340px;}
}
@media(max-width:480px){
  .header-nav{margin-left:auto;}
  .brand b{font-size:20px;}
}
@media(max-width:700px){
  .search-panel-card{padding:10px;border-radius:22px;}
  .sp-row{flex-direction:column;gap:10px;}
  .sp-input{display:flex;align-items:center;gap:10px;padding:0 6px 0 16px;min-height:54px;border-radius:16px;}
  .sp-input > svg{order:0;flex:none;width:20px;height:20px;}
  .sp-input > svg circle,.sp-input > svg line{stroke:#b5a49e;}
  .sp-input input{order:0;flex:1;min-width:0;font-size:16px;text-overflow:ellipsis;}
  .sp-input .sp-cam{order:0;width:42px;height:42px;padding:0;border-radius:12px;background:#241c1b;}
  .sp-input .sp-cam svg{width:20px;height:20px;}
  .sp-input .sp-cam svg path,.sp-input .sp-cam svg circle{stroke:#b5a49e;}
  .sp-search{display:block;width:100%;min-height:54px;padding:0;border-radius:16px;font-size:17px;}
}
@media(max-width:700px){.sp-search{display:none!important;}}
@media(max-width:700px){.search-panel-card{padding:0;border:none!important;background:none!important;box-shadow:none!important;border-radius:0;}}
@media(max-width:700px){main.container .container,main.container .container--wide,main.container .container--narrow{padding-left:0;padding-right:0;}}
.fd-head button{background:#161111;border-color:rgba(255,255,255,0.1);}
.header-inner{max-width:1080px;}
body:has(main.container--wide) .header-inner{max-width:1180px;}
body:has(main.container--narrow) .header-inner{max-width:880px;}
.sp-input{padding:14px 14px 14px 18px;}
.search-box{padding-right:5px;}
@media(max-width:700px){.sp-input{padding:0 7px 0 14px;}}
.brand .badge--mth{margin:0 0 0 12px;}
@media(max-width:700px){
  .header-inner{padding-left:20px;padding-right:20px;}
}
@media(max-width:480px){.brand .badge--mth{display:none;}}
@media(max-width:380px){.header-inner{padding-left:16px;padding-right:16px;}}
.to-top{position:fixed;right:24px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:45;width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:#161111;border:1px solid rgba(255,255,255,0.14);color:#fff;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .2s,transform .2s,visibility .2s,background .15s,border-color .15s;}
.to-top.is-on{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:var(--accent);border-color:var(--accent);}
.to-top:active{transform:scale(.94);}
@media(max-width:700px){.to-top{right:16px;bottom:calc(92px + env(safe-area-inset-bottom));}}
.to-top{width:42px;height:42px;border-radius:12px;background:rgba(22,17,17,0.85);border-color:rgba(255,255,255,0.1);color:#a89a95;}
.to-top.is-on{opacity:.8;}
.to-top:hover{opacity:1;color:#fff;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #ff6b57;outline-offset:3px;border-radius:8px;}
html{scroll-behavior:smooth;}
img{max-width:100%;}
a.tab,.cat-tabs a,.btn{text-decoration:none;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
a.btn,a.btn:hover,a.btn:focus,a.btn:active,.btn-primary,.btn-primary:hover,.btn-primary:focus,.btn-primary:active{color:#fff;}
.sp-input input:focus-visible,.search-box input:focus-visible{outline:none;}
.sp-input:focus-within,.search-box:focus-within{border-color:rgba(232,51,35,0.7)!important;}
.site-footer.sf{display:block;text-align:left;padding:56px 0 24px;border-top:1px solid rgba(255,255,255,0.08);background:#0a0707;margin-top:0;}
body[data-page="home"] .site-footer.sf{border-top:0;}
.sf-in{max-width:1080px;margin:0 auto;padding:0 28px;}
.sf-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,2.2fr) minmax(0,1fr);gap:48px;}
.sf-logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:#fff;}
.sf-logo img{width:38px;height:38px;border-radius:11px;object-fit:cover;display:block;}
.sf-logo b{font-family:var(--font-head);font-weight:800;font-size:21px;letter-spacing:-0.02em;}
.sf-logo em{font-style:normal;color:#e83323;}
.sf-brand p{margin:18px 0 0;font-size:14.5px;line-height:1.6;color:var(--text-2);max-width:280px;}
.sf-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px;}
.sf-links a{font-size:14.5px;font-weight:600;color:#fff;text-decoration:none;}
.sf-title{font-family:var(--font-head);font-weight:800;font-size:16px;color:#fff;margin-bottom:22px;}
.sf-catgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;}
.sf-h{font-family:var(--font-head);font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;}
.sf-grp a,.sf-ctrylist a{display:block;font-size:14px;line-height:1.35;color:var(--text-2);padding:4px 0;text-decoration:none;transition:color .15s;}
.sf-ctrylist a i{font-style:normal;display:inline-block;width:26px;font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:.06em;color:var(--text-3);}
.sf-grp a:hover,.sf-ctrylist a:hover,.sf-links a:hover,.sf-legal a:hover{color:var(--accent-light);}
.sf-all{display:inline-block;margin-top:20px;font-size:13.5px;font-weight:700;color:#ff6b57;text-decoration:none;}
.sf-all:hover{color:#fff;}
.sf-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:48px;padding:18px 0;border-top:1px solid rgba(255,255,255,0.08);border-bottom:1px solid rgba(255,255,255,0.08);}
.sf-lab{font-family:var(--font-head);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);}
.sf-legal a{font-size:13.5px;font-weight:600;color:var(--text-2);text-decoration:none;transition:color .15s;}
.sf-bot{display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-top:20px;font-size:13.5px;color:var(--text-3);}
.sf-bot .sf-tag{color:#ff6b57;font-weight:700;}
@media(max-width:820px){.sf-top{grid-template-columns:1fr 1fr;gap:40px 32px;}.sf-brand{grid-column:1/-1;}.sf-cats{grid-column:1/-1;order:2;}.sf-ctry{order:3;grid-column:1/-1;}.sf-ctrylist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;}}
@media(max-width:700px){
  .site-footer.sf{padding:40px 0 calc(24px + 80px);display:block;}
  .sf-in{padding:0 20px;}
  .sf-catgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px;}
  .sf-ctrylist{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sf-grp a,.sf-ctrylist a,.sf-links a,.sf-legal a{min-height:36px;display:flex;align-items:center;}
  .sf-links{flex-direction:row;flex-wrap:wrap;gap:4px 20px;}
  .sf-legal{gap:2px 18px;}
  .sf-bot{flex-direction:column;}
}
.sf-top{grid-template-columns:minmax(0,1.3fr) minmax(0,2.3fr) minmax(0,1fr);gap:44px;}
.sf-brand p{max-width:340px;}
.sf-links{flex-direction:row;flex-wrap:wrap;gap:8px 20px;}
.sf-links a{font-weight:600;color:var(--text-2);}
.sf-in{max-width:1200px;padding:0 32px;}
.sf-top{grid-template-columns:minmax(0,1.2fr) minmax(0,2.4fr) minmax(0,1fr);gap:56px;}
.sf-brand p{font-size:15px;line-height:1.55;max-width:310px;margin-top:16px;}
.sf-links{margin-top:18px;gap:6px 18px;}
.sf-links a{font-size:15px;}
.sf-catgrid{gap:34px 28px;}
.sf-grp a,.sf-ctrylist a{font-size:15px;padding:3px 0;}
.sf-h{font-size:11.5px;margin-bottom:10px;}
.sf-title{margin-bottom:18px;}
.sf-legal a{font-size:14px;}
.sf-bot{font-size:14px;}
@media(max-width:820px){.sf-top{gap:40px 32px;}.sf-in{padding:0 28px;}}
@media(max-width:700px){.sf-in{padding:0 20px;}}
.sf-h{font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.08em;white-space:nowrap;}
.sf-lab{font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.1em;}
.sf-bot .sf-tag{display:inline-flex;align-items:center;gap:8px;}
.mega-cat{background:transparent!important;border:0!important;color:#d9cbc5;}
.mega-cat:hover{background:rgba(255,255,255,0.07)!important;color:#fff;}
.mega-cat.is-free{color:#d9cbc5;}
.mega-cat.is-free:hover{color:#fff;}
.mega--ctry{width:430px;}
.mega--ctry .mega-grid{grid-template-rows:repeat(7,auto);}
.mega-cc{font-style:normal;display:inline-block;width:30px;font-family:var(--font-head);font-weight:700;font-size:11.5px;letter-spacing:.04em;color:var(--text-3);}
.mega-cat:hover .mega-cc{color:#fff;}
@media(max-width:760px){.is-open>.mega{display:block;position:static;width:auto;padding:0 0 4px 22px;opacity:1;visibility:visible;transform:none}.is-open .mega-grid{grid:none/1fr 1fr;gap:0}.is-open .mega-cat{padding:9px 8px;white-space:normal}}

/* L3226 AGE GATE 18+ */
html.age-locked,html.age-locked body{overflow:hidden;}
.age-gate{position:fixed;inset:0;z-index:1000;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(10,8,8,0.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.ag-card{margin:auto;width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:34px 30px 30px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.ag-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:800;font-size:20px;color:#fff;}
.ag-brand img{width:34px;height:34px;object-fit:contain;}
.ag-brand em{font-style:normal;color:var(--accent);}
.ag-18{width:64px;height:64px;margin:22px auto 0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--accent);color:var(--accent-light);font-family:var(--font-head);font-weight:800;font-size:20px;}
.ag-card .ag-title{font-family:var(--font-head);font-weight:800;font-size:24px;letter-spacing:-0.01em;margin:18px 0 0;color:#fff;line-height:normal;}
.ag-card p{margin:12px 0 0;color:var(--text-2);font-size:15px;line-height:1.65;}
.ag-card p b{color:var(--text);}
.ag-card p a{color:var(--accent-light);text-decoration:underline;text-underline-offset:3px;}
.ag-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px;}
.ag-actions .btn{height:52px;border-radius:14px;font-family:var(--font-head);font-size:16px;}
.ag-exit{height:46px;border-radius:14px;border:1px solid var(--line);background:transparent;color:var(--text-2);
  font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;}
.ag-exit:hover{border-color:rgba(255,255,255,0.22);color:#fff;}
@media(max-width:480px){.ag-card{padding:28px 20px 22px;border-radius:18px;}.ag-card .ag-title{font-size:21px;}}

/* L3272 chips used by blocks kept from the current site */
.cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.cat-chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);
  background:var(--card);color:var(--text);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;}
.cat-chip:hover{border-color:var(--accent);background:#1c1514;color:#fff;}
.cat-chip-e{font-size:15px;line-height:1;}

/* L495 14. CATEGORY PAGE + L3069 crumbs strip + L3279 SEO text — moved here from listing.css
   in R1-05: the breadcrumbs and SEO-text components are shared with pages that do not load
   listing.css (/categories, /near-me, /videos, CMS, /help, /about, /methodology, home). */
/* .crumbs: L495+L3070+L3073 in one rule */
.crumbs{display:flex;align-items:center;gap:9px;margin:0 calc(50% - 50vw) 40px;padding:11px calc(50vw - 50%);
  border-bottom:1px solid rgba(255,255,255,0.08);font-size:13px;line-height:1.2;color:var(--text-3);}
.crumbs a{color:var(--text-3);text-decoration:none;transition:color .15s;}
.crumbs a:hover{color:var(--accent-light);}
.crumbs .sep{opacity:.45;}
.crumbs .here{color:#e4d4ce;font-weight:700;}
.crumbs + .cat-head{margin-top:0;}
.crumbs + *{margin-top:0;}
@media(max-width:700px){.crumbs{margin-bottom:28px;}}
/* R1-05, not in the mockup: the trail is an <ol> (one <li> per ListItem) and may wrap on a phone */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin:0;padding:0;list-style:none;}
.crumbs ol>li{display:inline-flex;align-items:center;gap:9px;}
.seo-block{max-width:820px;margin:18px auto 0;padding:0 20px 22px;}
.seo-block h2{font-family:var(--font-head);font-weight:800;font-size:clamp(24px,3vw,32px);letter-spacing:-0.02em;margin:30px 0 0;color:#fff;}
.seo-block h3{font-family:var(--font-head);font-weight:700;font-size:19px;margin:24px 0 0;color:#fff;}
.seo-block p{margin:12px 0 0;color:#bfaea8;font-size:16px;line-height:1.7;}
.seo-block a{color:var(--accent-light);}
.seo-block ul,.seo-block ol{margin:12px 0 0;padding-left:22px;color:#bfaea8;font-size:16px;line-height:1.7;}
/* R1-05, not in the mockup: admin texts also carry ol/li, strong, hr and blockquote (19/20);
   hosts outside a .container (home, /near-me) get side padding (.seo-block above), inside one it is 0 */
.container .seo-block{padding-left:0;padding-right:0;}
.seo-block li+li{margin-top:6px;}
.seo-block strong{color:var(--text);}
.seo-block hr{margin:28px 0 0;border:0;border-top:1px solid var(--line);}
.seo-block blockquote{margin:16px 0 0;padding:2px 0 2px 18px;border-left:3px solid var(--accent);}
.seo-block blockquote p:first-child{margin-top:0;}

/* reduced motion: not in the mockup (R1-01 review) */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
