/* =========================================================
   JerkHub Guide — site.css  (Bootstrap 5.3 + custom layer)
   Fonts: Roboto (headings) + Open Sans (body), self-hosted
   ========================================================= */
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/roboto-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/open-sans-latin-700-normal.woff2) format("woff2")}

:root{
  --ink:#061a20; --ink-2:#0a242c; --card:#0f2e37; --card-2:#153b46;
  --line:rgba(255,255,255,.11); --tx:#e9f4f6; --mut:#93b0b8;
  --amber:#ff6a3d; --amber-2:#e8481c; --pink:#ffd23f; --vio:#2bd4e0; --mint:#3ddc97;
  --r:6px;
  --bs-body-bg:var(--ink); --bs-body-color:var(--tx);
  --bs-body-font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --bs-link-color-rgb:255,106,61; --bs-link-hover-color-rgb:255,160,130;
  --bs-border-color:var(--line);
}
html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:clip}
body{overflow-x:clip}
.hero{overflow-x:clip}
body{
  font-family:var(--bs-body-font-family);line-height:1.7;
  background:
    radial-gradient(900px 500px at 85% -5%,rgba(43,212,224,.22),transparent 60%),
    radial-gradient(700px 480px at -10% 18%,rgba(255,210,63,.14),transparent 60%),
    var(--ink);
  background-attachment:fixed;
}
h1,h2,h3,h4,h5,.display-font{font-family:"Roboto",system-ui,Arial,sans-serif;letter-spacing:-.01em;line-height:1.12}
h1,h2{font-weight:900}
h3,h4,h5{font-weight:700}
a{text-underline-offset:3px}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:3000;background:var(--amber);color:#1a0a04;padding:.6rem 1rem;border-radius:8px;font-weight:700}
.skip-link:focus{left:12px}
.text-mut{color:var(--mut)!important}
.text-amber{color:var(--amber)!important}
.text-pink{color:var(--pink)!important}

/* ---------- ticker ---------- */
.topbar{background:linear-gradient(90deg,#0b2a33,#103a45 50%,#0b2a33);border-bottom:1px solid var(--line);font-size:.8rem;overflow:hidden;white-space:nowrap}
.ticker{display:inline-flex;gap:3rem;padding:.45rem 0;animation:tick 70s linear infinite;will-change:transform}
.topbar:hover .ticker{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:.55rem;color:#dff3f5;font-weight:600;letter-spacing:.02em}
.ticker i{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(255,210,63,.6);animation:ping 1.8s infinite}
@keyframes tick{to{transform:translateX(-50%)}}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(255,210,63,0)}100%{box-shadow:0 0 0 0 rgba(255,210,63,0)}}

/* ---------- nav ---------- */
.site-nav{background:rgba(6,26,32,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-family:"Roboto",sans-serif;font-weight:900;font-size:1.55rem;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;letter-spacing:-.03em}
.brand b{color:var(--amber)}
.brand .mark{width:34px;height:34px;border-radius:6px;display:grid;place-items:center;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--vio),var(--pink));box-shadow:0 6px 18px rgba(43,212,224,.45);}
.site-nav .nav-link{color:#cfe4e8;font-weight:600;font-size:.93rem;padding:.55rem .85rem}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:#fff}
.site-nav .nav-link.active{box-shadow:inset 0 -2px 0 var(--amber)}
.navbar-toggler{border-color:var(--line)!important}
.offcanvas{background:var(--ink-2)}

/* ---------- buttons ---------- */
.btn{font-family:"Roboto",sans-serif;font-weight:800;letter-spacing:.01em;border-radius:8px;padding:.78rem 1.55rem}
.btn-amber{color:#1a0a04;border:0;background:linear-gradient(180deg,#ff9a73,var(--amber) 55%,var(--amber-2));box-shadow:0 10px 28px rgba(232,72,28,.32),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .15s,box-shadow .15s}
.btn-amber:hover,.btn-amber:focus{color:#1a0a04;transform:translateY(-2px);box-shadow:0 14px 34px rgba(232,72,28,.45),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-amber{position:relative;overflow:hidden}.btn-amber.pulse::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sheen 3.2s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 10px 28px rgba(232,72,28,.32),0 0 0 0 rgba(255,106,61,.5)}60%{box-shadow:0 10px 28px rgba(232,72,28,.32),0 0 0 14px rgba(255,106,61,0)}}
.btn-ghost{color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.btn-lg{padding:.95rem 1.9rem;font-size:1.05rem}

/* ---------- generic ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:var(--amber);font:700 .78rem/1 "Roboto",sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.9rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--amber);border-radius:2px}
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section-title{font-size:clamp(1.8rem,4vw,2.9rem);margin-bottom:.8rem}
.lead-mut{color:var(--mut);font-size:1.08rem;max-width:62ch}
.hl{background:linear-gradient(transparent 60%,rgba(255,210,63,.6) 60% 92%,transparent 92%);padding:0 .12em;border-radius:3px}
.grad-text{background:linear-gradient(90deg,var(--amber),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.chip{display:inline-block;font:700 .7rem/1 "Roboto",sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:.42rem .7rem;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#d3e8ec}
.chip.amber{color:var(--amber);border-color:rgba(255,106,61,.4);background:rgba(255,106,61,.08)}

/* ---------- hero ---------- */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem);position:relative}
.hero h1{font-size:clamp(2.5rem,6.4vw,5rem);margin-bottom:1.2rem}
.hero .sub{font-size:clamp(1.02rem,2vw,1.22rem);color:#c2dade;max-width:56ch}
.hero-notes{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.4rem;color:var(--mut);font-size:.88rem}
.hero-notes span{display:inline-flex;align-items:center;gap:.45rem}
.ic{width:1.1em;height:1.1em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-notes .ic{color:var(--mint)}
.onair{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,210,63,.12);border:1px solid rgba(255,210,63,.4);color:#ffe99a;font:700 .76rem/1 "Roboto",sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:.5rem .85rem;border-radius:999px;margin-bottom:1.2rem}
.onair i{width:8px;height:8px;border-radius:50%;background:var(--pink);animation:ping 1.8s infinite}

/* ticket pass */
.ticket-stack{position:relative;max-width:390px;margin:0 auto;padding:18px}
.ticket-stack::before{content:"";position:absolute;inset:34px 4px 0 40px;border-radius:26px;background:linear-gradient(135deg,rgba(43,212,224,.5),rgba(255,210,63,.4));transform:rotate(-4deg);filter:blur(.3px);opacity:.6}
.ticket{position:relative;background:linear-gradient(160deg,var(--card-2),var(--card));border:1px solid rgba(255,255,255,.14);border-radius:26px;transform:rotate(0);animation:floaty 6s ease-in-out infinite;box-shadow:0 30px 70px rgba(0,0,0,.55)}
.ticket:hover{animation-play-state:paused}
.ticket::before,.ticket::after{content:"";position:absolute;top:61%;width:30px;height:30px;border-radius:50%;background:var(--ink);border:1px solid rgba(255,255,255,.14)}
.ticket::before{left:-16px;clip-path:inset(0 0 0 50%)}
.ticket::after{right:-16px;clip-path:inset(0 50% 0 0)}
.ticket-top{padding:1.5rem 1.6rem 1.4rem}
.ticket-top .t-brand{font:900 .8rem/1 "Roboto",sans-serif;letter-spacing:.28em;color:var(--amber);text-transform:uppercase}
.ticket-top h2{font-size:2rem;margin:.7rem 0 1rem}
.ticket-top ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.ticket-top li{display:flex;gap:.65rem;align-items:center;font-size:.95rem;color:#dcecef}
.ticket-top li .ic{color:var(--mint)}
.ticket-bot{padding:1.3rem 1.6rem 1.5rem;border-top:2px dashed rgba(255,255,255,.2)}
.barcode{height:38px;margin-top:1rem;opacity:.75;border-radius:3px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 10px,#fff 10px 13px,transparent 13px 15px)}
.ticket-id{display:flex;justify-content:space-between;font:500 .68rem "Roboto",sans-serif;letter-spacing:.2em;color:var(--mut);margin-top:.4rem}
.float-tag{position:absolute;z-index:3;background:#fff;color:#1a0a04;font:900 .78rem/1 "Roboto",sans-serif;padding:.55rem .8rem;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.float-tag.a{top:6px;right:-4px;transform:rotate(7deg)}
.float-tag.b{bottom:30px;left:-6px;background:var(--pink);color:#fff;}

/* trust strip */
.tldr{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:var(--r)}
.tldr dl{margin:0;display:grid;grid-template-columns:1fr}
@media(min-width:640px){.tldr dl{grid-template-columns:repeat(2,1fr)}}
@media(min-width:992px){.tldr dl{grid-template-columns:repeat(3,1fr)}}
.tldr dl>div{padding:1.15rem 1.3rem;border-top:1px solid var(--line)}
@media(min-width:640px){.tldr dl>div:nth-child(even){border-left:1px solid var(--line)}}
@media(min-width:992px){.tldr dl>div{border-left:0!important}.tldr dl>div:not(:nth-child(3n+1)){border-left:1px solid var(--line)!important}}
.tldr dt{font:700 .7rem/1 "Roboto",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:.45rem}
.tldr dd{margin:0;font-size:.93rem;color:#d3e8ec}
.tldr-head{padding:1.15rem 1.3rem .2rem;font-size:.95rem;color:#cfe4e8}
.tldr-head strong{color:#fff}

/* mode tabs */
.mode-wrap{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.mode-nav{display:flex;gap:.4rem;padding:.8rem;background:rgba(0,0,0,.25);overflow-x:auto;scrollbar-width:none}
.mode-nav::-webkit-scrollbar{display:none}
.mode-nav .nav-link{color:#c2dade;font:700 .92rem "Roboto",sans-serif;border-radius:12px;white-space:nowrap;padding:.7rem 1.1rem}
.mode-nav .nav-link.active{background:linear-gradient(180deg,#ff9a73,var(--amber));color:#1a0a04}
.mode-pane{padding:clamp(1.3rem,3vw,2.4rem)}
.mode-pane h3{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.7rem}
.mode-pane ul{padding-left:0;list-style:none;display:grid;gap:.6rem;margin:1.1rem 0 1.5rem}
.mode-pane li{display:flex;gap:.7rem;color:#d3e8ec}
.mode-pane li .ic{color:var(--amber);margin-top:.28rem}
.mode-side{background:radial-gradient(circle at 30% 20%,rgba(43,212,224,.35),transparent 60%),radial-gradient(circle at 80% 90%,rgba(255,210,63,.3),transparent 55%),var(--card-2);border-radius:20px;min-height:220px;display:grid;place-items:center;text-align:center;padding:1.5rem;border:1px solid var(--line)}
.mode-side .big{font:900 clamp(2.6rem,6vw,4.2rem)/1 "Roboto",sans-serif}
.mode-side small{display:block;color:var(--mut);margin-top:.5rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;font-size:.72rem}

/* rail steps */
.rail{list-style:none;padding:0;margin:0;counter-reset:s;display:grid;gap:1.4rem;position:relative}
.rail::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--amber),var(--pink),var(--vio));opacity:.55}
.rail li{counter-increment:s;position:relative;padding-left:4.2rem}
.rail li::before{content:counter(s);position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:900 1.2rem "Roboto",sans-serif;color:#1a0a04;background:var(--amber);box-shadow:0 0 0 6px var(--ink),0 0 0 7px rgba(255,106,61,.4)}
.rail h3{font-size:1.25rem;margin:.2rem 0 .3rem}
.rail p{margin:0;color:var(--mut)}
.rail .time{display:inline-block;margin-left:.5rem;font:700 .7rem "Roboto",sans-serif;letter-spacing:.1em;color:var(--mint);border:1px solid rgba(61,220,151,.4);padding:.2rem .5rem;border-radius:99px;vertical-align:middle}
@media(min-width:992px){
  .rail.h{grid-template-columns:repeat(4,1fr);gap:1.6rem}
  .rail.h::before{left:24px;right:24px;top:23px;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,var(--amber),var(--pink),var(--vio))}
  .rail.h li{padding-left:0;padding-top:4rem}
}

/* planner */
.planner{background:linear-gradient(160deg,#0d333d,#17112c);border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:clamp(1.3rem,3vw,2.2rem)}
.planner label{font:700 .76rem "Roboto",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:.4rem}
.planner .form-control{background:rgba(0,0,0,.35);border-color:var(--line);color:#fff;border-radius:12px;font-weight:700;padding:.75rem 1rem}
.planner .form-control:focus{border-color:var(--amber);box-shadow:0 0 0 .2rem rgba(255,106,61,.2);background:rgba(0,0,0,.45);color:#fff}
.planner .quick .btn{padding:.35rem .9rem;font-size:.85rem}
.result{border-radius:20px;background:rgba(0,0,0,.35);border:1px dashed rgba(255,255,255,.25);padding:1.4rem;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center}
.result .num{font:900 clamp(2.4rem,6vw,3.8rem)/1 "Roboto",sans-serif;color:var(--amber)}
.result .unit{color:var(--mut);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.meter{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:1rem}
.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--amber),var(--pink));transition:width .5s}

/* clone check */
.vs{display:grid;gap:1rem}
@media(min-width:768px){.vs{grid-template-columns:1fr 1fr}}
.vs>div{border-radius:var(--r);padding:1.4rem;border:1px solid var(--line);background:var(--card)}
.vs .good{border-color:rgba(61,220,151,.45);background:linear-gradient(180deg,rgba(61,220,151,.1),var(--card))}
.vs .bad{border-color:rgba(255,210,63,.45);background:linear-gradient(180deg,rgba(255,210,63,.1),var(--card))}
.vs h3{font-size:1.1rem;display:flex;align-items:center;gap:.5rem}
.vs ul{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.6rem;font-size:.95rem;color:#d3e8ec}
.vs li{display:flex;gap:.6rem}
.vs .good .ic{color:var(--mint)}.vs .bad .ic{color:var(--pink)}
.vs li .ic{margin-top:.3rem}

/* bento */
.bento{display:grid;gap:1rem;grid-template-columns:repeat(6,1fr)}
.bento>article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}
.bento>article:hover{transform:translateY(-4px);border-color:rgba(255,106,61,.5)}
.bento h3{font-size:1.2rem;margin:.9rem 0 .4rem}
.bento p{margin:0;color:var(--mut);font-size:.95rem}
.bento .b-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,106,61,.12);color:var(--amber)}
.bento .b-ic .ic{width:24px;height:24px}
.bento .w6{grid-column:span 6}.bento .w2{grid-column:span 2}.bento .w3{grid-column:span 3}.bento .w4{grid-column:span 4}
.bento .hot{background:linear-gradient(135deg,#3a1a6b,#6a1d55);border-color:rgba(255,255,255,.2)}
.bento .hot p{color:#e5d9f7}
.bento .hot .b-ic{background:rgba(255,255,255,.15);color:#fff}
.bento .stat{font:900 3rem/1 "Roboto",sans-serif;color:var(--amber)}
@media(max-width:991px){.bento{grid-template-columns:repeat(2,1fr)}.bento .w3,.bento .w4,.bento .w6{grid-column:span 2}.bento .w2{grid-column:span 1}}
@media(max-width:575px){.bento{grid-template-columns:1fr}.bento .w2,.bento .w3,.bento .w4,.bento .w6{grid-column:auto}}

/* post cards */
.post-card{display:flex;gap:1rem;align-items:flex-start;height:100%;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:14px;padding:1.15rem 1.2rem;text-decoration:none;color:inherit;transition:transform .2s,background .2s}
.post-card:hover{transform:translateX(5px);background:var(--card-2);color:inherit}
.post-card .no{font:900 2.2rem/1 "Roboto",sans-serif;color:rgba(255,255,255,.14);min-width:2.4ch}
.post-card h3{font-size:1.06rem;margin:.45rem 0 .35rem;line-height:1.28}
.post-card .meta{font-size:.78rem;color:var(--mut)}
.post-card[data-cat="Safety"],.post-card[data-cat="Privacy"]{border-left-color:var(--mint)}
.post-card[data-cat="Buying Guide"],.post-card[data-cat="Reviews"],.post-card[data-cat="Budgeting"],.post-card[data-cat="Payments"]{border-left-color:var(--amber)}
.post-card[data-cat="How-To"],.post-card[data-cat="Beginner"],.post-card[data-cat="Troubleshooting"]{border-left-color:var(--vio)}
.post-card[data-cat="Etiquette"],.post-card[data-cat="Features"],.post-card[data-cat="Wellbeing"],.post-card[data-cat="Tips"],.post-card[data-cat="Guides"]{border-left-color:var(--pink)}
.feature-post{display:block;text-decoration:none;color:inherit;border-radius:24px;padding:clamp(1.5rem,3vw,2.4rem);height:100%;background:radial-gradient(500px 280px at 90% 0,rgba(255,210,63,.35),transparent 60%),linear-gradient(150deg,#2b1f55,#171029);border:1px solid rgba(255,255,255,.16);transition:transform .2s}
.feature-post:hover{transform:translateY(-4px);color:inherit}
.feature-post h3{font-size:clamp(1.5rem,3vw,2.2rem);margin:.9rem 0}
.filters{display:flex;gap:.5rem;flex-wrap:wrap}
.filters button{background:rgba(255,255,255,.06);border:1px solid var(--line);color:#d3e8ec;font:700 .82rem "Roboto",sans-serif;padding:.5rem .95rem;border-radius:99px}
.filters button.on,.filters button:hover{background:var(--amber);color:#1a0a04;border-color:var(--amber)}

/* faq */
.accordion{--bs-accordion-bg:var(--card);--bs-accordion-color:var(--tx);--bs-accordion-border-color:var(--line);--bs-accordion-btn-color:#fff;--bs-accordion-btn-bg:var(--card);--bs-accordion-active-bg:var(--card-2);--bs-accordion-active-color:var(--amber);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(255,106,61,.25);--bs-accordion-btn-icon-filter:invert(1)}
.accordion-item{border-radius:14px!important;margin-bottom:.7rem;overflow:hidden;border:1px solid var(--line)}
.accordion-button{font:700 1.02rem "Roboto",sans-serif;padding:1.1rem 1.3rem}
.accordion-button:not(.collapsed){--bs-accordion-btn-icon-filter:invert(1) sepia(1) saturate(6) hue-rotate(2deg)}
.accordion-body{color:#cfe4e8}

/* cta band */
.cta-band{border-radius:30px;padding:clamp(1.8rem,5vw,3.6rem);background:radial-gradient(500px 300px at 8% 110%,rgba(255,106,61,.35),transparent 60%),radial-gradient(500px 300px at 100% -10%,rgba(255,210,63,.45),transparent 60%),linear-gradient(135deg,#12404c,#1a0f33);border:1px solid rgba(255,255,255,.18);position:relative;overflow:hidden}
.cta-band h2{font-size:clamp(1.9rem,4.5vw,3.2rem)}

/* footer */
.site-footer{border-top:1px solid var(--line);background:rgba(0,0,0,.35);padding:3.2rem 0 6rem;font-size:.92rem}
.site-footer h4{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:.9rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.site-footer a{color:#c2dade;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}
.badge18{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--pink);color:#fff;font:900 .95rem "Roboto",sans-serif}
.fine{font-size:.78rem;color:var(--mut);line-height:1.6}

/* sticky mobile cta */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1040;padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));background:rgba(6,26,32,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s;display:flex;align-items:center;gap:.8rem}
.sticky-cta.show{transform:none}
.sticky-cta .msg{flex:1;font-size:.8rem;line-height:1.25;color:#cfe4e8}
.sticky-cta .msg b{display:block;color:#fff;font-family:"Roboto",sans-serif}
@media(min-width:768px){.sticky-cta{display:none}}

/* age gate */
.age-modal .modal-content{background:linear-gradient(160deg,#0d333d,#120d22);border:1px solid rgba(255,255,255,.2);border-radius:26px;text-align:center}
.age-modal .badge18{width:72px;height:72px;font-size:1.6rem;margin:0 auto 1rem;border-width:3px}
.modal-backdrop.show{opacity:.92}

/* progress */
#readbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:2000;background:linear-gradient(90deg,var(--amber),var(--pink),var(--vio))}

/* ---------- blog hero + article ---------- */
.crumbs{font-size:.82rem;color:var(--mut)}
.crumbs a{color:#c2dade;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.post-head{padding:2.2rem 0 1.4rem}
.post-head h1{font-size:clamp(2rem,4.8vw,3.4rem);margin:.9rem 0 1rem;max-width:22ch}
.byline{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;color:var(--mut);font-size:.86rem}
.byline a{color:#e0d7f4}
.post{font-size:1.06rem}
.post h2{font-size:clamp(1.5rem,3vw,2.05rem);margin:2.6rem 0 1rem}
.post h3{font-size:1.28rem;margin:1.8rem 0 .6rem}
.post p,.post li{color:#d3e8ec}
.post a{font-weight:600}
.post strong{color:#fff}
.answer-box{border-radius:var(--r);padding:1.25rem 1.4rem;background:linear-gradient(135deg,rgba(255,106,61,.14),rgba(255,210,63,.08));border:1px solid rgba(255,106,61,.4);position:relative}
.answer-box .lab{display:inline-block;font:900 .7rem "Roboto",sans-serif;letter-spacing:.18em;text-transform:uppercase;background:var(--amber);color:#1a0a04;padding:.3rem .6rem;border-radius:6px;margin-bottom:.6rem}
.answer-box p{margin:0;font-size:1.08rem;color:#fff}
.takeaways{border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;background:var(--card)}
.takeaways h2{font-size:1.05rem!important;margin:0 0 .6rem!important;letter-spacing:.04em}
.takeaways ul{margin:0;padding-left:1.1rem}
.callout{border-radius:14px;padding:1rem 1.2rem;margin:1.6rem 0;border:1px solid var(--line);background:var(--card);display:flex;gap:.9rem}
.callout .ic{width:1.4em;height:1.4em;margin-top:.2rem}
.callout p{margin:0}.callout strong{display:block;font-family:"Roboto",sans-serif;margin-bottom:.15rem}
.callout.tip{border-color:rgba(61,220,151,.5);background:rgba(61,220,151,.07)}.callout.tip .ic{color:var(--mint)}
.callout.warn{border-color:rgba(255,210,63,.5);background:rgba(255,210,63,.08)}.callout.warn .ic{color:var(--pink)}
.callout.note{border-color:rgba(43,212,224,.55);background:rgba(43,212,224,.1)}.callout.note .ic{color:#a994ff}
.pull{font:900 clamp(1.4rem,3vw,2rem)/1.2 "Roboto",sans-serif;margin:2.2rem 0;padding:.4rem 0 .4rem 1.3rem;border-left:5px solid var(--pink);color:#fff}
.pull small{display:block;font:600 .85rem "Open Sans",sans-serif;color:var(--mut);margin-top:.6rem}
.tl{list-style:none;padding:0;margin:1.5rem 0;position:relative;display:grid;gap:1.1rem}
.tl::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl li{position:relative;padding-left:2.4rem}
.tl li::before{content:"";position:absolute;left:0;top:.45rem;width:20px;height:20px;border-radius:50%;background:var(--ink);border:3px solid var(--amber)}
.tl h3{margin:0 0 .2rem!important;font-size:1.1rem!important}
.tl p{margin:0}
.tl .when{font:700 .72rem "Roboto",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.checks{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.65rem}
.checks li{display:flex;gap:.8rem;padding:.85rem 1rem;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.checks li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--mint);color:#06240f;font-weight:900;font-size:.85rem;margin-top:.1rem}
.nums{list-style:none;counter-reset:n;padding:0;margin:1.2rem 0;display:grid;gap:.8rem}
.nums li{counter-increment:n;display:grid;grid-template-columns:3rem 1fr;gap:.9rem;align-items:start}
.nums li::before{content:counter(n,decimal-leading-zero);font:900 1.7rem/1 "Roboto",sans-serif;color:var(--pink)}
.mf{display:grid;gap:.9rem;margin:1.4rem 0}
.mf>div{display:grid;gap:0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
@media(min-width:768px){.mf>div{grid-template-columns:1fr 1fr}}
.mf .m,.mf .f{padding:1rem 1.2rem}
.mf .m{background:rgba(255,210,63,.09)}.mf .f{background:rgba(61,220,151,.08)}
.mf b{display:block;font:900 .7rem "Roboto",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.3rem}
.mf .m b{color:var(--pink)}.mf .f b{color:var(--mint)}
.mf p{margin:0;font-size:.98rem}
.qa{margin:1.4rem 0;display:grid;gap:.8rem}
.qa details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.1rem 1.1rem}
.qa summary{cursor:pointer;font:700 1.02rem "Roboto",sans-serif;padding:.9rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem;color:#fff}
.qa summary::after{content:"+";color:var(--amber);font-size:1.4rem;line-height:1}
.qa details[open] summary::after{content:"–"}
.qa summary::-webkit-details-marker{display:none}
.qa details p{padding-bottom:.9rem;margin:0}
.pc{display:grid;gap:1rem;margin:1.5rem 0}
@media(min-width:768px){.pc{grid-template-columns:1fr 1fr}}
.pc>div{border-radius:14px;padding:1.1rem 1.3rem;border:1px solid var(--line);background:var(--card)}
.pc h3{margin:0 0 .6rem!important;font-size:1rem!important;letter-spacing:.08em;text-transform:uppercase}
.pc .pro h3{color:var(--mint)}.pc .con h3{color:var(--pink)}
.pc ul{margin:0;padding-left:1.1rem}
.score{margin:1.5rem 0;display:grid;gap:.8rem}
.score .row{display:grid;grid-template-columns:130px 1fr 44px;gap:.8rem;align-items:center;font-size:.95rem}
.score .bar{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.score .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--pink));border-radius:99px}
.score .v{font:900 1rem "Roboto",sans-serif;text-align:right}
.verdict{border-radius:22px;padding:1.4rem 1.6rem;margin:1.8rem 0;background:linear-gradient(135deg,#2e2062,#451a52);border:1px solid rgba(255,255,255,.2);display:grid;gap:1rem;align-items:center}
@media(min-width:768px){.verdict{grid-template-columns:auto 1fr}}
.verdict .big{font:900 3.4rem/1 "Roboto",sans-serif;color:var(--amber)}
.verdict .big small{font-size:1.1rem;color:var(--mut)}
.verdict p{margin:0}
.dl-g{margin:1.4rem 0;display:grid;gap:.2rem}
.dl-g dt{font:900 1.05rem "Roboto",sans-serif;color:var(--amber);margin-top:.9rem}
.dl-g dd{margin:0;color:#d3e8ec}
.cmp{display:grid;gap:1rem;margin:1.5rem 0}
@media(min-width:768px){.cmp{grid-template-columns:1fr 1fr}}
.cmp>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.3rem}
.cmp h3{margin:0 0 .5rem!important}
.cmp ul{padding-left:1.1rem;margin:0}
.ifthen{display:grid;gap:.8rem;margin:1.4rem 0}
.ifthen>div{display:grid;gap:.4rem;padding:1rem 1.2rem;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--vio)}
@media(min-width:768px){.ifthen>div{grid-template-columns:1fr 1.4rem 1fr;align-items:center}.ifthen .arr{text-align:center}}
.ifthen .if{color:#fff;font-weight:700}.ifthen .arr{color:var(--amber);font-weight:900}
.table-wrap{overflow-x:auto;margin:1.5rem 0;border-radius:14px;border:1px solid var(--line)}
.table{--bs-table-bg:var(--card);--bs-table-color:var(--tx);--bs-table-border-color:var(--line);margin:0}
.table thead th{background:var(--card-2);color:var(--amber);font:700 .78rem "Roboto",sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid rgba(255,106,61,.5)}
.table td,.table th{padding:.85rem 1rem;vertical-align:top}
.table caption{caption-side:top;padding:.7rem 1rem;color:var(--mut);font-size:.82rem}
.cta-inline{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;margin:2rem 0;padding:1rem 1.2rem;border-radius:16px;background:linear-gradient(90deg,rgba(255,106,61,.15),rgba(255,210,63,.12));border:1px solid rgba(255,106,61,.45)}
.cta-inline p{margin:0;font-weight:700;color:#fff;flex:1 1 260px}
.cta-banner{margin:2.4rem 0;border-radius:24px;padding:1.8rem;text-align:center;background:radial-gradient(400px 220px at 50% -20%,rgba(255,210,63,.45),transparent 70%),linear-gradient(150deg,#12404c,#190f30);border:1px solid rgba(255,255,255,.18)}
.cta-banner h3{font-size:1.7rem;margin:0 0 .5rem!important}
.cta-banner p{color:#d9cff1;max-width:48ch;margin:0 auto 1.1rem}
.cta-card{margin:2rem 0;border-radius:20px;padding:1.4rem;background:var(--card);border:2px solid var(--amber);display:grid;gap:1rem}
@media(min-width:768px){.cta-card{grid-template-columns:1fr auto;align-items:center}}
.cta-card h3{margin:0 0 .4rem!important}
.cta-card ul{margin:0;padding-left:1.1rem;color:#cfe4e8}
.cta-strip{margin:1.8rem 0;padding:.9rem 1.1rem;border-left:5px solid var(--amber);background:rgba(255,106,61,.08);border-radius:0 12px 12px 0}
.cta-strip a{font-weight:800}
.aside-sticky{position:sticky;top:92px;display:grid;gap:1rem}
.aside-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem}
.aside-card h2{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:0 0 .7rem;font-weight:700}
.toc{list-style:none;padding:0;margin:0;display:grid;gap:.1rem;font-size:.9rem}
.toc a{display:block;padding:.35rem .6rem;border-left:2px solid var(--line);color:#c2dade;text-decoration:none}
.toc a:hover,.toc a.on{color:#fff;border-left-color:var(--amber);background:rgba(255,106,61,.06)}
.related-h{font-size:1.5rem;margin:3rem 0 1rem}
.hub-hero{padding:3rem 0 1rem}
.hub-hero h1{font-size:clamp(2.2rem,5.5vw,4rem)}
.legal h2{font-size:1.4rem;margin:2rem 0 .6rem}
.legal p,.legal li{color:#cfe4e8}
.err{min-height:60vh;display:grid;place-items:center;text-align:center}
.err .n{font:900 clamp(5rem,18vw,11rem)/1 "Roboto",sans-serif}

@media(max-width:575px){
  .post{font-size:1rem}
  .score .row{grid-template-columns:96px 1fr 38px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* ===== v2 theme: motion ===== */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes sheen{0%,55%{left:-70%}100%{left:130%}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero .onair,.hero h1,.hero .sub,.hero .d-flex,.hero .hero-notes,.hero .ticket-stack{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero h1{animation-delay:.12s}.hero .sub{animation-delay:.24s}.hero .d-flex{animation-delay:.36s}.hero .hero-notes{animation-delay:.48s}.hero .ticket-stack{animation-delay:.3s}
.js .rv{opacity:0;transform:translateX(-26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.bento>article:hover,.vs>div:hover{border-color:var(--amber);transform:translateY(-4px)}
/* ===== v2 theme: layout ===== */
body{background:radial-gradient(1000px 520px at 10% -8%,rgba(43,212,224,.18),transparent 60%),radial-gradient(800px 500px at 105% 22%,rgba(255,106,61,.12),transparent 60%),var(--ink);background-attachment:fixed}
.hero{background:linear-gradient(180deg,rgba(43,212,224,.05),transparent 70%);border-bottom:1px solid var(--line)}
.section-title{border-left:5px solid var(--amber);padding-left:.8rem}
.eyebrow::before{width:10px;height:10px;border-radius:2px;transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* hero screenshot */
.hero-shot{max-width:540px;margin:0 auto;animation:rise .8s cubic-bezier(.2,.7,.2,1) .3s both}
.hero-shot img{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 40px rgba(0,0,0,.55));animation:floaty 6s ease-in-out infinite}
.hero-shot a:hover img{animation-play-state:paused}
