/* [restored-rules] Critical rules lost during cleanup - these were on multi-rule lines that contained giveaway/team patterns */
html,body{overflow-x:hidden}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10001;background:#111418;color:#f9fafb;padding:10px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.25)}.skip-link:focus{left:50%;top:10px;transform:translateX(-50%);width:auto;height:auto}
.desktop-title{display:none}.mobile-title{display:block}@media (min-width:553px){.desktop-title{display:block}.mobile-title{display:none}}
#site-footer .footer-logo{width:39px;height:auto;display:block}
#terms .terms-body strong{font-size:20px;display:block;margin-top:24px;margin-bottom:8px;color:#ffffff}
#services .terms-body strong{font-size:20px;display:block;margin-top:24px;margin-bottom:8px;color:#ffffff}
.terms-overlay{position:fixed;inset:0;background:#050608;z-index:9999;overflow-y:auto;padding:72px 0 80px;display:none}
.terms-overlay.active{display:block}
.fs-new-giveaway-info{display:flex;align-items:flex-start;gap:8px;background:none;border:none;border-radius:0;padding:0;margin:10px 0 6px;font-size:12.5px;color:#a8a5a5;line-height:1.45;justify-content:center;text-align:center}
.fs-new-giveaway-info .fs-info-icon{flex-shrink:0;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:rgba(255,255,255,.35);line-height:1;font-style:normal;position:relative;top:1px}


/* Match FAQ width to surrounding sections exactly */
#faq > .container,
#faq .fs-faq__pager {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* === FAQ: match CTA width AND prevent left/right clipping on BOTH pages === */
#faq{ --faq-gutter:16px; }

/* Make the viewport slightly wider than the container, so shadows/glow aren't clipped,
   while keeping the CONTENT width aligned to the normal container width. */
#faq .fs-faq__viewport{
  overflow:hidden;
  width: calc(100% + (var(--faq-gutter) * 2));
  margin-left: calc(var(--faq-gutter) * -1);
  box-sizing:border-box;
}

/* Each slide becomes as wide as the widened viewport, but the inner content is padded back in,
   so the FAQ cards align exactly with the section below. */
#faq .fs-faq__slide{
  box-sizing:border-box;
  padding-left: var(--faq-gutter);
  padding-right: var(--faq-gutter);
}

/* Disable accordion transitions while computing reserve space */
#faq.fs-faq--measuring .fs-faq__a{
  transition: none;
}

/* FAQ min-height to prevent layout shift while allowing natural growth */
#faq{
  --faq-min-height: 0px; /* set by JS */
}
#faq > .container{
  height: var(--faq-min-height);
  overflow: visible;
}

/* === FAQ pager: fade+zoom (no swipe) ===
   Guarded by .fs-faq--fadezoom to avoid disappearing if JS fails. */
#faq .fs-faq__pager.fs-faq--fadezoom .fs-faq__viewport{ overflow: visible; }
#faq .fs-faq__pager.fs-faq--fadezoom .fs-faq__track{
  display: grid;
  grid-template-columns: 1fr;
  transform: none;
  gap: 0;
  contain: style;
}
#faq .fs-faq__pager.fs-faq--fadezoom .fs-faq__slide{
  grid-area: 1 / 1;
  opacity: 0;
  transform: scale(.97);
  transition: opacity 500ms cubic-bezier(0.22, 1, 0.36, 1), transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  will-change: opacity, transform;
}
#faq .fs-faq__pager.fs-faq--fadezoom .fs-faq__slide.is-active{
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
#faq .fs-faq__pager.fs-faq--fadezoom .fs-faq__slide.is-exiting{
  opacity: 0;
  transform: scale(.93);
  pointer-events: none;
}

/* Benchmarks pager: match FAQ pager button styling */
#benchmarks .fs-faq__page-indicator{font-size:14px;font-weight:600;color:rgba(235,230,230,.85);letter-spacing:.02em}
#benchmarks .fs-faq__arrow{
  width:38px;height:38px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:#0A0A0E;
  color:#e4e0e0;display:grid;place-items:center;
  cursor:pointer;user-select:none;-webkit-user-select:none;
  backdrop-filter:blur(6px) saturate(120%);
  -webkit-backdrop-filter:blur(6px) saturate(120%);
  box-shadow:0 10px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}
#benchmarks .fs-faq__arrow[disabled]{opacity:.35;cursor:default;box-shadow:none}
#benchmarks .fs-faq__arrow span{font-size:20px;line-height:1;transform:translateY(-1px)}

/* Tighten spacing between giveaway note and buttons in the plan modal - removed conflicting override */

/* --- Meet the Team header centering fix --- */
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin: 0 auto 18px;
}
  margin: 0;
  text-align:center;
}
  margin: -17px auto 0;
  text-align:center;
  max-width: 900px;
}

/* Join-the-team CTA (Team page) */
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 56px;
  padding: 0 20px 10px;
}
  width: min(1100px, 100%);
  border-radius: 18px;
  border: 1px solid rgba(232, 26, 26, 0.55);
  background:
    radial-gradient(1200px 420px at 20% 40%, rgba(232, 26, 26, 0.22), rgba(232, 26, 26, 0) 55%),
    radial-gradient(900px 360px at 85% 45%, rgba(232, 26, 26, 0.16), rgba(232, 26, 26, 0) 60%),
    rgba(10, 10, 12, 0.55);
  box-shadow:
    0 0 0 1px rgba(232, 26, 26, 0.18) inset,
    0 24px 80px rgba(0,0,0,0.55);
  padding: 34px 26px;
  text-align: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.join-cta h3{
  margin: 0 0 10px 0;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.15;
  color: #ef4444;
  letter-spacing: 0.2px;
  font-weight: 800;
}
.join-cta p{
  margin: 0 0 20px 0;
  color: rgba(235,235,235,0.85);
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.5;
}
.join-cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 10px;
  background: rgba(232, 26, 26, 0.95);
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.2px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 30px rgba(232, 26, 26, 0.22);
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}
.join-cta-btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 14px 40px rgba(232, 26, 26, 0.30);
}
.join-cta-btn span{
  font-size: 18px;
  line-height: 1;
}
@media (max-width: 520px){
  .join-cta-btn{ width: 100%; }
}
.section-title-desktop{display:none}.section-title-mobile{display:block}@media (min-width:678px){.section-title-desktop{display:block}.section-title-mobile{display:none}}
html{scroll-behavior:auto;background-color:#000000;overflow-anchor:auto;scrollbar-gutter:stable}body{scroll-behavior:auto;background-color:#000000;overflow-anchor:auto}@media (max-width:600px){#bookwin-modal .modal-card{width:min(92vw,820px);padding:22px 22px 18px}}
/* Critical styles loaded first to prevent FOUC on buttons */
#bookwin-button{background:#9d0f18;color:#f9fafb;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border:none;padding:14px 9px;padding-left:8px;border-radius:0 10px 10px 0;writing-mode:vertical-rl;text-orientation:upright;cursor:pointer;font-size:11px;position:fixed;left:-1px;top:50%;transform:translate(0,-50%);z-index:120;box-shadow:0 0 18px rgba(157,15,24,.45);opacity:0}
#esports-trust-pill{}
.login{color:#fff;background:#9d0f18;border:1px solid #740b10;border-radius:999px;font-weight:600;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 6px 20px rgba(234,41,49,.35),inset 0 1px 0 rgba(255,255,255,.05)}

/* [fs-leaked-fix-0] */
/* [fs-text-size-adjust-fix] */
/* Prevent iOS Safari from auto-resizing text when overlays toggle overflow on body */
html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}
/* Lock plan description font sizes on mobile so Calendly overlay can't resize them */
@media (max-width:1000px){
.plan p,.plans-grid .plan p,.plan-features li,.plans .muted,
.fs-new-modal .fs-new-desc,.fs-new-modal .fs-suitability,
.section .muted,.h2,.plan h4,.step h4,.eyebrow,.lead,
.section-subtitle,.plans-section-subtitle,
h1,h2,h3,h4,h5,h6,p,li,span,a,button{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
}

:root{--bg:#0a0a0c;--panel:#121217;--panel-2:#0f1115;--text:#ede9e9;--muted:#a8a5a5;--primary:#e0171c;--primary-600:#e8171e;--card:#101115;--border:transparent;--green:#22c55e;--red:#e0171c;--shadow:0 10px 40px rgba(0,0,0,.45);--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans",sans-serif;background:#000000;color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;visibility:visible}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(10px);background:rgba(10,10,14,0.78);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{display:flex;align-items:center;gap:0;font-weight:600;font-size:18px}.brand img{width:22px;height:22px;border-radius:8px;box-shadow:none}.menu{display:flex;gap:14px;align-items:center}.chip{padding:10px 16px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:#0a0a0e;color:#e4e1e1;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 6px 18px rgba(0,0,0,.35);transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease,transform .12s ease}.chip:hover{background:rgba(40,40,40,.65);border-color:rgba(255,255,255,.08);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.38)}.login{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;font-weight:700;color:#ffffff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);box-shadow:0 0 0 1px rgba(255,102,102,.28),0 0 14px rgba(255,102,102,.20),0 6px 18px rgba(0,0,0,.28);transition:background-color .18s ease,box-shadow .18s ease,transform .12s ease,border-color .18s ease,filter .18s ease}.login:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(255,102,102,.35),0 0 18px rgba(255,102,102,.26),0 10px 24px rgba(0,0,0,.32);transform:translateY(-1px)}.login:active{transform:translateY(0);box-shadow:0 0 0 1px rgba(255,102,102,.35),0 0 10px rgba(255,102,102,.22),0 4px 12px rgba(0,0,0,.28)}.hero{padding:110px 0 72px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.eyebrow{letter-spacing:.3em;color:#a8a5a5;font-weight:600;font-size: 10.5px;margin-bottom:10px}h1{font-size:56px;line-height:1.05;margin:0 0 16px;font-weight:900}.lead{color:var(--muted);font-size:18px;margin-bottom:20px;max-width:640px}.actions{display:flex;gap:16px;margin:18px 0 22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:14px;font-weight:700;border:1px solid transparent;transition:.22s ease;box-shadow:var(--shadow)}.btn-primary{background:var(--primary)}.btn-primary.btn-glow{position:relative;overflow:hidden}.btn-primary.btn-glow::before{content:'';position:absolute;inset:-3px;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0deg,rgba(248,250,252,0) 210deg,rgba(248,250,252,0.25) 245deg,rgba(248,250,252,0.9) 285deg,rgba(248,250,252,0.25) 325deg,rgba(248,250,252,0) 360deg);filter:blur(4px);animation:btn-glow-rotate 3.4s ease-in-out infinite;z-index:-2}.btn-primary.btn-glow::after{content:'';position:absolute;inset:2px;border-radius:inherit;background:var(--primary);z-index:-1}.btn-primary.btn-staticglow{position:relative;overflow:hidden}.btn-primary.btn-staticglow::before{content:none}.btn-primary.btn-staticglow::after{content:'';position:absolute;inset:2px;border-radius:inherit;background:#b41216;z-index:-1}@keyframes btn-glow-rotate{to{transform:rotate(360deg)}}.btn-primary:hover{transform:translateY(-1px);background:var(--primary-600)}.btn-dark{background:#1a1e22;border-color:#262a2f;color:#d6d3d1}.btn-dark{position:relative;background:#111318;border-color:#262a2f;color:#d6d3d1;overflow:hidden}.btn-dark::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,0.10),rgba(0,0,0,0.0) 35%,rgba(255,255,255,0.08) 55%,rgba(0,0,0,0.0) 80%);opacity:0.55;pointer-events:none}.btn-dark::after{content:'';position:absolute;inset:2px;border-radius:inherit;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,0.08),transparent 55%),linear-gradient(180deg,rgba(10,10,10,0.95),rgba(7,7,7,1));box-shadow:0 0 14px rgba(0,0,0,0.9);z-index:-1}.btn-dark:hover{transform:translateY(-1px);background:#171a1e}.frame{background:#0a0a0e;border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:var(--shadow)}.frame img{width:100%;height:600px;object-fit:cover;border-radius:14px;display:block}.logos{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.logo{width:52px;height:52px;border:1px solid var(--border);border-radius:14px;background:#0a0a0e;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.35)}.logo img{max-width:70%;max-height:70%;display:block;height:auto}.reviews{margin:46px 0 34px}.marquee-wrap{position:relative;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.marquee{display:flex;gap:18px;will-change:transform}.marquee .card{min-width:420px;background:#0a0a0e;border:1px solid var(--border);border-radius:16px;padding:18px;color:#cdd0ce}.marquee .card .tweet{display:flex;flex-direction:column;gap:10px}.marquee .card .hdr{display:flex;align-items:center;gap:10px}.marquee .card .ava{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 28px}.marquee .card .name-row{display:flex;align-items:center;gap:6px;font-weight:700;color:#fff}.marquee .card .tick{width:16px;height:16px;filter:saturate(1.2) brightness(1.1)}.marquee .card .handle{color:#a09e9c;opacity:.45;font-size:.9rem}.marquee .card .text{color:#cdd0ce;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em}.marquee .card .time{color:#a09e9c;opacity:.45;font-size:.85rem;border-top:1px dashed rgba(255,255,255,.08);padding-top:8px}@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee.scrolling{animation:scroll 35s linear infinite}.section{padding:44px 0}.h2{font-size:32px;font-weight:900;text-align:center;margin:0 0 22px}.muted{text-align:center;color:var(--muted)}.plans{padding:26px 0 44px}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}.plan{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column}.plan-img{width:100%;height:220px;border-radius:12px;object-fit:cover;border:1px solid #1c2026;margin-bottom:10px}.badge{position:absolute;left:50%;transform:translateX(-50%);top:-12px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;letter-spacing:.02em;box-shadow:0 6px 18px rgba(0,0,0,.35)}.badge.save{background:#f59e0b}.badge.best{background:#ff5c5c}.pill{display:inline-flex;align-items:center;gap:14px;font-size:12px;color:#e4e0e0;border:1px solid rgba(255,255,255,.10);padding:6px 10px;border-radius:999px;background:#0a0a0e;position:relative;top:2px;margin-bottom:4px}.plan h4{margin:10px 0 8px;font-size:20px}.plan p{color:#c9c6c4;margin:18px 0 14px;text-align:center}.plan .pill,.plan a,.plan strong,.plan .btn{display:block;margin-left:auto;margin-right:auto;text-align:center}.price{display:flex;justify-content:center;align-items:center;gap:6px}.price .amount{font-size:32px;font-weight:800;letter-spacing:.2px;line-height:1;transform:none}.price .ccy{font-size:13px;font-weight:600;opacity:.75;margin-left:6px;text-transform:none;letter-spacing:.02em}.plan .btn{align-self:flex-start}.plan .link{color:#cdd0ce;text-decoration:underline;cursor:pointer}.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:clamp(16px,3vw,24px);z-index:60}.modal.open{display:flex}.modal-card{max-width:820px;width:min(92vw,820px);background:#0a0a0e;border:1px solid var(--border);border-radius:16px;padding:22px 22px 18px;color:#d5d2d0;box-shadow:var(--shadow)}.modal-card h3{margin:0 0 10px}.modal-card .close{float:right;background:#1a1e22;border:1px solid #262a2f;border-radius:999px;padding:8px 14px;cursor:pointer;color:#cdd0ce}.modal-card ul{margin:8px 0 0 0;padding:0 0 0 0;list-style:none}.modal-card li{margin:8px 0;display:flex;gap:10px}.modal-card li:before{content:"✔";color:#22c55e}.modal-foot{margin-top:20px;color:#a8a5a5}.modal-card img{max-width:100%;height:auto;display:block;border-radius:12px;object-fit:cover;max-height:min(52vh,420px)}@media (max-width:600px){.modal-card{width:min(94vw,820px);padding:18px 16px 14px}}@media (max-width:600px){#coupon-modal .modal-card{padding:46px 22px 26px}}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:6px}.step{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.step img{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid #1c2026}.step h4{text-align:center;margin:12px 0 4px}.compare{padding:54px 0}.table{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;overflow:hidden}.table .head{display:grid;grid-template-columns:1.2fr .6fr .6fr;background:#0a0a0e;color:#cdd0ce;border-bottom:1px solid var(--border);padding:16px 18px;font-weight:700;letter-spacing:.04em}.row{display:grid;grid-template-columns:1.2fr .6fr .6fr;padding:18px;border-bottom:1px solid #1c2026;align-items:center}.row:nth-child(odd){background:#0a0a0e}.row .label{color:#cdd0ce}.center{display:flex;align-items:center;justify-content:center}.check{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:transparent;color:#22c55e;font-weight:800;line-height:1;font-size:18px}.cross{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;margin:0;padding:0;border:none;border-radius:0;background:transparent;color:#a09e9c;font-weight:800;line-height:1;font-size:18px}.faq{padding:30px 0 48px}details{background:#0a0a0e;border:1px solid var(--border);border-radius:12px;padding:14px 16px}details+details{margin-top:8px}summary{cursor:pointer;font-weight:600;outline:none}summary::-webkit-details-marker{display:none}.faq .muted{text-align:left}.cta{padding:48px 0 70px}.cta .panel{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.cta h3{margin:0 0 10px}.input{background:#0f1215;border:1px solid #20252b;border-radius:12px;padding:12px 14px;color:#cdd0ce;margin-right:10px;min-width:280px}footer{padding:32px 0;color:#8e8d8b;border-top:1px solid var(--border)}.centered{display:flex;justify-content:center}.mt-8{margin-top:8px}.mt-16{margin-top:8px}.mt-24{margin-top:24px}@media (max-width:1000px){.hero-grid{grid-template-columns:1fr}.frame img{height:380px}.steps{grid-template-columns:1fr}.plans-grid{grid-template-columns:1fr}.marquee .card{min-width:75vw}.table .head,.row{grid-template-columns:1fr .7fr .7fr}}.pill .dot{width:8px;height:8px;border-radius:999px;background:var(--green);display:inline-block;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:pulse 1.8s infinite ease-in-out}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.cta-actions{gap:10px;flex-wrap:wrap}#youtube .panel{display:flex;flex-direction:column;justify-content:flex-start}#youtube .yt-title{font-weight:900;font-size:36px;line-height:1.15;margin:0 0 8px;text-align:left}#youtube .panel .muted{text-align:left}#youtube .container{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}#youtube iframe{width:100%;height:100%;min-height:340px;border-radius:14px}#youtube .panel{display:flex;flex-direction:column;justify-content:center;background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:var(--shadow)}#youtube .panel .yt-title{font-size:1.8rem;font-weight:600;margin-bottom:10px;text-align:left}#youtube .panel .muted{text-align:left;margin-bottom:20px}#youtube .panel .btn{align-self:flex-start;margin-top:auto}#youtube .container{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}#youtube iframe{width:100%;height:100%;min-height:340px;border-radius:14px}#youtube .panel{display:flex;flex-direction:column;justify-content:center;background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:var(--shadow);height:100%}.plan a,.plan strong{display:block;text-align:center;margin:0 auto}.plan .link,.plan .price{text-align:center;display:block;margin-left:auto;margin-right:auto}.plan h4{text-align:center;width:100%;margin-left:auto;margin-right:auto}.plan .plan-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;flex-wrap:wrap}.plan .plan-actions .or{opacity:.7;font-size:14px}#games .panel{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.games-wrap{position:relative;overflow:hidden;border-radius:12px;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.games-track{display:flex;gap:14px;will-change:transform}.games-track.anim{animation:gamesScroll 32s linear infinite}.game-banner{flex:0 0 170px;height:220px;border-radius:12px;border:1px solid #1c2026;display:flex;align-items:flex-end;justify-content:flex-start;padding:12px;background-size:cover;background-position:center;box-shadow:0 6px 22px rgba(0,0,0,.35);position:relative;overflow:hidden}.game-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%)}.game-title{position:relative;z-index:1;font-weight:600;letter-spacing:.02em}@keyframes gamesScroll{from{transform:translateX(0)}}@media (max-width:1000px){.game-banner{height:180px;flex-basis:140px}}#games .panel{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.games-wrap{position:relative;overflow:hidden;border-radius:12px;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.games-track{display:flex;gap:14px;will-change:transform;animation:gamesMarquee linear infinite;--distance:0px}.games-set{display:flex;gap:14px}.game-banner{position:relative;overflow:hidden;flex:0 0 170px;height:220px;border-radius:12px;border:1px solid #1c2026;box-shadow:0 6px 22px rgba(0,0,0,.35);background:#0f1216}.game-banner img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) brightness(.85)}.game-title{position:absolute;left:12px;bottom:12px;right:24px;z-index:1;font-weight:600;letter-spacing:.02em}@keyframes gamesMarquee{from{transform:translateX(0)}to{transform:translateX(calc(var(--distance) * -1))}}@media (max-width:1000px){.game-banner{height:180px;flex-basis:140px}}#games .panel{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.games-track{display:flex;gap:16px;will-change:transform}.games-set{display:flex;gap:16px}.game-banner{position:relative;overflow:hidden;flex:0 0 180px;height:220px;border-radius:12px;border:1px solid #1c2026;box-shadow:0 6px 22px rgba(0,0,0,.35);background:#0f1216}.game-banner img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) brightness(.9);user-select:none;pointer-events:none}.game-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.6) 100%)}.game-title{position:absolute;left:12px;bottom:12px;right:12px;z-index:1;font-weight:600;letter-spacing:.02em}@media (max-width:1000px){.game-banner{height:180px;flex-basis:150px}}.games-track{display:flex;gap:16px;will-change:transform;transform:translate3d(0,0,0)}.game-banner{flex:0 0 180px}.games-track{animation:none;transform:translate3d(0,0,0);gap:16px}.games-set{gap:16px}.game-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.games-track{display:flex;gap:16px;transform:translate3d(0,0,0);will-change:transform}.game-banner{flex:0 0 180px;height:220px;position:relative;overflow:hidden;border-radius:12px;border:1px solid #1c2026;box-shadow:0 6px 22px rgba(0,0,0,.35)}.game-banner img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;filter:brightness(.9)}.game-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.65) 100%)}.game-title{position:absolute;left:12px;bottom:12px;right:12px;z-index:1;font-weight:600;letter-spacing:.02em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1000px){.game-banner{flex:0 0 140px;height:180px}}.games-track{display:flex;gap:16px;transform:translate3d(0,0,0);will-change:transform;contain:content}.game-banner{box-sizing:border-box}.games-wrap{position:relative;overflow:hidden;border-radius:12px;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.games-track{display:flex;gap:16px;width:max-content;animation:gamesMarquee 30s linear infinite}@keyframes gamesMarquee{from{transform:translateX(0)}}#games .games-track{animation:gamesMarquee 40s linear infinite;-webkit-animation:gamesMarquee 40s linear infinite}#games .games-track{gap:0;will-change:transform;transform:translate3d(0,0,0)}#games .games-set{gap:16px}#games .games-wrap{padding:0}#games .games-track{gap:0;will-change:transform;animation:gamesMarqueeVar var(--games-dur,40s) linear infinite}@keyframes gamesMarqueeVar{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(var(--games-dist,1000px) * -1),0,0)}}#games .games-wrap{position:relative;overflow:hidden;border-radius:12px;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}#games .games-track{display:flex;gap:16px;will-change:transform;transform:translate3d(0,0,0);animation:none !important}#games .game-banner{flex:0 0 180px;height:220px;position:relative;overflow:hidden;border-radius:12px;border:1px solid #1c2026;box-shadow:0 6px 22px rgba(0,0,0,.35)}#games .game-banner img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;filter:brightness(.9)}#games .game-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.65) 100%)}#games .game-title{position:absolute;left:12px;bottom:12px;right:12px;z-index:1;font-weight:600;letter-spacing:.02em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1000px){#games .game-banner{flex:0 0 140px;height:180px}}#games .games-track{display:flex;gap:0;will-change:transform;transform:translate3d(0,0,0)}#games .game-banner{flex:0 0 180px;height:220px;margin-right:16px}#games .game-banner:last-child{margin-right:0}@media(max-width:1000px){#games .game-banner{flex-basis:140px;height:180px;margin-right:16px}}#games .games-track{display:flex;gap:0;will-change:transform;transform:translate3d(0,0,0);animation:none !important}#games #games-wrap{cursor:grab;user-select:none;-webkit-user-select:none;-ms-user-select:none;touch-action:pan-y}#games #games-wrap.dragging{cursor:grabbing}#site-footer{margin-top:64px;border-top:1px solid var(--border);padding:36px 0 24px;background:#0a0a0e}#site-footer .footer-inner{max-width:1200px;margin:0 auto}#site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 0 18px}#site-footer .footer-left{display:flex;align-items:center}#site-footer .footer-logo-link img{width:36px;height:36px;display:inline-block;object-fit:contain;border-radius:8px;border:1px solid #2a2f3a;background:#0f1216}#site-footer .footer-nav button.footer-link{font-size:12px;letter-spacing:.18em;text-transform:uppercase}#site-footer .footer-nav{align-items:center;flex:1;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 24px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}#site-footer .footer-nav a,#site-footer .footer-nav button.footer-link{color:#cccac8;text-decoration:none;white-space:nowrap;opacity:.9;background:none;border:none;padding:0;font:inherit;cursor:pointer}#site-footer .footer-nav a:hover,#site-footer .footer-nav button.footer-link:hover{opacity:1;text-decoration:underline}#site-footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid #2a2f3a;margin-left:10px;opacity:.9;transition:all .2s}#site-footer .footer-social a:hover{opacity:1;transform:translateY(-2px);color:#fff;border-color:#3a4352}#site-footer .footer-social,#site-footer .footer-social *{cursor:pointer;user-select:none;-webkit-user-select:none}#site-footer .footer-divider{border-top:1px solid #22272f}#site-footer .footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0 4px;color:#a0a09e;font-size:14px}#site-footer .footer-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#site-footer .footer-meta a{color:#cccac8;text-decoration:none}#site-footer .footer-meta a:hover{text-decoration:underline}#site-footer .meta-separator{opacity:.6}#site-footer .to-top{color:#cccac8;text-decoration:none;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:none;border:none;padding:0;cursor:pointer}#site-footer .to-top:hover{text-decoration:none}#site-footer .to-top,#site-footer .to-top:link,#site-footer .to-top:visited,#site-footer .to-top:hover,#site-footer .to-top:active,#site-footer .to-top:focus{text-decoration:none}@media (max-width:812px){#site-footer .footer-top{flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}#site-footer .footer-nav{align-items:center;justify-content:center;text-align:center}}@media (max-width:600px){#site-footer .footer-top{gap:16px}}@media (max-width:534px){#site-footer .footer-bottom{flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}#site-footer .footer-meta{justify-content:center;text-align:center}}@media (max-width:1000px){.plan-actions{flex-wrap:nowrap}.plan-actions .btn{flex:1 1 0;min-width:0}.plan-actions .or{flex:0 0 auto}}@media (pointer:coarse){.reviews .marquee-wrap,.reviews .marquee-wrap *{pointer-events:none;cursor:default;touch-action:pan-y}#games #games-wrap,#games #games-wrap *{pointer-events:none;cursor:default;touch-action:pan-y}}.fs-new-modal .fs-new-actions{align-items:center}.fs-new-modal .fs-new-actions .fs-price,.fs-new-modal .fs-new-actions .fs-suitability{margin-top:0}#site-footer{padding-bottom:48px}@media (max-width:900px){#site-footer .footer-top{flex-direction:column;gap:12px;align-items:center;text-align:center}#site-footer .footer-bottom{flex-direction:column;gap:10px;align-items:center;text-align:center}}#site-footer{margin-top:64px;border-top:1px solid var(--border);padding:36px 0 24px;background:#0a0a0e}#site-footer .footer-inner{max-width:1200px;margin:0 auto}#site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}#site-footer .footer-brand{display:flex;align-items:center;gap:12px;color:#e4e1e1;font-weight:700;letter-spacing:.02em}#site-footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;color:#cccac8;border:1px solid #2a2f3a;margin-left:10px;opacity:.9;transition:all .2s}#site-footer .footer-social a:hover{opacity:1;transform:translateY(-2px);color:#fff;border-color:#3a4352}#site-footer .footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:18px 0 22px}#site-footer .footer-col{min-width:180px}#site-footer .col-title{font-size:12px;letter-spacing:.25em;color:#a0a09e;margin-bottom:12px}#site-footer .footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}#site-footer .footer-col a{color:#cccac8;text-decoration:none;opacity:.85}#site-footer .footer-col a:hover{opacity:1;text-decoration:underline}#site-footer .footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;padding-top:16px;border-top:1px solid #22272f;color:#a0a09e;font-size:14px}#site-footer .to-top{color:#cccac8;text-decoration:none;font-weight:700;letter-spacing:.12em}#site-footer .to-top:hover{text-decoration:underline}@media (max-width:900px){#site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}#site-footer .footer-bottom{flex-direction:column;gap:10px;align-items:flex-start}#site-footer .footer-top{flex-direction:column;gap:12px;align-items:flex-start}}#site-footer .footer-logo-link img{width:36px;height:36px;display:inline-block;object-fit:contain;border-radius:8px;border:1px solid #2a2f3a;background:#0f1216}#site-footer .footer-logo-link:hover img{filter:brightness(1.08)}.nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#151a21;border:1px solid #232a35;color:#cccac8}@media (max-width:1000px){.nav-toggle{display:inline-flex;margin-left:auto}header nav,header .nav,header .menu,header .links{display:none}}#drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:90}#mobile-drawer{position:fixed;top:0;right:0;height:100vh;width:min(86vw,360px);transform:translateX(100%);transition:transform .25s ease;z-index:99}#mobile-drawer .drawer-inner{background:#0f1216;height:100%;box-shadow:-20px 0 40px rgba(0,0,0,.35);border-left:1px solid #222831;padding:18px;display:flex;flex-direction:column}#mobile-drawer .drawer-title{font-weight:600;letter-spacing:.2em;color:#a0a09e;margin:6px 0 10px}#mobile-drawer #drawer-close{align-self:flex-end;width:38px;height:38px;border-radius:999px;background:#151a21;border:1px solid #232a35;color:#cccac8}#mobile-drawer .drawer-links{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}#mobile-drawer .drawer-links a{display:block;padding:12px 14px;border:1px solid #222831;border-radius:12px;color:#e4e1e1;text-decoration:none;background:#121720}#mobile-drawer .drawer-links a.accent{background:#2e5bff;border-color:#2e5bff;color:white;text-align:center;font-weight:700}body.drawer-open{overflow:hidden}body.drawer-open #drawer-backdrop{opacity:1;pointer-events:auto}body.drawer-open #mobile-drawer{transform:translateX(0)}#fab-menu{position:fixed;left:50%;top:10px;transform:translateX(-50%);width:52px;height:52px;border-radius:999px;background:radial-gradient(100% 100% at 50% 20%,rgba(255,255,255,.12),rgba(0,0,0,.85));border:1px solid #313845;color:#e4e1e1;box-shadow:0 10px 30px rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:110;backdrop-filter:blur(6px)}#fab-menu:hover{filter:brightness(1.08)}#mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.68);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:none;z-index:109}#mobile-overlay .overlay-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}#mobile-overlay .overlay-links{list-style:none;padding:0;margin:0;display:grid;gap:22px;text-align:center}#mobile-overlay .overlay-links a{font-size:22px;color:#e8e4e4;text-decoration:none}#mobile-overlay .overlay-links a:hover{text-decoration:underline}#mobile-overlay .overlay-links a.accent{color:#ff4d4d;font-weight:600}#fab-close{position:absolute;top:12px;right:16px;width:42px;height:42px;border-radius:999px;background:rgba(17,20,24,.6);border:1px solid #313845;color:#e4e1e1}body.fab-open{overflow:hidden}body.fab-open #mobile-overlay{display:block}@media(max-width:1000px){#fab-menu{display:inline-flex}header .brand,header .logo,header .brand-name,header .header-left,header .site-brand{display:none}header nav,header .nav,header .menu,header .links{display:none}}#fab-menu{position:fixed;left:50%;top:10px;transform:translateX(-50%);width:56px;height:56px}#fab-menu .fab-logo{width:72%;height:72%;object-fit:contain;filter:none;transition:filter .2s ease,transform .12s ease}#fab-menu:hover .fab-logo{filter:grayscale(1) brightness(1.05) sepia(1) saturate(800%) hue-rotate(-10deg) contrast(1.05)}#fab-menu:active .fab-logo{transform:scale(.98)}header{position:sticky;top:0;z-index:200}@media (max-width:1000px){#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:inline-flex;border-radius:999px;border:1px solid #313845;background:radial-gradient(100% 100% at 50% 20%,rgba(255,255,255,.10),rgba(0,0,0,.85));box-shadow:0 8px 22px rgba(0,0,0,.45)}#fab-menu .fab-logo{width:72%;height:72%;object-fit:contain;transition:filter .3s ease,transform .2s ease}#fab-menu:hover .fab-logo{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%)}#fab-menu:hover{box-shadow:0 0 0 1px rgba(255,51,51,.5),0 0 18px rgba(255,51,51,.45),0 8px 26px rgba(0,0,0,.5)}}@media (max-width:1000px){body #fab-menu{position:absolute}}@media (max-width:1000px){:root{--header-h:76px}header{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--header-h);padding-top:max(0px,env(safe-area-inset-top));background:rgba(9,12,15,0.92);backdrop-filter:blur(8px);border-bottom:1px solid #1f2630}body{padding-top:calc(var(--header-h) + max(0px,env(safe-area-inset-top)))}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #313845;background:radial-gradient(100% 100% at 50% 20%,rgba(255,255,255,.10),rgba(0,0,0,.85));box-shadow:0 8px 22px rgba(0,0,0,.45);overflow:visible}#fab-menu .fab-logo{width:72%;height:72%;object-fit:contain;transition:filter .3s ease,transform .2s ease;filter:none}#fab-menu:hover .fab-logo{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 10px rgba(255,51,51,.55)) drop-shadow(0 0 18px rgba(255,51,51,.35))}#fab-menu:active .fab-logo{transform:scale(.97)}}@media (max-width:1000px){header{padding-top:8px;padding-bottom:8px;height:auto}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #313845;background:radial-gradient(100% 100% at 50% 20%,rgba(255,255,255,.10),rgba(0,0,0,.85));box-shadow:0 8px 22px rgba(0,0,0,.45);overflow:visible}#fab-menu .fab-logo{width:72%;height:72%;object-fit:contain;transition:none;filter:none}#fab-menu:hover .fab-logo{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 10px rgba(255,51,51,.55)) drop-shadow(0 0 18px rgba(255,51,51,.35))}#fab-menu:active .fab-logo{transform:scale(.97)}}@media (max-width:1000px){header{position:fixed;top:0;left:0;right:0;z-index:300;background:rgba(9,12,15,0.92);backdrop-filter:blur(8px);border-bottom:1px solid #1f2630;padding:10px 0}body{padding-top:92px}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #313845;background:radial-gradient(100% 100% at 50% 20%,rgba(255,255,255,.10),rgba(0,0,0,.85));box-shadow:0 8px 22px rgba(0,0,0,.45);overflow:visible}#fab-menu .fab-logo{width:72%;height:72%;object-fit:contain;filter:none;transition:none}#fab-menu:hover .fab-logo{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 12px rgba(255,51,51,.65)) drop-shadow(0 0 22px rgba(255,51,51,.45))}@keyframes pulseGlow{0%{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 8px rgba(255,51,51,.35)) drop-shadow(0 0 14px rgba(255,51,51,.2))}50%{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 16px rgba(255,51,51,.65)) drop-shadow(0 0 28px rgba(255,51,51,.45))}100%{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 8px rgba(255,51,51,.35)) drop-shadow(0 0 14px rgba(255,51,51,.2))}}body.fab-open #fab-menu .fab-logo{animation:pulseGlow 2.5s ease-in-out infinite}#fab-menu .fab-logo.no-hover-touch{filter:none;animation:none}}.faq details{overflow:visible}.faq details .answer{overflow:hidden}.faq summary{user-select:none;-webkit-user-select:none;-ms-user-select:none}.reviews .marquee-wrap,.reviews .marquee,.reviews .marquee .card{user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:grab}.reviews .marquee-wrap.dragging{cursor:grabbing}.faq details{background:#0a0a0e;border:1px solid var(--border);border-radius:12px;padding:14px 16px}.faq details + details{margin-top:8px}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;outline:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent}.faq summary::-webkit-details-marker{display:none}.faq .faq-content{display:grid;grid-template-rows:0fr;opacity:.0;transition:grid-template-rows .32s ease,opacity .25s ease}.faq details[open] .faq-content{grid-template-rows:1fr;opacity:1}.faq .faq-inner{overflow:hidden;padding-top:12px;color:#cdd0ce}.faq summary .chev{transition:transform .32s ease}.faq details[open] summary .chev{transform:rotate(90deg)}.reviews .marquee-wrap,.reviews .marquee,.reviews .card,.reviews .card *{user-select:none;-webkit-user-select:none;-ms-user-select:none}.link.explore-link{outline:0}.link.explore-link:focus,.link.explore-link:focus-visible,.link.explore-link:active{outline:none;box-shadow:none}@keyframes pulseRedFS{0%{box-shadow:0 0 0 0 rgba(255,102,102,.65)}70%{box-shadow:0 0 0 10px rgba(255,102,102,0)}100%{box-shadow:0 0 0 0 rgba(255,102,102,0)}}.legend .dot.red,.legend .dot.optimized,.legend .dot--red,.bench .dot.red,.bench-legend .dot.red,.dot.red.optimized,.fs-bench .legend .dot.red{animation:pulseRedFS 1.8s infinite ease-in-out}.to-top,.back-to-top,.scroll-top,#toTop,.to-surface,.to-the-surface,.go-top{border-width:2px;border-color:rgba(255,255,255,.22)}#coupon-modal .modal-card{max-width:420px;text-align:center;padding:46px 22px 26px}#coupon-modal .modal-card .close{float:none;margin-left:auto;margin-right:0;margin-top:-6px}#coupon-modal .modal-card strong{font-size:22px;letter-spacing:.04em}.cta .error{color:#ff5c5c;font-size:13px;margin-top:8px;display:none}#coupon-modal .modal-card{position:relative}#coupon-modal .modal-actions{position:relative;top:-12px;display:flex;align-items:center;justify-content:center;gap:10px}#coupon-modal .modal-actions.pill{padding:6px 12px;border-radius:9999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 16px rgba(0,0,0,.35);color:#e4e1e1;cursor:pointer}#coupon-modal .modal-actions .pill:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.45)}@keyframes fsMetalPulse{0%,100%{text-shadow:0 0 3px rgba(255,255,255,.25)}50%{text-shadow:0 0 8px rgba(255,255,255,.55)}}#coupon-modal .metal-pulse{background:linear-gradient(90deg,#eee,#a8a5a5,#ffffff,#a8a5a5,#eee);-webkit-background-clip:text;background-clip:text;color:transparent;animation:fsMetalPulse 1.6s ease-in-out infinite}.cta .error{display:none}.cta input.invalid{outline:2px solid #ff5c5c;border-color:#ff5c5c;box-shadow:0 0 0 3px rgba(255,102,102,.25)}.cta input.invalid{outline:2px solid #c21313;border-color:#c21313;box-shadow:0 0 0 3px rgba(194,19,19,.25)}.cta #discount-email:disabled{cursor:not-allowed;opacity:0.6}.fs-faq__a{max-height:0;overflow:hidden;opacity:0;padding:0 18px;transition:none;will-change:max-height,opacity;transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fs-faq__q{cursor:pointer;user-select:none;-webkit-user-select:none}.fs-faq__item.open .fs-faq__a{margin-bottom:0}.fs-faq__a{margin-bottom:0}.fs-faq__a .fs-faq__spacer{height:0;display:none}.reviews .marquee-wrap{cursor:grab;user-select:none;-webkit-user-select:none;-ms-user-select:none}.reviews .marquee-wrap.dragging,.reviews .marquee-wrap.dragging *{cursor:grabbing}#bench-wrapper{perspective:none}#bench-wrapper .grid,#bench-wrapper .bench-content{transform-style:flat}#benchmarks{margin-bottom:36px}#bench-grid .card-inner{will-change:opacity,transform}#bench-grid .card-inner{display:flex;flex-direction:column;gap:12px;height:100%}#benchmarks .gain{top:12px;right:16px}#benchmarks .bar-wrap{margin-top:6px}#benchmarks .legend{margin-top:auto;padding-top:6px}#benchmarks .bench-head{position:relative;min-height:28px}#benchmarks .bench-head{position:relative;display:flex;flex-direction:column;gap:4px;min-height:44px;padding-right:84px}#benchmarks .bench-head{position:relative;padding-right:84px}#benchmarks .bench-head .gain{display:inline-flex;align-items:center;justify-content:center;height:28px;line-height:1;padding:0 12px;border-radius:999px;position:absolute;right:0;top:50%;transform:translateY(-50%)}#benchmarks .bench-head .gain .gain-inner{display:inline-block;transform-origin:center center;transition:transform .18s ease}#benchmarks .bench-head .gain:hover .gain-inner{transform:scale(1.03)}#benchmarks .bench-head .gain{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:0;top:50%;transform:translateY(-50%);height:28px;padding:0 12px;border-radius:999px;line-height:1}#benchmarks .bench-head .gain .gain-inner{display:inline-block;transform-origin:center center;transition:transform .18s ease;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;backface-visibility:hidden;transform:translateZ(0);letter-spacing:0.01px}#benchmarks .bench-head .gain:hover .gain-inner{transform:translateZ(0) scale(1.03)}.plans-grid .plan-features{margin-top:18px;padding-top:16px;position:relative}.plans-grid .plan-features::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.13),rgba(255,255,255,0))}.plans-grid .plan-features.plan-blue{--accent:#5a6070}.plans-grid .plan-features.plan-yellow{--accent:#6a6040}.plans-grid .plan-features.plan-red{--accent:#762424}.plans-grid .plan-features li{list-style:none;position:relative;padding-left:36px;margin:10px 0}.plans-grid .plan-features li::before{content:"";position:absolute;left:-1px;top:2px;width:18px;height:18px;border-radius:6px;border:1.8px solid var(--accent,#7aa2f7);background:rgba(255,255,255,0.02);box-shadow:inset 0 0 0 1px rgba(0,0,0,0.4)}.plans-grid .plan-features li::after{content:"";position:absolute;left:5px;top:6px;width:6px;height:10px;border-right:2.5px solid var(--accent,#7aa2f7);border-bottom:2.5px solid var(--accent,#7aa2f7);transform:rotate(45deg)}.plans-grid .plan-features li.muted{color:rgba(255,255,255,0.45)}.plans-grid .plan-features li.muted::before{border-color:rgba(255,255,255,0.28);background:rgba(255,255,255,0.02)}.plans-grid .plan-features li.muted::after{display:none}

/* --- Mobile eyebrow line-break (<=400px) --- */
.eyebrow-break{display:inline}
@media (max-width:450px){
  .eyebrow-break{display:block;margin-top:6px}
}

/* --- Hero image gentle float --- */
.hero-image img{
  animation: heroFloat 4.5s ease-in-out infinite;
  will-change: transform;
}
@keyframes heroFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

/* --- Popular plan glow/outline --- */
.plan.popular{
  border-color: rgba(255, 70, 70, .45);
  box-shadow:
    0 0 0 1px rgba(255, 70, 70, .35),
    0 0 28px rgba(255, 40, 40, .20),
    0 0 60px rgba(255, 40, 40, .12);
}
/* [fs-new-actions-hover-effects] */
.fs-new-modal .fs-new-actions button{transition:transform .18s ease,box-shadow .18s ease,filter .2s ease,background-color .2s ease,color .2s ease;will-change:transform,box-shadow,filter}.fs-new-modal .fs-new-actions .fs-new-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}.fs-new-modal .fs-new-actions .fs-new-cta:active{transform:translateY(0);filter:brightness(.96);box-shadow:0 6px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}.fs-new-modal .fs-new-actions button:not(.fs-new-cta):not(.fs-new-pill):not(.fs-btn-gold):hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.09);filter:brightness(1.05)}.fs-new-modal .fs-new-actions button:not(.fs-new-cta):not(.fs-new-pill):not(.fs-btn-gold):active{transform:translateY(0);filter:brightness(.94)}.fs-new-modal .fs-new-actions button.fs-btn-gold:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(185,137,33,.45);filter:brightness(1.05)}.fs-new-modal .fs-new-actions button.fs-btn-gold:active{transform:translateY(0);filter:brightness(.94)}
/* [fs-modal-gold-shine] */
.fs-new-modal .fs-new-actions .fs-new-pill{position:relative;overflow:hidden}.fs-new-modal .fs-new-actions .fs-new-pill::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);will-change:transform,left,opacity;animation:fs-gold-shine 4s linear infinite}@keyframes fs-gold-shine{0%{left:-60%;opacity:0}2%{left:-60%;opacity:.65}25%{left:120%;opacity:.65}26%{left:120%;opacity:0}100%{left:-60%;opacity:0}}
/* [fs-global-tooltip-style] */
#fs-global-tooltip{position:fixed;padding:8px 14px;max-width:260px;white-space:normal;font-size:12px;line-height:1.4;text-align:center;color:#111;background:#fff;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .16s ease,transform .16s ease;z-index:999999}#fs-global-tooltip.visible{opacity:1;transform:translate(-50%,-26px)}#fs-global-tooltip::before{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:#fff transparent transparent transparent}
/* [fs-pill-pointer-style] */
.fs-new-modal .fs-new-actions .fs-new-pill[role=button]{cursor:pointer}
/* Giveaway info line inside the plan modal (below accordion, above buttons) */
    
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    line-height: 1.35;
    color: rgba(235,230,230,0.65);
    text-align: center;
  
  margin-top: 18px;
  margin-bottom: 2px;
}
    font-weight: 700;
    color: rgba(235,230,230,0.80);
  }
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(235,230,230,0.32);
    color: rgba(235,230,230,0.72);
    font-size: 11px;
    line-height: 1;
    flex: 0 0 16px;
    transform: translateY(-0.5px);
  }
  @media (max-width: 565px){
      margin: 10px 0 12px;
      font-size: 11.5px;
      padding: 0 4px;
    }
      display: none;
    }
  }
@media (max-width:1000px){#mobile-overlay{display:none;align-items:center;justify-content:center;text-align:center;padding:90px 24px 48px;backdrop-filter:blur(10px)}#mobile-overlay.active,body.fab-open #mobile-overlay{display:flex;flex-direction:column;gap:22px}#mobile-overlay a{font-size:clamp(20px,2.8vh,28px);line-height:1.2;font-weight:500;color:rgba(255,255,255,0.92);text-decoration:none;letter-spacing:0.3px;text-shadow:0 2px 14px rgba(0,0,0,.45);transition:opacity .2s ease,transform .2s ease}#mobile-overlay a:hover{opacity:.9;transform:translateY(-1px)}#overlay-logo{position:absolute;top:min(24px,env(safe-area-inset-top,0px) + 12px);left:50%;transform:translateX(-50%);width:64px;height:64px;border-radius:999px;background:transparent;border:0;padding:0;cursor:pointer;z-index:401;animation:pulseRed 1.8s ease-in-out infinite}#overlay-logo img{width:100%;height:100%;display:block;filter:drop-shadow(0 0 0 rgba(255,24,24,0.0))}@keyframes pulseRed{0%,100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 0 rgba(255,46,46,0))}50%{transform:translateX(-50%) scale(1.05);filter:drop-shadow(0 0 14px rgba(255,46,46,0.55))}}}
@media (max-width:1000px){:root{--header-h:170px}header.nav{position:fixed;top:0;left:-1px;right:0;height:var(--header-h);padding:30px 0;z-index:300;background:rgba(9,12,15,0.94);backdrop-filter:blur(8px);border-bottom:1px solid #1f2630}body{padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px))}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;z-index:400;box-shadow:0 12px 30px rgba(0,0,0,.45)}#mobile-overlay{z-index:350}}
@media (max-width:1000px){#mobile-overlay{position:fixed;inset:0;display:none;background:rgba(6,8,10,0.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:120px 22px 48px;align-items:center;justify-content:flex-start;text-align:center}#mobile-overlay.active,body.fab-open #mobile-overlay{display:flex;flex-direction:column;gap:26px}#overlay-logo{position:static;transform:none;width:56px;height:56px;margin:0 0 12px 0;border:0;background:transparent;padding:0;cursor:pointer;animation:overlayPulse 1.8s ease-in-out infinite;align-self:center}#overlay-logo img{width:100%;height:100%;display:block}@keyframes overlayPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(255,61,61,0));transform:scale(1)}50%{filter:drop-shadow(0 0 16px rgba(255,61,61,.55));transform:scale(1.06)}}#mobile-overlay a{display:inline-block;font-size:clamp(20px,2.6vh,24px);line-height:1.3;font-weight:500;color:rgba(255,255,255,0.95);text-decoration:none;letter-spacing:.2px;text-shadow:0 2px 12px rgba(0,0,0,.55);padding:0;border-radius:14px;transition:transform .16s ease,opacity .16s ease,background-color .16s ease,box-shadow .16s ease,padding .16s ease,border-color .16s ease}#mobile-overlay a:hover{background:rgba(62,69,78,0.42);border:1px solid rgba(140,149,160,0.28);padding:14px 22px;box-shadow:0 6px 26px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,0.05);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#mobile-overlay a:last-of-type{color:#ec3c40;text-shadow:0 0 12px rgba(224,23,28,.30);font-weight:600}}
@media (max-width:1000px){#mobile-overlay{padding:100px 22px 48px}#overlay-logo{position:static;transform:none;width:64px;height:64px;margin:0 0 8px 0;border:0;background:transparent;padding:0;cursor:pointer;align-self:center;animation:redPulse 1.8s ease-in-out infinite}#overlay-logo img{width:100%;height:100%;display:block;filter:drop-shadow(0 0 0 rgba(255,0,0,0))}@keyframes redPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(255,46,46,0));transform:scale(1)}50%{filter:drop-shadow(0 0 14px rgba(255,46,46,0.65));transform:scale(1.05)}}#mobile-overlay a{display:inline-block;font-size:clamp(20px,2.6vh,24px);line-height:1.3;font-weight:500;color:#ec3c40;text-decoration:none;letter-spacing:.2px;text-shadow:0 2px 12px rgba(0,0,0,.55);border-radius:14px;transition:transform .16s ease,opacity .16s ease,background-color .16s ease,color .16s ease}#mobile-overlay a:hover{background:rgba(62,69,78,0.42);border:1px solid rgba(140,149,160,0.28);padding:14px 22px;box-shadow:0 6px 26px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,0.05);color:white;text-decoration:none}#mobile-overlay a:last-of-type{color:#ec3c40;font-weight:600}}
@media (max-width:1000px){#mobile-overlay{padding:88px 22px 48px}#overlay-logo{margin-bottom:6px}#overlay-logo img{width:100%;height:100%;display:block;filter:brightness(0) saturate(100%) invert(19%) sepia(93%) saturate(6236%) hue-rotate(-4deg) brightness(103%) contrast(111%)}#overlay-logo{animation:redPulse 1.8s ease-in-out infinite}50%{filter:drop-shadow(0 0 16px rgba(255,46,46,.55));transform:scale(1.06)}}#mobile-overlay a{display:inline-block;font-size:clamp(20px,2.6vh,24px);line-height:1.3;font-weight:500;color:#ec3c40;text-decoration:none;letter-spacing:.2px;text-shadow:0 2px 12px rgba(0,0,0,.55);border-radius:14px;padding:0;border:none;transition:transform .16s ease,opacity .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,padding .16s ease,border-color .16s ease}#mobile-overlay a:hover,#mobile-overlay a:focus,#mobile-overlay a:active{text-decoration:none}#mobile-overlay a:hover{background:rgba(62,69,78,.42);border:1px solid rgba(140,149,160,.28);padding:14px 22px;box-shadow:0 6px 26px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#ffffff}#mobile-overlay a:last-of-type{color:#ec3c40;font-weight:600}
@media (max-width:1000px){#mobile-overlay{padding:160px 22px 56px;gap:30px}#overlay-logo{position:static;width:64px;height:64px;margin:0 0 10px 0;border:0;background:transparent;padding:0;cursor:pointer;align-self:center;animation:menuLogoPulse 1.8s ease-in-out infinite}#overlay-logo img{width:100%;height:100%;display:block;filter:brightness(0) saturate(100%) invert(19%) sepia(93%) saturate(6236%) hue-rotate(-4deg) brightness(103%) contrast(111%)}@keyframes menuLogoPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(255,46,46,0));transform:scale(1)}50%{filter:drop-shadow(0 0 18px rgba(255,46,46,.65));transform:scale(1.06)}}#mobile-overlay a{display:inline-block;font-size:clamp(20px,2.6vh,24px);line-height:1.3;font-weight:600;color:#ffffff;text-decoration:none;letter-spacing:.2px;text-shadow:0 2px 12px rgba(0,0,0,.55);border-radius:14px;padding:14px 22px;transition:background-color .16s ease,box-shadow .16s ease,border-color .16s ease,transform .12s ease,opacity .12s ease}#mobile-overlay a:hover{background:rgba(62,69,78,.42);border:1px solid rgba(140,149,160,.28);box-shadow:0 6px 26px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#mobile-overlay a:last-of-type{color:#ffffff}}
@media (max-width:1000px){#mobile-overlay{padding:200px 22px 64px;gap:32px}#overlay-logo{position:static;width:64px;height:64px;margin:0 0 14px 0;border:0;background:transparent;padding:0;cursor:pointer;align-self:center;animation:menuLogoPulse 1.8s ease-in-out infinite}#overlay-logo img{width:100%;height:100%;display:block;filter:brightness(0) saturate(100%) invert(19%) sepia(93%) saturate(6236%) hue-rotate(-4deg) brightness(103%) contrast(111%)}}#mobile-overlay a{display:inline-block;font-size:clamp(18px,2.4vh,22px);line-height:1.3;font-weight:700;color:#ffffff;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 2px 12px rgba(0,0,0,.55);border-radius:14px;padding:14px 24px;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease,filter .18s ease;will-change:transform,box-shadow,background-color,border-color}#mobile-overlay a:hover{background:rgba(62,69,78,.42);border-color:rgba(140,149,160,.28);box-shadow:0 10px 26px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:translateY(-2px)}#mobile-overlay a:active{transform:translateY(-1px) scale(0.995)}
@media (max-width:1000px){:root{--menu-gap:36px}#mobile-overlay{padding:200px 22px 64px;gap:var(--menu-gap)}#overlay-logo{margin:0 0 var(--menu-gap) 0}#mobile-overlay a{position:relative;display:inline-block;font-size:clamp(18px,2.4vh,22px);line-height:1.3;font-weight:700;color:#ffffff;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 2px 12px rgba(0,0,0,.55);border-radius:14px;padding:14px 24px;border:1px solid transparent;transition:transform .18s ease,opacity .18s ease}#mobile-overlay a:hover{background:none;border-color:transparent;box-shadow:none;transform:translateY(-1px)}#mobile-overlay a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:3px;background:linear-gradient(90deg,rgba(255,59,59,0.9),rgba(255,59,59,0.4));box-shadow:0 0 10px rgba(255,59,59,.45);transform:scaleX(0);transform-origin:left center;transition:transform .35s ease;border-radius:3px;pointer-events:none}#mobile-overlay a:hover::after{transform:scaleX(1)}}
#mobile-overlay{padding:300px 22px 72px;gap:var(--menu-gap)}#overlay-logo{margin-bottom:var(--menu-gap)}#mobile-overlay a{position:relative;display:inline-block;font-size:clamp(18px,2.4vh,22px);line-height:1.3;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:14px 24px;border:1px solid transparent}#mobile-overlay a .char{display:inline-block;color:#000000;text-shadow:0 2px 12px rgba(0,0,0,.55);transition:color .32s ease,text-shadow .32s ease;transition-delay:var(--d,0ms);will-change:color,text-shadow}#mobile-overlay a:hover .char{color:#ec3c40;text-shadow:0 0 10px rgba(224,23,28,.40)}#mobile-overlay a:hover{transform:translateY(-1px)}#overlay-logo{width:64px;height:64px;border:0;background:transparent;padding:0;cursor:pointer;align-self:center;animation:menuLogoPulse 1.8s ease-in-out infinite}#overlay-logo img{width:100%;height:100%;display:block;filter:brightness(0) saturate(100%) invert(19%) sepia(93%) saturate(6236%) hue-rotate(-4deg) brightness(103%) contrast(111%)}
#mobile-overlay{padding:calc(300px - var(--menu-gap)) 22px 72px;gap:var(--menu-gap)}#overlay-logo{margin:0 0 var(--menu-gap) 0;width:64px;height:64px;border:0;background:transparent;padding:0;cursor:pointer;pointer-events:auto;z-index:5}#mobile-overlay a::after{display:none}#mobile-overlay a{position:relative;display:inline-block;font-size:clamp(18px,2.4vh,22px);line-height:1.3;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:#fff;padding:14px 24px;border:1px solid transparent;border-radius:10px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .16s ease}#mobile-overlay a:hover{background:rgba(0,0,0,.35);border-color:rgba(140,149,160,.25);box-shadow:0 8px 22px rgba(0,0,0,.35);transform:translateY(-1px);border-radius:10px}
@media (max-width:1000px){#mobile-overlay a{position:relative;display:inline-block;font-size:clamp(18px,2.4vh,22px);line-height:1.3;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:#fff;padding:14px 24px;border:1px solid transparent;border-radius:10px;transition:transform .16s ease,opacity .16s ease}#mobile-overlay a::before{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;background:conic-gradient(#ffffff var(--p,0%),transparent 0) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transform:rotate(0deg);transition:opacity .25s ease,transform .6s ease,border-radius .2s ease;transition-property:opacity,transform,border-radius}#mobile-overlay a:hover::before{opacity:1;animation:sweep 0.5s ease forwards,spin 0.8s linear 1}@keyframes sweep{from{--p:0%}to{--p:100%}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}}
@media (max-width:1000px){#mobile-overlay a,#mobile-overlay a:hover{background:transparent;box-shadow:none;border-color:transparent}#mobile-overlay a{position:relative;border-radius:10px}#mobile-overlay a::before{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;background:conic-gradient(#ffffff var(--p,0%),transparent 0) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transform:rotate(0deg);transition:opacity .25s ease}#mobile-overlay a:hover::before{opacity:1;animation:outlineSweep .6s ease forwards,outlineSpin .8s linear 1}@keyframes outlineSweep{from{--p:0%}to{--p:100%}}@keyframes outlineSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}}
@media (max-width:1000px){#mobile-overlay a,#mobile-overlay a:hover,#mobile-overlay a:focus,#mobile-overlay a:active{background:transparent;box-shadow:none;border-color:transparent}#mobile-overlay a{position:relative;border-radius:10px}@property --sweep{syntax:'<angle>';inherits:false;initial-value:0turn}#mobile-overlay a::before{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;background:conic-gradient(#ffffff var(--sweep),transparent 0) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0) content-box;-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;opacity:0;transition:opacity .25s ease}#mobile-overlay a:hover::before{opacity:1;animation:draw-outline .55s ease forwards}@keyframes draw-outline{from{--sweep:0turn}to{--sweep:1turn}}}
@media (max-width:1000px){#mobile-overlay a,#mobile-overlay a:hover,#mobile-overlay a:focus,#mobile-overlay a:active{background:transparent;box-shadow:none;border-color:transparent}#mobile-overlay a::before,#mobile-overlay a::after{display:none;content:none}#mobile-overlay a{padding:14px 24px;border:0;border-radius:10px;transform:none}#mobile-overlay a .char{color:#000000;text-shadow:0 2px 12px rgba(0,0,0,.55);transition:color .32s ease,text-shadow .32s ease;transition-delay:var(--d,0ms)}}
@media (max-width:1000px){#overlay-logo{position:static;pointer-events:auto;z-index:10}#overlay-logo img{pointer-events:auto}}
@media (max-width:1000px){#overlay-logo{position:relative;z-index:10000;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center}#overlay-logo::before{content:"";position:absolute;inset:-12px;border-radius:50%;pointer-events:auto;background:transparent}}
@media (max-width:1000px){#overlay-logo{position:relative;margin:0 auto 24px auto;display:flex;align-items:center;justify-content:center;z-index:10000;pointer-events:auto}#overlay-logo img{display:block;margin:0 auto;pointer-events:auto}}
@media (max-width:1000px){#overlay-logo{display:block;width:64px;height:64px;margin-left:calc(50% - 32px);margin-right:0;margin-bottom:24px;left:auto;right:auto;transform:none;float:none}}
@media (max-width:1000px){#mobile-overlay a,#mobile-overlay a:hover,#mobile-overlay a:focus,#mobile-overlay a:active{background:transparent;box-shadow:none;border:0;transform:none}#mobile-overlay a::before,#mobile-overlay a::after{display:none;content:none}#mobile-overlay a{padding:14px 24px;border-radius:10px}}
@media (max-width:1000px){#mobile-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility 0s linear .28s;z-index:350}body.fab-open #mobile-overlay{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s ease}}
@media (max-width:1000px){#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s;z-index:350}body.fab-open #mobile-overlay{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease}}
@media (max-width:1000px){#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350}body.fab-open #mobile-overlay{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s ease}#overlay-logo{display:block;width:64px;height:64px;position:relative;left:50%;transform:translateX(-50%);margin-bottom:24px;z-index:10000}#overlay-logo img{display:block;width:100%;height:auto;pointer-events:auto}}
@media (max-width:1000px){#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350}body.fab-open #mobile-overlay{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s ease}#overlay-logo{display:flex;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 26px auto;z-index:10000}#overlay-logo img{width:100%;height:auto;display:block;pointer-events:auto}}
@media (max-width:1000px){#overlay-logo{position:relative;left:auto;right:auto;top:auto;transform:none;float:none;display:flex;align-self:center;justify-content:center;align-items:center;width:72px;height:72px;margin-left:auto;margin-right:auto;margin-bottom:26px}#mobile-overlay{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}}
@media (max-width:1000px){:root{--menu-gap:clamp(18px,3vh,32px);--overlay-top:clamp(120px,16vh,200px);--logo-size:clamp(56px,7vh,72px)}#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350;padding:var(--overlay-top) 22px 72px;gap:var(--menu-gap)}#overlay-logo{width:var(--logo-size);height:var(--logo-size);margin:0 auto var(--menu-gap) auto;display:flex;align-items:center;justify-content:center;transform:none;left:auto;right:auto;top:auto}#overlay-logo img{width:100%;height:auto;display:block}}
@media (max-width:1000px){:root{--menu-gap:28px;--overlay-top:160px;--logo-size:72px}#mobile-overlay{padding:var(--overlay-top) 22px 72px;gap:var(--menu-gap);align-items:center}#overlay-logo{width:var(--logo-size);height:var(--logo-size);margin:0 auto var(--menu-gap) auto;display:flex;align-items:center;justify-content:center;transform:none}#overlay-logo img{width:100%;height:auto;display:block}}
@media (max-width:1000px){:root{--menu-gap:32px;--overlay-top:clamp(120px,18vh,200px);--logo-size:72px}#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--overlay-top) 22px 72px;gap:var(--menu-gap);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350}body.fab-open #mobile-overlay{opacity:1;visibility:visible;pointer-events:auto}#overlay-logo{position:static;width:var(--logo-size);height:var(--logo-size);margin:0;display:flex;align-items:center;justify-content:center;flex:0 0 auto}#mobile-overlay a{display:block;margin:0;padding:14px 24px;line-height:1.25;border:0;background:transparent;box-shadow:none;transform:none}#mobile-overlay a::before,#mobile-overlay a::after{content:none;display:none}}
@media (max-width:1000px){:root{--stack-gap:32px;--stack-top:clamp(120px,16vh,180px);--logo-size:72px}#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--stack-top) 22px 72px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350}body.fab-open #mobile-overlay{opacity:1;visibility:visible;pointer-events:auto}#overlay-stack{display:flex;flex-direction:column;align-items:center;gap:var(--stack-gap);width:100%;max-width:560px}#overlay-stack>*{margin:0}#overlay-logo{position:static;width:var(--logo-size);height:var(--logo-size);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transform:none}#mobile-overlay a{display:inline-block;padding:14px 24px;line-height:1.25;border:0;background:transparent;box-shadow:none;transform:none}#mobile-overlay a::before,#mobile-overlay a::after{content:none;display:none}}
@media (max-width:1000px){:root{--stack-gap:32px;--stack-top:180px;--logo-size:72px}#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--stack-top) 22px 72px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350}#overlay-stack{display:flex;flex-direction:column;align-items:center;gap:var(--stack-gap);width:100%;max-width:560px}#overlay-logo{position:static;width:var(--logo-size);height:var(--logo-size);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transform:none}#mobile-overlay a{display:inline-block;padding:14px 24px;line-height:1.25;border:0;background:transparent;box-shadow:none;transform:none}}
@media (max-width:1000px){:root{--gap:32px;--logo-size:72px;--logo-top:180px}#mobile-overlay{position:fixed;inset:0;display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350;overflow:auto}#overlay-logo{position:fixed;top:var(--logo-top);left:50%;transform:translateX(-50%);width:var(--logo-size);height:var(--logo-size);display:flex;align-items:center;justify-content:center;margin:0;z-index:10000;pointer-events:auto}#overlay-stack{display:flex;flex-direction:column;align-items:center;gap:var(--gap);padding-top:calc(var(--logo-top) + var(--logo-size) + var(--gap));padding-left:22px;padding-right:22px;padding-bottom:72px;max-width:560px;margin:0 auto}#mobile-overlay a{display:inline-block;padding:14px 24px;line-height:1.25;border:0;background:transparent;box-shadow:none;transform:none}#mobile-overlay a::before,#mobile-overlay a::after{content:none;display:none}}
@media (max-width:1000px){:root{--gap:32px;--stack-top:160px;--logo-size:72px}#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350;overflow:auto;padding:0 22px 72px}#overlay-stack{display:flex;flex-direction:column;align-items:center;gap:var(--gap);width:100%;max-width:560px;margin-top:var(--stack-top)}#overlay-logo{position:static;width:var(--logo-size);height:var(--logo-size);display:flex;align-items:center;justify-content:center;margin:0;transform:none;left:auto;right:auto;top:auto}#mobile-overlay a{display:inline-block;padding:14px 24px;line-height:1.25;border:0;background:transparent;box-shadow:none;transform:none}}
@media (max-width:1000px){:root{--gap:32px;--logo-size:72px;--stack-top:160px}#mobile-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350;overflow:auto;padding:0 22px 72px}#overlay-stack{display:grid;grid-auto-flow:row;grid-auto-rows:min-content;justify-items:center;row-gap:var(--gap);width:100%;max-width:560px;margin-top:var(--stack-top)}#overlay-stack>*{margin:0}#overlay-logo{position:static;display:flex;align-items:center;justify-content:center;width:var(--logo-size);height:var(--logo-size);transform:none;left:auto;right:auto;top:auto;pointer-events:auto}#overlay-logo img{width:100%;height:auto;display:block}#mobile-overlay a{display:inline-block;padding:14px 24px;line-height:1.25;background:transparent;box-shadow:none;border:0;transform:none}}
@media (max-width:1000px){:root{--gap:32px;--logo-size:72px}#mobile-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s;z-index:350;background:transparent;overflow:hidden}#overlay-center{position:relative;width:100%;max-width:560px;padding:0 22px 48px;max-height:calc(100vh - 64px);overflow:auto;display:flex;align-items:center;justify-content:center}@supports (height:100dvh){#overlay-center{max-height:calc(100dvh - 64px)}}#overlay-stack{display:flex;flex-direction:column;align-items:center;gap:var(--gap);width:100%}#overlay-logo{position:static;transform:none;left:auto;right:auto;top:auto;display:flex;align-items:center;justify-content:center;width:var(--logo-size);height:var(--logo-size);pointer-events:auto}#mobile-overlay a{display:inline-block;padding:14px 24px;line-height:1.25;background:transparent;box-shadow:none;border:0;transform:none}}
@media (max-width:1000px){header,nav,#fab-menu{position:relative;z-index:10000;pointer-events:auto}#mobile-overlay{z-index:350;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}body.fab-open #mobile-overlay{pointer-events:auto;opacity:1;visibility:visible}#overlay-center,#overlay-stack{pointer-events:auto}}
@media (max-width:1000px){header.navbar,nav.navbar,.navbar{height:64px;padding:0.4rem 0}#mobile-overlay #overlay-logo{display:none}}
@media (max-width:1000px){header.navbar,nav.navbar,.navbar{height:54px;padding:0.25rem 0}}
@media (max-width:1000px){header.navbar,nav.navbar,.navbar{height:48px;padding-top:0.25rem;padding-bottom:0;margin-bottom:0}#fab-menu{margin-top:4px}}
@media (max-width:1000px){header,.header,.site-header,nav,.navbar{height:44px;min-height:44px;padding-top:0;padding-bottom:0;margin-bottom:0;display:block}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.header-spacer,.nav-spacer,.top-spacer{display:none;height:0}main,.page,.content,.hero,.hero-section,.section-first{margin-top:0;padding-top:0}}
@media (max-width:1000px){header,.header,.site-header,nav,.navbar{height:62px;min-height:62px;padding-top:0;padding-bottom:0}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}}
header,.header,.site-header,nav,.navbar{height:78px;min-height:78px;padding-top:0;padding-bottom:0;margin-bottom:0;position:relative}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);z-index:10000}.header-spacer,.nav-spacer,.top-spacer{display:none;height:0}
@media (min-width:1001px){header.nav,header,.navbar,nav{height:78px;min-height:78px}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0}.brand{margin-right:18px;display:flex;align-items:center;gap:0}.menu{margin-left:auto;display:flex;align-items:center;gap:14px;height:100%}.menu a,.menu button{position:static;transform:none}.chip,.login{display:inline-flex;align-items:center;justify-content:center;height:44px}}
#fab-menu,.fab-menu{transform:translate(-50%,-56%) scale(0.88);transform-origin:center center}#fab-menu img,#fab-menu svg,.fab-menu img,.fab-menu svg{width:auto;height:auto;max-width:88%;max-height:88%}
#fab-menu,.fab-menu{outline:none;box-shadow:none;transition:transform 0.16s ease,filter 0.16s ease,opacity 0.16s ease;position:absolute;overflow:visible}#fab-menu:hover,.fab-menu:hover{transform:translate(-50%,-56%) scale(0.92);filter:brightness(1.25)}#fab-menu:active,.fab-menu:active{transform:translate(-50%,-54%) scale(0.86);filter:brightness(0.95)}#fab-menu.ripple::after,.fab-menu.ripple::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:9999px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,60,60,0.45) 0%,rgba(255,0,0,0.30) 35%,rgba(255,0,0,0.10) 60%,rgba(255,0,0,0) 70%);animation:fs-ripple 520ms ease-out forwards;z-index:-1;filter:blur(0.5px)}@keyframes fs-ripple{0%{opacity:0.85;width:12px;height:12px}50%{opacity:0.45;width:64px;height:64px}100%{opacity:0.0;width:110px;height:110px}}#fab-menu:focus-visible,.fab-menu:focus-visible{box-shadow:0 0 0 2px rgba(255,54,54,0.25),0 0 18px rgba(255,66,66,0.35);outline:none;border:none;transform:translate(-50%,-56%) scale(0.92)}
@media (max-width:1000px){.site-navbar,.navbar,header.navbar,.top-nav,.nav-wrap{background:rgba(12,14,18,0.72);backdrop-filter:saturate(120%) blur(6px);-webkit-backdrop-filter:saturate(120%) blur(6px)}}@media (max-width:1000px){.mobile-menu a,.mobile-menu .menu-item a,.mobile-overlay a,.overlay-menu a,.mobile-links a,.mobile-nav a{display:inline-block;padding:10px 18px;border-radius:14px;transition:background-color .18s ease,box-shadow .18s ease,opacity .18s ease}.mobile-menu a:hover,.mobile-menu .menu-item a:hover,.mobile-overlay a:hover,.overlay-menu a:hover,.mobile-links a:hover,.mobile-nav a:hover{background:rgba(0,0,0,0.38);box-shadow:0 2px 12px rgba(0,0,0,0.18),inset 0 0 0 1px rgba(255,255,255,0.06)}}
@media (max-width:1000px){:root{--fab-side-gap:46px}.nav-metal{position:absolute;top:50%;transform:translateY(-56%);z-index:9999;pointer-events:none;user-select:none;font:900 clamp(9px,2.6vw,12px)/1 Inter,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;max-width:44vw;overflow:hidden;text-overflow:ellipsis;background-image:linear-gradient(180deg,#f8fafc 0%,#c6ccd3 32%,#eef1f5 55%,#a2a9b1 72%,#f8fafc 100%),linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 43%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 57%,rgba(255,255,255,0) 100%);background-size:100% 100%,240% 100%;background-position:50% 50%,-200% 0;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.35);filter:saturate(1.02) contrast(1.02);animation:navMetalShine 2s linear infinite}.nav-metal-left{right:calc(50% + var(--fab-side-gap));text-align:right}.nav-metal-right{left:calc(50% + var(--fab-side-gap));text-align:left}@keyframes navMetalShine{0%{background-position:50% 50%,-200% 0}100%{background-position:50% 50%,200% 0}}@media#mobile-drawer,#drawer-backdrop{display:none}}@media (min-width:1001px){.nav-metal{display:none}}
.nav-metal{display:none}#mobile-drawer,#drawer-backdrop{display:none;opacity:0;pointer-events:none;position:fixed;transform:translateX(100%);height:0;width:0}@media (max-width:1000px){header .nav-metal{display:block;position:absolute;top:50%;transform:translateY(-56%);z-index:9999;pointer-events:none;user-select:none;font:900 clamp(9px,2.6vw,12px)/1 Inter,system-ui,sans-serif;letter-spacing:.20em;text-transform:uppercase;white-space:nowrap;max-width:45vw;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,#f7f9fb 0%,#cbd2d9 32%,#eef2f6 55%,#9fa6ad 72%,#f7f9fb 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.35)}header .nav-metal-left{right:calc(50% + 52px);text-align:right}header .nav-metal-right{left:calc(50% + 52px);text-align:left}header .nav-metal::before{content:attr(data-text);position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 35%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 65%,rgba(255,255,255,0) 100%);background-size:220% 100%;background-position:-120% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:navMetalShineSweep 1s linear infinite;filter:drop-shadow(0 0 6px rgba(255,255,255,.35));pointer-events:none}@keyframes navMetalShineSweep{from{background-position:-120% 0}to{background-position:220% 0}}}@media (min-width:1001px){header .nav-metal,.nav-metal{display:none}}@media
.nav-metal{display:none}@media (max-width:1000px){header .nav-metal{display:block;position:absolute;top:50%;transform:translateY(-56%);z-index:9999;pointer-events:none;user-select:none;font:900 clamp(9px,2.6vw,12px)/1 Inter,system-ui,sans-serif;letter-spacing:.20em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45vw;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#f7f9fb 0%,#cbd2d9 32%,#eef2f6 55%,#9fa6ad 72%,#f7f9fb 100%);-webkit-background-clip:text;background-clip:text;text-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.35)}header .nav-metal-left{right:calc(50% + 52px);text-align:right}header .nav-metal-right{left:calc(50% + 52px);text-align:left}header .nav-metal::before{content:attr(data-text);position:absolute;inset:0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.0) 35%,rgba(255,255,255,1) 50%,rgba(255,255,255,0.0) 65%,rgba(255,255,255,0) 100%);background-size:300% 100%;background-position:-200% 0;animation:fsMetalConstantSweep 1s linear infinite;filter:drop-shadow(0 0 6px rgba(255,255,255,.35));pointer-events:none}@keyframes fsMetalConstantSweep{from{background-position:-200% 0}to{background-position:200% 0}}}
.reviews .marquee-wrap{position:relative;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);cursor:grab}.reviews .marquee-wrap.dragging{cursor:grabbing}.reviews #reviews-marquee{display:flex;gap:18px;will-change:transform;transform:translate3d(0,0,0)}.reviews #reviews-marquee .card{min-width:420px}@media (max-width:1000px){.reviews #reviews-marquee .card{min-width:75vw}}
.faq details{overflow:hidden;border-radius:12px}.faq summary{list-style:none;position:relative;padding-right:34px}.faq summary::after{content:"▸";position:absolute;right:8px;top:0;transform:translateY(2px) rotate(0deg);transition:transform .25s ease;opacity:.85}.faq details[open] summary::after{transform:translateY(2px) rotate(90deg)}
@media (max-width:1000px){#mobile-drawer,#drawer-backdrop{display:none;opacity:0;position:fixed;inset:0;transform:translateX(100%);width:0;height:0;pointer-events:none}}
.mobile-slogan{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:none;pointer-events:none;z-index:201}.mobile-slogan .ms-row{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;justify-content:center;gap:min(9vw,60px);white-space:nowrap;font-weight:600;letter-spacing:.18em;font-size:12px;text-transform:uppercase}.mobile-slogan .base .label{background:linear-gradient(180deg,#e8edf3 0%,#b5bdc7 48%,#ffffff 60%,#a4adb8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.94;text-shadow:0 2px 10px rgba(0,0,0,.42)}.mobile-slogan .gap{width:min(14vw,86px)}.mobile-slogan .overlay{mix-blend-mode:screen}.mobile-slogan .overlay .label{color:transparent;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.0) 42%,rgba(255,255,255,.96) 50%,rgba(255,255,255,.0) 58%,rgba(255,255,255,0) 100%);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;background-position:var(--pos,-120%) 0;will-change:background-position}@keyframes msSweep{from{--pos:-120%}to{--pos:120%}}.mobile-slogan .overlay{animation:msSweep 2s linear infinite}@media (max-width:1000px){.mobile-slogan{display:block}}@media (min-width:1001px){.mobile-slogan{display:none}}
.plan .includes{display:flex;align-items:center;justify-content:center;gap:8px;color:#b0adab;font-size:13px;margin:8px 0 2px}.plan .includes img{width:14px;height:14px;opacity:.9;filter:drop-shadow(0 0 3px rgba(0,0,0,.25));border-radius:2px}
.mobile-slogan{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:none;pointer-events:none;z-index:201}.mobile-slogan .base{color:transparent;background:linear-gradient(180deg,#e8edf3 0%,#b5bdc7 48%,#ffffff 60%,#a4adb8 100%);-webkit-background-clip:text;background-clip:text;opacity:.94;text-shadow:0 2px 10px rgba(0,0,0,.42)}.mobile-slogan .overlay{color:transparent;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.0) 42%,rgba(255,255,255,.96) 50%,rgba(255,255,255,.0) 58%,rgba(255,255,255,0) 100%);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;background-position:-120% 0;mix-blend-mode:screen;will-change:background-position;animation:msSweep 2s linear infinite}@keyframes msSweep{from{background-position:-120% 0}to{background-position:120% 0}}
.faq details{background:#0a0a0e;border:1px solid var(--border);border-radius:12px;padding:14px 16px;overflow:hidden}.faq details+details{margin-top:8px}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-weight:600;user-select:none;-webkit-user-select:none}.faq summary .chev{transition:transform .28s ease;opacity:.85}.faq .faq-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease,opacity .25s ease;opacity:.0}.faq .faq-item *::selection{background:transparent}
.faq details{background:#0a0a0e;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:10px 0}.faq summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.faq .faq-content{height:0;overflow:hidden}
.faq .faq-content{display:block;opacity:0;height:0;overflow:hidden}.faq details[open] .faq-content{opacity:1}.faq .faq-inner{color:#cdd0ce;padding-top:12px}
.faq .faq-content{display:block;overflow:hidden;max-height:0;transition:max-height .32s ease}.faq details[open] .faq-content{max-height:1200px}.faq .faq-inner{color:#cdd0ce;padding-top:12px}
.fs-faq__title{text-align:center;font-weight:600;margin:0 0 8px}.fs-faq__subtitle{text-align:center;color:#a09e9c;margin:0 0 22px}.fs-faq__list{width:100%;margin:0 auto}.fs-faq__item{background:#0a0a0e;border:1px solid #242a31;border-radius:12px;overflow:hidden;box-shadow:0 0 0 rgba(0,0,0,0.0);margin-left:-1px;margin-right:0}.fs-faq__item + .fs-faq__item{margin-top:12px}.fs-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px;background:transparent;border:0;color:#e4e0e0;font-weight:700;font-size:16px;text-align:left;cursor:pointer;user-select:none;-webkit-user-select:none;outline:none}.fs-faq__q:focus-visible{box-shadow:0 0 0 2px rgba(255,255,255,0.18) inset;border-radius:12px}.fs-faq__chev{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:6px;background:#1a1f26;color:#aaa8a6;transition:transform .28s ease,background .2s ease}.fs-faq__q[aria-expanded="true"] .fs-faq__chev{transform:rotate(45deg);background:#252b33}.fs-faq__a{max-height:0;overflow:hidden;padding:0 18px;color:#a09e9c;font-size:inherit;line-height:1.6;transition:none;opacity:0}.fs-faq__item.open .fs-faq__a{max-height:320px;padding:2px 18px 18px;opacity:1}@media<style>
<style><style><style>.fs-faq .container{width:100%}.fs-faq__list{width:100%}
<style><style>.fs-faq.section{display:flex;justify-content:center;padding-left:24px;padding-right:24px}.fs-faq .container{width:100%;max-width:1200px;padding:0 24px;margin:0 auto}.fs-faq__list{width:100%;margin:0;padding-left:-1px;padding-right:0}
/* [fs-mobile-glow-final] */
@media (min-width:1001px){.mobile-slogan{display:none}}@media (max-width:1000px){:root{--fab-gap:52px}.mobile-slogan{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);pointer-events:none;z-index:9999;font:900 clamp(9px,2.6vw,12px)/1 Inter,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;height:1em;line-height:1;white-space:nowrap}.mobile-slogan .ms-row{position:relative;height:1em;line-height:1}.mobile-slogan .overlay{position:absolute;inset:0;height:1em;line-height:1;pointer-events:none}.mobile-slogan .gap{display:none}.mobile-slogan .label{position:absolute;white-space:nowrap;max-width:44vw;overflow:hidden;text-overflow:ellipsis}.mobile-slogan .label:first-child{right:calc(50% + var(--fab-gap));text-align:right}.mobile-slogan .label:last-child{left:calc(50% + var(--fab-gap));text-align:left}.mobile-slogan .base .label{background:linear-gradient(180deg,#f7f9fb 0%,#cbd2d9 32%,#eef2f6 55%,#9fa6ad 72%,#f7f9fb 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.35)}.mobile-slogan .overlay .label{color:#fff;-webkit-text-fill-color:#fff;animation:glowPulse 1.6s ease-in-out infinite;text-shadow:0 0 0 rgba(255,255,255,0);filter:saturate(120%);will-change:text-shadow,opacity}@keyframes glowPulse{0%{opacity:.05;text-shadow:0 0 0px rgba(255,255,255,0)}35%{opacity:.35;text-shadow:0 0 6px rgba(255,255,255,.25),0 0 14px rgba(255,255,255,.18)}50%{opacity:.55;text-shadow:0 0 10px rgba(255,255,255,.35),0 0 20px rgba(255,255,255,.25)}65%{opacity:.35;text-shadow:0 0 6px rgba(255,255,255,.25),0 0 14px rgba(255,255,255,.18)}100%{opacity:.05;text-shadow:0 0 0px rgba(255,255,255,0)}}}
/* [hero-padding-fix] */
.hero .container{padding-right:24px;padding-left:24px;box-sizing:border-box}.hero-grid>*{min-width:0}
/* [hero-align-fix] */
.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:16px}.actions .trusted-inline{order:3;white-space:nowrap;font-size:clamp(10px,1.1vw,12px);margin-left:8px}@media (max-width:1000px){.hero-grid>div:first-child{text-align:center}.hero-grid>div:first-child .eyebrow,.hero-grid>div:first-child h1,.hero-grid>div:first-child .lead{text-align:center;margin-left:auto;margin-right:auto}.hero .actions{justify-content:center}.hero .actions .trusted-inline{margin-left:-1px;font-size:clamp(10px,1.8vw,12px)}.hero .logos{justify-content:center}}
/* [hero-width-sync_v17] */
.hero{--logos-count:8;--logo-gap:14px;--logo-size:52px;--row-width:calc(var(--logos-count) * var(--logo-size) + (var(--logos-count) - 1) * var(--logo-gap))}.hero .actions,.hero .logos{box-sizing:border-box}@media (max-width:1000px){.hero-grid>div:first-child{text-align:center}.hero-grid>div:first-child .eyebrow,.hero-grid>div:first-child h1,.hero-grid>div:first-child .lead{margin-left:auto;margin-right:auto;text-align:center}}@media (max-width:1000px){.hero .actions,.hero .logos{width:min(100%,var(--row-width));margin-left:auto;margin-right:auto}.hero .actions{display:flex;justify-content:center;gap:16px;align-items:center}.hero .actions .btn{font-size:clamp(13px,3vw,16px);padding:12px 16px;white-space:nowrap}.hero .actions .trusted-inline{font-size:clamp(11px,2.3vw,13px);margin-left:0;white-space:nowrap}.hero{--logo-gap:12px}.hero .logos{display:flex;flex-wrap:nowrap;gap:var(--logo-gap);justify-content:center}.hero .logos .logo{flex:0 0 calc((100% - (var(--logos-count) - 1) * var(--logo-gap)) / var(--logos-count));aspect-ratio:1 / 1;height:auto;width:auto}.hero .logos .logo img{max-width:70%;max-height:70%;height:auto;width:auto}}@media (min-width:1001px){.hero .actions,.hero .logos{width:var(--row-width);margin-left:-1px;margin-right:0}.hero .actions{display:flex;justify-content:flex-start;gap:18px;align-items:center}.hero .actions .btn{font-size:16px;padding:12px 16px}.hero .actions .trusted-inline{font-size:12px;margin-left:0;white-space:nowrap}.hero .logos{display:flex;flex-wrap:nowrap;gap:var(--logo-gap);justify-content:flex-start}}@media (max-width:420px){.hero{--logo-gap:10px}.hero .actions{gap:12px}}
/* [hero-center-981-1000] */
@media (min-width:1001px) and (max-width:1000px){.hero .actions,.hero .logos{width:min(100%,var(--row-width));margin-left:auto;margin-right:auto;justify-content:center}.hero .actions{display:flex;gap:16px;align-items:center}}
/* [nav-edge-padding-fix] */
.nav .container,.nav-inner{padding-left:24px;padding-right:24px;box-sizing:border-box}
/* [brand-mark-fix-v31] */
.brand-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:radial-gradient(circle at center,#0d0f12 85%,#000 100%);box-shadow:0 0 36px rgba(255,102,102,.45),0 0 0 1px rgba(255,102,102,.25) inset;margin-right:12px}.brand-icon::before{content:"";position:absolute;inset:4px;background:#0d0f12;border-radius:8px}.brand-icon img{position:relative;z-index:2;width:18px;height:18px}.brand-word.fs{font-size:20px;font-weight:900;letter-spacing:0.02em;display:inline-flex;align-items:baseline;vertical-align:middle}.brand-word.labs{margin-left:3px;position:relative;top:1px;font-size:0.55em}@media (max-width:480px){.brand-icon{width:36px;height:36px}.brand-icon::before{inset:3px}.brand-icon img{width:16px;height:16px}.brand-word.fs{font-size:18px}}
/* [brand-mark-fix-v32] */
@media (max-width:480px){.brand-word.labs{margin-left:3px;position:relative;top:1px;font-size:0.55em}}
#site-footer .footer-social .sicon{width:20px;height:20px;display:block;filter:invert(1) brightness(2) contrast(100%)}#site-footer .footer-social a{border:1px solid #2a2f3a;border-radius:999px;padding:8px;display:inline-flex;align-items:center;justify-content:center}@media (max-width:900px){#site-footer .footer-top{flex-direction:column;align-items:center;text-align:center}#site-footer .footer-brand{justify-content:center}#site-footer .footer-social{margin-top:8px;display:flex;gap:10px;justify-content:center}#site-footer .footer-links{grid-template-columns:1fr;text-align:center}#site-footer .footer-links .footer-col{min-width:unset}#site-footer .footer-links ul{align-items:center}#site-footer .footer-bottom{flex-direction:column;gap:8px;align-items:center;text-align:center}}
.plan .pill .dot{margin-right:8px}
.plan h4{margin-bottom:8px}
.plan .pill .dot{margin-right:3px}
.navbar-logo img{animation:pulseGlow 3s infinite ease-in-out}@keyframes pulseGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(255,0,0,0.4)) drop-shadow(0 0 8px rgba(255,0,0,0.3))}50%{filter:drop-shadow(0 0 12px rgba(255,0,0,0.6)) drop-shadow(0 0 20px rgba(255,0,0,0.5))}}
.brand-icon,.brand-icon::before{animation:brandPulse 3s ease-in-out infinite}@keyframes brandPulse{0%,100%{box-shadow:0 0 26px rgba(255,102,102,.40),0 0 0 1px rgba(255,102,102,.25) inset}50%{box-shadow:0 0 60px rgba(255,102,102,.75),0 0 0 1px rgba(255,102,102,.35) inset}}
/* [brand-pulse-small] */
.brand-icon,.brand-icon::before{animation:brandPulseSmall 3s ease-in-out infinite}@keyframes brandPulseSmall{0%,100%{box-shadow:0 0 4px rgba(255,102,102,.35),0 0 0 1px rgba(255,102,102,.25) inset}50%{box-shadow:0 0 8px rgba(255,102,102,.55),0 0 0 1px rgba(255,102,102,.30) inset}}
/* [brand-keycap-and-inner-glow] */
.brand-icon{position:relative;border-radius:10px;background:radial-gradient(120% 100% at 30% 15%,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0.02) 35%,rgba(0,0,0,0.0) 60%),linear-gradient(180deg,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0.02) 10%,rgba(0,0,0,0.0) 60%);box-shadow:0 1px 0 rgba(255,255,255,0.06) inset,0 -1px 0 rgba(0,0,0,0.35) inset,0 6px 12px rgba(0,0,0,0.35)}.brand-icon::after{content:"";position:absolute;inset:1px;border-radius:8px;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,0.06) inset}.brand-icon,.brand-icon::before{animation:none;box-shadow:none}.brand-icon img{position:relative;z-index:2;filter:drop-shadow(0 0 2px rgba(255,102,102,0.25));animation:SGlow 3s ease-in-out infinite}@keyframes SGlow{0%,100%{filter:drop-shadow(0 0 2px rgba(255,102,102,0.25)) drop-shadow(0 0 4px rgba(255,102,102,0.18))}50%{filter:drop-shadow(0 0 6px rgba(255,102,102,0.55)) drop-shadow(0 0 10px rgba(255,102,102,0.35))}}
#fs-to-top{position:fixed;right:22px;bottom:24px;width:46px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,0.08);background:rgba(15,17,22,0.82);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);color:#e8edf3;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45);cursor:pointer;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;z-index:99999}#fs-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}#fs-to-top:hover{border-color:rgba(255,70,70,0.35);box-shadow:0 0 0 1px rgba(255,70,70,.28),0 10px 28px rgba(0,0,0,.5),0 0 22px rgba(255,60,60,.22)}#fs-to-top:active{transform:translateY(1px)}#fs-to-top .ic{width:18px;height:18px;display:block;background:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12 4l-7 7h4v9h6v-9h4z"/></svg>') no-repeat center / 100% 100%;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12 4l-7 7h4v9h6v-9h4z"/></svg>') no-repeat center / 100% 100%}@media (max-width:1000px){#fs-to-top{right:14px;bottom:16px;width:44px;height:44px;border-radius:12px}}
.brand{position:relative}.brand::after{content:"";position:absolute;left:-1px;top:50%;width:28px;height:28px;transform:translateY(-50%);border-radius:8px;pointer-events:none;mix-blend-mode:screen;opacity:.25;background:radial-gradient(50% 50% at 50% 50%,rgba(255,56,56,.55) 0%,rgba(255,56,56,.35) 38%,rgba(255,56,56,.10) 68%,rgba(255,56,56,0) 74%),radial-gradient(60% 60% at 50% 38%,rgba(255,56,56,.65) 0%,rgba(255,56,56,0) 70%);filter:blur(.2px);animation:fsLogoBreath 2.4s ease-in-out infinite}@keyframes fsLogoBreath{0%,100%{opacity:.22;filter:blur(.2px)}50%{opacity:.95;filter:blur(.7px)}}
/* [fs-hamburger-glow-restore] */
@media (max-width:1000px){#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);width:56px;height:56px;border-radius:9999px;outline:none;box-shadow:none;filter:none}#fab-menu::before{content:"";position:absolute;inset:-8px;border-radius:9999px;pointer-events:none;background:radial-gradient(closest-side,rgba(255,60,60,0.55) 0%,rgba(255,60,60,0.35) 45%,rgba(255,60,60,0.18) 66%,rgba(255,60,60,0.00) 80%);mix-blend-mode:screen;filter:blur(0.6px);opacity:1}#fab-menu:hover,#fab-menu:active,#fab-menu.ripple{transform:translate(-50%,-56%);filter:none;box-shadow:none}#fab-menu.ripple::after{display:none}}
header .menu .chip,header .menu .login{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,filter .16s ease;will-change:transform,box-shadow,filter}@media (hover:hover){header .menu .chip:hover,header .menu .login:hover{transform:translateY(-1px);filter:brightness(1.03)}}header .menu .chip:active,header .menu .login:active{transform:translateY(2px) scale(.985);box-shadow:inset 0 2px 4px rgba(255,255,255,.06),inset 0 -6px 10px rgba(0,0,0,.35)}header .menu .chip:focus-visible,header .menu .login:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.15) inset,0 0 0 2px rgba(255,255,255,.06)}header .menu .chip::before,header .menu .login::before{content:"";position:absolute;top:-160%;left:-60%;width:60%;height:420%;transform:rotate(25deg) translateX(-140%);pointer-events:none;background:linear-gradient( to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.035) 34%,rgba(255,255,255,0.22) 50%,rgba(255,255,255,0.035) 66%,rgba(255,255,255,0) 100%);opacity:.9;transition:transform 900ms ease,opacity 300ms ease;will-change:transform;filter:blur(.2px)}@media (hover:hover){header .menu .chip:hover::before,header .menu .login:hover::before{transform:rotate(25deg) translateX(200%)}}@media (hover:none){header .menu .chip:active::before,header .menu .login:active::before{transform:rotate(25deg) translateX(200%)}}
header .menu .chip,header .menu .login{transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,filter .16s ease,transform 600ms ease}header .menu .chip::before,header .menu .login::before{content:"";position:absolute;top:-190%;left:-80%;width:90%;height:480%;transform:rotate(24deg) translateX(-160%);pointer-events:none;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.02) 30%,rgba(255,255,255,0.14) 50%,rgba(255,255,255,0.02) 70%,rgba(255,255,255,0) 100%);opacity:0;filter:blur(.3px);transition:transform 600ms ease,opacity 220ms ease;will-change:transform,opacity}@keyframes shineRun{0%{transform:rotate(24deg) translateX(-160%);opacity:0}12%{opacity:.55}45%{opacity:.22}80%{opacity:.55}100%{transform:rotate(24deg) translateX(240%);opacity:0}}@media (hover:hover){header .menu .chip:hover::before,header .menu .login:hover::before{animation:shineRun 1100ms ease-out 1 both}}@media (hover:none){header .menu .chip:active::before,header .menu .login:active::before{animation:shineRun 1000ms ease-out 1 both}}
header .menu .chip:active,header .menu .login:active{transform:translateY(3px) scale(0.975);box-shadow:inset 0 3px 6px rgba(255,255,255,0.05),inset 0 -8px 14px rgba(0,0,0,0.5),0 1px 1px rgba(255,255,255,0.08)}header .menu .chip::before,header .menu .login::before{width:110%;height:520%;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.04) 30%,rgba(255,255,255,0.25) 50%,rgba(255,255,255,0.04) 70%,rgba(255,255,255,0) 100%);filter:blur(0.4px)}@keyframes shineRun{0%{transform:rotate(24deg) translateX(-160%);opacity:0}12%{opacity:.65}45%{opacity:.3}80%{opacity:.65}100%{transform:rotate(24deg) translateX(260%);opacity:0}}@media (hover:hover){header .menu .chip:hover::before,header .menu .login:hover::before{animation:shineRun 1300ms ease-out 1 both}}@media (hover:none){header .menu .chip:active::before,header .menu .login:active::before{animation:shineRun 1200ms ease-out 1 both}}
header .menu .chip::before,header .menu .login::before{content:"";position:absolute;top:-200%;left:-90%;width:120%;height:540%;transform:rotate(24deg) translateX(-170%);pointer-events:none;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.06) 26%,rgba(255,255,255,0.32) 50%,rgba(255,255,255,0.06) 74%,rgba(255,255,255,0) 100%);filter:blur(0.35px);opacity:0;transition:transform 1100ms ease,opacity 0s linear 1100ms;will-change:transform,opacity}@media (hover:hover){header .menu .chip:hover::before,header .menu .login:hover::before{transform:rotate(24deg) translateX(260%);opacity:.75;transition:transform 1100ms ease,opacity 160ms ease}}@media (hover:none){header .menu .chip:active::before,header .menu .login:active::before{transform:rotate(24deg) translateX(260%);opacity:.75;transition:transform 1000ms ease,opacity 140ms ease}}
header .menu .chip::before,header .menu .login::before{transition:transform 1100ms ease,opacity 0s linear 1100ms}@media (hover:hover){header .menu .chip:hover::before,header .menu .login:hover::before{transform:rotate(24deg) translateX(260%);opacity:.75;transition:transform 1100ms ease,opacity 160ms ease}}header .menu .chip,header .menu .login{transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,filter .18s ease}@media (hover:hover){header .menu .chip:hover,header .menu .login:hover{filter:brightness(0.92);transform:translateY(-1px)}}
header .menu .chip::before,header .menu .login::before{background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.05) 26%,rgba(255,255,255,0.25) 50%,rgba(255,255,255,0.05) 74%,rgba(255,255,255,0) 100%);opacity:.95}
@media (hover:hover){header .menu .chip:hover::before,header .menu .login:hover::before{transition-delay:0s;transition:transform 1100ms ease,opacity 0.15s ease}}
header .menu .chip::before,header .menu .login::before{background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.07) 26%,rgba(255,255,255,0.32) 50%,rgba(255,255,255,0.07) 74%,rgba(255,255,255,0) 100%);opacity:1}
header .menu .chip::before,header .menu .login::before{background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.10) 26%,rgba(255,255,255,0.42) 50%,rgba(255,255,255,0.10) 74%,rgba(255,255,255,0) 100%);opacity:1;filter:blur(0.25px) brightness(1.1)}
@keyframes fsShineOnce{0%{transform:rotate(24deg) translateX(-175%);opacity:0}8%{opacity:.85}48%{opacity:.45}85%{opacity:.85}100%{transform:rotate(24deg) translateX(270%);opacity:0}}header .menu a.chip.shine-once::before,header .menu a.login.shine-once::before{content:"";position:absolute;animation:fsShineOnce 1100ms ease-out 1 both;opacity:1;transition:none;will-change:transform,opacity;pointer-events:none}header .menu a.chip::before,header .menu a.login::before{content:""}
header .menu .login{background-color:#9d0f18;color:#fff;border:none;transition:background-color 0.2s ease,transform 0.15s ease}header .menu .login:hover{background-color:#a92016;transform:translateY(-1px)}header .menu .login:active{background-color:#740b10;transform:translateY(1px)}
.hardware-opt .h2{text-align:left}.hardware-opt .muted{text-align:left;margin-bottom:16px}.hw-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:14px}.hw-card{position:relative;overflow:hidden;background:#0a0a0e;border:1px solid var(--border);border-radius:16px;padding:24px 20px 24px;box-shadow:var(--shadow);isolation:isolate;transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease;text-align:center;min-height:212px;cursor:pointer}.hw-card:hover{transform:translateY(-2px);border-color:var(--border);box-shadow:0 10px 30px rgba(0,0,0,.45)}.hw-card .hw-icon{width:78px;height:78px;border-radius:12px;background:radial-gradient(100% 100% at 50% 0%,rgba(255,102,102,.25),rgba(255,102,102,.05));border:1px solid rgba(255,102,102,.35);display:grid;place-items:center;margin:0 auto 12px auto;box-shadow:0 8px 24px rgba(255,102,102,.18) inset,0 6px 18px rgba(0,0,0,.35)}.hw-card .hw-icon svg{width:62%;height:62%;display:block;fill:#ff5c5c;stroke:none;filter:drop-shadow(0 0 10px rgba(255,102,102,.35))}.hw-card .hw-title{font-weight:600;margin-bottom:6px;font-size:18px;line-height:1.15}.hw-card .hw-desc{color:#b0adab;font-size:13px;line-height:1.45}.hw-card::after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 58%);background-size:220% 220%;background-position:120% 120%;mix-blend-mode:screen;opacity:0;pointer-events:none;z-index:1}.hw-card.shine-in::after{animation:hw-shine 0.85s cubic-bezier(.22,.61,.36,1) 0.1s both;animation-iteration-count:1}@keyframes hw-shine{0%{opacity:0;background-position:120% 120%}18%{opacity:.9}60%{opacity:.5}100%{opacity:0;background-position:-120% -120%}}20%{opacity:.9}@keyframes hw-shine-rev{0%{opacity:0;background-position:-120% -120%}100%{opacity:0;background-position:120% 120%}}@media (max-width:1150px){.hw-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:800px){.hardware-opt .h2,.hardware-opt .muted{text-align:center}.hw-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.hw-grid{grid-template-columns:1fr}}
.hw-card{position:relative;overflow:hidden}
.hw-card::after{display:none}
.hw-card{position:relative;overflow:hidden}.hw-card .hw-sheen{position:absolute;width:160%;height:160%;left:50%;top:50%;transform-origin:center;pointer-events:none;z-index:2;opacity:0;background:linear-gradient(135deg,rgba(255,255,255,0) 44%,rgba(255,255,255,.26) 50%,rgba(255,255,255,0) 56%);mix-blend-mode:screen;filter:blur(0.6px);border-radius:24px;will-change:transform,opacity;transform:translate(-50%,-50%) translate(38%,38%)}
.hw-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 22px;gap:14px}.hw-card .hw-title{white-space:nowrap;overflow:visible;text-overflow:clip;text-align:center;font-size:18px;margin-top:4px;margin-bottom:0.5px}.hw-card .hw-desc{margin-top:0;text-align:center;line-height:1.32;max-width:22ch}@media (min-width:980px){.hw-card{min-height:227px}}
.plan .plan-actions{display:flex;align-items:center;justify-content:center;column-gap:12px;flex-wrap:nowrap;row-gap:0}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;white-space:nowrap;line-height:1;margin:0;width:auto;box-sizing:border-box}.plan .plan-actions .or{margin:0 6px;display:inline-block;line-height:1;white-space:nowrap}
.plan .plan-actions{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1vw,12px);flex-wrap:nowrap;max-width:100%}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:42px;padding-inline:clamp(10px,1.6vw,22px);font-size:clamp(12px,0.95vw,16px);white-space:nowrap;line-height:1;margin:0;width:auto;max-width:100%;box-sizing:border-box}.plan .plan-actions .or{margin:0 clamp(4px,0.6vw,8px);white-space:nowrap;line-height:1}@media (max-width:420px){.plan .plan-actions{flex-wrap:wrap;row-gap:8px}}
@media (min-width:1024px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:42px;font-size:15px;padding:0 20px;min-width:150px}.plan .plan-actions{gap:10px}.plan .plan-actions .or{display:inline-flex;align-items:center;justify-content:center;height:42px;margin:0 6px}}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{min-width:150px}.plan .plan-actions{display:flex;align-items:center;justify-content:center}.plan .plan-actions .or{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.plan .plan-actions{min-width:0;max-width:100%}@media (min-width:1200px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{min-width:150px;padding:0 20px;font-size:14px;height:42px}.plan .plan-actions{gap:10px}.plan .plan-actions .or{height:42px}}@media (max-width:1199.98px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{min-width:140px;padding:0 18px;font-size:13.5px;height:42px}.plan .plan-actions{gap:9px}}@media (max-width:1099.98px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{min-width:132px;padding:0 16px;font-size:13px;height:40px}.plan .plan-actions{gap:8px}.plan .plan-actions .or{height:40px}}@media (max-width:420px){.plan .plan-actions{flex-wrap:wrap;row-gap:8px}}
.plan .plan-actions{max-width:100%;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:nowrap;margin:0 auto;overflow:hidden}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:42px;font-size:13px;padding:0 16px;min-width:130px;max-width:130px;box-sizing:border-box;white-space:nowrap}.plan .plan-actions .or{display:inline-flex;align-items:center;justify-content:center;height:38px;line-height:1;margin:0 6px}@media (max-width:1366px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{min-width:122px;max-width:122px;font-size:12.5px;padding:0 14px}}
@media (min-width:600px) and (max-width:1000px){.plan .plan-actions{gap:8px}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:36px;font-size:15px;padding:0 12px;min-width:116px;max-width:116px}.plan .plan-actions .or{height:36px;margin:0 6px}}
.plan .plan-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;max-width:100%}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:40px;font-size:14px;padding:0 18px;min-width:140px;max-width:140px;white-space:nowrap;box-sizing:border-box;flex:0 1 140px}.plan .plan-actions .or{display:inline-flex;align-items:center;justify-content:center;height:40px;line-height:1;margin:0 6px}@media (max-width:1365.98px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:42px;font-size:13.5px;min-width:134px;max-width:134px;flex-basis:134px}.plan .plan-actions .or{height:38px}}@media (max-width:1199.98px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:36px;font-size:13px;min-width:126px;max-width:126px;flex-basis:126px;padding:0 14px}.plan .plan-actions .or{height:36px}}@media (max-width:1023.98px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:34px;font-size:12.5px;min-width:118px;max-width:118px;flex-basis:118px;padding:0 12px}.plan .plan-actions{gap:8px}.plan .plan-actions .or{height:34px}}@media (max-width:899.98px){.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:32px;font-size:12px;min-width:110px;max-width:110px;flex-basis:110px;padding:0 10px}.plan .plan-actions .or{height:32px}}@media (max-width:560px){.plan .plan-actions{flex-wrap:wrap;row-gap:8px}}
@media (min-width:820px) and (max-width:1060px){.plan .plan-actions{gap:6px}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:30px;font-size:15px;padding:0 10px;min-width:100px;max-width:100px;line-height:1}.plan .plan-actions .or{height:30px;margin:0 6px;line-height:1}}@media (min-width:1061px) and (max-width:1200px){.plan .plan-actions{gap:7px}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:34px;font-size:12.5px;padding:0 12px;min-width:110px;max-width:110px}.plan .plan-actions .or{height:34px}}
@media (max-width:768px){.plan .plan-actions{gap:10px}.plan .plan-actions .btn,.plan .btn.btn-dark,.plan a.btn.btn-dark,.plan .btn.btn-primary,.plan a.btn.btn-primary{height:42px;font-size:15px;padding:0 20px;min-width:125px;max-width:125px}.plan .plan-actions .or{height:45px}}
.btn,.btn.btn-dark,.btn.view-benefits,.view-benefits{cursor:pointer}.plan .price{font-size:110%;margin-top:8px;margin-bottom:14px}
.plan .price{transform:translateY(0px);will-change:transform;font-size:110%}
.plan .price,.pricing-plan .price,.price{transform:translateY(0px);will-change:transform;font-size:120%;line-height:1.1em}
.modal{display:flex;position:fixed;inset:0;opacity:0;visibility:hidden;pointer-events:none;background:rgba(0,0,0,0);transition:opacity .32s ease,background-color .32s ease,visibility 0s linear .32s;align-items:center;justify-content:center;padding:24px;z-index:60}.modal.open{opacity:1;visibility:visible;pointer-events:auto;background:rgba(0,0,0,.55);transition:opacity .36s ease,background-color .36s ease,visibility 0s linear 0s}.modal-card{transform:translateY(16px) scale(.985);opacity:0;transition:transform .36s ease,opacity .36s ease;will-change:transform,opacity}.modal.open .modal-card{transform:translateY(0) scale(1);opacity:1}

/* [fs-tweaks-logos-and-sections] */
#hardware-optimization,.section.hardware-opt{background:transparent;box-shadow:none}.logos img,.hero .logos img,.hero-logos img{filter:none;opacity:1;mix-blend-mode:normal}
/* [fs-red-theme-a22528] */
.btn-primary,.plan .btn-primary,.cta .btn-primary,button.btn-primary,a.btn-primary{background:#e0171c;color:#fff;border:1px solid #b11217;box-shadow:0 6px 20px rgba(234,41,49,.35),inset 0 1px 0 rgba(255,255,255,.05);transition:background-color .18s ease,box-shadow .18s ease,transform .12s ease}.btn-primary:hover,.plan .btn-primary:hover,.cta .btn-primary:hover{background:#e8171e;transform:translateY(-1px);box-shadow:0 6px 20px rgba(234,41,49,.35),inset 0 1px 0 rgba(255,255,255,.05)}.btn-primary:active,.plan .btn-primary:active,.cta .btn-primary:active{background:#b11217;transform:translateY(0);box-shadow:0 6px 20px rgba(234,41,49,.35),inset 0 1px 0 rgba(255,255,255,.05)}

/* [fs-btn-glow-hover-fix] */
.btn-primary.btn-glow,.btn-primary.btn-glow:hover,.btn-primary.btn-glow:active{box-shadow:0 6px 20px rgba(234,41,49,.35),inset 0 1px 0 rgba(255,255,255,.05)}
.fs-new-modal .fs-new-actions .btn-metal-light:hover,.fs-new-modal .fs-new-actions .btn-metal-light:active{box-shadow:0 10px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.09)}

/* [fs-four-fixes] */
/* 1. Partner tooltips: more breathing room above cards */
.fs-partner-tooltip { margin-top: -10px; }

/* 2. Increase hero top gap to match bottom gap - desktop only */
@media (min-width: 1001px) {
    .hero { padding-top: 140px; }
}

/* 3. Green checkmarks subtle pulse glow in comparison table */
.compare .check, .table .check {
    animation: checkPulseGlow 3s ease-in-out infinite;
}
@keyframes checkPulseGlow {
    0%, 100% { text-shadow: 0 0 0px rgba(34,197,94,0); }
    50% { text-shadow: 0 0 8px rgba(34,197,94,.55), 0 0 16px rgba(34,197,94,.25); }
}

/* 4. btn-dark text disappearing on hover - force text above pseudo-elements */
.btn-dark { isolation: isolate; }
.btn-dark::before, .btn-dark::after { z-index: -1; }

/* 5. Hide benchmark disclaimer on mobile */
@media (max-width: 1000px) {
    .fs-bench-disclaimer { display: none; }
    #benchmarks .bench-bottom { margin-top: 10px; }
}

/* 6. "Contact us via live chat" on new row on mobile */
@media (max-width: 1000px) {
}

/* [fsos-icon-fix] */
a.login,.nav a.login,.menu .login{background:#9d0f18;color:#fff;font-weight:600;border:1px solid #b11217;border-radius:999px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .18s ease,transform .12s ease,box-shadow .18s ease;box-shadow:0 6px 20px rgba(234,41,49,.35),inset 0 1px 0 rgba(255,255,255,.05)}a.login svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.5;opacity:0.95;margin-left:6px}a.login:hover svg{opacity:1}a.login:hover{background:#a92016;transform:translateY(-1px)}a.login:active{background:#740b10;transform:translateY(0)}
/* [fsos-white-external-icon] */
a.login svg{stroke:currentColor;fill:none;width:16px;height:16px;margin-left:8px;opacity:.95}a.login:hover svg{opacity:1}
/* [fsos-solid-white-icon] */
a.login{color:#fff}a.login svg{width:16px;height:16px;margin-left:8px;opacity:1}
/* [fsos-imgur-icon-solid-white] */
a.login svg{fill:currentColor;width:17px;height:17px;margin-left:8px}
/* [fsos-exact-png-icon-white] */
a.login{color:#fff;display:inline-flex;align-items:center;gap:8px}a.login .ext-icon{width:16px;height:16px;display:inline-block;vertical-align:middle;filter:brightness(0) invert(1) saturate(0%) contrast(100%);image-rendering:-webkit-optimize-contrast}a.login:hover .ext-icon,a.login:active .ext-icon{filter:brightness(0) invert(1) saturate(0%) contrast(100%)}
/* [fsos-icon-wrugzdv] */
a.login{color:#fff;display:inline-flex;align-items:center;gap:8px;font-weight:600}a.login .ext-icon{width:16px;height:16px;vertical-align:middle;display:inline-block;filter:brightness(0) invert(1) saturate(0%) contrast(100%);image-rendering:-webkit-optimize-contrast;transform:translateY(0.5px)}a.login:hover .ext-icon,a.login:active .ext-icon{filter:brightness(0) invert(1) saturate(0%) contrast(100%)}
/* [fsos-icon-refined-position] */
a.login .ext-icon{width:15px;height:15px;vertical-align:middle;display:inline-block;transform:translateY(-1px);filter:brightness(0) invert(1) saturate(0%) contrast(100%);image-rendering:-webkit-optimize-contrast}
/* [reviews-local-adjust] */
#reviews-marquee .ava{width:40px;height:40px}#reviews-marquee .handle{margin-top:-2px}#reviews-marquee .name-row{margin-top:2px}#reviews-marquee .tick,#reviews-marquee .r-tick{transform:translateY(2px)}
/* [reviews-local-finetune] */
#reviews-marquee .ava{width:40px;height:40px}#reviews-marquee .tick,#reviews-marquee .r-tick{transform:translateY(-1px)}#reviews-marquee .handle{margin-top:-3px}
/* [reviews-avatar-bigger] */
#reviews-marquee .ava{width:44px;height:44px}#reviews-marquee .handle{margin-top:-3px}
/* [verified-bottom-scoped] */
#reviews-marquee .card{position:relative}#reviews-marquee .verified-bottom{position:absolute;left:16px;bottom:12px;display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.25);pointer-events:none}#reviews-marquee .verified-bottom .verified-tick{width:14px;height:14px;display:block}
/* [verified-bottom-style-centered] */
#reviews-marquee .verified-bottom{position:absolute;left:16px;bottom:12px;display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.25);pointer-events:none;z-index:1}#reviews-marquee .card .date{display:flex;align-items:center;gap:6px;padding-bottom:2px}
/* [fs-reviews-bottom-spacing-v3] */
.reviews .marquee .card{position:relative;padding-bottom:38px}.reviews .marquee .card .time{position:absolute;left:16px;bottom:12px;padding-top:0;border-top:0}.reviews .marquee .card .verified-bottom{position:absolute;left:16px;bottom:12px;display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.25);pointer-events:none;z-index:1}.reviews .marquee .card .verified-bottom .verified-tick{width:14px;height:14px;display:block}
.reviews .marquee .card .review-socials{position:absolute;right:20px;bottom:12px;display:flex;align-items:center;gap:11px;z-index:2}
.reviews .marquee .card .review-socials .rs-link{display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.25);transition:color .15s ease;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.reviews .marquee .card .review-socials .rs-link:hover{color:#fff}
.reviews .marquee .card .review-socials .rs-link svg{width:16px;height:16px;display:block;fill:currentColor}
.reviews .marquee .card .review-socials .rs-link[aria-label="YouTube"] svg{width:20px;height:20px}
/* [fs-reviews-border-padding] */
.reviews .marquee-wrap{padding-bottom:10px}.reviews .marquee .card{margin-bottom:4px}
/* [fs-top-v2-style] */
#fs-top-v2{position:fixed;right:22px;bottom:26px;width:48px;height:48px;border-radius:12px;background:#0e0e0e;color:#000000;border:1px solid rgba(255,255,255,0.25);display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.45);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease;z-index:9999}#fs-top-v2.show{opacity:1;pointer-events:auto;transform:translateY(0)}#fs-top-v2:hover{box-shadow:0 0 0 2px rgba(213,21,26,.50),0 0 18px 4px rgba(213,21,26,.55),0 10px 28px rgba(0,0,0,.45)}#fs-top-v2 svg{width:20px;height:20px;display:block}@media (max-width:768px){#fs-top-v2{right:14px;bottom:18px;width:44px;height:44px}}
/* [benchmarks-fullstyles] */
#benchmarks .bench-pc-type{font-size:11px;letter-spacing:.12em;color:#a8a5a5;margin-left:auto}#benchmarks.section{padding:0 0 0px;margin-top:-14px;margin-bottom:8px}#benchmarks .container{position:relative}#benchmarks .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:1000px){#benchmarks .grid{grid-template-columns:1fr}}#benchmarks .card{position:relative;background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:var(--shadow);min-height:180px;display:flex;flex-direction:column;gap:10px}#benchmarks .game{font-weight:600}#benchmarks .mini{color:var(--muted);font-size:12px}#benchmarks .bar-wrap{background:#0f1215;border:1px solid #20252b;border-radius:10px;position:relative;height:64px;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px}#benchmarks .bar-col{position:relative;border-radius:10px;background:#101318;overflow:hidden;border:1px solid #1f242a}#benchmarks .bar{position:absolute;left:-1px;top:0;bottom:0;width:0;border-radius:10px}#benchmarks .bar.before{background:linear-gradient(90deg,rgba(148,163,184,.35),rgba(148,163,184,.15))}#benchmarks .bar.after{background:linear-gradient(90deg,rgba(255,102,102,.85),rgba(255,102,102,.35))}#benchmarks .bar.after::after{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 20%,rgba(255,255,255,0) 40%);background-size:200% 100%;animation:benchShimmer 2.2s ease-in-out infinite;mix-blend-mode:screen;pointer-events:none}#benchmarks .bar-label{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:600;font-size:12px;color:#e4e1e1;text-shadow:0 2px 10px rgba(0,0,0,.35);pointer-events:none}#benchmarks .legend{display:flex;align-items:center;gap:12px;font-size:12px;color:#cccac8;margin-left:2px}#benchmarks .dot{width:10px;height:10px;border-radius:999px;display:inline-block}#benchmarks .dot.before{background:#a0a09e}#benchmarks .dot.after{background:#ff5c5c;animation:pulseRed 2.4s ease-out infinite}#benchmarks .bench-bottom{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}#benchmarks .bench-btn{width:38px;height:38px;border-radius:999px;border:1px solid #23272b;background:#0a0a0e;color:#d4d1cf;display:inline-flex;align-items:center;justify-content:center;line-height:0;cursor:pointer;transition:transform .14s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow);user-select:none}#benchmarks .bench-btn svg{display:block}#benchmarks .bench-btn:not([disabled]):hover{transform:translateY(-1px);background:#171b20;border-color:#2a3036}#benchmarks .bench-btn:not([disabled]):active{transform:scale(.95)}#benchmarks .bench-btn[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(60%)}#benchmarks .bench-page{font-weight:600;font-size:13px;color:#cccac8;letter-spacing:.04em;min-width:72px;text-align:center}#benchmarks .gain{position:absolute;right:16px;top:16px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#f0edec;background:rgba(255,102,102,.14);border:1px solid rgba(255,102,102,.35);box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .25s ease;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#benchmarks .gain::after{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,0) 60%);transform:skewX(-20deg)}#benchmarks .gain:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 0 12px rgba(255,102,102,.4)}#benchmarks .gain:hover::after{animation:shine 0.8s forwards}@keyframes shine{0%{left:-75%}100%{left:125%}}@keyframes benchShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes pulseRed{0%{box-shadow:0 0 0 0 rgba(255,102,102,.6)}70%{box-shadow:0 0 0 10px rgba(255,102,102,0)}100%{box-shadow:0 0 0 0 rgba(255,102,102,0)}}
/* [fsos-icon-alwayswhite-on-scroll] */
header .menu a.login .ext-icon,header .menu a.login .ext-icon *,header .menu a.login svg.ext-icon,header .menu a.login svg.ext-icon *,header .menu a.login svg,header .menu a.login svg *{color:#ffffff;fill:#ffffff;stroke:#000000;-webkit-text-fill-color:#ffffff;filter:none;opacity:1}header .menu a.login img.ext-icon,header .menu a.login img{filter:brightness(0) invert(1);opacity:1}header .menu a.chip:not(.login){background:#0e0e12;color:#e4e0e0;border:none;border-radius:9999px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -1px 0 rgba(0,0,0,0.28),0 10px 26px rgba(0,0,0,0.35),0 0 0 1px rgba(255,255,255,0.06);transition:background-color .18s ease,box-shadow .18s ease,transform .12s ease}header .menu a.chip:not(.login):hover{background:#131318;box-shadow:inset 0 1px 0 rgba(255,255,255,0.07),inset 0 -1px 0 rgba(0,0,0,0.32),0 14px 30px rgba(0,0,0,0.40),0 0 0 1px rgba(255,255,255,0.08);transform:translateY(-1px)}
/* [fsos-download-icon-white] */
header .menu a.login svg.lucide{width:18px;height:18px;margin-left:8px;opacity:.95;fill:none;stroke:currentColor}header .menu a.login svg.lucide *{fill:none;stroke:currentColor}
.plans-grid .plan{overflow:visible;padding-bottom:26px}.plans-grid .plan .plan-actions{overflow:visible}.plans-grid .plan .btn,.plans-grid .plan .btn-primary,.plans-grid .plan .btn-dark{border-radius:10px}.plans-grid{overflow:visible}.plans-grid .plan .plan-actions>*{position:relative;z-index:1}
.plans-grid .plan .btn,.plans-grid .plan .btn-primary,.plans-grid .plan .btn-dark{padding-top:0.9em;padding-bottom:0.9em}
.plans-grid .plan .btn,.plans-grid .plan .btn-primary,.plans-grid .plan .btn-dark{padding-top:1.0em;padding-bottom:1.0em}
.plans-grid .plan .btn,.plans-grid .plan .btn-primary,.plans-grid .plan .btn-dark{padding-top:1.2em;padding-bottom:1.2em}
@media (max-width:1000px){.plans-grid .plan,.plans-grid .plan .plan-actions{overflow:visible}.plans-grid .plan .plan-actions{gap:14px}.plans-grid .plan .btn,.plans-grid .plan .btn-primary,.plans-grid .plan .btn-dark{font-size:1rem;padding:14px 22px;border-radius:10px;line-height:1;white-space:nowrap}}
@media (max-width:1000px){.plans-grid .plan .plan-actions{overflow:visible;gap:14px}.plans-grid .plan .plan-actions .btn,.plans-grid .plan .plan-actions .btn-primary,.plans-grid .plan .plan-actions .btn-dark{transform:none;height:auto;line-height:1.05;font-size:1rem;padding:14px 22px;border-radius:10px;white-space:nowrap}}
@media (max-width:1000px){.plans-grid .plan{font-size:1rem}.plans-grid .plan .plan-actions{overflow:visible;gap:14px}.plans-grid .plan .plan-actions .btn,.plans-grid .plan .plan-actions .btn-primary,.plans-grid .plan .plan-actions .btn-dark{transform:none;height:auto;line-height:1.05;font-size:1rem;padding:14px 22px;border-radius:10px;white-space:nowrap}}
@media (max-width:1000px){.plans-grid .plan .plan-actions{gap:14px;overflow:visible}.plans-grid .plan .plan-actions .btn,.plans-grid .plan .plan-actions .btn-primary,.plans-grid .plan .plan-actions .btn-dark{transform:none;width:auto;min-width:auto;max-width:none;height:auto;line-height:1.05;font-size:16px;padding:14px 22px;border-radius:10px;white-space:nowrap}}
/* [fs-calendly-fixes] */
.calendly-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2147483647}.calendly-overlay .calendly-popup{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:transparent}.calendly-overlay .calendly-popup-content{padding:0;margin:0;background:transparent;border:none;box-shadow:none;overflow:hidden;display:block;line-height:0}.calendly-overlay .calendly-popup-content iframe{display:block;width:min(510px,96vw);height:565px;border:0;border-radius:14px;overflow:hidden;background:#0a0a0a}.calendly-overlay .calendly-popup::before,.calendly-overlay .calendly-popup::after{content:none;display:none}
/* [fs-calendly-scrollbar-offedge-v3] */
.calendly-overlay{overflow:hidden}.calendly-overlay .calendly-popup{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.calendly-overlay .calendly-popup-content{overflow:hidden;border-radius:12px;background:transparent}.calendly-overlay .calendly-popup-content iframe{display:block;border:0;width:clamp(360px,92vw,640px);height:720px;margin-right:-22px;margin-left:-7px;background:transparent}.calendly-overlay .calendly-popup-content::-webkit-scrollbar,.calendly-overlay::-webkit-scrollbar,.calendly-overlay .calendly-popup-content iframe::-webkit-scrollbar{width:0;height:0;display:none}.calendly-overlay .calendly-popup-content{scrollbar-width:none;-ms-overflow-style:none}
/* [fs-calendly-compact-hard-trim] */
.calendly-overlay .calendly-popup{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.calendly-overlay .calendly-popup-content{padding:0;margin:0;background:transparent;border:0;box-shadow:none;height:auto;width:auto;max-width:none;overflow:hidden;display:inline-block;line-height:0}.calendly-overlay .calendly-popup-content>:not(iframe){display:none}.calendly-overlay .calendly-popup-content iframe{display:block;width:min(510px,96vw);height:565px;border:0;border-radius:14px;overflow:hidden;background:#0a0a0a}
/* [fs-calendly-fade-css] */
.calendly-overlay{opacity:0;transition:opacity 240ms ease}.calendly-overlay.fs-fade-in{opacity:1}.calendly-overlay.fs-fade-out{opacity:0}.calendly-overlay .calendly-popup{transition:none}
/* [fs-price-tweak] */
.plan .price{display:inline-flex;align-items:baseline;gap:4px;justify-content:center;transform:translate(-6px, 0px)}.plan .price .amount{font-size:38px;line-height:1}.plan .price .ccy{font-size:0.6em;margin-left:0px;opacity:0.85;letter-spacing:0.04em;position:relative;top:-3px}@media (max-width:640px){.plan .price{gap:3px;transform:translate(-5px, 0px)}.plan .price .amount{font-size:1.3em}.plan .price .ccy{top:-2px;margin-left:0px}}
/* [coupon-style] */
.coupon-buttons{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;justify-content:center}.coupon-buttons .coupon-choice{font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer}#coupon-msg{font-size:13px;margin:12px 0 0;display:none;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.modal-card{border-radius:10px}#coupon-msg{display:block;max-height:0;opacity:0;overflow:hidden;transition:max-height 280ms ease,opacity 220ms ease;will-change:max-height,opacity;margin-top:12px}#coupon-msg.show{max-height:160px;opacity:1}#coupon-msg{display:block;max-height:0;opacity:0;overflow:hidden;transition:max-height 280ms ease,opacity 220ms ease;will-change:max-height,opacity;margin-top:12px}#coupon-msg.show{max-height:160px;opacity:1}#coupon-modal .modal-card{overflow:visible}#coupon-msg{padding:2px 4px}
/* [coupon-copy-hide] */
#coupon-copy{display:none}
::-webkit-scrollbar{width:10px;height:10px;background-color:#0c0c0c;border-radius:8px}::-webkit-scrollbar-track{background-color:#0c0c0c;border-radius:8px}::-webkit-scrollbar-thumb{background-color:#1a1e24;border-radius:8px;border:2px solid #0c0c0c;transition:background-color 0.2s ease}::-webkit-scrollbar-thumb:hover{background-color:#222730}::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment,::-webkit-scrollbar-button{display:none;height:0;width:0}*{scrollbar-width:thin;scrollbar-color:#1a1e24 #0c0c0c}
/* [reveal-up-anim] */
.scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

html{scroll-behavior:auto}[id]{scroll-margin-top:0}
.fs-faq__q .fs-faq__chev{transition:transform 0.30s ease,background-color 0.12s ease,box-shadow 0.12s ease;transform:rotate(0deg)}.fs-faq__q.chev-on .fs-faq__chev{transform:rotate(45deg)}
.fs-faq__q .fs-faq__chev{transition:transform 0.30s ease}
.fs-logo,.fs-partner-logo,.brand-icon,.game-logo,.client-logo{transition:transform 0.25s ease}.fs-logo:hover,.fs-partner-logo:hover,.brand-icon:hover,.game-logo:hover,.client-logo:hover{transform:scale(1.12)}
.fs-logo img,.fs-partner-logo img,.brand-icon img,.game-logo img,.client-logo img,section img[src*="logo"],div img[src*="logo"]{transition:transform 0.25s ease;cursor:pointer}.fs-logo img:hover,.fs-partner-logo img:hover,.brand-icon img:hover,.game-logo img:hover,.client-logo img:hover,section img[src*="logo"]:hover,div img[src*="logo"]:hover{transform:scale(1.12)}
.logos .logo{transition:transform 0.25s ease,box-shadow 0.25s ease;cursor:pointer;will-change:transform}.logos .logo:hover{transform:scale(1.12);box-shadow:0 6px 26px rgba(0,0,0,.45)}.logos .logo img{transition:transform 0.25s ease}.logos .logo:hover img{transform:scale(1.05)}
.fs-pressable{transition:transform .08s ease,filter .12s ease;will-change:transform}.fs-pressable:active{transform:translateY(1px) scale(0.985);filter:brightness(0.98)}
.fs-pressable{transition:transform .08s ease,filter .12s ease;will-change:transform}.fs-pressable:active{transform:translateY(1px) scale(0.985);filter:brightness(0.98)}nav a.fs-pressable,header a.fs-pressable,.navbar a.fs-pressable,.nav a.fs-pressable,.menu a.fs-pressable,.header a.fs-pressable{transition:transform .08s ease,filter .12s ease}nav a.fs-pressable:active,header a.fs-pressable:active,.navbar a.fs-pressable:active,.nav a.fs-pressable:active,.menu a.fs-pressable:active,.header a.fs-pressable:active{transform:translateY(1px) scale(0.985);filter:brightness(0.98)}.faq .fs-pressable,.faqs .fs-pressable,.faq-section .fs-pressable,.accordion .fs-pressable,.accordion-item .fs-pressable,[data-faq] .fs-pressable,[data-accordion] .fs-pressable,[role="tablist"] .fs-pressable{transition:none;transform:none;filter:none}.faq .fs-pressable:active,.faqs .fs-pressable:active,.faq-section .fs-pressable:active,.accordion .fs-pressable:active,.accordion-item .fs-pressable:active,[data-faq] .fs-pressable:active,[data-accordion] .fs-pressable:active,[role="tablist"] .fs-pressable:active{transform:none;filter:none}
.fs-pressable{transition:transform .08s ease,filter .12s ease;will-change:transform}.fs-pressable:active{transform:translateY(1px) scale(0.985);filter:brightness(0.98)}nav a.fs-pressable,header a.fs-pressable,.navbar a.fs-pressable,.nav a.fs-pressable,.menu a.fs-pressable,.header a.fs-pressable{transition:transform .08s ease,filter .12s ease}nav a.fs-pressable:active,header a.fs-pressable:active,.navbar a.fs-pressable:active,.nav a.fs-pressable:active,.menu a.fs-pressable:active,.header a.fs-pressable:active{transform:translateY(1px) scale(0.985);filter:brightness(0.98)}.faq .fs-pressable,.faqs .fs-pressable,.faq-section .fs-pressable,.accordion .fs-pressable,.accordion-item .fs-pressable,[data-faq] .fs-pressable,[data-accordion] .fs-pressable,[role="tablist"] .fs-pressable,[id*="faq" i] .fs-pressable,[class*="faq" i] .fs-pressable,[data-section*="faq" i] .fs-pressable{transition:none;transform:none;filter:none}.faq .fs-pressable:active,.faqs .fs-pressable:active,.faq-section .fs-pressable:active,.accordion .fs-pressable:active,.accordion-item .fs-pressable:active,[data-faq] .fs-pressable:active,[data-accordion] .fs-pressable:active,[role="tablist"] .fs-pressable:active,[id*="faq" i] .fs-pressable:active,[class*="faq" i] .fs-pressable:active,[data-section*="faq" i] .fs-pressable:active{transform:none;filter:none}nav a::before,nav a::after,header a::before,header a::after,.navbar a::before,.navbar a::after,.nav a::before,.nav a::after,.menu a::before,.menu a::after,.header a::before,.header a::after{animation:none;transition:none;opacity:0;content:none;background:none;-webkit-mask-image:none;mask-image:none}nav a:hover,header a:hover,.navbar a:hover,.nav a:hover,.menu a:hover,.header a:hover{background-image:none}
@keyframes fsLogoInk{0%,100%{color:#ffffff}50%{color:#ff5c5c}}svg.fs-logo-ink{animation:fsLogoInk 3.2s ease-in-out infinite}svg.fs-logo-ink [data-fs-ink="1"]{fill:currentColor;stroke:currentColor}
@keyframes fsLogoColorPulse{0%,100%{background-color:#ffffff}50%{background-color:#ff5c5c}}.fs-logo-mask{position:relative;display:inline-block}.fs-logo-mask img,.fs-logo-mask svg{opacity:0}.fs-logo-mask::before{content:"";position:absolute;inset:0;background-color:#060608;animation:fsLogoColorPulse 3.2s ease-in-out infinite;-webkit-mask-image:var(--fs-logo-src);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:var(--fs-logo-src);mask-repeat:no-repeat;mask-position:center;mask-size:contain;pointer-events:none}.fs-logo-mask,.fs-logo-mask *{box-shadow:none;filter:none}
@keyframes fsLogoGlowPulse{0%,100%{opacity:.12}50%{opacity:.34}}.fs-logo-mask{position:relative;z-index:1}.fs-logo-mask::after{content:"";position:absolute;inset:-6px;border-radius:16px;background:radial-gradient(60% 60% at 38% 35%,rgba(255,102,102,0.62) 0%,rgba(255,102,102,0.28) 28%,rgba(255,102,102,0.10) 56%,rgba(255,102,102,0.00) 78%);mix-blend-mode:screen;filter:blur(10px);pointer-events:none;z-index:0;opacity:.16;animation:fsLogoGlowPulse 3.2s ease-in-out infinite}.fs-logo-mask::before{z-index:1;position:absolute}
@keyframes fsLogoColorPulseLong{0%,18%{background-color:#ffffff}28%,86%{background-color:#e81a1a}100%{background-color:#ffffff}}.fs-logo-mask{position:relative;display:inline-block;border-radius:14px;background:radial-gradient(120% 140% at 50% 10%,#1a1a1d 0%,#101014 65%,#0b0b0e 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -4px 10px rgba(0,0,0,0.55)}.fs-logo-mask::before{content:"";position:absolute;inset:0;background-color:#060608;-webkit-mask-image:var(--fs-logo-src);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:var(--fs-logo-src);mask-repeat:no-repeat;mask-position:center;mask-size:contain;animation:fsLogoColorPulseLong 3.6s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes fsLogoGlowPulseLong{0%,100%{opacity:.12}}.fs-logo-mask::after{content:"";position:absolute;inset:-6px;border-radius:16px;background:radial-gradient(60% 60% at 38% 35%,rgba(232,26,26,0.62) 0%,rgba(232,26,26,0.28) 28%,rgba(232,26,26,0.10) 56%,rgba(232,26,26,0.00) 78%);mix-blend-mode:screen;filter:blur(10px);pointer-events:none;z-index:0;opacity:.16;animation:fsLogoGlowPulseLong 3.6s ease-in-out infinite}.fs-logo-mask img,.fs-logo-mask svg{opacity:0;display:block}
@keyframes fsLogoColorPulseFast{0%{background-color:#ffffff}50%{background-color:#e81a1a}100%{background-color:#ffffff}}@keyframes fsLogoGlowPulseFast{0%,100%{opacity:.14}50%{opacity:.36}}.fs-logo-mask{position:relative;display:inline-block;border-radius:14px;background:linear-gradient(180deg,#1a1a1d 0%,#101014 60%,#0b0b0e 100%);isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -4px 10px rgba(0,0,0,0.55)}.fs-logo-mask::before{content:"";position:absolute;inset:0;background-color:#060608;-webkit-mask-image:var(--fs-logo-src);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:var(--fs-logo-src);mask-repeat:no-repeat;mask-position:center;mask-size:contain;animation:fsLogoColorPulseFast 2.2s ease-in-out infinite;pointer-events:none;z-index:1}.fs-logo-mask::after{content:"";position:absolute;inset:-6px;border-radius:16px;background:radial-gradient(60% 60% at 38% 35%,rgba(232,26,26,0.62) 0%,rgba(232,26,26,0.28) 28%,rgba(232,26,26,0.10) 56%,rgba(232,26,26,0.00) 78%);mix-blend-mode:screen;filter:blur(10px);pointer-events:none;z-index:0;opacity:.16;animation:fsLogoGlowPulseFast 2.2s ease-in-out infinite}.fs-logo-mask img,.fs-logo-mask svg{opacity:0;display:block}
.fs-logo-mask{position:relative;isolation:isolate}.fs-logo-mask::after{z-index:0}.fs-logo-mask::before{z-index:2}.fs-logo-mask .fs-cap-bg{position:absolute;inset:0;border-radius:14px;background:linear-gradient(180deg,#1a1a1d 0%,#101014 60%,#0b0b0e 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -4px 10px rgba(0,0,0,0.55);z-index:1;pointer-events:none}
@keyframes fsLogoColorPulseFastV2{0%{background-color:#ececec}100%{background-color:#ececec}}@keyframes fsLogoGlowPulseFastV2{0%,100%{opacity:.14}}.fs-logo-mask{position:relative;display:inline-block;border-radius:14px;background-color:#0b0b0e;overflow:hidden;isolation:isolate}.fs-logo-mask .fs-cap-bg{position:absolute;inset:0;border-radius:14px;background:linear-gradient(180deg,#1a1a1d 0%,#111116 60%,#0b0b0e 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -4px 10px rgba(0,0,0,0.55);z-index:1;pointer-events:none}.fs-logo-mask::before{content:"";position:absolute;inset:0;background-color:#ececec;-webkit-mask-image:var(--fs-logo-src);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:var(--fs-logo-src);mask-repeat:no-repeat;mask-position:center;mask-size:contain;animation:fsLogoColorPulseFastV2 2.2s ease-in-out infinite;pointer-events:none;z-index:2}.fs-logo-mask::after{content:"";position:absolute;inset:-6px;border-radius:16px;background:radial-gradient(60% 60% at 38% 35%,rgba(232,26,26,0.62) 0%,rgba(232,26,26,0.28) 28%,rgba(232,26,26,0.10) 56%,rgba(232,26,26,0.00) 78%);mix-blend-mode:screen;filter:blur(10px);pointer-events:none;z-index:0;opacity:.16;animation:fsLogoGlowPulseFastV2 2.2s ease-in-out infinite}.fs-logo-mask img,.fs-logo-mask svg{opacity:0;display:block}
@keyframes fsLogoColorPulseFastV3{0%{background-color:#ececec}100%{background-color:#ececec}}@keyframes fsLogoGlowPulseFastV3{0%,100%{opacity:.14}}.fs-logo-mask{position:relative;display:inline-block;border-radius:14px;background-color:#0b0b0e;overflow:hidden;isolation:isolate}.fs-logo-mask .fs-cap-bg{position:absolute;inset:0;border-radius:14px;background-color:#0b0b0e;box-shadow:inset 0 1px 0 rgba(255,255,255,0.05),inset 0 -4px 10px rgba(0,0,0,0.55);z-index:1;pointer-events:none}.fs-logo-mask::before{content:"";position:absolute;inset:0;background-color:#ececec;-webkit-mask-image:var(--fs-logo-src);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:var(--fs-logo-src);mask-repeat:no-repeat;mask-position:center;mask-size:contain;animation:fsLogoColorPulseFastV3 2.2s ease-in-out infinite;pointer-events:none;z-index:2}.fs-logo-mask::after{content:"";position:absolute;inset:-10px;border-radius:18px;background:radial-gradient(60% 60% at 38% 35%,rgba(232,26,26,0.62) 0%,rgba(232,26,26,0.28) 28%,rgba(232,26,26,0.10) 56%,rgba(232,26,26,0.00) 78%);mix-blend-mode:screen;filter:blur(12px);opacity:.16;animation:fsLogoGlowPulseFastV3 2.2s ease-in-out infinite;z-index:0;pointer-events:none;-webkit-mask:radial-gradient(100% 100% at 50% 50%,transparent 68%,black 69%);mask:radial-gradient(100% 100% at 50% 50%,transparent 68%,black 69%)}.fs-logo-mask img,.fs-logo-mask svg{opacity:0;display:block}.plan-features{list-style:none;margin:16px auto 22px;padding:0;display:grid;gap:10px;width:fit-content}.plan-features li{display:flex;align-items:center;gap:10px;color:rgba(235,240,255,.82);font-size:.95rem;white-space:nowrap}.plan-features li::before{content:"¹4";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;font-weight:700;font-size:12px;line-height:0}.plan-features.plan-blue li::before{background:rgba(37,99,235,.12);border:1px solid #2563eb;color:#60a5fa}.plan-features.plan-yellow li::before{background:rgba(202,138,4,.12);border:1px solid #f59e0b;color:#fbbf24}.plan-features.plan-red li::before{background:rgba(232,26,26,.12);border:1px solid #e81a1a;color:#f87171}.plan-features li.muted{opacity:.45}.plan-features li.muted::before{background:transparent;border:1px solid #3b3b44;color:#a09e9c}
.plans .plan-features{list-style:none;margin:14px 0 20px 0;padding:0}.plans .plan-features li{display:flex;align-items:center;gap:.6rem;margin:.5rem 0;color:#cdd0ce}.plans .plan-features li::before{content:"";width:16px;height:16px;flex:0 0 16px;background-color:var(--tick-color,#8ab4ff);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M9.173 16.727L4.8 12.354l1.414-1.414 2.959 2.959 8.485-8.485 1.414 1.414-9.899 9.899z"/></svg>') no-repeat center / contain;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M9.173 16.727L4.8 12.354l1.414-1.414 2.959 2.959 8.485-8.485 1.414 1.414-9.899 9.899z"/></svg>') no-repeat center / contain}.plans .plan-features.plan-blue{--tick-color:#3EA0FF}.plans .plan-features.plan-yellow{--tick-color:#FFC233}.plans .plan-features.plan-red{--tick-color:#ff3b30}.plans .plan-features li.muted{color:#726f6d;opacity:.9}.plans .plan-features li.muted::before{background-color:#726f6d}.plans article.plan>p{margin-bottom:10px}
.plans .plan-features{list-style:none;margin:8px auto 20px auto;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.plans .plan-features li{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:0.97rem}
.plans article.plan{display:flex;flex-direction:column;align-items:center;text-align:center}.plans article.plan h3{margin-bottom:14px}.plans article.plan .pill{margin-bottom:10px}.plans article.plan .price{margin:6px 0 10px 0}.plans article.plan>p{margin:8px 0;max-width:85%}.plans .plan-features{list-style:none;margin:6px 0 10px 0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.plans article.plan{display:flex;flex-direction:column;align-items:center;text-align:center}.plans article.plan h3{margin-bottom:10px}.plans article.plan .pill{margin-bottom:6px}.plans article.plan .price{margin:4px 0 6px 0}.plans article.plan>p{margin:6px 0;max-width:85%}.plans .plan-features{list-style:none;margin:4px 0 6px 0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.plans article.plan{display:flex;flex-direction:column;align-items:center;text-align:center}.plans article.plan .price{margin:10px 0 8px 0}.plans article.plan>p{margin:4px 0 6px 0;max-width:85%}.plans .plan-features{list-style:none;margin:6px 0 20px 0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.plans article.plan{display:flex;flex-direction:column;align-items:center;text-align:center}.plans article.plan .pill{margin-bottom:4px}.plans article.plan .price{margin:10px 0 14px 0}.plans article.plan>p{margin:6px 0 8px 0;max-width:85%}.plans .plan-features{list-style:none;margin:8px 0 22px 0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.plans article.plan{display:flex;flex-direction:column;align-items:center;text-align:center}.plans article.plan .price{margin:10px 0 14px 0}.plans article.plan>p{margin:6px 0 8px 0;max-width:85%}.plans .plan-features{list-style:none;margin:8px 0 22px 0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.plan .price{display:block;text-align:center;margin-top:8px;margin-bottom:16px}.plan p{margin-bottom:14px}.plan .plan-features{margin-top:0}.plan .plan-features li{margin:8px 0}
.plan .price{display:block;text-align:center;margin-top:8px;margin-bottom:8px}
.plan .price{display:block;text-align:center;margin-top:8px;margin-bottom:4px}
.plan .price{display:block;text-align:center;margin-top:14px;margin-bottom:14px}
.plan .plan-features li{margin-bottom:3px}.plan .plan-features li:last-child{margin-bottom:10px}.plan p{max-width:95%;margin-left:auto;margin-right:auto}
/* [compact-feature-ticks] */
.pricing-card .plan-features{margin-top:12px}.pricing-card .plan-features li{display:flex;align-items:flex-start;gap:10px;font-size:0.97rem;line-height:1.25;margin:6px 0}.pricing-card .plan-features li svg,.pricing-card .plan-features li .ok-icon{width:14px;height:14px;margin-top:1px}.pricing-card .plan-features + .card-actions{margin-top:22px}.pricing-card .plan-features li.is-muted{opacity:.55}
/* [fs-new-plan-checkboxes] */
.plans .features{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;margin:14px 0 20px 0;padding:0}.plans .features .li{display:flex;align-items:center;gap:10px;color:#a8a5a5;font-size:.95rem;line-height:1.25}.plans .features .li .ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--check-bg,#0f141b);border:1px solid #1b2230;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);margin-top:1px}.plans .features .li .ico svg{width:12px;height:12px;display:block}.plans .features .li.blue .ico svg{fill:#3EA0FF}.plans .features .li.yellow .ico svg{fill:#FFC233}.plans .features .li.red .ico svg{fill:#ff3b30}.plans .features .li.muted{opacity:.45;color:#a09e9c}.plans .features .li.muted .ico{background:#0a0e13;border-color:#151b26}.plans .features .li.muted .ico svg{fill:#64707d}
/* [fs-plan-separators-correct] */
:root{--sep-fade:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent)}.plans .feature-sep{height:1px;margin:10px 8px 14px;background:var(--sep-fade,linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent));background-image:var(--sep-fade);border-radius:999px}
/* [fs-plan-separators-strong] */
.plans .feature-sep{display:block;width:calc(100% - 16px)}
/* [fs-plan-spacing] */
.plans .features{margin-bottom:28px}
/* [fs-feature-hover-zoom] */
.plans .features .li{transition:none;transform-origin:left center;cursor:default}.plans .features .li .ico{transition:none}.plans .features .li:hover{transform:none}.plans .features .li:hover .ico{transform:none}
/* [fs-feature-cursor-pointer] */
.plans .features .li{cursor:default}
/* [fs-button-height-lock] */
@media (max-width:1365.98px) and (min-width:1001px){.plans-grid .plan .plan-actions .btn,.plans-grid .plan .btn.btn-dark,.plans-grid .plan a.btn.btn-dark,.plans-grid .plan .btn.btn-primary,.plans-grid .plan a.btn.btn-primary{height:42px;line-height:42px;padding-top:0;padding-bottom:0}.plans-grid .plan .plan-actions .or{height:42px}}
/* [fs-button-height-lock-desktop] */
@media (min-width:1366px){.plans-grid .plan .plan-actions .btn,.plans-grid .plan .btn.btn-dark,.plans-grid .plan a.btn.btn-dark,.plans-grid .plan .btn.btn-primary,.plans-grid .plan a.btn.btn-primary{height:42px;line-height:42px;padding-top:0;padding-bottom:0}}
/* [fs-button-mobile-resize] */
@media (max-width:600px){.plans-grid .plan .plan-actions .btn,.plans-grid .plan .btn.btn-dark,.plans-grid .plan a.btn.btn-dark,.plans-grid .plan .btn.btn-primary,.plans-grid .plan a.btn.btn-primary{height:38px;line-height:38px;font-size:13px;padding:0 14px}.plans-grid .plan .plan-actions .or{height:38px}}
button,a.btn,.plan-actions a,.actions a,.cta a,.faq-question,.faq-toggle,[data-faq],[data-href],[data-faq] *,a[data-href],button *,a.btn *,.chip,.login,.schedule-btn,.to-top{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}
#faq .fs-faq__q,#faq .fs-faq__a,#faq .fs-faq__item,#faq .fs-faq__item *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#faq .fs-faq__q,#faq .fs-faq__chev{cursor:pointer}
.fs-plan-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999}.fs-plan-modal[aria-hidden="false"]{display:flex}.fs-plan-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(6px);opacity:0;transition:opacity .38s cubic-bezier(.22,.61,.36,1)}.fs-plan-modal__dialog{position:relative;max-width:620px;width:88vw;max-height:86vh;overflow:auto;background:#0a0a0e;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);padding:18px 18px 16px;color:#e8e4e4;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .38s cubic-bezier(.22,.61,.36,1),transform .38s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}.fs-plan-modal.show .fs-plan-modal__backdrop{opacity:1}.fs-plan-modal.show .fs-plan-modal__dialog{opacity:1;transform:none}.fs-plan-modal.closing .fs-plan-modal__backdrop{opacity:0}.fs-plan-modal.closing .fs-plan-modal__dialog{opacity:0;transform:translateY(12px) scale(.985)}.fs-plan-modal__x{position:absolute;right:12px;top:10px;border:0;background:#2a2a2f;color:#d8d5d3;width:30px;height:30px;border-radius:999px;cursor:pointer}.fs-plan-modal__x:hover{filter:brightness(1.12)}.fs-plan-modal__title{font-size:22px;line-height:1.25;margin:0 34px 12px 0;letter-spacing:.2px}.fs-plan-modal__hero{border-radius:12px;overflow:hidden;margin:0 0 12px;border:1px solid rgba(255,255,255,.06)}.fs-plan-modal__hero img{display:block;width:100%;height:auto}.fs-accordion__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.08);background:#19191d;color:#e5e2e2;border-radius:12px;padding:10px 12px;cursor:pointer;margin:0 0 8px;user-select:none;-webkit-tap-highlight-color:transparent;transition:filter .15s ease}.fs-accordion__toggle:hover{filter:brightness(1.06)}.fs-accordion__toggle:active{transform:none;box-shadow:none;filter:brightness(1.02)}.fs-accordion__badge{background:#0f0f12;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:3px 7px;font-size:12px;opacity:.9}.fs-accordion__chev{transition:transform .18s ease}.fs-accordion__toggle[aria-expanded="true"] .fs-accordion__chev{transform:rotate(180deg)}.fs-accordion__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.22,.61,.36,1)}.fs-accordion__panel.open{grid-template-rows:1fr}.fs-accordion__inner{min-height:0;overflow:hidden}.fs-accordion__panel.open{padding:12px 12px 12px;opacity:1}.fs-benefits{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.fs-benefits li{display:flex;align-items:center;gap:8px;font-size:14px;color:#dbd8d5}.fs-benefits li:before{content:"✓";display:inline-block;font-size:15px;font-weight:700;color:#19d47b}.fs-benefits--secondary li:before{content:"✓";color:#ffffff}.fs-sep{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);margin:8px 0}.fs-suitability{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#42310d,#2b1f08),radial-gradient(55% 120% at 50% 0%,rgba(255,230,150,.35),rgba(0,0,0,0) 60%);color:#f8f3cf;position:relative;overflow:hidden;font-weight:600;font-size:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -6px 12px rgba(0,0,0,.4),0 6px 24px rgba(0,0,0,.35)}.fs-suitability:after{content:"";position:absolute;top:-50%;left:-30%;width:40%;height:200%;background:linear-gradient(90deg,rgba(255,255,255,.0) 0,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 100%);transform:rotate(20deg);animation:fsShine 2.8s linear infinite}@keyframes fsShine{0%{left:-40%}100%{left:120%}}.fs-plan-desc{margin:8px 0 12px;line-height:1.55color:#c9c6c4;font-size:16px}.fs-plan-modal__close-btn{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 14px;background:linear-gradient(180deg,#d7d7dc,#cfcfe0);color:#0e0e12;font-weight:700;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.6)}.fs-plan-modal__close-btn:hover{filter:brightness(1.05)}.fs-plan-modal__meta{display:flex;justify-content:flex-start;margin:6px 0 4px}
/* [fs-accordion-faq-clone-scoped] */
#fs-plan-modal .fs-accordion{display:grid;grid-template-rows:auto 0fr;transition:grid-template-rows .32s cubic-bezier(.22,.61,.36,1);overflow:hidden}#fs-plan-modal .fs-accordion.open{grid-template-rows:auto 1fr}#fs-plan-modal .fs-accordion__panel{overflow:hidden}#fs-plan-modal .fs-accordion__panel>*{min-height:0;overflow:hidden}#fs-plan-modal .fs-accordion__toggle .chev{transition:transform .32s ease}#fs-plan-modal .fs-accordion.open .fs-accordion__toggle .chev{transform:rotate(90deg)}
/* [fs-accordion-visual-containment] */
#fs-plan-modal .fs-accordion{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03);overflow:hidden}#fs-plan-modal .fs-accordion__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:transparent;border:0;color:inherit;border-radius:12px}#fs-plan-modal .fs-accordion.open .fs-accordion__panel{border-top:1px solid rgba(255,255,255,.06)}#fs-plan-modal .fs-accordion__panel{padding:12px 14px 10px;overflow:hidden}#fs-plan-modal .fs-plan-modal__dialog,#fs-plan-modal .fs-plan-modal__content{overflow-y:auto;scrollbar-gutter:stable both-edges}
.fs-accordion__panel.open{background:#0a0a0e;border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:12px 12px 12px;box-shadow:var(--shadow)}.fs-accordion__panel .fs-accordion__inner{min-height:0;overflow:hidden}
.fs-accordion__toggle{background:#19191d;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;box-shadow:0 6px 24px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.03)}.fs-accordion__toggle:hover{filter:none;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 8px 26px rgba(0,0,0,.45)}.fs-accordion__toggle:active{transform:translateY(1px) scale(0.995);box-shadow:0 4px 18px rgba(0,0,0,.40)}.fs-accordion__toggle:focus-visible{outline:2px solid rgba(59,130,246,.9);outline-offset:2px}
.fs-plan-modal__title{text-align:center}.fs-accordion__toggle{position:relative;display:flex;align-items:center;justify-content:flex-end;background:#0f1215;border:1px solid rgba(255,255,255,.10);color:#dddbd9;border-radius:12px;padding:10px 12px;box-shadow:0 6px 24px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.03)}.fs-accordion__toggle:hover{filter:none;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 8px 26px rgba(0,0,0,.45)}.fs-accordion__toggle:active{transform:translateY(1px) scale(0.995)}.fs-accordion__center{position:absolute;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;pointer-events:none}.fs-accordion__label{font-weight:600;letter-spacing:.2px}.fs-accordion__chev{margin-left:6px;opacity:.9}.fs-accordion__badge{background:#0a0a0e;border:1px solid rgba(255,255,255,.16);color:#dddbd9;border-radius:999px;padding:3px 7px;font-size:12px;opacity:.95}.fs-accordion__panel.open{background:#0a0a0e;border:1px solid rgba(255,255,255,.12);border-radius:12px}.fs-plan-modal__meta{margin-top:8px}.fs-plan-modal__meta .fs-suitability{margin-top:-2px;position:relative;top:-2px}.fs-sep{background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.fs-accordion__chev{position:absolute;right:16px;transform-origin:center;font-size:18px;opacity:0.9;transition:transform .18s ease}.fs-accordion__toggle[aria-expanded="true"] .fs-accordion__chev{transform:rotate(180deg)}.fs-accordion__panel{margin-top:0}.fs-accordion__panel:not(.open){margin-bottom:0}.fs-accordion__panel.open{margin-bottom:12px}.fs-plan-modal__meta{margin-top:4px;margin-bottom:4px}.fs-plan-modal__meta .fs-suitability{position:relative;top:-6px}.fs-plan-desc,.fs-plan-modal__dialog p.fs-plan-desc,.fs-plan-modal__dialog p:not(.fs-plan-modal__meta):not(.fs-plan-title){font-size:17px;color:#d5d2d0;line-height:1.6}
.fs-accordion__chev{position:absolute;right:18px;transform-origin:center;font-size:22px;opacity:0.95;transition:transform .18s ease}.fs-plan-modal__meta{margin-top:8px;margin-bottom:8px}.fs-accordion__panel{margin-bottom:0}.fs-plan-modal__meta .fs-suitability{position:relative;top:0;transform:none;font-size:17px;padding:10px 22px;border-radius:24px}
.fs-accordion__panel,.fs-accordion__panel.open{margin-bottom:16px}.fs-accordion__toggle{min-height:48px;padding:12px 16px;font-size:15px}.fs-accordion__chev{position:absolute;right:18px;font-size:26px;opacity:0.95;transition:transform 0.2s ease}.fs-accordion__toggle[aria-expanded="true"] .fs-accordion__chev{transform:rotate(180deg)}.fs-plan-modal__meta{margin-top:0;margin-bottom:8px}.fs-plan-modal__meta .fs-suitability{top:0;font-size:15px;padding:10px 22px;border-radius:24px}
.fs-sep{margin:10px 0 12px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}.fs-plan-desc,.fs-plan-modal__dialog p.fs-plan-desc,.fs-plan-modal__dialog p:not(.fs-plan-modal__meta):not(.fs-plan-title){font-size:15px;color:#d4d1cf;line-height:1.55}.fs-plan-modal__meta{margin-top:8px;margin-bottom:8px}.fs-accordion__panel{margin-bottom:12px}.fs-accordion__panel[hidden]{margin-bottom:4px}
.fs-plan-modal__meta{margin-top:6px;margin-bottom:6px}
.fs-new-actions{display:flex;align-items:center;gap:14px}.fs-new-actions .fs-price{margin-top:3px;line-height:1}.fs-new-actions .fs-suitability{margin-top:4px}.fs-price.fs-metallic,.fs-metallic .fs-price,.fs-price-shine-text{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fs-new-accordion.is-open .fs-new-panel{padding-bottom:5px}.fs-benefits-header{position:relative;top:2.5px}
.fs-new-accordion.is-open .fs-new-panel .fs-new-sep{transform:translateY(-3px)}.fs-new-accordion.is-open .fs-new-panel .fs-benefit.sec{transform:translateY(-3px)}
.fs-new-accordion.is-open .fs-new-panel .fs-benefit.sec{transform:translateY(-6px)}
.fs-benefit::before,.fs-benefits li::before{content:"✓";color:#19d47b;font-size:15px;font-weight:700;border:none;background:none;display:inline-block;width:auto;height:auto;margin-right:6px;position:relative;top:-0.5px}
.fs-benefit,.fs-benefits li{padding-left:5px}
.fs-benefit,.fs-benefits li{padding-left:8px}
.fs-benefit::before,.fs-benefits li::before{margin-right:3px}
.fs-benefit,.fs-benefits li{padding-left:6px}
.fs-benefit.sec::before{content:"✓";color:#ffffff}
.price-tag,.price,.plan-price{position:relative;left:-3px}
.fs-new-actions .fs-new-price{position:relative;left:-3px}.fs-new-actions .fs-price{position:relative;left:-3px}
.fs-new-actions .fs-new-price{position:absolute;top:22px;left:33px}
.fs-new-actions .fs-new-price{position:relative;left:-3px;top:0;transform:none}
.fs-new-accordion button,.fs-new-accordion [role="button"]{transition:none;transform:none;box-shadow:none;outline:none;background:none}.fs-new-accordion button:active,.fs-new-accordion [role="button"]:active{transform:none;box-shadow:none}.fs-new-accordion button:focus-visible{outline:none}
.fs-new-accordion button::after,.fs-new-accordion [role="button"]::after{transform:scale(1.6);right:14px}
.fs-new-chevron{font-size:18px;line-height:1;display:inline-block}
.fs-new-chevron{width:14px;height:14px;display:inline-block;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform 0.2s ease;margin-right:6px;vertical-align:middle}.fs-new-accordion[open] .fs-new-chevron{transform:rotate(-135deg)}
.fs-new-accordion button::after,.fs-new-accordion [role="button"]::after{content:none}.fs-new-chevron{width:14px;height:14px;display:inline-block;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform 0.2s ease;margin-right:6px;vertical-align:middle;font-size:0;color:transparent;background:transparent}.fs-new-accordion.is-open .fs-new-chevron{transform:rotate(-135deg)}
.fs-new-chevron{width:10px;height:10px;display:inline-block;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);transition:transform 0.2s ease;margin-right:8px;vertical-align:middle;position:relative;top:1px}.fs-new-accordion.is-open .fs-new-chevron{transform:rotate(45deg)}
.fs-new-accordion button,.fs-new-accordion [role="button"]{display:flex;align-items:center}.fs-new-accordion .fs-new-badge,.fs-new-accordion .fs-new-count,.fs-new-accordion .fs-new-label,.fs-new-accordion .fs-new-title{align-self:center}
.fs-new-accordion .fs-new-badge,.fs-new-accordion .fs-new-count,.fs-new-accordion .fs-new-label,.fs-new-accordion .fs-new-title{position:relative;top:1px}
.fs-new-accordion button>:not(.fs-new-chevron),.fs-new-accordion [role="button"]>:not(.fs-new-chevron){position:relative;top:1px}
.fs-new-chevron{top:0;transform-origin:50% 50%;transform:translateY(1px) rotate(-45deg)}.fs-new-accordion.is-open .fs-new-chevron{transform:translateY(1px) rotate(180deg)}
.fs-new-chevron{width:10px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;display:inline-block;transform:rotate(-45deg);transform-origin:center;transition:transform 0.2s ease,top 0.2s ease;position:relative;top:1px}.fs-new-accordion.is-open .fs-new-chevron{transform:rotate(180deg);top:0}
.fs-new-accordion.is-open .fs-new-chevron{transform:rotate(180deg);top:0}
.fs-new-accordion.is-open .fs-new-chevron{transform:rotate(180deg);top:0}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#cdd0ce;border:1px solid #1f242a;padding:6px 10px;border-radius:999px;background:#0f1317}.plan p{color:#c9c6c4;margin:26px 0 14px;text-align:center}.price .amount{font-size:28px;font-weight:900;line-height:1}.price .ccy{font-size:12px;font-weight:400;color:#a0a09e;letter-spacing:0.07em;position:relative;top:-1px}.modal-foot{margin-top:8px;color:#a8a5a5}#site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}#site-footer .footer-brand{display:flex;align-items:center;gap:12px;color:#e4e1e1;font-weight:700;letter-spacing:.02em}#site-footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;color:#cccac8;border:1px solid #2a2f3a;margin-left:10px;opacity:.9;transition:all .2s}#site-footer .footer-social a:hover{opacity:1;transform:translateY(-2px);color:#fff;border-color:#3a4352}#site-footer .footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:18px 0 22px}#site-footer .footer-col{min-width:180px}#site-footer .col-title{font-size:12px;letter-spacing:.25em;color:#a0a09e;margin-bottom:12px}#site-footer .footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}#site-footer .footer-col a{color:#cccac8;text-decoration:none;opacity:.85}#site-footer .footer-col a:hover{opacity:1;text-decoration:underline}#site-footer .footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;padding-top:16px;border-top:1px solid #22272f;color:#a0a09e;font-size:14px}#site-footer .to-top{color:#cccac8;text-decoration:none;font-weight:700;letter-spacing:.12em}#site-footer .to-top:hover{text-decoration:underline}@media (max-width:900px){#site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}#site-footer .footer-bottom{flex-direction:column;gap:10px;align-items:flex-start}#site-footer .footer-top{flex-direction:column;gap:12px;align-items:flex-start}}#site-footer .footer-logo-link img{width:36px;height:36px;display:inline-block;object-fit:contain;border-radius:8px;border:1px solid #2a2f3a;background:#0f1216}#site-footer .footer-logo-link:hover img{filter:brightness(1.08)}header{position:fixed;top:0;left:-1px;right:0;z-index:300;height:var(--header-h);padding-top:max(0px,env(safe-area-inset-top));background:rgba(9,12,15,0.92);backdrop-filter:blur(8px);border-bottom:1px solid #1f2630}@media (max-width:1000px){header{position:fixed;top:0;left:-1px;right:0;z-index:300;background:rgba(9,12,15,0.92);backdrop-filter:blur(8px);border-bottom:1px solid #1f2630;padding:10px 0}}#coupon-modal .modal-card{max-width:420px;text-align:center}.plans-grid .plan-features::before{content:"";position:absolute;top:0;left:-1px;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.13),rgba(255,255,255,0))}
.plan .pill{display:inline-flex;align-items:center;gap:20px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:3px}
.plan .pill{display:inline-flex;align-items:center;gap:19px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:4px}
.plan .pill{display:inline-flex;align-items:center;gap:17px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:4px}
.plan .pill{display:inline-flex;align-items:center;gap:14px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:4px}
.plan .pill{display:inline-flex;align-items:center;gap:11px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}
.plan .pill{display:inline-flex;align-items:center;gap:11px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:7px}
.plan .pill{display:inline-flex;align-items:center;gap:9px;padding-right:12px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:6px}
.plan .pill{display:inline-flex;align-items:center;gap:9px;padding-right:16px;padding-left:9px;margin-left:auto;margin-right:auto}.plan .pill .dot{margin-left:6px}
.plan .pill{display:inline-flex;align-items:center;gap:9px;padding-right:16px;padding-left:9px;padding-top:6px;padding-bottom:6px;margin-left:auto;margin-right:auto}
.plan .pill{display:inline-flex;align-items:center;gap:9px;padding-right:16px;padding-left:9px;padding-top:8px;padding-bottom:8px;min-height:28px;line-height:1;margin-left:auto;margin-right:auto}
.plan .pill{display:inline-flex;align-items:center;gap:9px;padding-right:16px;padding-left:9px;padding-top:10px;padding-bottom:10px;min-height:34px;border-radius:9999px;line-height:1.2;margin-left:auto;margin-right:auto}
.plan .pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;min-height:34px;border-radius:9999px;line-height:1;margin:0 auto}.plan .pill .dot{width:8px;height:8px;background-color:#22c55e;border-radius:50%;margin-left:6px;position:relative;top:0.5px}.plan .pill span,.plan .pill div,.plan .pill p{position:relative;top:1px}
.plan .pill{display:inline-flex;align-items:center;justify-content:center;gap:9px}.plan .pill .dot{width:8px;height:8px;background:#22c55e;border-radius:50%;margin-left:6px}.plan .pill .pill-text{position:relative;top:1px}
.plan .pill{margin-top:12px}.plan .price{margin-top:4px;margin-bottom:16px}.plan p{margin-top:8px}
.plan h4{margin-bottom:24px}.plan .pill{margin-top:0;margin-bottom:16px;position:relative;top:6px}.plan .price{margin-top:0}
.plan{position:relative}.plan h4{margin-bottom:0}.plan .pill{position:relative;top:-6px;margin-top:8px;margin-bottom:16px;font-size:13px}.plan .price{margin-top:4px}
.plan .pill{position:relative;top: -1px;margin-top:8px;margin-bottom:16px}
.plan .pill{position:relative;top: -1px;margin-top:8px;margin-bottom:16px}.plan .price{position:relative;top:-5px}
.plan .pill{position:relative;top:-2px;margin-top:8px;margin-bottom:16px}.plan .price,.plan .price ~ *{position:relative;top:-5px}
.plan .pill{position:relative;top:-2px;margin-top:16px;margin-bottom:16px}.plan .price,.plan .price ~ *{position:relative;top:-9px}
.plan .pill{position:relative;top:-2px;margin-top:16px;margin-bottom:2px;font-size:13px}.plan .pill .pill-text{font-size:13.5px}.plan .price,.plan .price ~ *{position:relative;top:-11px;text-align:center;margin-left:auto;margin-right:auto;display:block}
.plan li{display:flex;align-items:center;gap:6px}
.plan ul li{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.plan .features .li{display:flex;align-items:center;gap:6px;margin-bottom:6px}.plan .features .li .ico{display:inline-flex;margin-right:6px}
.plan .features .li{display:flex;align-items:center;gap:10px;margin-bottom:10px}.plan .features .li .ico{display:inline-flex;margin-right:10px}
.plan .features .li{display:flex;align-items:center;gap:6px;margin-bottom:10px}.plan .features .li .ico{margin-right:6px}
.plan .price{display:flex;justify-content:center;align-items:baseline;text-align:center;width:100%;margin-left:auto;margin-right:auto}
/* [fs-hw-card-pointer] */
.hw-card{cursor:pointer}
.btn-primary.btn-glow::after{background:#b41216}
/* [plan-cta-responsive-fix] */
@media (min-width:601px) and (max-width:660px){.plan .plan-actions,.plans-grid .plan .plan-actions{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:nowrap}.plan .plan-actions .btn{padding:12px 20px;min-width:200px;font-size:17px;line-height:1.1;white-space:nowrap}.plan .plan-actions .or{margin:0 6px;white-space:nowrap}}@media (min-width:661px) and (max-width:1000px){.plan .plan-actions,.plans-grid .plan .plan-actions{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:nowrap}.plan .plan-actions .btn{padding:12px 24px;min-width:240px;font-size:16px;white-space:nowrap}.plan .plan-actions .or{margin:0 8px;white-space:nowrap}}@media (max-width:600px){.plan .plan-actions,.plans-grid .plan .plan-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.plan .plan-actions .btn{flex:0 1 auto;min-width:46%;padding:14px 18px;min-height:48px;font-size:16px;border-radius:14px;white-space:nowrap}.plan .plan-actions .or{display:inline-block;margin:0 6px;white-space:nowrap}}
/* [lucide-benefits-reset] */
svg[data-lucide]{stroke:#9d0f18;fill:none;stroke-width:2;filter:none}.benefit-card svg[data-lucide],.feature-card svg[data-lucide],.benefits-grid svg[data-lucide]{width:40px;height:40px}svg[data-lucide] *{fill:none;stroke:currentColor}.benefit-card .benefit-icon::before,.benefit-card .benefit-icon::after,.feature-card .feature-icon::before,.feature-card .feature-icon::after{box-shadow:none;filter:none}

/* [lucide-hw-icon-style] */
.hw-card .hw-icon i,.hw-card .hw-icon svg{width:31.5px;height:31.5px;display:inline-block}.hw-card .hw-icon svg{filter:drop-shadow(0 0 10px rgba(157,15,24,.25))}.hw-card .hw-icon svg path,.hw-card .hw-icon svg circle,.hw-card .hw-icon svg rect,.hw-card .hw-icon svg line,.hw-card .hw-icon svg polyline,.hw-card .hw-icon svg polygon{fill:none;stroke:#9d0f18;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* [hw-to-plans-gap-align] */
.section.hardware-opt{padding-bottom:24px}section.plans{padding-top:38px}section.plans .h2{margin-bottom:8px}
/* [sync-to-booknow-red] */
:root{--booknow:#e0171c;--booknow-dark:#b11217}.hw-card .hw-icon{background:radial-gradient(100% 100% at 50% 0%,rgba(213,21,26,.25),rgba(213,21,26,.05));border:1px solid rgba(234,41,49,.35);box-shadow:0 8px 24px rgba(234,41,49,.18) inset,0 6px 18px rgba(0,0,0,.35)}.hw-card .hw-icon svg{fill:var(--booknow);filter:drop-shadow(0 0 10px rgba(234,41,49,.35))}#benchmarks .bar.after{background:linear-gradient(90deg,rgba(213,21,26,.85),rgba(234,41,49,.35))}#benchmarks .gain{background:rgba(234,41,49,.14);border-color:rgba(234,41,49,.35)}#benchmarks .legend .dot.after{background:var(--booknow);box-shadow:0 0 0 3px rgba(234,41,49,.18)}.bench-bottom .bench-btn:active{box-shadow:0 0 0 4px rgba(213,21,26,.25)}
/* [mobile-enhancements-v1] */
@media (max-width:700px){.plan .plan-actions{flex-wrap:nowrap;justify-content:space-between}.plan .plan-actions .btn,.plan .plan-actions .btn-primary{flex:1 1 0;min-width:0}.plan .plan-actions .or{display:none}}@media (max-width:565px){.fs-new-modal .fs-new-actions{flex-direction:column;align-items:stretch;gap:14px}.fs-new-modal .fs-new-actions .fs-new-price{position:static;order:-1;align-self:center;margin-bottom:4px}.fs-new-modal .fs-new-actions .fs-right{order:2}}@media (max-width:600px){.centered.mt-16 a.btn[data-href="#faq"]{padding:10px 18px;font-size:14px}}@media (max-width:600px){.cta-actions .input{text-align:center}.cta-actions .btn{margin-top:8px;padding:10px 20px;font-size:14px}}#site-footer .footer-bottom{padding-top:20px;padding-bottom:20px}#site-footer .to-top{display:inline-flex;align-items:center}@media (max-width:900px){#site-footer .to-top{display:none}}
@media (max-width:565px){.fs-right{align-items:center}.fs-right .fs-new-price,.fs-right .fs-new-pill{margin-top:-2px}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-right{transform:translateY(-60px)}.fs-right .fs-new-price,.fs-right .fs-new-pill{margin-top:-6px}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-right{transform:translateY(-30px)}.fs-right .fs-new-price,.fs-right .fs-new-pill{margin-top:0}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-right{transform:translateY(-43px)}}
@media (max-width:565px){.fs-new-modal__x{padding:8px 16px;min-width:70px;text-align:center}}
@media (max-width:565px){.fs-new-actions>.fs-new-cta.fs-new-cta--danger[data-close]{padding:8px 18px;min-width:80px;text-align:center}}
@media (max-width:565px){.fs-new-actions .fs-new-cta.fs-new-cta--danger[data-close]{margin-left:16px;min-width:110px;padding:10px 22px;text-align:center}}
/* [footer-center-mobile-only] */
@media (max-width:600px){#site-footer .footer-top{justify-content:center;gap:16px}#site-footer .footer-brand{display:inline-flex;align-items:center;justify-content:center;text-align:center;margin:0 auto}#site-footer .footer-social{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0 auto}#site-footer .footer-social a{margin-left:0}}
@media (max-width:900px){#site-footer .footer-top{flex-direction:column;align-items:center;text-align:center;gap:12px}#site-footer .footer-brand{justify-content:center}#site-footer .footer-social{display:flex;justify-content:center;gap:12px;margin-top:8px}#site-footer .footer-social a{margin-left:0}#site-footer .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:10px}}
/* [fs-footer-mobile-bottom-space] */
@media (max-width:900px){#site-footer{padding-bottom:28px}}
/* [fs-footer-mobile-bottom-space-strong] */
@media (max-width:900px){#site-footer,footer.site-footer,footer[data-role="site-footer"],.site-footer,.footer{padding-bottom:64px}#site-footer .footer-bottom,.site-footer .footer-bottom{padding-bottom:16px}}
/* [pro-performance-responsive] */
@media (max-width:450px){.pro-performance-title{font-size:clamp(34px,calc(16.9vw - 20px),56px);line-height:1.05;letter-spacing:-0.02em;word-break:break-word}}
@media (max-width:1000px){.hero,.fs-hero,.section-hero,.landing-hero,.home-hero,.pro-hero,.hero-wrap,.hero__inner,.hero-inner,.hero-content{margin-top:45px}}
@media(max-width:1000px){.trusted-inline{margin-top:9px;display:block}}
.lead{font-size:17px;max-width:90%}
@media (max-width:552px){.pro-performance-title{font-size:48px}.hero .eyebrow{font-size: 11.5px}}
@media (max-width:534px){.reviews .marquee .card .text{font-size:14px;line-height:1.4;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;overflow:visible;min-height:0}}
@media (max-width:450px){#fs-preloader .fs-pre-text-metal{font-size:clamp(9px,2.8vw,11px);white-space:nowrap;overflow:visible;text-overflow:clip;display:inline-block}}
.fs-faq__a{font-size:0.97rem}
#bookwin-button{position:fixed;left:-1px;top:50%;transform:translate(0,-50%);z-index:120;background:#9d0f18;color:#f9fafb;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border:none;padding:14px 9px;padding-left:8px;border-radius:0 10px 10px 0;writing-mode:vertical-rl;text-orientation:upright;cursor:pointer;font-size:11px;transition:transform .4s ease,opacity .3s ease,box-shadow .6s ease,background-color .2s ease;animation:bookwinGlow 4s ease-in-out infinite}#bookwin-button span{position:relative;left:-1px}#bookwin-button:hover{background:#aa111b}body.bookwin-modal-open #bookwin-button{transform:translate(-130%,-50%);opacity:0;pointer-events:none}@keyframes bookwinGlow{0%,50%{box-shadow:0 0 18px rgba(157,15,24,.45)}70%{box-shadow:0 0 26px rgba(157,15,24,.75)}100%{box-shadow:0 0 18px rgba(157,15,24,.45)}}@media (max-width:768px){#bookwin-button{padding:10px 7px;font-size:10px}}#bookwin-modal .modal-card{max-width:520px;text-align:center;position:relative}#bookwin-modal img{max-width:100%;height:auto;border-radius:12px;margin:24px 0 14px;display:block}#bookwin-modal .modal-close-x{position:absolute;top:23px;right:24px;border:0;background:transparent;color:#a09e9c;font-size:24px;cursor:pointer}#bookwin-modal .modal-close-x:hover{color:#ffffff}#bookwin-modal p{margin:6px 0}#bookwin-modal .bookwin-main{font-size:0.91rem;color:#a09e9c;line-height:1.6}#bookwin-modal .bookwin-terms{margin:0;font-size:13px;color:#a09e9c}#bookwin-modal .bookwin-terms a{color:#a09e9c;text-decoration:none;display:inline-flex;align-items:center;gap:4px}#bookwin-modal .bookwin-terms a svg{position:relative;top:2px}#bookwin-modal .bookwin-prize{margin:12px 0 4px;font-size:26px;font-weight:800;line-height:1.15}#bookwin-modal .bookwin-prize .fs-price-shine-text{display:inline-block;background-image:repeating-linear-gradient( 120deg,#f97316 0px,#f97316 60px,#fbbf24 110px,#f97316 160px,#f97316 220px );background-size:220px 100%;background-repeat:repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bookwinPrizeShine 3.5s linear infinite}@keyframes bookwinPrizeShine{0%{background-position:0px 50%}100%{background-position:220px 50%}}#bookwin-modal .bookwin-sub{font-size:13px;color:#e4e1e1}#bookwin-modal .bookwin-winner-label{margin-top:18px;font-size:13px;color:#facc15;font-weight:600}#bookwin-modal .bookwin-winner{font-size:13px;color:#e4e1e1}
/* [btn-metal-light-styles] */
.btn-metal-light{position:relative;background:#e5e7f1;border-color:rgba(255,255,255,0.45);color:#141824;overflow:hidden}.btn-metal-light::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,0.9),rgba(184,192,210,0.35) 35%%,rgba(255,255,255,0.85) 55%%,rgba(172,180,196,0.25) 80%%);opacity:.9;pointer-events:none}.btn-metal-light::after{content:'';position:absolute;inset:2px;border-radius:inherit;background:radial-gradient(circle at 50%% 0%%,rgba(255,255,255,0.9),transparent 58%%),linear-gradient(180deg,#f5f7ff,#d1d5e6);box-shadow:0 0 18px rgba(0,0,0,0.65);z-index:-1}.btn-metal-light:hover{transform:translateY(-1px)}
/* [mobile-tap-highlight-remove] */
*{-webkit-tap-highlight-color:transparent}a:focus,button:focus{outline:none}
@media (max-width:1000px) and (hover:none) and (pointer:coarse){body:not(.fab-open) #fab-menu:hover .fab-logo{filter:none}}
@media (min-width:536px){.marquee .card .text{font-size:15px}}
.steps .step p.muted{font-size:15px}
@media (max-width:535px){.calendly-overlay .calendly-popup-content iframe{margin-left:auto;margin-right:auto;width:min(510px,calc(100vw - 32px))}}
@media (max-width:1000px){body:not(.fab-open) #fab-menu .fab-logo{filter:none;animation:none}}
#site-footer{position:relative;z-index:1}.modal,#drawer-backdrop,#mobile-drawer,#mobile-overlay{z-index:500}
/* [fs-mobile-header-restore] */
@media (max-width:1000px){:root{--header-h:76px}header{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--header-h);padding-top:max(0px,env(safe-area-inset-top));background:rgba(9,12,15,0.92);backdrop-filter:blur(8px);border-bottom:1px solid #1f2630}body{padding-top:calc(var(--header-h) + max(0px,env(safe-area-inset-top)))}#fab-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #313845;background:radial-gradient(100% 100% at 50% 20%,rgba(255,255,255,.10),rgba(0,0,0,.85));box-shadow:0 8px 22px rgba(0,0,0,.45);overflow:visible}#fab-menu .fab-logo{width:72%;height:72%;object-fit:contain;transition:filter .3s ease,transform .2s ease;filter:none}#fab-menu:hover .fab-logo{filter:brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(4582%) hue-rotate(-8deg) brightness(96%) contrast(104%) drop-shadow(0 0 10px rgba(255,51,51,.55)) drop-shadow(0 0 18px rgba(255,51,51,.35))}#fab-menu:active .fab-logo{transform:scale(.97)}}.mobile-slogan{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:none;pointer-events:none;z-index:201}.mobile-slogan .ms-row{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;justify-content:center;gap:min(9vw,60px);white-space:nowrap;font-weight:600;letter-spacing:.18em;font-size:12px;text-transform:uppercase}.mobile-slogan .base .label{background:linear-gradient(180deg,#e8edf3 0%,#b5bdc7 48%,#ffffff 60%,#a4adb8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.94;text-shadow:0 2px 10px rgba(0,0,0,.42)}.mobile-slogan .gap{width:min(14vw,86px)}.mobile-slogan .overlay{mix-blend-mode:screen}.mobile-slogan .overlay .label{color:transparent;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.0) 42%,rgba(255,255,255,.96) 50%,rgba(255,255,255,.0) 58%,rgba(255,255,255,0) 100%);-webkit-background-clip:text;background-clip:text;background-size:220% 100%;background-position:var(--pos,-120%) 0;will-change:background-position}@keyframes msSweep{from{--pos:-120%}to{--pos:120%}}.mobile-slogan .overlay{animation:msSweep 2s linear infinite}@media (max-width:1000px){.mobile-slogan{display:block}}@media (min-width:1001px){.mobile-slogan{display:none}}
/* [fs-games-cursor-sync] */
#games #games-wrap,#games #games-wrap *{cursor:grab;user-select:none;-webkit-user-select:none;-ms-user-select:none}#games #games-wrap.dragging,#games #games-wrap.dragging *{cursor:grabbing}
/* [fs-faq-pager-style] */
/* FAQ pager (scoped to #faq) */
#faq .fs-faq__pager{position:relative;overflow:visible}
#faq .fs-faq__viewport{overflow:hidden}
#faq .fs-faq__track{display:flex;gap:80px;will-change:transform;transition:transform .32s ease}
#faq .fs-faq__slide{flex:0 0 100%;box-sizing:border-box;padding-left:0;padding-right:0;padding:0 8px;}
#faq .fs-faq__pager{display:flex;flex-direction:column;}
.fs-faq__viewport{order:1;}
.fs-faq__nav{order:2;position:relative;right:auto;top:auto;margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:14px;z-index:30;pointer-events:auto;transform:translateZ(0);-webkit-font-smoothing:antialiased}
#faq .fs-faq__page-indicator{font-size:14px;font-weight:600;color:rgba(235,230,230,.85);letter-spacing:.02em;min-width:56px;text-align:center}
#faq .fs-faq__arrow{
  width:38px;height:38px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:#0A0A0E;
  color:#e4e0e0;display:grid;place-items:center;
  cursor:pointer;user-select:none;-webkit-user-select:none;
  backdrop-filter:blur(6px) saturate(120%);
  -webkit-backdrop-filter:blur(6px) saturate(120%);
  box-shadow:0 10px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}
#faq .fs-faq__arrow[disabled]{opacity:.35;cursor:default;box-shadow:none}
#faq .fs-faq__arrow span{font-size:20px;line-height:1;transform:translateY(-1px)}

/* removed: duplicate FAQ slide transition override */

#faq .fs-faq__list{width:100%}
/* [fs-discount-style] */
/* Discount prices (old red strike above, without changing existing price sizing) */
.fs-price-wrap{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;margin-top:10px}
.fs-price-old{color:var(--red);text-decoration:line-through;text-decoration-thickness:2px;font-weight:900;line-height:1;font-size:.95em}
/* [fs-inline-discount] */
/* Price row: balanced spacing for ALL plans */
.price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:4px;
}
.price .old-price{
  display:inline-block;
  color:var(--red);
  text-decoration:line-through;
  text-decoration-thickness:2px;
  font-weight:800;
  font-size:14px;
  line-height:1;
  opacity:.95;
  position:relative;
  top:-4px;
}
.price .amount{
  transform:none;
  margin-left:2px; /* move big white price right */
}
.price .ccy{
  transform:none;
  margin-left:-2px; /* keep EUR tucked */
}
/* [sale-price-alignment-overrides] */
/* Price row: center the trio and tighten EUR spacing */
.plan .price{
  justify-content:center;
  align-items:baseline;
  gap:6px;
}
.plan .price .old-price{
  position:relative;
  top:-1px;
}
.plan .price .amount{
  transform:none;
  position:relative;
  left:0;
}
.plan .price .ccy{
  transform:none;
  position:relative;
  top:-1px;
  margin-left:-2px; /* pull EUR closer without affecting the old-price gap */
}
/* [fs-price-row-nudge] */
/* Move the WHOLE price row (old + new + EUR) slightly to the right on all cards */
.plan .price{
  position: relative;
  left: 3px;
}
/* [fs-final-polish] */
/* Lighter strike-through for old prices */
.price .old-price{
  text-decoration-thickness: 1px;
}
/* [fs-faq-mobile-height] */
/* Robust fix: if we detect a real touch phone, disable fixed-height FAQ container so layout can't collapse */
body.fs-real-phone #faq > .container{
  height: auto;
}
/* [fs-pay-pill-tweaks] */
/* Tweaks requested: smaller pills, less-rounded corners, move down ~10px */
#fs-pay-modal .fs-pay-badges{
  margin-top: 20px; /* move down ~10px from previous 10px */
  flex-wrap: nowrap; /* keep them side-by-side */
  gap: 10px;
}

#fs-pay-modal .fs-pay-badge{
  padding: 6px 10px;   /* smaller */
  font-size: 0.72rem;  /* smaller text */
  border-radius: 8px;  /* much less rounded */
  font-weight: 500;    /* keep readable but not heavy */
}

#fs-pay-modal .fs-pay-badge__text{
  font-weight: 500;
}

#fs-pay-modal .fs-pay-badge__icon{
  width: 14px;
  height: 14px;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-stack] */
/* Stack payment pills vertically and keep text on one line */
#fs-pay-modal .fs-pay-badges{
  flex-direction: column; /* stack */
  align-items: center;
  gap: 8px;
}

#fs-pay-modal .fs-pay-badge{
  white-space: nowrap; /* keep text on one line */
  max-width: 100%;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-style-match] */
/* Match style from reference badges */
#fs-pay-modal .fs-pay-badge{
  font-weight: 700; /* bolder text */
}

/* Second pill: white text + slightly different green */
#fs-pay-modal .fs-pay-badge:nth-child(2){
  background: #19c76a; /* slightly different green */
  color: #ffffff;     /* white text */
}

/* Ensure icons follow text color */
#fs-pay-modal .fs-pay-badge:nth-child(2) svg{
  fill: #ffffff;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-final-fix] */
/* Final pill color + weight corrections */
#fs-pay-modal .fs-pay-badge{
  font-weight: 800; /* force bold */
}

/* First pill color */
#fs-pay-modal .fs-pay-badge:nth-child(1){
  background: #01D535;
  color: #0b1a10;
}

/* Second pill color */
#fs-pay-modal .fs-pay-badge:nth-child(2){
  background: #198754;
  color: #ffffff;
}

#fs-pay-modal .fs-pay-badge:nth-child(2) svg{
  fill: #ffffff;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-size-bold-fix] */
/* Ensure BOTH pills are bold and smaller */
#fs-pay-modal .fs-pay-badge{
  font-weight: 800;     /* bold both */
  font-size: 0.62rem;   /* make text smaller */
  padding: 4px 8px;     /* reduce pill size */
  line-height: 1.1;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-text-only-fix] */
/* Text-only adjustment: do NOT change pill size */
#fs-pay-modal .fs-pay-badge{
  font-weight: 800;     /* bold BOTH pills */
}

#fs-pay-modal .fs-pay-badge span,
#fs-pay-modal .fs-pay-badge__text{
  font-size: 0.6rem;    /* slightly smaller text only */
  line-height: 1.1;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-first-bold] */
/* Make ONLY the first pill text bold */
#fs-pay-modal .fs-pay-badge:first-child{
  font-weight: 800;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-first-bold-text] */
/* Force FIRST pill text bold (target the actual text span) */
#fs-pay-modal .fs-pay-badges > .fs-pay-badge:first-child .fs-pay-badge__text{
  font-weight: 800;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* [fs-pay-pill-flat-fix] */
/* Make second pill flat like the first (remove 3D look) */
#fs-pay-modal .fs-pay-badges > .fs-pay-badge:nth-child(2){
  box-shadow: none;
  filter: none;
  background-image: none;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
  margin-top:32px;
  max-width:720px;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

  align-items: center;
  text-align: center;
}
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

  text-align: center;
}

  display:block;
  text-align:center;
}

  margin-left:auto;
  margin-right:auto;
  max-width:900px;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
  transition:transform .25s ease, filter .25s ease;
}
  border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);
  padding:8px;border-radius:12px;
}
  margin-bottom:10px;;transform:translateY(-3px);will-change:transform;transition:none}
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.22);
}

@media (max-width:560px){
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* --- v2 adjustments per feedback --- */

/* 1) Make card images fill the media area (no circular crop) */
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
}

/* 2) Real flag emojis (force emoji-capable font so they don't show as 'US/DE' letters) */
  font-family: "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif;
  font-size:20px;
  padding:7px 9px;
}

/* 3) Slightly smaller title/role text under usernames */
  margin-top:-4px;font-size:.88rem;;transform:translateY(-3px);will-change:transform;transition:none}

/* 4) Reduce spacing and keep short rows left-aligned (use flex wrap instead of stretchy grid) */
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:14px;
}
  width:240px;
  max-width:100%;
}

/* Responsive: let cards take full width on very small screens */
@media (max-width:560px){
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* v3: 5-up rows, cleaner images, remove member count */
  width:min(1200px, 94vw);
  margin:34px auto 40px;
  padding:0 6px;
}

/* Grid: fixed card width so short rows stay left, and wide rows can reach 5 cards */
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 220px));
  justify-content:flex-start;
  gap:14px;
}

/* Card sizing */
  width:auto;
  border-radius:16px;
}

/* Media: fill without extra zoom; avoid artificial sharpening/contrast that makes blur obvious */
  height:190px;
}
  transform:none;
  filter:none;
  object-fit:cover;
}

/* Slightly smaller role text under username */
  margin-top: 2px;
  font-size:.86rem;
;transform:translateY(-3px);will-change:transform;transition:none}

/* Make the "MEET THE TEAM" heading area centered (but keep categories left) */
  text-align:left;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* Center the section title/subtitle */
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* v4: smaller cards + centered rows */
  width:min(1100px, 92vw);
  margin:30px auto 44px;
}

/* Smaller cards, centered layout */
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 190px));
  justify-content:center;
  gap:12px;
}

/* Slightly smaller overall card footprint */
  border-radius:14px;
}

/* Media shorter so the card doesn't feel huge */
  height:155px;
}

/* Compact text spacing */
  padding:12px 14px 14px;
}
  font-size:1.06rem;
  /* Pull the title up closer to the username */
  margin-bottom:2px;
}
  font-size:.83rem;
  /* Move the role/title upward so it sits more centered between name and tag */
  margin-top:-4px;
  margin-bottom:9px;
;transform:translateY(-3px);will-change:transform;transition:none}
  font-size:.82rem;
  padding:6px 9px;
}

/* Keep flags neat */
  font-size:18px;
  padding:6px 8px;
  border-radius:11px;
}

/* Responsive */
@media (max-width:560px){
    grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
    justify-content:stretch;
  }
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* v6: center card rows (including short rows) */
  width:min(1100px, 92vw);
  margin:30px auto 44px;
}

/* Keep category headings left while cards are centered */
  width:100%;
  max-width:1100px;
  margin:0 auto 14px auto;
  text-align:left;
}

/* True centered rows */
  width:100%;
  max-width:1100px;
  margin:0 auto;

  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 190px));
  justify-content:center;
  gap:12px;
}

@media (max-width:560px){
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    justify-content:stretch;
  }
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* Ensure the "Meet the Team" heading + subheading are centered like other site section titles */
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  /* Keep category headers centered (accent dash + title) */
    justify-content: center;
    text-align: center;
  }
/* === OVERRIDES: Requested Adjustments === */

/* 1) Center the 'Meet The Team' title explicitly */
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* 2) Reduce hero texts by 35% */
  font-size: calc(clamp(44px, 6.5vw, 92px) * 0.65);
}

  font-size: calc(clamp(44px, 6.2vw, 86px) * 0.65);
}

  font-size: calc(0.32em * 0.65);
}
/* Final override: physically nudge subtitle up without affecting centering */
  position: relative;
  top: -7px;
  left: 0;
  right: auto;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
}
/* Hero visual upgrades:
   - Use /resources/staff/framesync.png for FRAMESYNC wordmark
   - Apply image-in-text mask to WELCOME using /resources/staff/crowd.jpg (with red tint)
*/
  /* keep wrapper centered */
  display:flex;
  justify-content:center;
}
  display:block;
  width: 100%;
  max-width: 760px;
  height: auto;
  margin: 0 auto;
  /* slightly crisp on dark bg */
  filter: drop-shadow(0 8px 26px rgba(0,0,0,.55));
}
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(64px, 9vw, 118px);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 0.92;
  text-transform: uppercase;
  margin-bottom: 2px;
  color: #ff4045; /* fallback - BRIGHT TRUE RED */
}
/* Background-clip text (mask) */
@supports ((-webkit-background-clip: text) or (background-clip: text)){
    background-image:
      linear-gradient(rgba(255, 64, 69, .85), rgba(255, 64, 69, .85)),
      url("./resources/staff/crowd.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-blend-mode: multiply;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
}

  font-size: 34px;
  margin-top: -6px;
  margin-bottom: 10px;
  line-height: 1;
}
}

/* Primary containers */
  margin-left: auto;
  margin-right: auto;
}

/* Join CTA card */
}

/* Safety: ensure inner grids don’t exceed the reduced width */
  max-width: 100%;
}
/* Alignment fix: ensure top section matches others */
.section,
.container {
  margin-left: auto;
  margin-right: auto;
}
/* Force consistent centering/width for TEAM overlay sections only */
    width: 97%;
    max-width: 1203px; /* 1240px minus ~3% */
    margin-left: auto;
    margin-right: auto;
    left: auto;
    right: auto;
    transform: none;
  }

  /* Remove asymmetric inner padding that can create perceived offset */
    padding-left: 0;
    padding-right: 0;
  }

  /* Ensure the intro copy card follows the same horizontal box */
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
/* Match subtitle color to upper section muted text */
  color: #a8a5a5;
}

/* Reduce Meet the Team title & subtitle size */
  font-size: clamp(24px, 3.2vw, 40px);
}

  font-size: 0.95rem;
}

/* Nudge role titles upward inside team cards */
  margin-top: 2px;
}
/* Prevent hover/unhover text blur on role line by avoiding GPU text raster + opacity compositing */
  transform: none;            /* no nested transform on the role line */
  position: relative;
  top: -3px;                  /* move role UP by 3px */
  margin-top: -4px;
  margin-bottom: 12px;
  line-height: 1.25;

  /* Avoid opacity compositing (common source of text blur during transforms) */
  opacity: 1;
  color: rgba(229, 231, 235, 0.88);

  /* Cancel any perf hints that force re-rasterization */
  will-change: auto;
  transition: none;
}

/* Keep card hover smooth WITHOUT forcing a GPU layer at rest (GPU text can blur on some browsers) */
  transform: none;            /* allow normal text rendering */
  backface-visibility: hidden;
  will-change: transform, box-shadow, border-color;
}

/* Ensure highlight borders/box-shadows animate instead of “popping” */
  transition: transform 320ms ease, box-shadow 320ms ease, border-color 320ms ease, background 320ms ease;
}
/* === Mobile Fixes (Team page) === */

/* 1) Ensure "Meet the Team" header + subtitle show on mobile
   (they used .section-title-desktop which was being hidden globally) */
@media (max-width: 768px){
    display: block;
  }
    margin-top: 2px;
  }
    display: block;
    margin-top: 10px;
  }
}

/* 2) Make the "WELCOME / TO / FRAMESYNC LABS" hero properly responsive on small screens */
@media (max-width: 768px){
    grid-template-columns: 1fr;
    gap: 18px;
    padding-top: 10px;
  }

    text-align: center;
  }

    max-width: 100%;
    font-size: clamp(28px, 10vw, 54px);
    letter-spacing: 0.06em;
    line-height: 0.95;
    word-break: break-word;
  }

    display: block;
    font-size: clamp(18px, 6vw, 28px);
    margin: 8px 0 10px;
  }

    font-size: clamp(30px, 11vw, 58px);
    line-height: 1.0;
    word-break: break-word;
  }

    font-size: 0.38em;
    margin-left: 4px;
    vertical-align: baseline;
  }

  /* Keep intro card centered and within viewport */
    max-width: 100%;
    margin: 16px auto 0;
  }
}
/* === Follow-up sizing + spacing adjustments === */

/* 3) Move "Meet the Team" block down a bit (desktop + mobile) */
  margin-top: 34px;
}

/* 1) Make hero text/logo bigger on mobile */
@media (max-width: 768px){
    font-size: clamp(44px, 14.5vw, 86px);
    letter-spacing: 0.06em;
    line-height: 0.95;
  }

  /* scale the FRAMESYNC logo image with the header but keep it within the viewport */
    width: min(92vw, 620px);
    max-width: min(92vw, 620px);
  }
}

/* 2) Ensure desktop logo image stays at the original sizing */
@media (min-width: 769px){
    width: 100%;
    max-width: 760px; /* original cap */
  }
}
/* === Overrides for latest feedback === */

/* 1) Reduce FRAMESYNC wordmark image size on desktop (back to a smaller, cleaner scale) */
@media (min-width: 769px){
    max-width: 640px;
  }
}

/* 2) Force the logo image to be truly centered on mobile */
@media (max-width: 768px){
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
    display: block;
    margin-left: auto;
    margin-right: auto;
    align-self: center;
  }
}

/* 3) Only move the "Meet the Team" title + subtitle down (without shifting content below) */
  margin-top: 0; /* cancel previous margin-top that moved everything */
}
  position: relative;
  top: 18px; /* visual-only shift; does NOT affect layout below */
}
/* [mobile-brand-center-fix] */
@media (max-width: 768px){
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
  }
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* === Meet the Team heading: match global title/subtitle style + spacing (desktop & mobile) === */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 0 0 .5rem;
  line-height: 1.05;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* Move ONLY the title+subtitle down without affecting layout below:
   add padding-top (moves content down) and cancel it with negative margin-bottom */
  padding-top: 18px;
  margin-bottom: -18px;
}

/* Remove earlier tweaks that caused odd spacing */
  position: static;
  top: auto;
  transform: none;
}

/* === Mobile: visually center the FRAMESYNC wordmark image ===
   The PNG has uneven transparent padding, so we apply a tiny visual nudge on mobile. */
@media (max-width: 768px){
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
    margin-left:auto;
    margin-right:auto;
    display:block;
    transform: translateX(-10px); /* optical centering */
  }
}
@media (max-width: 768px){
    text-align: center;
  }
}
/* Remove duplicate Meet the Team title on mobile */
@media (max-width: 768px){
    display: none;
  }
}

/* Reduce bottom spacing so it matches other sections */
  margin-bottom: 0.75rem;
}
/* Final precise vertical alignment for Meet the Team (title + subtitle ONLY) */
  position: relative;
  top: 14px; /* subtle downward nudge to match other sections */
}
/* Final micro-adjustment: move Meet the Team title + subtitle slightly further down */
  top: 22px; /* final perfect alignment */
}
/* Ultra-final micro adjustment */
  top: 28px;
}
/* One more tiny nudge, promise 😄 */
  top: 34px;
}
/* [intro-container-color-match-headstaff] */
/* Match the INTRO TEXT container background to the Head Staff bar background */
  background: rgba(17, 18, 20, 0.65);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
/* [fs-strong-white-style] */
.fs-strong-white{color:#ffffff;}
/* Force FRAMESYNC strong to true white (override gradient text) */
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: #ffffff;
  color: #ffffff;
}

/* Pulse team category dots using their currentColor (matches benchmark "Before"/"Optimized" dot behavior) */
@keyframes teamDotPulse{
  0%{ box-shadow: 0 0 0 0 currentColor; transform: scale(1); }
  70%{ box-shadow: 0 0 0 10px rgba(0,0,0,0); transform: scale(1.08); }
  100%{ box-shadow: 0 0 0 0 rgba(0,0,0,0); transform: scale(1); }
}

  animation: teamDotPulse 1.8s ease-in-out infinite;
  will-change: transform, box-shadow;
}
/* TEAM page signature hashtag (only used inside team overlay) */
    width: 100%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 20px;
    color: rgba(255,255,255,.9);
    opacity: .9;
    user-select:none;
    pointer-events:none;

    /* sits in the center of the leftover space under the CTA */
    /*margin adjusted*/margin: 36px auto 0;
    padding-bottom: 0px;
  }
  @media (max-width: 768px){
      font-size: 16px;
      margin-top: 28px;
      padding-bottom: 0px;
    }
  }
/* [ultimate-outline-true-border] */
/* Ensure hero stays static (no float/bob) but allow fade-in reveal */
  .frame img, .hero-image, .hero-visual, .hero-media {
    transform: none;
    will-change: auto;
  }

  /* Ultimate plan - same styling as other plans (no special border) */
  .plans-grid .plan.popular,
  .plans .plan.popular,
  .plan.popular {
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #0a0a0e;
    box-shadow: var(--shadow);
  }

  /* Kill any previous pseudo-element outlines that can create corner artifacts/gaps */
  .plans-grid .plan.popular::before,
  .plans-grid .plan.popular::after,
  .plan.popular::before,
  .plan.popular::after {
    content: none;
    display: none;
  }

/* [hero-static-override] */
/* Force hero image to be fully static (no floating/parallax transforms) - allow fade reveal */
.hero-image, .hero-media { transform: none; }
.frame img, .hero-image img, .hero-media img {
  transform: none;
  will-change: auto;
}

/* Move benchmarks nav (prev/next + page indicator) up by 5px */
.bench-bottom .fs-faq__nav{
  transform: translateY(-8px);
}

/* [fs-price-gap-fix] */
.plan .price{margin-top:0px;margin-bottom:4px;position:relative;top:0}.plan p{margin-top:2px}

/* [fs-games-last-child-fix] */
#games .games-track{gap:16px}#games .game-banner{margin:0}

/* [fs-cta-pulse] */
@keyframes ctaPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 6px 20px rgba(224,23,28,.35), inset 0 1px 0 rgba(255,255,255,.05);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 8px 30px rgba(224,23,28,.55), 0 0 20px rgba(224,23,28,.3), inset 0 1px 0 rgba(255,255,255,.05);
  }
}

.cta .btn-primary {
  animation: ctaPulse 2s ease-in-out infinite;
}

/* [fs-eur-align-fix] */
/* Fix EUR vertical alignment with price */
.price .ccy {
  top: -1px;
}

/* [fs-hw-accel-notice] */
/* Hardware Acceleration Notice Popup */
#fs-hw-notice {
  position: fixed;
  bottom: 20px;
  left: 20px;
  max-width: 340px;
  background: #0a0a0e;
  border: 1px solid rgba(255, 90, 90, 0.3);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 20px rgba(255, 90, 90, 0.1);
  z-index: 9999;
  display: none;
  animation: slideInNotice 0.4s ease-out;
}

@keyframes slideInNotice {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#fs-hw-notice .notice-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

#fs-hw-notice .notice-icon {
  width: 28px;
  height: 28px;
  background: rgba(255, 90, 90, 0.15);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#fs-hw-notice .notice-icon svg {
  width: 16px;
  height: 16px;
  color: #ff5a5a;
}

#fs-hw-notice .notice-title {
  font-weight: 700;
  font-size: 13px;
  color: #f0f0f0;
  flex: 1;
}

#fs-hw-notice .notice-text {
  font-size: 13px;
  color: #a09e9c;
  line-height: 1.5;
  margin-bottom: 14px;
}

#fs-hw-notice .notice-actions {
  display: flex;
  gap: 10px;
}

#fs-hw-notice .notice-btn {
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#fs-hw-notice .notice-btn-primary {
  background: #e0171c;
  color: #fff;
}

#fs-hw-notice .notice-btn-primary:hover {
  background: #ea272b;
}

#fs-hw-notice .notice-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ccc;
  border: 1px solid rgba(255,255,255,0.1);
}

#fs-hw-notice .notice-btn-secondary:hover {
  background: rgba(255,255,255,0.12);
}

#fs-hw-notice .notice-close {
  width: 24px;
  height: 24px;
  background: rgba(255,255,255,0.05);
  border: none;
  border-radius: 6px;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
  margin-left: 8px;
}

#fs-hw-notice .notice-close:hover {
  background: rgba(255,255,255,0.1);
  color: #999;
}

@media (max-width: 480px) {
  #fs-hw-notice {
    left: 10px;
    right: 10px;
    bottom: 10px;
    max-width: none;
  }
}

/* [fs-hero-reveal] */
/* ═══════════════════════════════════════════════
   PAGE LOAD ANIMATION SYSTEM v3
   ═══════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInUpMuted {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 0.7; transform: translateY(0); }
}
@keyframes fadeInOnly {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes zoomFadeIn {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

/* ══════════════════════════════════════════
   Cascade: ONLY on fresh loads at top (gated by .fs-fresh-load on <html>)
   fs-fresh-load = hide immediately, fs-cascade-go = animate in
   ══════════════════════════════════════════ */

/* ── Hide phase (instant, before paint) ── */
html.fs-fresh-load header.nav .nav-inner > * { opacity: 0; }
html.fs-fresh-load .hero .eyebrow,
html.fs-fresh-load .hero h1,
html.fs-fresh-load .hero .lead,
html.fs-fresh-load .hero .fs-hero-feats,
/* [fs-trustbar-reveal] .fs-trustbar is the MOBILE stand-in for .fs-hero-feats - below
   1000px the feature list is display:none and this row replaces it. It was never added
   to the cascade, so on mobile it was the one hero element that appeared instantly
   while everything around it faded in. It takes the same slot and the same 0.40s
   delay as the list it replaces; on desktop it is display:none so this is inert. */
html.fs-fresh-load .hero .fs-trustbar,
html.fs-fresh-load .hero .actions,
html.fs-fresh-load .hero .logos { opacity: 0; }
html.fs-fresh-load #esports-trust-pill { opacity: 0; }
html.fs-fresh-load .hero .hero-grid > :last-child { opacity: 0; }
html.fs-fresh-load .hero .fs-hero-mobile-img { opacity: 0; }

/* ── Animate phase (triggered after CSS loaded + paint ready) ── */
html.fs-cascade-go header.nav .nav-inner > * {
  animation: zoomFadeIn 0.6s ease-out 0.10s both;
}
html.fs-cascade-go .hero .eyebrow,
html.fs-cascade-go .hero h1,
html.fs-cascade-go .hero .lead,
html.fs-cascade-go .hero .fs-hero-feats,
html.fs-cascade-go .hero .fs-trustbar,
html.fs-cascade-go .hero .actions,
html.fs-cascade-go .hero .logos {
  animation: fadeInUp 0.6s ease-out both;
}
html.fs-cascade-go .hero .eyebrow { animation-delay: 0.10s; }
html.fs-cascade-go .hero h1       { animation-delay: 0.20s; }
html.fs-cascade-go .hero .lead    { animation-delay: 0.30s; }
html.fs-cascade-go .hero .fs-hero-feats { animation-delay: 0.40s; }
html.fs-cascade-go .hero .fs-trustbar    { animation-delay: 0.40s; }
html.fs-cascade-go .hero .actions { animation-delay: 0.50s; }
html.fs-cascade-go .hero .logos   { animation-delay: 0.60s; }
html.fs-cascade-go #esports-trust-pill {
  animation: fadeInUp 0.6s ease-out 0.70s both;
}
html.fs-cascade-go .hero .hero-grid > :last-child {
  animation: fadeInUp 0.6s ease-out 0.40s both;
}
html.fs-cascade-go .hero .fs-hero-mobile-img {
  animation: fadeInUp 0.6s ease-out 0.40s both;
}

/* [fs-table-size-bump] */
/* Increase cost and percentage text in Numbers Behind FPS by 1px */
.compare .row .center { font-size: 16px; }
.compare .table .head .center { font-size: 14px; }

/* [fs-design-fixes-final] */
/* ── MASTER DESIGN FIXES ──────────────────────────────────────────────────
   All targeted overrides to resolve colour inconsistencies identified in
   the design audit. Applied last so they win the cascade cleanly.
   ──────────────────────────────────────────────────────────────────────── */

/* 1. Lock primary red to single consistent value across all :root scopes */
:root {
  --primary: #e0171c;
  --primary-600: #e8171e;
  --red: #e0171c;
  /* Warm body text - removes the cool blue-white cast from #eef2fb */
  --text: #ede9e9;
  /* Warmer muted text - harmonises with warm dark background */
  --muted: #a8a5a5;
}

/* 2. h1 explicit colour - guarantees hero heading is always warm white */
h1 {
  color: #f0eded;
}

/* 3. Team names - replace harsh neon with a softer brand-aligned red */
  color: #ec3c40;
}

  color: #e0171c;
}

/* 5. Mobile overlay nav links - was neon #ff3b3b, now softer */
#mobile-overlay a:last-of-type,
#mobile-overlay a.accent {
  color: #ec3c40;
}
#mobile-overlay a .char {
  color: #ec3c40;
}
#mobile-overlay a:hover .char {
  color: #ec3c40;
  text-shadow: 0 0 10px rgba(224, 23, 28, 0.40);
}

/* 6. comparison table cross icons - slightly darker so they read on dark bg */
.cross {
  color: #6b7280;
}

/* [fs-ui-tweaks-v1] */
/* ── 1. Increase gap below prices so content underneath moves down ── */
.plan .price {
  position: static;
  top: auto;
  margin-bottom: 14px;
}

/* ── 2. Plan titles (h4) and subtitles (.pill text): slightly smaller ── */
.plans-grid .plan h4,
.plans .plan h4 {
  font-size: 22px;
  letter-spacing: -.01em;
}
/* subtitle is the small text like "For Casual Gamers" - it lives in .plan .pill */
.plans-grid .plan .pill,
.plans .plan .pill {
  font-size: 11px;
}

  font-size: 12px;
}

/* ── 4. Benchmarks bottom nav (buttons + AVG FPS BOOST + values + arrow): nudge up ── */
#benchmarks .bench-bottom,
.bench-bottom .fs-faq__nav {
  transform: translateY(-10px);
  margin-top: 4px;
}

/* ── 5. FAQ pager nav (back/forth + page text): nudge slightly downwards ── */
#faq .fs-faq__nav {
  margin-top: 26px;
}

/* ── 6. Hero lead paragraph (We extract every frame...): very slightly larger ── */
.hero .lead,
p.lead {
  font-size: 16.5px;
}

/* ── 7. eSports trust pill text: slightly bolder ── */
.esports-trust-text {
  font-weight: 700;
}

/* ── 8. Plan description paragraphs: very slightly larger ── */
.plans-grid .plan > p,
.plans .plan > p {
  font-size: 14.5px;
}

/* [fs-v2-fixes] */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX 1 - Price: undo broken position:relative/top,
            add gap BELOW so content underneath shifts down
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.plan .price,
.plans .plan .price,
.plans-grid .plan .price {
  position: static;
  top: auto;
  margin-bottom: 16px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX 2 - Plan h4 title: make smaller.
   The h4 has inline style="margin:0" - we need
   a selector that beats all prior rules.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.plan h4,
.plans .plan h4,
.plans-grid .plan h4,
article.plan h4 {
  font-size: 17px;
}
/* FIX 2b - Plan subtitle "For Casual Gamers" etc.
   It is a <p class="plan-subtitle"> NOT .plan .pill */
.plan p.plan-subtitle,
.plans .plan p.plan-subtitle,
.plans-grid .plan p.plan-subtitle,
article.plan p.plan-subtitle {
  font-size: 10.5px;
  opacity: .78;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX 3 - Benchmark bar-col backgrounds: darker.
   The JS sets bar.className='bar-wrap'/'bar-col' so
   we need #benchmarks specificity to win vs the many
   competing rules including the late-sheet one.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#benchmarks .bar-col,
#benchmarks .card .bar-col {
  background: #08090b;
  background-color: #08090b;
  border-color: #181c21;
}
#benchmarks .bar-wrap,
#benchmarks .card .bar-wrap {
  background: #07080a;
  background-color: #07080a;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX 4 - Games carousel controls: subtle nudge up.
   The wrapper is a plain div with inline style
   margin-top:8px. We target by ID of its children.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#gc-prev, #gc-fps-group, #gc-next {
  position: relative;
  top: -5px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX 5 - "Click here to see what's included":
   Multiple blocks set font-size - we use max specificity.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  font-size: 11px;
}
  font-size: 11px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX 6 - BEST VALUE badge: darker black-red blend + 3D
   The JS at line 32314 injects '.badge.best{background:#9d0f18}'
   We need to beat that injected rule with equal specificity
   placed AFTER it in the document - but since it's runtime
   injected, we use a stronger selector.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.badge.best,
.plan .badge.best,
.plans .badge.best,
.popular .badge.best {
  background: linear-gradient(160deg, #3a0608 0%, #710b0f 40%, #220304 100%);
  border: 1px solid rgba(255, 60, 60, .22);
  box-shadow:
    0 3px 0 rgba(0,0,0,.7),
    0 6px 16px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,120,120,.15);
  text-shadow: 0 1px 3px rgba(0,0,0,.7);
}

/* [fs-desktop-nav-fix] */
@media (min-width: 1001px) {
  header, header.nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 300;
  }
  body {
    padding-top: var(--header-h, 60px);
  }
}

/* Hero stats bar (under the trusted logos) */
  .hero-stats{
    margin-top:22px;
    display:flex;
    align-items:stretch;
    padding:14px 18px;
    border-radius: 22px;
    background:rgba(16,18,22,.55);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 18px 45px rgba(0,0,0,.45);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .hero-stat{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:flex-start;text-align:center;padding:6px 14px 0;min-width:0}
  .hero-stat + .hero-stat{border-left:1px solid rgba(255,255,255,.08)}
  .hero-stat__value{
    font-weight:900;
    letter-spacing:-0.02em;
    font-size:22px;
    line-height:1;
    background:linear-gradient(90deg,#ff4d4d 0%,#f59e0b 55%,#ffd24a 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    text-shadow:0 12px 30px rgba(0,0,0,.35);
    white-space:nowrap;
  }
  .hero-stat__label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-stat__value .star{color:#6db6ff}

  /* Match width system with logos and actions */
  @media (min-width:1001px){
    .hero-stats{width:var(--row-width);margin-left:-1px;margin-right:0}
  }

  @media (max-width: 1000px){
    .hero-stats{width:min(100%,var(--row-width));margin-left:auto;margin-right:auto}
  }

  @media (max-width: 640px){
    .hero-stats{width:min(100%,var(--row-width));border-radius:16px;padding:14px 18px;margin-left:auto;margin-right:auto}
    .hero-stat{padding:6px 14px 0}
  }

/* [fs-steps-uniform-borders] */
/* FORCE uniform borders on all Step images */
.steps .step {
    background: #0a0a0e;
    border: 1px solid var(--border);
}
.steps .step img {
    border: 1px solid #1c2026;
    border-radius: 12px;
}
.steps .step video {
    border: none;
    border-radius: 0;
}
.fs-new-price{display:none}
/* Small 5-star overlay on review cards (aligned with name/role) */
.reviews .marquee .card{
  position:relative;
}
.reviews .marquee .card::after{
  content:"★★★★★";
  position:absolute;
  top:19px;
  right:18px;
  font-size:16px;
  letter-spacing:3px;
  background: linear-gradient(135deg, #ffe066 0%, #ffb300 40%, #ffd700 60%, #ffec80 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(0 1px 3px rgba(255,200,50,.45));
  opacity:1;
  pointer-events:none;
  font-style:normal;
}
@media (max-width: 768px){
  .reviews .marquee .card::after{
    top:20px;
    right:14px;
    font-size:11px;
    letter-spacing:2.5px;
  }
}
/* Unify container backgrounds with review cards */
.plan,
.step,
.table,
.panel,
.fs-faq__item,
.hw-card,
.cmp-card,
.bar-col,
.fs-accordion__toggle,
.fs-new-accordion,
.fs-new-modal__dialog,
.fs-accordion__badge,
.open,
.bench-card,
.stat-card,
.opt-card {
  background:#0a0a0e;
  border-color:var(--border);
}
/* FORCE all primary content containers to share the exact same panel style as reviews */
.card,
.hw-card,
.cmp-card,
.step,
.plan,
.table,
.panel,
.fs-faq__item,
.fs-accordion__toggle,
.fs-accordion__badge,
.fs-new-accordion,
.fs-new-modal__dialog,
.bar-col,
.bench-card,
.opt-card,
.stat-card {
  background-color:#0a0a0e;
  background-image:none;
  border-radius:16px;
  border:1px solid #1b1f25;
  box-shadow:0 4px 20px rgba(0,0,0,0.35);
}
/* Match all major containers to the same gradient panel style as review cards */
.hw-card,
.cmp-card,
.step,
.plan,
.table,
.panel,
.fs-faq__item,
.fs-accordion__toggle,
.fs-accordion__badge,
.fs-new-accordion,
.fs-new-modal__dialog,
.bar-col,
.bench-card,
.opt-card,
.stat-card {
  background:#0a0a0e;
  border:1px solid var(--border);
  box-shadow:0 4px 20px rgba(0,0,0,.45);
}
/* [fs-why-specific-rows] */
#why .row:nth-child(2),
#why .row:nth-child(4),
#why .row:nth-child(6),
#why .row:nth-child(8) {
    background: #0a0a0e;
}
/* [fs-why-specific-rows-v2] */
/* Darken specific Why Choose FrameSync rows */
#why .table .row:nth-child(3),
#why .table .row:nth-child(5),
#why .table .row:nth-child(7),
#why .table .row:nth-child(9) {
    background: #0a0a0e;
}
/* [fs-why-specific-rows-v3] */
/* Correctly darken selected rows in Why Choose FrameSync */
#why .table > div:nth-of-type(3),
#why .table > div:nth-of-type(5),
#why .table > div:nth-of-type(7),
#why .table > div:nth-of-type(9) {
    background: #0a0a0e;
}

/* PC Optimization row label - pure white */
.compare .row .label[style*="font-weight:700"] { color: #ffffff; }

/* Mobile: shrink table text to fit single row */
@media (max-width: 600px) {
  .compare .table .head { font-size: 12px; padding: 12px 14px; }
  .compare .table .row { font-size: 13px; padding: 14px; }
  .compare .table .row .label { font-size: 13px; }
  .compare .table .row .center { font-size: 13px; }
}
/* [fs-unify-panels-final] */
.card,
.plan,
.step,
.fs-faq__item,
.hw-card {
  background:#0a0a0e;
}
/* [fs-how-step-gradient-strong] */
/* overridden by final */
#how .step{
  background:#0a0a0e;
}
/* [fs-step-title-move] */
#how .step h4 {
    position: relative;
    top: 12px;
}
#how .step p.muted {
    position: relative;
    top: 12px;
}
/* [fs-step-title-size] */
#how .step h4 {
    font-size: 19px;
}
/* [fs-step-description-up] */
#how .step p.muted {
    position: relative;
    top: -1px;
}
/* [fs-step-text-down] */
#how .step h4 {
    position: relative;
    top: 3px;
}
#how .step p.muted {
    position: relative;
    top: 2px;
}
/* [fs-step-title-down-final] */
#how .step h4 {
    position: relative;
    top: 8px;  /* move titles downward */
}
/* [fs-step-text-translate] */
#how .step h4,
#how .step p.muted {
    transform: translateY(6px);
}
/* [fs-opt-text-1px-fix] */
#fs-new-accordion .fs-new-accordion__toggle .fs-new-label{position:relative;top:0;display:inline-block}
/* [fs-gpu-accelerated-transitions] */
/* GPU-accelerated transitions for key interactive / animated elements */
.btn,
.chip,
.login,
.plan,
.step,
.game-banner,
.marquee .card,
#bench-grid .card-inner,
#benchmarks .gain,
.faq details,
.faq summary,
#fs-to-top,
#fab-menu,
.plan .pill,
.games-track,
.game-banner img,
.reviews .marquee-wrap,
.reviews #reviews-marquee {
  will-change: transform, opacity;
  transform: translate3d(0,0,0);
}

/* Ensure transitions include transform + opacity so the GPU can handle motion/fades */
.btn,
.chip,
.login,
.plan,
.step,
.game-banner,
.marquee .card,
.faq details,
.faq summary,
#fs-to-top,
#fab-menu,
  transition-property: transform, opacity, box-shadow, background-color, border-color, filter;
  transition-duration: 0.18s;
  transition-timing-function: ease;
}

/* Benchmarks: hint bars & pill for GPU transforms */
#benchmarks .bar,
#benchmarks .bar-col,
#benchmarks .bar-wrap,
#benchmarks .fs-pre-bar,
#benchmarks .fs-pre-bar-fill {
  transform: translate3d(0,0,0);
  transform-origin: left center;
  will-change: transform, opacity;
}

/* FAQ animation: avoid layout thrash, rely on opacity + max-height */
.faq .faq-content,
.fs-faq__a {
  will-change: max-height, opacity;
}

/* Games row / marquee: already transform-based; just add hints */
#games .games-track,
#games .game-banner,
#games .game-banner img {
  transform: translate3d(0,0,0);
  will-change: transform;
}
/* [fs-perf-optimizations] */
/* Hint browser to use GPU/compositor for heavy continuous animations */
  .reviews .marquee.scrolling,
  .reviews #reviews-marquee,
  #games .games-track,
  #games .game-banner img,
  .frame img {
    will-change: transform;
    transform: translate3d(0, 0, 0);
  }

  /* Minor text rendering polish for UI controls */
  .btn,
  .chip,
  .login {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
/* [fs-gpu-boost] */
/* FAQ accordions */
  .faq details,
  .faq .faq-content,
  .fs-faq__item,
  .fs-faq__a {
    will-change: max-height, opacity, transform;
    transform: translateZ(0);
  }

  /* Benchmark cards & bars */
  #benchmarks .bar-wrap,
  #benchmarks .bar,
  #benchmarks .bar-fill,
  #benchmarks .bar-bg,
  #benchmarks .bench-card,
  #benchmarks .bench-head,
  #bench-grid .card,
  #bench-grid .card-inner {
    will-change: transform, opacity, width;
    transform: translate3d(0,0,0);
  }

  /* Buttons / cards / steps / plans */
  .btn,
  .chip,
  .login,
  .plan,
  .step,
  .card,
  .modal-card {
    transform: translateZ(0);
    will-change: transform, box-shadow;
  }

  /* Videos & how-it-works media */
  video,
  .video-wrapper,
  .how-video,
  .how-media {
    will-change: transform, opacity;
    transform: translate3d(0,0,0);
  }

  /* Overlays & modals (terms, privacy, giveaways, generic overlays) */
  .modal,
  .overlay,
  #mobile-overlay,
  .terms-overlay,
  .privacy-overlay,
  .giveaways-overlay,
  .calendly-overlay {
    will-change: opacity, transform;
    transform: translate3d(0,0,0);
  }

  /* Scroll reveal / animated sections (generic helper class if used) */
  .fade-in,
  .slide-up,
  .fs-animate,
  .fs-animate-in {
    will-change: opacity, transform;
    transform: translate3d(0,0,0);
  }
.footer-payment-logos{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      max-width:100%;
  }
  .footer-payment-logos img{
      height:30px;
      width:50px;
      max-width:50px;
      object-fit:contain;
      opacity:0.85;
      transition:opacity .2s ease;
      flex:0 0 auto;
  }
  .footer-payment-logos img:hover{
      opacity:1;
  }
  @media (max-width:700px){
      .footer-payment-logos img{
          height:22px;
          width:auto;
          max-width:40px;
      }
  }
.footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
#site-footer .footer-bottom .footer-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
}
/* [footer-center-mobile-copyright-cards] */
@media (max-width:900px){
  #site-footer .footer-meta{
    align-items:center;
    text-align:center;
    width:100%;
  }
  #site-footer .footer-meta .footer-cards{
    justify-content:center;
  }
}
/* [to-top-nudge] */
#site-footer .to-top {
    position: relative;
    top: 2px;
    color: #cccac8;
}
#site-footer .footer-bottom .footer-meta span,
#site-footer .footer-bottom > span {
    color: #cccac8;
}
.fs-benefit.sec{margin-top:0;}
.fs-new-allplans{font-size:14px; margin-bottom:4px;}
.hot-badge { cursor:pointer;
 position:absolute; top:32px; right:34px;
 padding:3px 8px;
 border-radius:8px;
 display:inline-flex; align-items:center; gap:4px;
 font-size:10px; font-weight:700; letter-spacing:.06em;
 text-transform:uppercase;
 color:#000000;
 background: linear-gradient(135deg, #f81a02 0%, #ffb43a 55%, #050307 100%);
 backdrop-filter:blur(8px);
 border:none;
 z-index:10;
}
.hot-badge [data-lucide]{
 width:12px; height:12px;
 stroke:#000000; stroke-width:3;
}
.fs-new-allplans {
  font-size:14px;
  display:block;
  margin-top:0px;
  margin-bottom:5px;
}
.fs-new-allplans + .fs-benefit,
.fs-new-allplans + .fs-benefit.sec {
  margin-top:6px;
}
/* [unified-subtext-spacing-24] */
.reviews .container>.muted{margin:-4px auto 24px;max-width:900px;text-align:center}#hardware-optimization .muted{margin:-4px auto 24px;max-width:900px;text-align:center}section.plans .container>.muted{margin:-4px auto 24px;max-width:900px;text-align:center}.howit-sub{margin:-4px auto 24px;max-width:900px;text-align:center}.why-title + .muted{margin:-4px auto 24px;max-width:900px;text-align:center}.fs-faq__subtitle{margin:-4px auto 24px;max-width:900px;text-align:center}#games .container>.muted{margin:-4px auto 24px;max-width:900px;text-align:center}
/* [hw-section-spacing-tweaks-v3] */
#hardware-optimization .h2{text-align:center;margin-bottom:6px}#hardware-optimization .muted{text-align:center;max-width:900px;margin:-4px auto 14px}
/* [fs-pain-points] */
.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pain-card{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;padding:28px 26px;box-shadow:var(--shadow);display:flex;gap:18px;align-items:center}
.pain-card .pain-icon{flex:0 0 56px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:#9d0f18;align-self:center}
.pain-card .pain-icon svg,.pain-card .pain-icon i{width:52px;height:52px;stroke:currentColor;fill:none;stroke-width:1.5}
.pain-card .pain-content{flex:1}
.pain-card h3{font-size:18px;font-weight:800;margin:0 0 8px;color:#e6e6e6}
.pain-card p{font-size:14.5px;color:#a8a5a5;line-height:1.55;margin:0}
@media (max-width:700px){.pain-grid{grid-template-columns:1fr}.pain-card{padding:22px 20px}}

/* [howit-subtext-spacing] */
.howit-sub{text-align:center;margin:-4px auto 24px;max-width:900px}
/* [title-subtext-gap-unify] */
.howit-title{margin-bottom:6px}.why-title{margin-bottom:6px}.why-title + .muted{margin:-4px auto 24px;max-width:900px;text-align:center}
.fs-stat-pill {
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.fs-stat-pill.fs-visible {
  opacity: 1;
  transform: scale(1);
}
@media (max-width:600px) {
  #fps-stats { gap: 32px 28px; }
}

/* [fs-compare-v2] */
.cmp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}
.cmp-card{position:relative;overflow:hidden;padding:24px 22px 20px;display:flex;flex-direction:column;gap:6px;isolation:isolate;cursor:default}
.cmp-card.cmp-highlight{cursor:pointer;transition:transform 300ms cubic-bezier(0.25,0.1,0.25,1)}
.cmp-card.cmp-highlight:hover{transform:scale(1.03)}
.cmp-card .cmp-top{display:flex;align-items:center;justify-content:space-between}
.cmp-card .cmp-icon{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#9d0f18}
.cmp-card .cmp-icon svg,.cmp-card .cmp-icon i{width:38px;height:38px;stroke:currentColor;fill:none;stroke-width:1.5}
.cmp-card .cmp-name{font-weight:700;font-size:18px;color:#e6e6e6;line-height:1.15}
.cmp-card .cmp-cost{font-size:14px;color:#a8a5a5;margin-top:2px}
.cmp-card .cmp-gain{font-size:15px;font-weight:700;margin-top:auto;padding-top:10px}
.cmp-card .cmp-gain.has-gain{color:#e6e6e6}
.cmp-card .cmp-gain.no-gain{color:#4a4f56}
.cmp-card .cmp-bar{height:10px;border-radius:99px;background:#1a1e22;margin-top:6px;overflow:hidden;position:relative}
.cmp-card .cmp-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,rgba(213,21,26,.85),rgba(234,41,49,.35));position:relative;overflow:hidden}
.cmp-card .cmp-bar-fill::after{content:"";position:absolute;inset:0;border-radius:99px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 20%,rgba(255,255,255,0) 40%);background-size:200% 100%;animation:cmpShimmer 2.2s ease-in-out infinite;mix-blend-mode:screen;pointer-events:none}
@keyframes cmpShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.cmp-card.cmp-highlight,.cmp-card.cmp-highlight:hover,.cmp-card.cmp-highlight:active,.cmp-card.cmp-highlight.fs-pressable,.cmp-card.cmp-highlight.fs-pressable:hover,.cmp-card.cmp-highlight.fs-pressable:active{background:linear-gradient(180deg,rgba(224,23,28,.14),rgba(224,23,28,.04));border:1px solid transparent;box-shadow:0 0 24px rgba(224,23,28,.1),0 4px 20px rgba(0,0,0,0.35);filter:none;-webkit-filter:none}
.cmp-card.cmp-highlight *,.cmp-card.cmp-highlight:hover *,.cmp-card.cmp-highlight:active *{filter:none;-webkit-filter:none}
.cmp-card.cmp-highlight .cmp-bar-fill::after{transition:none;animation:cmpShimmer 2.2s ease-in-out infinite}
.cmp-card.cmp-highlight .cmp-name{color:#fff}
.cmp-card.cmp-highlight .cmp-gain{color:#e0171c}
.cmp-card.cmp-highlight .cmp-icon{color:#e0171c}
.cmp-card.cmp-highlight .cmp-bar-fill{background:linear-gradient(90deg,rgba(213,21,26,.9),rgba(234,41,49,.4))}
.cmp-card .cmp-tag{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,102,102,.7);font-weight:600;padding:3px 8px;border:1px solid rgba(255,102,102,.2);border-radius:999px;background:rgba(255,102,102,.06);white-space:nowrap;line-height:1;margin-top:1px;align-self:flex-start}
@media (max-width:900px){.cmp-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cmp-grid{grid-template-columns:1fr}}

/* [plans-title-gap-fix] */
section.plans .h2{margin-bottom:6px}section.plans .container>.muted{margin-top:-4px;margin-bottom:14px}
/* [gc-styles] */
#gc-track{transition:transform 0.5s cubic-bezier(.25,.1,.25,1);}
#gc-track.gc-no-anim,#gc-track.gc-no-anim .gc-card,#gc-track.gc-no-anim .gc-card .gc-label,#gc-track.gc-no-anim .gc-card .gc-name,#gc-track.gc-no-anim .gc-card .gc-genre{transition:none;animation:none;}
#gc-wrap .gc-card{
  flex:0 0 auto;border-radius:14px;overflow:hidden;position:relative;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 8px 28px rgba(0,0,0,.4);
  transition:transform 0.5s cubic-bezier(.25,.1,.25,1),filter 0.5s cubic-bezier(.25,.1,.25,1),margin 0.5s cubic-bezier(.25,.1,.25,1),border-color 0.5s ease,box-shadow 0.5s ease;
  filter:brightness(0.45);cursor:pointer;margin:0 8px;
  transform-origin:center center;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
#gc-wrap .gc-card img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;pointer-events:none;user-select:none;}
#gc-wrap .gc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.72) 100%);pointer-events:none;}
#gc-wrap .gc-card .gc-label{
  position:absolute;bottom:10px;left:10px;right:10px;z-index:1;
  display:flex;align-items:center;gap:6px;
  opacity:0;transition:opacity .4s ease;
}
#gc-wrap .gc-card .gc-name{
  font-weight:700;font-size:13px;color:#fff;letter-spacing:.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-shadow:0 2px 8px rgba(0,0,0,.7);
}
#gc-wrap .gc-card .gc-genre{
  flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.85);
  background:rgba(30,33,40,.7);border:none;
  padding:2px 6px;border-radius:4px;line-height:1.3;
  white-space:nowrap;
}
#gc-wrap .gc-card.gc-active{
  filter:brightness(1);border-color:rgba(255,255,255,.14);
  box-shadow:0 14px 50px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
}
#gc-wrap .gc-card.gc-active .gc-label{opacity:1;}
#gc-wrap .gc-card.gc-near{filter:brightness(0.6);}
.gc-arrow{
  width:38px;height:38px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);background:#0A0A0E;color:#e4e0e0;
  display:grid;place-items:center;cursor:pointer;user-select:none;
  backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);
  box-shadow:0 10px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .14s ease,background .15s ease,border-color .15s ease;
  font-size:0;line-height:0;padding:0;flex-shrink:0;
}
.gc-arrow span{font-size:20px;line-height:1;transform:translateY(-1px);display:block;}
.gc-arrow:hover{transform:translateY(-1px);background:rgba(23,27,32,.75);border-color:rgba(255,255,255,.16);}
.gc-arrow:active{transform:scale(.95);}
.gc-card{cursor:pointer;}
@media(max-width:768px){
  #gc-outer{height:280px;}
  #gc-wrap .gc-card{margin:0 5px;}
}

/* [faq-title-size-fix-v2] */
.fs-faq__title{font-size:32px;font-weight:900;text-align:center;margin-bottom:6px}.fs-faq__subtitle{text-align:center;margin:-4px auto 24px;max-width:900px}
/* [fs-cta-red-glow] */
.cta .panel {
  position: relative;
  overflow: hidden;
}
.cta .panel > *:not(.cta-noise-grid) {
  position: relative;
  z-index: 2;
}
.cta-noise-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-size: 100% 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
  opacity: 1;
}
.cta .panel::before {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  height: 180px;
  background:
    radial-gradient(ellipse 50% 80% at 50% 100%, rgba(232,28,28,.35) 0%, transparent 60%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(191,19,19,.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  filter: blur(12px);
  animation: fsCtaGlowPulse 3s ease-in-out infinite;
}
.cta .panel::after {
  display: none;
}
@keyframes fsCtaGlowPulse{0%,100%{opacity:.7}50%{opacity:1}}
@media(max-width:768px){#cta{padding-top:48px}}

/* [rv-styles] */
#reviews.terms-overlay{position:fixed;inset:0;background:#050608;z-index:9999;overflow-y:auto;padding:72px 0 80px;display:none}
#reviews.terms-overlay.active{display:block}
#reviews .terms-inner{max-width:1100px;margin:0 auto;padding:0 24px 48px;display:flex;flex-direction:column;align-items:center}
#reviews .h2{text-align:center;margin-bottom:16px}
.terms-close{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;margin:0 0 20px;border-radius:999px;border:1px solid rgba(255,255,255,0.12);background:rgba(9,9,11,0.8);color:#e4e1e1;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer}
.terms-close:hover{border-color:rgba(255,255,255,0.28)}
.terms-overlay .terms-inner{max-width:1100px;margin:0 auto;padding:0 24px 48px}
.terms-overlay .terms-inner .h2{text-align:left}
#reviews .terms-close{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;margin:0 auto 20px;border-radius:999px;border:1px solid rgba(255,255,255,0.12);background:rgba(9,9,11,0.8);color:#e4e1e1;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer}
#reviews .terms-close:hover{border-color:rgba(255,255,255,0.28)}
#reviews .terms-body{width:100%}
/* ── Review cards - initially stacked, JS distributes into 2 columns ── */
.rv-grid{display:block}
.rv-grid.rv-ready{display:flex;gap:16px;align-items:flex-start}
.rv-col{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}
.rv-msg{background:#0A0A0E;border:1px solid #2b2d31;border-radius:12px;padding:16px;color:#dbdee1;font-size:14px;line-height:1.55;margin-bottom:16px}
.rv-col .rv-msg{margin-bottom:0}
.rv-hdr{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rv-ava{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#2b2d31}
.rv-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-name-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.rv-author{font-weight:700;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;text-decoration:none;cursor:pointer}
.rv-author:hover{text-decoration:underline;color:#5865F2}
.rv-author img{width:16px;height:16px;vertical-align:-2px;margin:0 1px;display:inline}
.rv-role{font-size:10px;padding:2px 6px;border-radius:4px;border:1px solid;font-weight:600;letter-spacing:.02em;white-space:nowrap;flex-shrink:0;transform:translateY(1px)}
.rv-date{font-size:11px;color:#949ba4}
.rv-body{color:#dbdee1;word-break:break-word;font-size:14px;line-height:1.55}
.rv-body br+br{display:block;margin-top:4px}
/* Constrain native Unicode emoji in message body to Discord-like size */
.rv-body{font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji'}
.rv-body img{max-width:100%;height:auto}
.rv-mention{color:#c9c5ff;background:rgba(88,101,242,.15);padding:0 2px;border-radius:3px}
/* Inline custom Discord emojis inside message text */
.rv-emoji-inline{width:22px;height:22px;vertical-align:middle;margin:0 1px;object-fit:contain;display:inline}
/* Unicode emoji replaced with Twemoji SVGs */
.rv-tw{width:20px;height:20px;vertical-align:middle;margin:0 1px;object-fit:contain;display:inline}
/* Attached images (screenshots etc) */
.rv-attach{max-width:100%;max-height:300px;border-radius:8px;margin-top:10px;border:1px solid #2b2d31;display:block}
/* Reactions row */
.rv-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;overflow:visible;align-items:center}
.rv-reaction{display:inline-flex;align-items:center;gap:5px;background:#0F0F13;border:1px solid #3f4147;border-radius:8px;padding:5px 8px;font-size:14px;color:#dbdee1;line-height:1;white-space:nowrap;vertical-align:middle;box-sizing:border-box}
/* Emoji images inside reaction pills */
.rv-emoji-img{width:18px;height:18px;vertical-align:middle;object-fit:contain;flex-shrink:0;display:inline-block}
.rv-rcount{font-size:13px;line-height:1;vertical-align:middle}
/* Stats header */
.rv-stats{display:flex;gap:24px;justify-content:center;margin:0 0 28px;flex-wrap:wrap}
.rv-stat{text-align:center}
.rv-stat-num{font-size:28px;font-weight:900;color:#fff}
.rv-stat-label{font-size:11px;color:#949ba4;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:700px){.rv-grid.rv-ready{flex-direction:column}.rv-col{flex:none;width:100%}.rv-author{max-width:200px}}

header .menu .chip::before,header .menu .chip::after,header .menu .login::before,header .menu .login::after,.chip::before,.chip::after,.login::before,.login::after{opacity:0;animation:none;transform:rotate(25deg) translateX(-160%)}@media (hover:hover){header .menu .chip:hover:not(:active)::before,header .menu .login:hover:not(:active)::before,.chip:hover:not(:active)::before,.login:hover:not(:active)::before{opacity:1;transform:rotate(25deg) translateX(200%);transition:transform 900ms ease,opacity 260ms ease}header .menu .chip:active::before,header .menu .login:active::before,.chip:active::before,.login:active::before{opacity:0;animation:none;transform:rotate(25deg) translateX(-160%);transition:none}header .menu .chip:active::after,header .menu .login:active::after,.chip:active::after,.login:active::after{opacity:0;animation:none;transform:none;transition:none}}@media (hover:none){header .menu .chip:hover::before,header .menu .login:hover::before,.chip:hover::before,.login:hover::before{opacity:0;animation:none;transform:none}}
@keyframes fs-zoomInOut{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}.fs-zoom-loop{animation:fs-zoomInOut 1.8s ease-in-out infinite;transform-origin:center center;will-change:transform}@keyframes fs-pulseRed{0%{box-shadow:0 0 0 0 rgba(255,102,102,.65);transform:scale(1)}70%{box-shadow:0 0 0 10px rgba(255,102,102,0);transform:scale(1.08)}100%{box-shadow:0 0 0 0 rgba(255,102,102,0);transform:scale(1)}}.legend .dot.red,.bench .dot.red,.bench-legend .dot.red,.dot.red,.dot.optimized,.dot.red.optimized,.fs-bench .legend .dot.red{animation:fs-pulseRed 1.8s ease-in-out infinite;will-change:transform,box-shadow}.faq details{overflow:hidden}.faq .faq-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq .faq-inner{overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .32s ease,transform .32s ease}.faq details[open] .faq-content{grid-template-rows:1fr}.faq details[open] .faq-inner{opacity:1;transform:none}#benchmarks .bench-head .gain.flash{box-shadow:0 0 14px 4px rgba(255,102,102,.22);animation:benchPillFlash .8s ease-out}@keyframes benchPillFlash{0%{box-shadow:0 0 14px 4px rgba(255,102,102,.22)}100%{box-shadow:0 0 0 0 rgba(255,102,102,0)}}100%{box-shadow:0 0 14px 4px rgba(255,102,102,0);opacity:0}100%{box-shadow:0 0 0 20px rgba(255,102,102,0)}
/* [fs-sparkle-btn-styles] */
/* From Uiverse.io by dexter-st - hue changed to red */
.btn-wrapper { position: relative; display: inline-block; }
.fs-book-btn {
  --border-radius: 24px;
  --padding: 4px;
  --transition: 0.4s;
  --button-color: #101010;
  --highlight-color-hue: 355deg;
  user-select: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em 0.5em 0.5em 1.1em;
  font-family: inherit;
  font-size: 1em;
  font-weight: 600;
  text-decoration: none;
  color: #fff;
  background-color: var(--button-color);
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.2),
    inset 0px 2px 2px rgba(255,255,255,0.15),
    inset 0px 4px 4px rgba(255,255,255,0.1),
    inset 0px 8px 8px rgba(255,255,255,0.05),
    inset 0px 16px 16px rgba(255,255,255,0.05),
    0px -1px 1px rgba(0,0,0,0.02),
    0px -2px 2px rgba(0,0,0,0.03),
    0px -4px 4px rgba(0,0,0,0.05),
    0px -8px 8px rgba(0,0,0,0.06),
    0px -16px 16px rgba(0,0,0,0.08);
  border: solid 1px #fff2;
  border-radius: var(--border-radius);
  cursor: pointer;
  transition: box-shadow var(--transition), border var(--transition), background-color var(--transition);
}
.fs-book-btn::before {
  content: "";
  position: absolute;
  top: calc(0px - var(--padding));
  left: calc(0px - var(--padding));
  width: calc(100% + var(--padding) * 2);
  height: calc(100% + var(--padding) * 2);
  border-radius: calc(var(--border-radius) + var(--padding));
  pointer-events: none;
  background-image: linear-gradient(0deg, #0004, #000a);
  z-index: -1;
  transition: box-shadow var(--transition), filter var(--transition);
  box-shadow:
    0 -8px 8px -6px #0000 inset,
    0 -16px 16px -8px #00000000 inset,
    1px 1px 1px #fff2,
    2px 2px 2px #fff1,
    -1px -1px 1px #0002,
    -2px -2px 2px #0001;
}
.fs-book-btn::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border-radius: inherit;
  pointer-events: none;
  background-image: linear-gradient(0deg, #fff, hsl(var(--highlight-color-hue), 100%, 70%), hsla(var(--highlight-color-hue), 100%, 70%, 50%), 8%, transparent);
  background-position: 0 0;
  opacity: 0;
  transition: opacity var(--transition), filter var(--transition);
}
.fs-book-btn .btn-svg {
  flex-grow: 1;
  height: 24px;
  margin-right: 0.5rem;
  fill: #e8e8e8;
  animation: fs-flicker 2s linear infinite 0.5s;
  filter: drop-shadow(0 0 2px #fff9);
  transition: fill var(--transition), filter var(--transition), opacity var(--transition);
}
@keyframes fs-flicker { 50% { opacity: 0.3; } }
.fs-book-btn .txt-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.fs-book-btn .txt-1 { white-space: nowrap; }
.fs-book-btn .btn-letter {
  position: relative;
  display: inline-block;
  color: #fff5;
  animation: fs-letter-anim 2s ease-in-out infinite;
  transition: color var(--transition), text-shadow var(--transition), opacity var(--transition);
}
@keyframes fs-letter-anim { 50% { text-shadow: 0 0 3px #fff8; color: #fff; } }
.fs-book-btn .btn-letter:nth-child(1) { animation-delay: 0s; }
.fs-book-btn .btn-letter:nth-child(2) { animation-delay: 0.08s; }
.fs-book-btn .btn-letter:nth-child(3) { animation-delay: 0.16s; }
.fs-book-btn .btn-letter:nth-child(4) { animation-delay: 0.24s; }
.fs-book-btn .btn-letter:nth-child(5) { animation-delay: 0.32s; }
.fs-book-btn .btn-letter:nth-child(6) { animation-delay: 0.40s; }
.fs-book-btn .btn-letter:nth-child(7) { animation-delay: 0.48s; }
.fs-book-btn .btn-letter:nth-child(8) { animation-delay: 0.56s; }
.fs-book-btn .btn-letter:nth-child(9) { animation-delay: 0.64s; }
.fs-book-btn .btn-letter:nth-child(10) { animation-delay: 0.72s; }
.fs-book-btn .btn-letter:nth-child(11) { animation-delay: 0.80s; }
.fs-book-btn .btn-letter:nth-child(12) { animation-delay: 0.88s; }
.fs-book-btn .btn-letter:nth-child(13) { animation-delay: 0.96s; }
.fs-book-btn .btn-letter:nth-child(14) { animation-delay: 1.04s; }
.fs-book-btn .btn-letter:nth-child(15) { animation-delay: 1.12s; }
.fs-book-btn .btn-letter:nth-child(16) { animation-delay: 1.20s; }
.fs-book-btn .btn-letter:nth-child(17) { animation-delay: 1.28s; }
.fs-book-btn .btn-letter:nth-child(18) { animation-delay: 1.36s; }

/* Hover */
.fs-book-btn:hover {
  border: solid 1px hsla(var(--highlight-color-hue), 100%, 80%, 25%);
}
.fs-book-btn:hover::before {
  box-shadow:
    0 -8px 8px -6px rgba(255,255,255,0.08) inset,
    0 -16px 16px -8px hsla(var(--highlight-color-hue), 100%, 70%, 0.05) inset,
    1px 1px 1px #fff2,
    2px 2px 2px #fff1,
    -1px -1px 1px #0002,
    -2px -2px 2px #0001;
}
.fs-book-btn:hover::after {
  opacity: 0.7;
}
.fs-book-btn:hover .btn-svg {
  fill: #fff;
  filter: drop-shadow(0 0 3px hsl(var(--highlight-color-hue), 100%, 70%)) drop-shadow(0 -4px 6px #0009);
  animation: none;
}

/* Active */
.fs-book-btn:active {
  border: solid 1px hsla(var(--highlight-color-hue), 100%, 80%, 45%);
  background-color: hsla(var(--highlight-color-hue), 50%, 20%, 0.3);
}
.fs-book-btn:active::before {
  box-shadow:
    0 -8px 12px -6px rgba(255,255,255,0.12) inset,
    0 -16px 16px -8px hsla(var(--highlight-color-hue), 100%, 70%, 0.08) inset,
    1px 1px 1px #fff3,
    2px 2px 2px #fff1,
    -1px -1px 1px #0002,
    -2px -2px 2px #0001;
}
.fs-book-btn:active::after {
  opacity: 0.85;
  filter: brightness(150%);
}
.fs-book-btn:active .btn-letter {
  text-shadow: 0 0 1px hsla(var(--highlight-color-hue), 100%, 90%, 90%);
  animation: none;
}

/* Context sizing */
/* Hide icon variant */
.fs-book-btn.fs-no-icon .btn-svg { display: none; }
.fs-book-btn.fs-no-icon { padding-left: 1.1em; }
.plan-actions .btn-wrapper { display: inline-block; }
.plan-actions .fs-book-btn { font-size: 13px; }
#sticky-book-btn.fs-book-btn { font-size: 13px; white-space: nowrap; }
.cta .fs-book-btn { font-size: 15px; }
.hero .fs-book-btn { font-size: 15px; }

/* ═══ VARIANT: Dark button with soft WHITE hover glow ═══ */
.fs-btn-white {
  --highlight-color-hue: 0deg;
}
.fs-btn-white::after {
  background-image: linear-gradient(0deg, #fff, rgba(255,255,255,0.7), rgba(255,255,255,0.35), 8%, transparent);
  mask-image: linear-gradient(0deg, #fff 0%, transparent 40%);
  -webkit-mask-image: linear-gradient(0deg, #fff 0%, transparent 40%);
}
.fs-btn-white:hover {
  border: solid 1px rgba(255,255,255,0.18);
}
.fs-btn-white:hover::before {
  box-shadow:
    0 -8px 8px -6px rgba(255,255,255,0.08) inset,
    0 -16px 16px -8px rgba(255,255,255,0.03) inset,
    1px 1px 1px #fff2,
    2px 2px 2px #fff1,
    -1px -1px 1px #0002,
    -2px -2px 2px #0001;
}
.fs-btn-white:hover .btn-svg {
  fill: #fff;
  filter: drop-shadow(0 0 3px rgba(255,255,255,0.7)) drop-shadow(0 -4px 6px #0009);
  animation: none;
}
.fs-btn-white:active {
  border: solid 1px rgba(255,255,255,0.30);
  background-color: rgba(255,255,255,0.05);
}
.fs-btn-white:active::before {
  box-shadow:
    0 -8px 12px -6px rgba(255,255,255,0.12) inset,
    0 -16px 16px -8px rgba(255,255,255,0.05) inset,
    1px 1px 1px #fff3,
    2px 2px 2px #fff1,
    -1px -1px 1px #0002,
    -2px -2px 2px #0001;
}
.fs-btn-white:active .btn-letter {
  text-shadow: 0 0 1px rgba(255,255,255,0.85);
  animation: none;
}


/* Games carousel consistent title spacing */
#games .h2 { margin-bottom: 6px; }
#games .muted { margin-bottom: 26px; }

/* Consistent gradient on all card/container backgrounds */
#benchmarks .card,
#benchmarks .card-inner,
.hw-card,
.step,
.plan,
.table,
.table .head,
.cmp-card,
.fs-faq__item,
details,
#games .panel,
.cta .panel,
.reviews .card,
.marquee .card,
.modal-card,
.logo,
.frame {
  background: #0a0a0e;
}

/* Plan descriptions slightly smaller */
.plans-grid .plan > p {
  font-size: 13px;
  line-height: 1.45;
}

/* Prevent old .btn/.btn-primary styles from leaking into sparkle buttons */
.fs-book-btn.btn,
.fs-book-btn.btn:hover,
.fs-book-btn.btn:active,
.fs-book-btn.btn-primary,
.fs-book-btn.btn-primary:hover,
.fs-book-btn.btn-primary:active,
.plan .fs-book-btn.btn-primary,
.plan .fs-book-btn.btn-primary:hover,
.cta .fs-book-btn.btn-primary,
.cta .fs-book-btn.btn-primary:hover,
button.fs-book-btn.btn,
button.fs-book-btn.btn:hover,
a.fs-book-btn.btn,
a.fs-book-btn.btn:hover {
  background: none;
  background-color: var(--button-color, #101010);
  background-image: none;
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.2),
    inset 0px 2px 2px rgba(255,255,255,0.15),
    inset 0px 4px 4px rgba(255,255,255,0.1),
    inset 0px 8px 8px rgba(255,255,255,0.05),
    inset 0px 16px 16px rgba(255,255,255,0.05),
    0px -1px 1px rgba(0,0,0,0.02),
    0px -2px 2px rgba(0,0,0,0.03),
    0px -4px 4px rgba(0,0,0,0.05),
    0px -8px 8px rgba(0,0,0,0.06),
    0px -16px 16px rgba(0,0,0,0.08);
  border: solid 1px #fff2;
}
.fs-book-btn.btn:hover,
.fs-book-btn.btn-primary:hover,
a.fs-book-btn.btn:hover,
button.fs-book-btn.btn:hover {
  border: solid 1px hsla(var(--highlight-color-hue), 100%, 80%, 25%);
}
.fs-book-btn.fs-btn-red.btn,
.fs-book-btn.fs-btn-red.btn:hover,
.fs-book-btn.fs-btn-red.btn:active {
  background-color: #e81a22;
}
.fs-book-btn.fs-btn-white.btn:hover {
  border: solid 1px rgba(255,255,255,0.18);
}

/* Hero buttons same height */
.hero .actions .fs-book-btn {
  padding: 0.65em 1.4em;
  font-size: 16px;
}

/* Modal buttons bigger */
.fs-new-actions .fs-book-btn,
.fs-new-modal .fs-new-actions .fs-book-btn,
.fs-new-modal .fs-new-actions button.fs-book-btn,
.fs-new-modal .fs-new-actions #fs-new-cta,
button#fs-new-cta.fs-book-btn,
button.fs-book-btn[data-close],
.fs-new-actions .btn-wrapper .fs-book-btn,
.fs-new-actions .btn-wrapper button.btn {
  font-size: 16px;
  padding: 0.75em 1.6em;
  min-height: 48px;
}

/* CTA section buttons bigger with more bottom gap */
.cta .fs-book-btn {
  font-size: 16px;
  padding: 0.8em 1.3em;
}
.cta .cta-actions,
.cta .actions,
.cta .centered {
  margin-bottom: 40px;
}

/* Force pill radius on plan sparkle buttons over .plans-grid overrides */
.plans-grid .plan .fs-book-btn,
.plans-grid .plan .plan-actions .fs-book-btn,
.plans-grid .plan .btn.fs-book-btn,
.plan-actions .btn-wrapper .fs-book-btn {
  border-radius: 24px;
}




/* ═══ VARIANT: Light/white button with soft DARK hover glow ═══ */
.fs-btn-light {
  --button-color: #ffffff;
  --highlight-color-hue: 0deg;
  color: #0e0e12;
  border: solid 1px rgba(255,255,255,0.3);
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.5),
    inset 0px 2px 2px rgba(255,255,255,0.3),
    inset 0px 4px 4px rgba(255,255,255,0.15),
    0px 2px 4px rgba(0,0,0,0.12),
    0px 4px 8px rgba(0,0,0,0.10),
    0px 8px 16px rgba(0,0,0,0.08);
}
.fs-btn-light .btn-letter {
  color: #000;
}
@keyframes fs-letter-anim-dark { 50% { text-shadow: none; color: #000; } }
.fs-btn-light .btn-letter {
  animation-name: fs-letter-anim-dark;
}
.fs-btn-light .btn-svg {
  fill: #3a3a42;
  filter: drop-shadow(0 0 2px rgba(0,0,0,0.3));
}
@keyframes fs-flicker-dark { 50% { opacity: 0.35; } }
.fs-btn-light .btn-svg {
  animation-name: fs-flicker-dark;
}
.fs-btn-light::after {
  background-image: linear-gradient(0deg, rgba(0,0,0,0.5), rgba(0,0,0,0.3), rgba(0,0,0,0.15), 8%, transparent);
}
.fs-btn-light:hover {
  border: solid 1px rgba(0,0,0,0.30);
}
.fs-btn-light:hover::before {
  box-shadow:
    0 -8px 8px -6px rgba(0,0,0,0.42) inset,
    0 -16px 16px -8px rgba(0,0,0,0.20) inset,
    1px 1px 1px rgba(255,255,255,0.10),
    2px 2px 2px rgba(255,255,255,0.05),
    -1px -1px 1px rgba(0,0,0,0.08),
    -2px -2px 2px rgba(0,0,0,0.06);
}
.fs-btn-light:hover::after {
  opacity: 0.8;
  background-image: linear-gradient(0deg, rgba(0,0,0,0.55), rgba(0,0,0,0.30), rgba(0,0,0,0.10), transparent);
}
.fs-btn-light:hover .btn-svg {
  fill: #000;
  filter: drop-shadow(0 0 3px rgba(0,0,0,0.3)) drop-shadow(0 -4px 6px rgba(0,0,0,0.15));
  animation: none;
}
.fs-btn-light:hover .btn-letter {
  color: #000;
}
.fs-btn-light:active {
  border: solid 1px rgba(0,0,0,0.40);
  background-color: rgba(0,0,0,0.08);
}
.fs-btn-light:active::before {
  box-shadow:
    0 -8px 12px -6px rgba(0,0,0,0.52) inset,
    0 -16px 16px -8px rgba(0,0,0,0.28) inset,
    1px 1px 1px rgba(255,255,255,0.08),
    2px 2px 2px rgba(255,255,255,0.04),
    -1px -1px 1px rgba(0,0,0,0.10),
    -2px -2px 2px rgba(0,0,0,0.08);
}
.fs-btn-light:active::after {
  opacity: 0.8;
  filter: brightness(120%);
}
.fs-btn-light:active .btn-letter {
  text-shadow: 0 0 1px rgba(0,0,0,0.5);
  animation: none;
  color: #0e0e12;
}
.fs-new-actions .btn-wrapper { display: inline-block; }
.fs-new-actions .fs-btn-light { margin-left: 16px; }
.fs-new-actions .fs-book-btn:not(.fs-btn-light) { }

/* No text shine variant */
.fs-book-btn.fs-no-shine .btn-letter {
  animation: none;
  color: #e5e3e3;
  text-shadow: none;
}
.fs-book-btn.fs-no-shine:hover .btn-letter {
  color: #fff;
}

/* Red variant for booking buttons */
.fs-book-btn.fs-btn-red {
  --button-color: #e81a22;
  background-color: #e81a22;
  border-color: rgba(207,23,30,0.50);
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.20),
    inset 0px 2px 2px rgba(255,255,255,0.15),
    inset 0px 4px 4px rgba(255,255,255,0.10),
    inset 0px 8px 8px rgba(255,255,255,0.05),
    inset 0px 16px 16px rgba(255,255,255,0.05),
    0px -1px 1px rgba(0,0,0,0.02),
    0px -2px 2px rgba(0,0,0,0.03),
    0px -4px 4px rgba(0,0,0,0.05),
    0px -8px 8px rgba(0,0,0,0.06),
    0px -16px 16px rgba(0,0,0,0.08),
    0px 4px 14px rgba(157,15,24,0.35);
}

/* Gold variant for OptiFlow button */
.fs-book-btn.fs-btn-gold {
  --button-color: #c9981f;
  --highlight-color-hue: 43deg;
  background-color: #c9981f;
  background-image: linear-gradient(180deg, #f5d36e, #c9981f);
  border-color: rgba(241,199,107,0.40);
  color: #1a1200;
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.45),
    inset 0px 2px 2px rgba(255,255,255,0.30),
    inset 0px 4px 4px rgba(255,255,255,0.18),
    0px 2px 4px rgba(0,0,0,0.12),
    0px 4px 8px rgba(0,0,0,0.10),
    0px 8px 16px rgba(0,0,0,0.08),
    0px 4px 14px rgba(185,137,33,0.35);
}
.fs-book-btn.fs-btn-gold .btn-letter {
  color: #000;
  animation-name: fs-letter-anim-dark;
}
.fs-book-btn.fs-btn-gold.fs-no-shine .btn-letter {
  animation: none;
  color: #000;
  text-shadow: none;
}
.fs-book-btn.fs-btn-gold.fs-no-shine:hover .btn-letter {
  color: #000;
}
.fs-book-btn.fs-btn-gold .btn-svg {
  fill: #3a2a00;
  filter: drop-shadow(0 0 2px rgba(0,0,0,0.2));
  animation-name: fs-flicker-dark;
}
.fs-book-btn.fs-btn-gold::before {
  background-image: linear-gradient(0deg, rgba(0,0,0,0.05), rgba(0,0,0,0.12));
}
.fs-book-btn.fs-btn-gold::after {
  background-image: linear-gradient(0deg, rgba(0,0,0,0.45), rgba(0,0,0,0.25), rgba(0,0,0,0.10), transparent);
  mask-image: linear-gradient(0deg, #fff 0%, transparent 40%);
  -webkit-mask-image: linear-gradient(0deg, #fff 0%, transparent 40%);
  transition: opacity 0.4s ease;
}
.fs-book-btn.fs-btn-gold:hover {
  border-color: rgba(200,160,40,0.45);
  background-image: linear-gradient(180deg, #f9da7a, #d4a425);
}
.fs-book-btn.fs-btn-gold:hover::before {
  box-shadow:
    0 -8px 8px -6px rgba(0,0,0,0.12) inset,
    0 -16px 16px -8px rgba(0,0,0,0.06) inset,
    1px 1px 1px rgba(255,255,255,0.10),
    2px 2px 2px rgba(255,255,255,0.05),
    -1px -1px 1px rgba(0,0,0,0.06),
    -2px -2px 2px rgba(0,0,0,0.04);
}
.fs-book-btn.fs-btn-gold:hover::after {
  opacity: 0.65;
  background-image: linear-gradient(0deg, rgba(0,0,0,0.50), rgba(0,0,0,0.28), rgba(0,0,0,0.10), transparent);
}
.fs-book-btn.fs-btn-gold:hover .btn-svg {
  fill: #000;
  filter: drop-shadow(0 0 3px rgba(0,0,0,0.3)) drop-shadow(0 -4px 6px rgba(0,0,0,0.15));
  animation: none;
}
.fs-book-btn.fs-btn-gold:hover .btn-letter {
  color: #000;
}
.fs-book-btn.fs-btn-gold:active {
  border-color: rgba(241,199,107,0.55);
  background-image: linear-gradient(180deg, #ecc85e, #b5891a);
  background-color: rgba(0,0,0,0.04);
}
.fs-book-btn.fs-btn-gold:active::before {
  box-shadow:
    0 -8px 12px -6px rgba(0,0,0,0.14) inset,
    0 -16px 16px -8px rgba(0,0,0,0.08) inset,
    1px 1px 1px rgba(255,255,255,0.08),
    2px 2px 2px rgba(255,255,255,0.04),
    -1px -1px 1px rgba(0,0,0,0.08),
    -2px -2px 2px rgba(0,0,0,0.06);
}
.fs-book-btn.fs-btn-gold:active::after {
  opacity: 0.7;
  filter: brightness(110%);
}
.fs-book-btn.fs-btn-gold:active .btn-letter {
  text-shadow: 0 0 1px rgba(0,0,0,0.3);
  animation: none;
  color: #1a1200;
}

/* Text centering fix */
.fs-book-btn {
  text-align: center;
  justify-content: center;
}
.fs-book-btn .btn-svg {
  flex-grow: 0;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-right: 8px;
}
.fs-book-btn .txt-wrapper {
  justify-content: center;
  width: auto;
  flex-grow: 0;
}
.fs-book-btn .txt-1 {
  position: relative;
}
.fs-book-btn.fs-no-icon {
  padding: 0.5em 1.1em;
  justify-content: center;
}

/* Modal button overrides - force sparkle styles over .fs-new-cta */
.fs-new-actions .btn-wrapper { display: inline-block; }
.fs-new-actions .fs-book-btn,
.fs-new-actions .fs-book-btn.fs-no-icon,
.fs-new-modal .fs-new-actions .fs-book-btn,
.fs-new-modal .fs-new-actions #fs-new-cta,
.fs-new-modal .fs-new-actions #fs-new-cta.fs-book-btn,
.fs-new-modal .fs-new-actions #fs-new-cta.btn,
.fs-new-modal .fs-new-actions button.fs-book-btn,
button#fs-new-cta.fs-book-btn,
button.fs-book-btn[data-close] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--button-color, #101010);
  background-image: none;
  color: #fff;
  border-radius: 24px;
  padding: 0.5em 1.1em;
  text-align: center;
  width: auto;
  height: auto;
  min-width: auto;
  min-height: auto;
  margin: 0;
  border: solid 1px rgba(255,255,255,0.08);
  font-size: 14px;
}
button#fs-new-cta.fs-book-btn.fs-btn-red,
.fs-new-modal .fs-new-actions #fs-new-cta.fs-btn-red {
  background-color: #e81a22;
  border-color: rgba(218,22,29,0.50);
}
button.fs-book-btn.fs-btn-light[data-close],
.fs-new-actions button.fs-book-btn.fs-btn-light {
  background-color: #ffffff;
  color: #0e0e12;
  border-color: rgba(255,255,255,0.3);
}
.fs-new-actions button.fs-book-btn.fs-btn-gold,
.fs-new-modal .fs-new-actions .fs-btn-gold {
  background-color: #c9981f;
  background-image: linear-gradient(180deg, #f5d36e, #c9981f);
  color: #000;
  border-color: rgba(241,199,107,0.40);
}
.fs-new-actions .fs-book-btn .btn-svg { display: none; }
.fs-new-actions .btn-wrapper + .btn-wrapper { margin-left: 12px; }
.fs-new-actions .fs-right { margin-left: auto; }

.fs-btn-light::after {
  mask-image: linear-gradient(0deg, #fff 0%, transparent 40%);
  -webkit-mask-image: linear-gradient(0deg, #fff 0%, transparent 40%);
  transition: opacity var(--fs-transition);
}
/* Close button whiter */
.fs-btn-light::before {
  background-image: linear-gradient(0deg, rgba(0,0,0,0.05), rgba(0,0,0,0.15));
}
.fs-btn-light {
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.7),
    inset 0px 2px 2px rgba(255,255,255,0.4),
    inset 0px 4px 4px rgba(255,255,255,0.2),
    0px 2px 4px rgba(0,0,0,0.08),
    0px 4px 8px rgba(0,0,0,0.06);
}

/* Light button no-shine override - black text */
.fs-btn-light.fs-no-shine .btn-letter {
  color: #000;
}
.fs-btn-light.fs-no-shine:hover .btn-letter {
  color: #000;
}

/* Plan + modal images depth effect */
.plan-img {
  box-shadow: 0 6px 20px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.25);
  border: 1px solid rgba(0,0,0,.35);
}
.fs-new-hero {
  box-shadow: 0 6px 20px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04);
  border: 1px solid rgba(0,0,0,.30);
}

/* Plan modal hero image: no border, smooth 3D depth */
.fs-new-hero {
  border: none;
  box-shadow: 0 6px 20px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.25);
}
.fs-new-hero img {
  border-radius: 13px;
}
/* Plan modal dropdown: no outline, 3D bevel like other sections */
.fs-new-accordion {
  box-shadow: 0 4px 16px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.05);
  border: none;
}

/* Force modal actions center alignment */
.fs-new-modal .fs-new-actions,
.fs-new-actions {
  align-items: center;
}
.fs-new-actions .btn-wrapper {
  display: inline-flex;
  align-items: center;
}
.fs-new-actions .fs-right {
  align-items: center;
  align-self: center;
}
.fs-right .fs-new-pill {
  transform: none;
}

/* Modal buttons alignment with gold pills */
.fs-new-actions {
  align-items: center;
  margin-top: 28px;
  padding-left: 6px;
}
.fs-new-actions .btn-wrapper {
  display: inline-flex;
  align-items: center;
}

:root{--fs-price-label-color:rgba(155,163,175,1)}.price{display:inline-flex;align-items:baseline}.price .amount{margin-right:4px}.price .ccy,.price .conv{color:var(--fs-price-label-color);font-size:15px;font-weight:400;line-height:1;letter-spacing:.02em;position:relative;top:-5px}.price .ccy{margin-left:4px}.price .conv{margin-left:4px}
/* [fs-new-modal-styles] */
.fs-new-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999;background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}.fs-new-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s ease,visibility 0s}.fs-new-modal__backdrop{display:none}.fs-new-modal__dialog{position:relative;width:520px;max-width:95vw;max-height:90vh;background:#0a0a0e;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45);padding:24px 18px 22px;transform:translateY(16px);opacity:0;transition:opacity .3s ease,transform .3s ease;overflow:auto}.fs-new-modal.is-open .fs-new-modal__dialog{opacity:1;transform:none}.fs-new-modal__x{position:absolute;top:10px;right:12px;background:#2a2d33;border:none;border-radius:999px;color:#d8d5d2;font-size:18px;width:28px;height:28px;cursor:pointer}.fs-new-title{color:#fff;font-weight:700;font-size:18px;text-align:center;margin:2px 12px 10px 0;position:relative;top:-6px;line-height:1}.fs-new-hero{border-radius:14px;overflow:hidden;margin:6px 6px 14px}.fs-new-hero img{display:block;width:100%;height:auto}.fs-new-accordion{background:#0a0a0e;border-radius:14px;padding:10px 12px;margin:0 6px 16px}.fs-new-accordion__toggle{display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;color:#e5e2e0;width:100%;padding:10px 8px;font-size:17px;cursor:pointer;transform:none;transition:none}.fs-new-pill{display:inline-block;background:linear-gradient(180deg,#f1c76b,#b88921);color:#1b1b1b;font-weight:700;border-radius:999px;padding:6px 10px;font-size:12px;margin-right:10px}.fs-new-chevron{transition:transform .2s ease}.fs-new-accordion.is-open .fs-new-chevron{transform:rotate(180deg)}.fs-new-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .28s ease,opacity .28s ease,padding .28s ease;padding:0}.fs-new-accordion.is-open .fs-new-panel{opacity:1;pointer-events:auto;padding:10px 0 16px 6px}.fs-benefit{display:flex;align-items:center;gap:8px;color:#d4d1cf;font-size:14px}.fs-benefit:before{content:"✓";color:#19d47b;font-size:15px;font-weight:700}.fs-benefit.sec:before{content:"✓";color:#ffffff}.fs-new-sep{height:1px;background:#2d2f36;margin:14px 0}.fs-new-price{position:absolute;top:22px;left:36px;color:#fff;font-size:18px;font-weight:700;margin:0;line-height:1}.fs-new-cta{display:block;white-space:nowrap;margin:12px 6px 0;background:#e4e6ed;color:#111;text-align:center;padding:12px 14px;border-radius:10px;font-weight:700;border:none;cursor:pointer}.fs-new-desc{color:#cdd0ce;text-align:right;font-size:12.5px;line-height:1.35;max-width:58%;margin-left:auto}.fs-new-actions{display:flex;align-items:center;gap:2px;justify-content:flex-start;margin:12px 6px 0}.fs-new-accordion__toggle:hover{background:transparent;box-shadow:none}.fs-new-accordion__toggle:active{transform:none;box-shadow:none}.fs-new-accordion__toggle:focus{outline:none}.fs-new-hero img{transform:none;filter:none}.fs-new-hero:hover img{transform:none}.fs-new-cta--danger{background:#e81a1a;color:#fff;min-width:40px;min-height:40px;padding:0;border-radius:8px;border:none}.fs-new-modal__x{display:none}.fs-new-cta--danger:hover,.fs-new-cta--danger:active{background:#e81a1a;opacity:1;transform:none}.fs-new-bottom{display:flex;align-items:center;justify-content:flex-start;gap:8px}.fs-new-bottom .fs-new-price{font-weight:700;font-size:1.3rem;color:#fff;margin-right:14px}.fs-new-actions .fs-new-price{position:static;font-size:22px;font-weight:900;background-image:linear-gradient(90deg,#c7c7c7 0%,#ffffff 20%,#c0c0c0 40%,#b1b1b1 60%,#ffffff 80%,#c7c7c7 100%);background-size:200% 100%;background-position:-100% 0;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:priceShine 2.8s linear infinite}@keyframes priceShine{from{background-position:100% 0}to{background-position:-100% 0}}.fs-new-modal__title{font-size:1.6rem;font-weight:800;letter-spacing:0.5px;text-transform:none;background:linear-gradient(135deg,#fff 0%,#d4d4d4 40%,#a6a6a6 70%,#ffffff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-top:8px}.fs-new-modal__header{padding-top:24px}.fs-new-actions .fs-new-price{position:static;font-size:22px;font-weight:900;background-image:linear-gradient(90deg,#c7c7c7 0%,#ffffff 20%,#c0c0c0 40%,#b1b1b1 60%,#ffffff 80%,#c7c7c7 100%);background-size:200% 100%;background-position:-100% 0;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:priceShine 2.8s linear infinite}50%{left:100%}100%{left:100%}.fs-new-pill{background:linear-gradient(180deg,#ffd76a,#b98a1f);color:#000;font-weight:700;padding:6px 14px;border-radius:9999px;font-size:0.8rem;margin-left:10px;box-shadow:0 0 8px rgba(255,215,100,0.3)}.fs-new-actions .fs-new-pill{margin-left:auto}.fs-new-actions{align-items:flex-end}.fs-right{margin-left:auto;display:flex;align-items:flex-end;gap:8px}.fs-right .fs-new-price{margin-top:6px}.fs-right .fs-new-pill{margin-top:6px}.fs-right .fs-new-price{font-size:1.35rem;font-weight:800;line-height:1;margin-top:6px;transform:translateY(1px)}.fs-right{display:flex;align-items:center;gap:8px}.fs-right .fs-new-price{font-size:1.35rem;font-weight:800;line-height:1;margin:0;transform:none}.fs-right .fs-new-pill{transform:translateY(-2px)}.fs-right .fs-new-pill{transform:translateY(-3px)}.fs-new-title span{font-weight:800}.fs-new-title{font-weight:400}.fs-new-title span{font-weight:800}.fs-new-title{font-weight:400}.fs-first-word{font-weight:600}@media (max-width:565px){.fs-new-modal__dialog{width:92vw;max-width:92vw}}
.fs-new-allplans{
  font-size:12px;
  color:#a8a5a5;
  margin:2px 0 4px;
  text-align:center;
  grid-column:1 / -1;
}
.fs-new-sep{
  margin:10px 0 2px;
}
@media (max-width: 555px) {
  .fs-pill-item {
    min-width: calc(50% - 4px);
  }
  .fs-pill-item:last-child {
    flex-basis: 100%;
    min-width: 100%;
  }
}

#fs-pay-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999;background:rgba(0,0,0,0.7);opacity:0;transition:opacity .38s cubic-bezier(.22,.61,.36,1)}#fs-pay-modal.active{display:flex;opacity:1}#fs-pay-modal .dialog{background:#111;padding:28px;border-radius:12px;max-width:340px;width:90%;text-align:center;color:#fff;opacity:0;transition:opacity .38s cubic-bezier(.22,.61,.36,1)}#fs-pay-modal.active .dialog{opacity:1}#fs-pay-modal .btn-pay{display:block;width:100%;margin-top:12px;border-radius:10px;padding:12px 0;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,filter .2s ease,box-shadow .18s ease;box-shadow:0 6px 18px rgba(0,0,0,.28)}#fs-pay-paypal{background:#003087;color:#fff}#fs-pay-paypal:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 10px 24px rgba(0,48,135,.45),0 0 0 1px rgba(255,255,255,.06) inset}#fs-pay-card{background:#fff;color:#111}#fs-pay-card:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 10px 24px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.06) inset}#fs-pay-stripe{background:#635BFF;color:#fff}#fs-pay-stripe:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 10px 24px rgba(99,91,255,.25),0 0 0 1px rgba(255,255,255,.06) inset}#fs-pay-modal h3{margin:0 0 16px}

/* [final-subtext-spacing-override] */
#hardware-optimization .muted,.reviews .container>.muted,section.plans .container>.muted,.howit-sub,.why-title + .muted,.fs-faq__subtitle,#games .container>.muted{margin-bottom:24px}
/* [plan-cta-width-final] */
@media (min-width:601px) and (max-width:1000px){.plans-grid .plan .plan-actions .btn,.plan .plan-actions .btn{min-width:170px;width:auto;padding:13px 14px;flex:0 0 auto;white-space:nowrap}}
/* [plan-cta-mobile-wider] */
@media (max-width:600px){.plans-grid .plan .plan-actions,.plan .plan-actions{gap:8px}.plans-grid .plan .plan-actions .btn,.plan .plan-actions .btn{min-width:53%}.plans-grid .plan .plan-actions .or,.plan .plan-actions .or{margin:0 4px}}
/* [plan-cta-mobile-breakpoint-fix] */
@media (min-width:461px) and (max-width:600px){.plans-grid .plan .plan-actions,.plan .plan-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px}.plans-grid .plan .plan-actions .btn,.plan .plan-actions .btn{flex:1 1 0;min-width:48%;white-space:nowrap}.plans-grid .plan .plan-actions .or,.plan .plan-actions .or{flex:0 0 auto;margin:0 4px;white-space:nowrap}}@media (max-width:460px){.plans-grid .plan .plan-actions,.plan .plan-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:8px}.plans-grid .plan .plan-actions .btn,.plan .plan-actions .btn{flex:1 1 0;min-width:0;padding:10px 10px;font-size:13px;white-space:nowrap}.plans-grid .plan .plan-actions .or,.plan .plan-actions .or{display:none}}
@media (max-width:565px){.fs-new-modal .fs-new-actions button:not(#fs-new-cta){margin-left:8px}.fs-new-modal .fs-new-actions .fs-price{margin-left:12px}.fs-new-modal .fs-new-actions .fs-suitability{margin-left:12px}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-price,.fs-new-modal .fs-new-actions .fs-suitability{margin-left:15px}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .price,.fs-new-modal .fs-new-actions .fs-new-pill{transform:translateX(3px)}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-new-pill{transform:translate(3px,-2px)}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-new-pill{transform:translate(3px,-4px)}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-new-pill{transform:translate(3px,-3px)}}
@media (max-width:565px){.fs-new-modal .fs-new-actions .price{transform:translateX(5px)}}
@media (max-width:565px){.fs-new-modal__dialog{padding-bottom:10px}.fs-new-modal .fs-new-actions{margin-bottom:0;padding-bottom:0}}
@media (max-width:565px){.fs-new-modal{padding-bottom:0}.fs-new-modal__dialog{padding-bottom:0}.fs-new-modal .fs-new-actions{margin-bottom:0;padding-bottom:0}}
@media (max-width:565px){.fs-new-modal{padding-bottom:0}.fs-new-modal__dialog>*:last-child{margin-bottom:0}.fs-new-modal .fs-new-actions{margin-bottom:-8px;padding-bottom:0}}
@media (min-width:566px){.fs-new-modal__dialog{padding-bottom:32px}.fs-new-modal .fs-new-actions{margin-bottom:12px;padding-bottom:0}}
@media (min-width:566px){.fs-new-modal__dialog{padding:18px}.fs-new-modal .fs-new-actions{margin-bottom:6px;padding-bottom:0}}
@media (min-width:566px){.fs-new-modal .fs-new-actions{align-items:center}.fs-new-modal .fs-new-actions .price,.fs-new-modal .fs-new-actions .fs-new-pill{transform:translateY(6px)}}
@media (min-width:566px){.fs-new-modal .fs-new-actions{align-items:center}.fs-new-modal .fs-new-actions #fs-new-price,.fs-new-modal .fs-new-actions .fs-new-price{transform:translateY(4px)}.fs-new-modal .fs-new-actions .fs-new-pill{transform:translateY(4px)}}
@media (min-width:566px){.fs-new-modal .fs-new-actions #fs-new-price,.fs-new-modal .fs-new-actions .fs-new-price{transform:translateY(6px)}.fs-new-modal .fs-new-actions .fs-new-pill{transform:translateY(2px)}}
@media (min-width:566px){.fs-new-modal .fs-new-actions .fs-new-pill{transform:translateY(2.5px)}}
@media (min-width:566px){.fs-new-modal .fs-new-actions #fs-new-price,.fs-new-modal .fs-new-actions .fs-new-price{transform:translate(5px,6px)}.fs-new-modal .fs-new-actions .fs-new-pill{transform:translate(5px,2.5px)}}
@media (min-width:566px){.fs-new-modal .fs-new-actions #fs-new-price,.fs-new-modal .fs-new-actions .fs-new-price{transform:translate(7px,6px)}.fs-new-modal .fs-new-actions .fs-new-pill{transform:translate(7px,2.5px)}}
@media (min-width:566px){.fs-new-modal .fs-new-actions #fs-new-cta{transform:translateX(-2px)}.fs-new-modal .fs-new-actions button:not(#fs-new-cta){transform:translateX(-2px)}}
/* [fs-mobile-cta-wider-16px-gutters] */
@media (max-width:565px){.fs-new-modal .fs-new-actions #fs-new-cta{display:block;box-sizing:border-box;width:calc(100% - 32px);margin-left:16px;margin-right:16px}}
/* [fs-mobile-cta-wider-12px-gutters] */
@media (max-width:565px){.fs-new-modal .fs-new-actions #fs-new-cta{display:block;box-sizing:border-box;width:calc(100% - 24px);margin-left:12px;margin-right:12px}}
/* [fs-mobile-cta-wider-8px-gutters] */
@media (max-width:565px){.fs-new-modal .fs-new-actions #fs-new-cta{display:block;box-sizing:border-box;width:calc(100% - 16px);margin-left:8px;margin-right:8px}}
/* [fs-mobile-cta-wider-4px-gutters] */
@media (max-width:565px){.fs-new-modal .fs-new-actions #fs-new-cta{display:block;box-sizing:border-box;width:calc(100% - 8px);margin-left:4px;margin-right:4px}}
/* [fs-mobile-cta-wider-2px-gutters] */
@media (max-width:565px){.fs-new-modal .fs-new-actions #fs-new-cta{display:block;box-sizing:border-box;width:calc(100% - 4px);margin-left:2px;margin-right:2px}}
/* [fs-mobile-cta-wider-0px-gutters] */
@media (max-width:565px){.fs-new-modal .fs-new-actions #fs-new-cta{display:block;box-sizing:border-box;width:100%;margin-left:0;margin-right:0}}
/* [fs-mobile-close-left-only] */
@media (max-width:565px){.fs-new-modal .fs-new-actions button:nth-of-type(2){transform:translateX(-8px)}}
/* [fs-mobile-right-no-vertical-plus3] */
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-new-price,.fs-new-modal .fs-new-actions .fs-price{position:relative;left:8px;transform:none;top:auto}.fs-new-modal .fs-new-actions .fs-new-pill,.fs-new-modal .fs-new-actions .fs-suitability{position:relative;left:8px;transform:none;top:auto}}
/* [fs-mobile-right-no-vertical-plus4] */
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-new-price,.fs-new-modal .fs-new-actions .fs-price{position:relative;left:9px;transform:none;top:auto}.fs-new-modal .fs-new-actions .fs-new-pill,.fs-new-modal .fs-new-actions .fs-suitability{position:relative;left:9px;transform:none;top:auto}}
/* [fs-mobile-pill-align-up] */
@media (max-width:565px){.fs-new-modal .fs-new-actions .fs-new-pill,.fs-new-modal .fs-new-actions .fs-suitability{position:relative;top:-2px}}
/* [fs-mobile-modal-bottom-padding-reduce] */
@media (max-width:565px){.fs-new-modal__dialog{padding-bottom:12px}.fs-new-actions{margin-bottom:2px;padding-bottom:0}}
/* [fs-mobile-bottom-space-tighter-v2] */
@media (max-width:565px){.fs-new-modal__dialog{padding-bottom:2px;box-sizing:border-box}.fs-new-actions{margin-bottom:-1px;padding-bottom:0}.fs-new-modal:not(.fs-scrollable),.fs-new-modal:not(.fs-scrollable) .fs-new-modal__content,.fs-new-modal:not(.fs-scrollable) .fs-new-modal__dialog{overflow-y:hidden}.fs-new-modal.fs-scrollable,.fs-new-modal.fs-scrollable .fs-new-modal__content,.fs-new-modal.fs-scrollable .fs-new-modal__dialog{overflow-y:auto;-webkit-overflow-scrolling:touch}}

/* [fs-modal-uniform-padding] */
@media (min-width:566px){.fs-new-modal__dialog{padding:26px 18px 16px}.fs-new-hero{margin-top:0;margin-bottom:14px}.fs-new-actions{margin-bottom:0}}

.plan .price .amount{background-image:linear-gradient(90deg,#c7c7c7 0%,#ffffff 20%,#c0c0c0 40%,#b1b1b1 60%,#ffffff 80%,#c7c7c7 100%);background-size:200% 100%;background-position:-100% 0;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:priceShine 2.8s linear infinite}
.plans-grid .plan{padding-bottom:8px}
.plans-grid .plan{padding-bottom:13px}
/* [plan-cta-mobile-centering-fix] */
@media (max-width:600px){.plans-grid .plan .plan-actions,.plan .plan-actions{justify-content:center;align-items:center;gap:12px;text-align:center}.plans-grid .plan .plan-actions .btn,.plan .plan-actions .btn{flex:0 0 auto;min-width:46%;margin:0}.plans-grid .plan .plan-actions .or,.plan .plan-actions .or{flex:0 0 auto;margin:0 8px;width:auto;text-align:center;white-space:nowrap}}
/* [plan-cta-1001-1200-lock] */
@media (min-width:1001px) and (max-width:1200px){.plans-grid .plan .plan-actions,.plan .plan-actions{gap:14px;flex-wrap:nowrap}.plans-grid .plan .plan-actions .btn,.plan .plan-actions .btn{width:auto;min-width:unset;padding:10px 16px;white-space:nowrap;flex:0 0 auto}}

/* Nudge CTA helper note down slightly (no padding, just margin) */
.fs-cta-helper{
  margin-top: 18px;
}

/* Ensure CTA helper is mathematically centered */
.fs-cta-helper{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.normal-text {
    font-size: inherit;
    font-weight: inherit;
}

.support-text {
    font-size: 0.95rem;
    font-weight: 500;
}

.support-text {
    font-size: 0.95rem;
    font-weight: 400;
    color: #a8a5a5;
}

.payment-badges {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 10px;
}

.payment-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: #16c55f;
    color: #0b1a10;
    font-size: 0.72rem;
    font-weight: 500;
    border-radius: 6px;
    white-space: nowrap;
}

.payment-badge svg {
    width: 14px;
    height: 14px;
}

/* Match global section title style */
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 0.5rem;
}

  font-size: 1rem;
  color: #a09e9c;
  text-align: center;
  max-width: none;
  margin: 0 auto 1.2rem;
}

/* MODERN MEET THE TEAM REDESIGN */

/* Modern header */
  text-align: center;
  margin-bottom: 56px;
}

  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, #ffffff 0%, #e0e5ea 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 14px;
}

  font-size: 1.15rem;
  color: #a09e9c;
  opacity: 0.92;
}

/* Modern category headers */
  display: flex;
  justify-content: center;
  margin: 54px 0 28px;
}

  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 12px 28px;
  backdrop-filter: blur(10px);
}

  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  margin: 0;
}

/* Modern cards */
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 22px;
}

  border-radius: 22px;
  background: linear-gradient(145deg, rgba(22, 24, 28, 0.7), rgba(12, 14, 17, 0.9));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.15);
}

  height: 240px;
}

  transform: scale(1.08);
  filter: saturate(1.15) contrast(1.1) brightness(0.93);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

  transform: scale(1.18);
  filter: saturate(1.25) contrast(1.15) brightness(1.02);
}

  font-size: 24px;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  padding: 10px 12px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
}

  padding: 20px 22px 22px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.35));
}

  font-size: 1.3rem;
  font-weight: 700;
}

  padding: 7px 14px;
  border-radius: 10px;
  font-weight: 600;
}

  background: rgba(60, 140, 255, 0.15);
  border-color: rgba(60, 140, 255, 0.35);
  color: #8ec5ff;
  box-shadow: 0 0 20px rgba(60, 140, 255, 0.15);
}

  background: rgba(255, 166, 77, 0.15);
  border-color: rgba(255, 166, 77, 0.35);
  color: #ffc280;
  box-shadow: 0 0 20px rgba(255, 166, 77, 0.15);
}

  background: rgba(255, 83, 107, 0.15);
  border-color: rgba(255, 83, 107, 0.35);
  color: #ff94a8;
  box-shadow: 0 0 20px rgba(255, 83, 107, 0.15);
}

  background: rgba(0, 213, 53, 0.15);
  border-color: rgba(0, 213, 53, 0.35);
  color: #6eff98;
  box-shadow: 0 0 20px rgba(0, 213, 53, 0.15);
}

  border-color: rgba(60, 140, 255, 0.25);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(60, 140, 255, 0.08);
}

  border-color: rgba(255, 166, 77, 0.22);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(255, 166, 77, 0.07);
}

  border-color: rgba(255, 83, 107, 0.22);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(255, 83, 107, 0.07);
}

  border-color: rgba(0, 213, 53, 0.22);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(0, 213, 53, 0.07);
}

@media (max-width: 900px) {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
    height: 220px;
  }
}

@media (max-width: 600px) {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }
    height: 200px;
  }
}

@media (max-width: 420px) {
    grid-template-columns: 1fr;
  }
}
/* MODERN INTRO SECTION REDESIGN */

  max-width: 900px;
  margin: 48px auto;
  padding: 42px 48px;
  background: linear-gradient(145deg, rgba(18, 20, 24, 0.85), rgba(10, 12, 15, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 80px rgba(255, 64, 69, 0.03);
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(20px);
}

  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 64, 69, 0.3), transparent);
}

  content: '';
  position: absolute;
  inset: 0;

  pointer-events: none;
  opacity: 0.6;
}

  position: relative;
  z-index: 1;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #a09e9c;
  margin: 0 0 20px;
  text-align: center;
}

  margin-bottom: 0;
}

  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.5px;
  background: linear-gradient(135deg, #ff4045 0%, #ff6b6f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

  color: #6eb8ff;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid rgba(110, 184, 255, 0.3);
  transition: all 0.2s ease;
  position: relative;
}

  color: #8ec5ff;
  border-bottom-color: rgba(110, 184, 255, 0.6);
  text-shadow: 0 0 20px rgba(110, 184, 255, 0.4);
}

/* Add subtle accent line on the left */
  border-left: 2px solid rgba(255, 64, 69, 0.4);
}

/* Responsive adjustments */
@media (max-width: 900px) {
    padding: 36px 40px;
    margin: 40px auto;
  }
  
    font-size: 1rem;
  }
}

@media (max-width: 600px) {
    padding: 28px 24px;
    margin: 32px 20px;
    border-radius: 20px;
  }
  
    font-size: 0.95rem;
    line-height: 1.7;
    text-align: left;
  }
}
/* [clean-final-fix] */
/* ============================================
   COUNTRY CODE FLAGS - Clean & Modern
   ============================================ */
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  padding: 7px 10px;
  border-radius: 9px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: all 0.2s ease;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  position: absolute;
  right: 14px;
  bottom: 14px;
  line-height: 1;
}

  transform: scale(1.05);
  border-color: rgba(255, 255, 255, 0.32);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* ============================================
   RED FADE LINES - Proper Implementation
   ============================================ */

/* Reset any conflicting border styles */
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left-width: 1px;
  border-left-color: rgba(255, 255, 255, 0.08);
  position: relative;
}

/* Vertical red fade line on the left */
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 64, 69, 0.4) 12%,
    rgba(255, 64, 69, 0.8) 25%,
    rgba(255, 64, 69, 0.95) 50%,
    rgba(255, 64, 69, 0.8) 75%,
    rgba(255, 64, 69, 0.4) 88%,
    transparent 100%
  ) 1;
}

/* Top horizontal fade extending from vertical line */
  background-image: 
    linear-gradient(145deg, rgba(18, 20, 24, 0.85), rgba(10, 12, 15, 0.95));
}

  content: '';
  position: absolute;
  top: -1px;
  left: -2px;
  width: 100px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.95) 0%,
    rgba(255, 64, 69, 0.6) 35%,
    rgba(255, 64, 69, 0.25) 75%,
    transparent 100%
  );
  z-index: 10;
}

/* Bottom horizontal fade extending from vertical line */
  content: '';
  position: absolute;
  bottom: -1px;
  left: -2px;
  width: 100px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.95) 0%,
    rgba(255, 64, 69, 0.6) 35%,
    rgba(255, 64, 69, 0.25) 75%,
    transparent 100%
  );
  z-index: 10;
}
/* [final-final-fix-v21] */
/* ============================================
   RED LINES - FINAL FIX
   ============================================ */

/* Remove the extra top line */
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 64, 69, 0.4) 12%,
    rgba(255, 64, 69, 0.8) 25%,
    rgba(255, 64, 69, 0.95) 50%,
    rgba(255, 64, 69, 0.8) 75%,
    rgba(255, 64, 69, 0.4) 88%,
    transparent 100%
  ) 1;
}

/* Shorter top horizontal line that follows the curve */
  content: '';
  position: absolute;
  top: -1px;
  left: -2px;
  width: 50px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.85) 0%,
    rgba(255, 64, 69, 0.5) 50%,
    transparent 100%
  );
  z-index: 10;
  border-radius: 2px 0 0 0;
}

/* Shorter bottom horizontal line that follows the curve */
  content: '';
  position: absolute;
  bottom: -1px;
  left: -2px;
  width: 50px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.85) 0%,
    rgba(255, 64, 69, 0.5) 50%,
    transparent 100%
  );
  z-index: 10;
  border-radius: 0 0 0 2px;
}

/* ============================================
   FLAGS - USE SVG DATA URIs AS FALLBACK
   ============================================ */

/* Style the country code flags with color coding by region */
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.92), rgba(20, 20, 20, 0.88));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  padding: 6px 9px;
  border-radius: 8px;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 3px rgba(0, 0, 0, 0.3);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  position: absolute;
  right: 12px;
  bottom: 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
}

  transform: translateY(-2px) scale(1.08);
  border-color: rgba(255, 255, 255, 0.38);
  box-shadow: 
    0 8px 28px rgba(0, 0, 0, 0.85),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 3px rgba(0, 0, 0, 0.4),
    0 0 20px rgba(255, 255, 255, 0.1);
}

/* Add subtle color accent based on country (optional enhancement) */
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 3px rgba(0, 0, 0, 0.3),
    0 0 1px 1px rgba(60, 140, 255, 0.15);
}
/* [ultra-final-fix-v22] */
/* ============================================
   RED LINES - ULTRA FINAL FIX
   ============================================ */

/* Keep the vertical fade line ONLY */
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 64, 69, 0.35) 15%,
    rgba(255, 64, 69, 0.75) 25%,
    rgba(255, 64, 69, 0.9) 50%,
    rgba(255, 64, 69, 0.75) 75%,
    rgba(255, 64, 69, 0.35) 85%,
    transparent 100%
  ) 1;
}

/* SHORTER top horizontal line - only 35px */
  content: '';
  position: absolute;
  top: -1px;
  left: -2px;
  width: 35px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.8) 0%,
    rgba(255, 64, 69, 0.4) 60%,
    transparent 100%
  );
  z-index: 10;
}

/* SHORTER bottom horizontal line - only 35px */
  content: '';
  position: absolute;
  bottom: -1px;
  left: -2px;
  width: 35px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.8) 0%,
    rgba(255, 64, 69, 0.4) 60%,
    transparent 100%
  );
  z-index: 10;
}

/* Remove any top-left extra line */
  display: none;
}

/* ============================================
   FLAGS - FORCE VISIBILITY
   ============================================ */

  /* Force display */
  display: inline-flex;
  visibility: visible;
  opacity: 1;
  
  /* Reset any hiding */
  clip: auto;
  clip-path: none;
  
  /* Ensure text shows */
  font-family: 'Inter', -apple-system, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.8px;
  color: #ffffff;
  text-transform: uppercase;
  
  /* Strong background */
  background: #000000;
  backdrop-filter: blur(14px);
  
  /* Clear border and shadow */
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  padding: 7px 10px;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.8);
  
  /* Position */
  position: absolute;
  right: 14px;
  bottom: 14px;
  
  /* Z-index to ensure it's on top */
  z-index: 100;
  
  /* Ensure content shows */
  line-height: 1.2;
  min-width: 34px;
  text-align: center;
}

/* Stronger hover */
  transform: scale(1.1);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.9);
}
/* [perfect-fix-v23] */
/* ============================================
   RED LINES - MAKE THEM MUCH SHORTER
   ============================================ */

/* Vertical fade - shorten even more at top and bottom */
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 64, 69, 0.3) 20%,
    rgba(255, 64, 69, 0.7) 30%,
    rgba(255, 64, 69, 0.85) 50%,
    rgba(255, 64, 69, 0.7) 70%,
    rgba(255, 64, 69, 0.3) 80%,
    transparent 100%
  ) 1;
}

/* MUCH SHORTER top line - only 25px */
  content: '';
  position: absolute;
  top: -1px;
  left: -2px;
  width: 25px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.75) 0%,
    rgba(255, 64, 69, 0.3) 70%,
    transparent 100%
  );
  z-index: 10;
}

/* MUCH SHORTER bottom line - only 25px */
  content: '';
  position: absolute;
  bottom: -1px;
  left: -2px;
  width: 25px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.75) 0%,
    rgba(255, 64, 69, 0.3) 70%,
    transparent 100%
  );
  z-index: 10;
}

/* ============================================
   FLAGS - MAKE THEM POP MORE
   ============================================ */

  /* Much bigger and bolder */
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
  
  /* Stronger contrast */
  color: #ffffff;
  background: #000000;
  
  /* Thicker border */
  border: 2px solid rgba(255, 255, 255, 0.4);
  
  /* More padding */
  padding: 8px 12px;
  
  /* Bigger shadow */
  box-shadow: 
    0 6px 24px rgba(0, 0, 0, 0.9),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  
  /* Ensure it's visible */
  z-index: 1000;
  opacity: 1;
  visibility: visible;
  
  /* Stronger text shadow */
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

  transform: scale(1.15);
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 1),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 30px rgba(255, 255, 255, 0.15);
}
/* [actual-fix-v24] */
/* ============================================
   RED LINES - EVEN SHORTER + REMOVE TOP LINE
   ============================================ */

/* Remove the top line completely */
  display: none;
}

/* Keep ONLY vertical line and bottom line */
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 64, 69, 0.25) 25%,
    rgba(255, 64, 69, 0.65) 35%,
    rgba(255, 64, 69, 0.8) 50%,
    rgba(255, 64, 69, 0.65) 65%,
    rgba(255, 64, 69, 0.25) 75%,
    transparent 100%
  ) 1;
}

/* MUCH SHORTER bottom line - only 20px */
  content: '';
  position: absolute;
  bottom: -1px;
  left: -2px;
  width: 20px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.7) 0%,
    rgba(255, 64, 69, 0.25) 75%,
    transparent 100%
  );
  z-index: 10;
}

/* ============================================
   FLAGS - ACTUAL EMOJI FLAGS
   ============================================ */

  /* Force emoji font rendering */
  font-family: 
    "Apple Color Emoji",
    "Segoe UI Emoji", 
    "Noto Color Emoji",
    "Twemoji",
    "EmojiSymbols",
    "Symbola",
    sans-serif;
  
  /* Large size for visibility */
  font-size: 32px;
  
  /* Ensure emojis display properly */
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-rendering: optimizeLegibility;
  
  /* No text transformation */
  text-transform: none;
  letter-spacing: 0;
  
  /* Clean background */
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(10px);
  
  /* Border and shadow */
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 8px 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.7);
  
  /* Position */
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 100;
  
  /* Display */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  
  /* Remove any text effects */
  text-shadow: none;
  color: transparent;
  
  /* Force emoji presentation */
  font-variant-emoji: emoji;
}

  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.85);
}
/* [smaller-flags-v25] */
/* ============================================
   FLAGS - MAKE THEM 90% SMALLER
   ============================================ */

  /* Much smaller - about 90% reduction */
  font-size: 20px;
  
  /* Smaller padding */
  padding: 6px 7px;
  
  /* Smaller border radius */
  border-radius: 6px;
  
  /* Position adjustments for smaller size */
  right: 10px;
  bottom: 10px;
  
  /* Everything else stays the same for proper rendering */
  font-family: 
    "Apple Color Emoji",
    "Segoe UI Emoji", 
    "Noto Color Emoji",
    "Twemoji",
    sans-serif;
  
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.7);
  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  z-index: 100;
}

  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.85);
}

/* ============================================
   RED LINES - SHORTEN LEFT LINE MORE
   ============================================ */

  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 64, 69, 0.2) 28%,
    rgba(255, 64, 69, 0.6) 38%,
    rgba(255, 64, 69, 0.75) 50%,
    rgba(255, 64, 69, 0.6) 62%,
    rgba(255, 64, 69, 0.2) 72%,
    transparent 100%
  ) 1;
}

/* Bottom line stays at 20px */
  width: 20px;
}
/* [fix-both-issues-v27] */
/* FIX RIGHT LINE - Make it same length as left line */
  content: '';
  position: absolute;
  bottom: -1px;
  left: -2px;
  width: 18px;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.7) 0%,
    rgba(255, 64, 69, 0.2) 80%,
    transparent 100%
  );
  z-index: 10;
}

/* MAKE FLAGS 95% SMALLER */
  font-size: 18px;
  padding: 5px 6px;
  border-radius: 5px;
  right: 10px;
  bottom: 10px;
  min-width: auto;
  min-height: auto;
}

  transform: scale(1.05);
}
/* [force-fix-v28] */
/* FORCE RIGHT LINE TO BE SHORTER - OVERRIDE EVERYTHING */
  width: 18px;
  max-width: 18px;
}

/* FORCE FLAGS TO BE SMALLER - OVERRIDE EVERYTHING */
  font-size: 18px;
  max-width: 40px;
  max-height: 32px;
  padding: 5px 6px;
  border-radius: 5px;
  min-width: 0;
  min-height: 0;
}

  transform: scale(1.05);
  max-width: 42px;
  max-height: 34px;
}

/* Force the image size if Twemoji is rendering them as images */
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
}
/* [increase-flags-20-percent] */
/* INCREASE FLAG SIZE BY 20% */
  font-size: 22px;
}

  width: 22px;
  height: 22px;
  max-width: 22px;
  max-height: 22px;
}

  font-size: 22px;
  max-width: 48px;
  max-height: 38px;
}
/* [match-right-line-v30] */
/* MAKE RIGHT LINE SAME LENGTH AS LEFT LINE */
  width: 16px;
  max-width: 16px;
  background: linear-gradient(
    90deg,
    rgba(255, 64, 69, 0.7) 0%,
    rgba(255, 64, 69, 0.3) 70%,
    transparent 100%
  );
}
/* [clean-red-lines-v41] */
/* CLEAN RED FADED LINES ON BOTH SIDES */
  position: relative;
}

/* Left vertical line */
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 8%,
    rgba(255, 64, 69, 0.4) 15%,
    rgba(255, 64, 69, 0.8) 25%,
    rgba(255, 64, 69, 0.9) 50%,
    rgba(255, 64, 69, 0.8) 75%,
    rgba(255, 64, 69, 0.4) 85%,
    transparent 92%,
    transparent 100%
  );
  z-index: 1;
}

/* Right vertical line */
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 8%,
    rgba(255, 64, 69, 0.4) 15%,
    rgba(255, 64, 69, 0.8) 25%,
    rgba(255, 64, 69, 0.9) 50%,
    rgba(255, 64, 69, 0.8) 75%,
    rgba(255, 64, 69, 0.4) 85%,
    transparent 92%,
    transparent 100%
  );
  z-index: 1;
}

/* Reduce card rounding */
  border-radius: 24px;
}

  border-radius: 14px 14px 0 0;
}
/* [remove-red-dot-v42] */
/* REMOVE THE RED GLOW/DOT AT THE TOP */
  background: linear-gradient(145deg, rgba(18, 20, 24, 0.85), rgba(10, 12, 15, 0.95));
}

/* Ensure no radial gradient red glow */
  background: none;
}
/* [reduce-tab-rounding-more] */
/* REDUCE TAB CORNER ROUNDING EVEN MORE */
  border-radius: 6px;
}
/* [adjust-tab-rounding-v44] */
/* ADJUST TAB CORNER ROUNDING TO 7PX */
  border-radius: 7px;
}
/* [safe-width-and-rounding-v46] */
/* ROUND TABS A BIT MORE */
  border-radius: 9px;
}

/* CONSISTENT WIDTH FOR ALL TEAM SECTIONS */
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
/* [fix-width-properly-v47] */
/* MAKE JOIN CTA SAME WIDTH AS TEAM CARDS */
  max-width: 100%;
  width: 100%;
  padding: 0 24px;
}

.join-cta {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 34px;
}

/* ENSURE ALL TEAM SECTIONS USE SAME WIDTH AS MAIN SITE */
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* ENSURE TEAM CATEGORY SECTIONS MATCH WIDTH */
  width: 100%;
  max-width: none;
  padding: 0;
}

  max-width: 1200px;
  margin: 0 auto;
}
/* TEAM SECTIONS WIDTH: 1240px (15% increase, then 2% reduction) */

/* Main team overlay container */
  max-width: 1240px;
}

/* Team directory - the main container for all team content */
  max-width: 1240px;
  margin: 0 auto;
  width: 100%;
}

/* Team cards grid - must match directory width */
  max-width: 1240px;
  margin: 0 auto;
  width: 100%;
}

/* Category headers (Head Staff, Operations, Support tabs) */
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

/* The tab headers themselves */
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

/* Hero copy section (intro text box above Meet the Team) */
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

/* The welcome/intro section container */
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Meet the Team header */
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Join CTA section */
.join-cta {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
}

  max-width: 1240px;
}
/* Fix: TEAM overlay alignment - single centered column with consistent widths */
  /* keep the 3% reduction requested earlier */
}
/* The inner overlay container is the "page" column */
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
/* Stack the hero so the intro box can't drift left/right in a 2-column grid */
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  gap: 28px;
}
/* Brand always centered */
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* Intro copy card should be same column width as everything below */
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}
/* Don't let the background/outline pseudo elements extend wider than the column */
  inset: 0;
}
/* Everything below uses the same width + no extra side padding that causes mismatch */
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
  padding-left: 0;
  padding-right: 0;
}
  padding-left: 0;
  padding-right: 0;
}

/* JOIN CTA: match the exact same centered column width as the sections above */
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
  width: 100%;
  max-width: 100%;
}
/* [home-polish-fixes-v2] */
/* Ensure hero image stays static (kills any leftover float/bob animations) - but NOT .frame fade-in */
.hero-image,
.hero-image img,
.hero-media,
.hero-media img,
.hero-visual,
.hero-visual img {
  animation: none;
}

/* Plan cards lift ONLY on hover (no focus-within so they don't "stick" after clicking buttons) */
.plan{
      transform: scale(1);
      transition: transform 500ms cubic-bezier(0.25,0.1,0.25,1), box-shadow 500ms cubic-bezier(0.25,0.1,0.25,1);
      will-change: transform;
    }
.plan:hover { transform: scale(1.015); }
.plan:active { transform: scale(1.008); }

/* POPULAR / Ultimate plan: thin gradient outline + glow (no double-corner outlines) */
.plan.popular {
  position: relative;
  border: 1px solid transparent; /* prevents double border with base styles */
  box-shadow:
    0 0 0 1px rgba(255, 170, 60, 0.25),
    0 0 28px rgba(255, 140, 40, 0.35),
    0 0 70px rgba(255, 90, 0, 0.18);
}
.plan.popular::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px; /* matches .plan border-radius */
  padding: 1px;        /* thin outline */
  background: linear-gradient(135deg, #ff7a18 0%, #ffb400 45%, #ff7a18 100%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
/* [final-price-plus20-glow] */
/* Keep hero image static - but NOT .frame (needs fade reveal) */
.hero-image img,
.hero-image,
.hero-media,
.hero-visual {
  animation: none;
  transform: none;
}

/* Prices: bigger for readability */
.plan .price .amount{
  font-size: 34px;
  line-height: 1.05;
}

/* Restore subtle glow for the Ultimate/POPULAR plan without changing padding */
.plan.popular{
  box-shadow:
    0 0 0 1px rgba(255, 180, 58, 0.22),
    0 0 26px rgba(255, 110, 20, 0.22),
    0 0 70px rgba(255, 180, 58, 0.16);
}

/* Ensure gradient outline ring still renders cleanly */
.plan.popular::before{
  pointer-events: none;
}

/* [ultimate-flame-glow-fix] */
/* === FIX: Visible flame glow around the Ultimate card ===
   The Ultimate card in this HTML is: <article class="plan popular" style="padding-top:6px;"> ... </article>
   So we target .plans-grid .plan.popular (NOT .plan-card.ultimate).
*/
.plans-grid .plan.popular{
  position: relative;
  z-index: 5;

  /* Adds an OUTER glow in the same "flame" palette as the POPULAR badge. */
  box-shadow:
    0 18px 60px rgba(0,0,0,0.65),
    0 0 0 1px rgba(255, 190, 72, 0.32),
    0 0 18px rgba(255, 115, 0, 0.28),
    0 0 48px rgba(255, 200, 90, 0.16),
    0 0 80px rgba(255, 60, 0, 0.10);
}

/* === Ultimate plan: subtle premium glow === */
.plan-card.ultimate {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}

/* Gradient outline (matches POPULAR badge hues) */
.plan-card.ultimate::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, #ff7a18, #ffb347, #ff7a18);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

/* Soft outer glow (subtle, not overpowering) */
.plan-card.ultimate::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow:
    0 0 14px rgba(255, 140, 60, 0.22),
    0 0 28px rgba(255, 120, 40, 0.14);
  pointer-events: none;
}

/* [ultimate-outline-glow-minus30] */
/*
    Requested adjustment (from current final values in this file):
    - Gradient outline thickness: 1px -> 0.7px  (30% thinner)
    - Glow intensity/size: blur radii + alpha reduced by 30%
  */

  /* Gradient outline thickness (ring) */
  .plans-grid .plan.popular::before{
    padding: 0.7px;
  }

  /* Glow + subtle outer highlight (keep drop shadow the same; reduce only the colored glow) */
  .plans-grid .plan.popular{
    box-shadow:
      0 18px 60px rgba(0,0,0,0.65),
      0 0 0 0.7px rgba(255, 190, 72, 0.224),
      0 0 13px rgba(255, 115, 0, 0.196),
      0 0 34px rgba(255, 200, 90, 0.112),
      0 0 56px rgba(255, 60, 0, 0.07);
  }

/* [partners-section-modern] */
/* Partners Section Container - Reduce top gap slightly */
.partners {
  position: relative;
  padding: 4px 0 60px;
  background: transparent;
}

.partners .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.partners-content {
  text-align: center;
}

/* Subtitle - tight spacing with title, more space below */
.partners-subtitle {
  margin: -22px 0 32px;
}

/* Partners Grid - Single row, full container width */
.partners-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
}

/* Partner Card - match other sections' gradient */
.partner-card {
  position: relative;
  background: #0a0a0e;
  border-radius: 20px;
  border: 1px solid #242a31;
  padding: 36px 32px;
  transition: all 480ms cubic-bezier(0.22, 1, 0.36, 1);
  flex: 1 1 auto;
  min-width: 130px;
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  box-shadow: 
    0 6px 20px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Enhanced hover effect */
.partner-card:hover {
  transform: translateY(-12px) scale(1.03);
  border-color: rgba(255, 255, 255, 0.15);
  box-shadow: 
    0 20px 50px rgba(0, 0, 0, 0.6),
    0 0 0 1px rgba(255, 255, 255, 0.1),
    0 0 32px rgba(100, 180, 255, 0.15),
    0 0 60px rgba(255, 70, 90, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Subtle top glow on hover */
.partner-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(100, 180, 255, 0.4), transparent);
  opacity: 0;
  transition: opacity 480ms cubic-bezier(0.22, 1, 0.36, 1);
}

.partner-card:hover::before {
  opacity: 1;
}

/* Radial glow effect on hover */
.partner-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 0%, rgba(100, 180, 255, 0.12) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 480ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  z-index: -1;
}

.partner-card:hover::after {
  opacity: 1;
}

/* Logo Wrapper */
.partner-logo-wrapper {
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* Partner Logo */
.partner-logo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: brightness(0.9) saturate(0.9) contrast(1.05);
  transition: all 420ms cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0.8;
}

.partner-card:hover .partner-logo {
  filter: brightness(1.15) saturate(1.1) contrast(1.1);
  opacity: 1;
  transform: scale(1.08);
}

/* Responsive adjustments - maintain one row but adapt sizing */
@media (max-width: 1024px) {
  .partners-grid {
    gap: clamp(20px, 3vw, 36px);
  }
  
  .partner-card {
    min-width: 120px;
    padding: 28px 24px;
  }
  
  .partner-logo-wrapper {
    height: 60px;
  }
}

@media (max-width: 768px) {
  .partners {
    padding: 36px 0 52px;
  }
  
  .partners-subtitle {
    margin-bottom: 24px;
  }
  
  .partners-grid {
    gap: 16px;
  }
  
  .partner-card {
    min-width: 100px;
    padding: 24px 20px;
  }
  
  .partner-logo-wrapper {
    height: 50px;
  }
}

/* Very small screens - allow 2 rows if absolutely needed */
@media (max-width: 580px) {
  .partners {
    padding: 36px 0 52px;
  }
  
  .partners-subtitle {
    margin-bottom: 24px;
  }
  
  .partner-card {
    min-width: 90px;
    padding: 20px 16px;
    flex: 0 1 calc(50% - 8px);
  }
  
  .partner-logo-wrapper {
    height: 45px;
  }
}

/* Reduced motion support */

/* ========================================
   PERFORMANCE OPTIMIZATIONS FOR SMOOTH SCROLLING
   ======================================== */

/* 1. Remove expensive backdrop-filter effects */
.nav, header.nav {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(9,12,15,0.98);
}

.chip, .login {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(20,20,20,0.85);
}

#mobile-overlay {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

#fab-menu {
  backdrop-filter: none;
}

/* 2. Disable 3D transforms that cause repaints */
#bench-wrapper .grid,
#bench-wrapper .bench-content {
  transform-style: flat;
  perspective: none;
}

#bench-wrapper {
  perspective: none;
}

/* 3. Reduce will-change to only animated elements */
.marquee {
  will-change: auto;
}

#games .games-track {
  will-change: transform;
}

.fs-faq__a,
#mobile-overlay a,
.nav-metal::before,
.mobile-slogan .overlay {
  will-change: auto;
}

/* 4. Simplify box-shadow on hover (major performance hit) */
.btn:hover,
.chip:hover,
.login:hover,
.modal-card,
.plan,
.step,
.frame {
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* 5. Remove redundant filters */
.logo img {
  filter: none;
}

.marquee .card .tick {
  filter: saturate(1.1) brightness(1.05);
}

/* 6. Pause expensive animations during scroll */
@media (prefers-reduced-motion: no-preference) {
  .pill .dot {
    animation-duration: 2.5s;
  }
  
  .btn-primary.btn-glow::before {
    animation-duration: 5s;
  }
}

/* 7. Optimize images for GPU */
.game-banner img,
.plan-img,
.step img,
.frame img {
  transform: translateZ(0);
  will-change: auto;
  image-rendering: -webkit-optimize-contrast;
}

/* 8. Force hardware acceleration for fixed elements */
header,
.nav {
  transform: translateZ(0);
  will-change: transform;
}

/* 9. Simplify gradient animations */
.mobile-slogan .overlay,
.nav-metal::before {
  animation-duration: 2.5s;
}

/* 10. Reduce FAQ transition time */
.faq .faq-content {
  transition: grid-template-rows .22s ease, opacity .18s ease;
}

/* 11. Enable smooth scrolling with GPU */
html {
  scroll-behavior: auto;
}

body {
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
}

/* 12. Optimize modal backdrop */
.modal {
  backdrop-filter: none;
  background: rgba(0,0,0,0.7);
}

/* 13. Reduce animation complexity on mobile */
@media (max-width: 1000px) {
  header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  
  #mobile-overlay a::before {
    animation-duration: 0.7s;
  }
  
  #overlay-logo {
    animation-duration: 2.2s;
  }
}

/* 14. Optimize paint layers */
.game-banner,
.plan,
.step,
.marquee .card {
  contain: layout style paint;
}

/* 15. Reduce repaint on text animations */
.nav-metal,
.mobile-slogan {
  contain: layout style;
}

/* 17. Optimize scrolling performance */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 18. Reduce box-shadow spread on scroll */
.brand img {
  box-shadow: none;
}

/* 18b. Remove all brand/logo glow effects */
.brand-icon,
.brand-icon::before,
.brand-icon::after {
  box-shadow: none;
  animation: none;
}
.brand-icon img {
  filter: none;
  animation: none;
}
.brand::after {
  display: none;
}

/* 19. Simplify logo filters */
#fab-menu .fab-logo,
#overlay-logo img {
  filter: none;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

#fab-menu:hover .fab-logo {
  filter: brightness(1.15);
}

/* 20. Optimize drawer transitions */
#mobile-drawer {
  transition: transform .2s ease;
}

#drawer-backdrop {
  transition: opacity .15s;
}

/* 21. Reduce shadow complexity on cards */
.logo {
  box-shadow: 0 3px 10px rgba(0,0,0,0.25);
}

.game-banner {
  box-shadow: 0 4px 14px rgba(0,0,0,0.3);
}

/* 22. Optimize blend modes */
.mobile-slogan .overlay {
  mix-blend-mode: normal;
  opacity: 0.8;
}

/* 23. Disable animations during fast scroll */
@media (hover: none) {
  .pill .dot,
  .btn-primary.btn-glow::before,
  #overlay-logo {
    animation-duration: 3s;
  }
}

/* [fs-ultimate-no-glow-final] */
/* Remove ALL special styling from Ultimate plan - make it identical to other plans */
.plans-grid .plan.popular,
.plans .plan.popular,
.plan.popular {
  border: 1px solid var(--border);
  background: #0a0a0e;
  box-shadow: 0 10px 40px rgba(0,0,0,.45);
}
.plans-grid .plan.popular::before,
.plan.popular::before {
  display: none;
  content: none;
}

#fs-sticky-bar.visible{transform:translateY(0);opacity:1;pointer-events:auto}
@media (max-width:600px){
#fs-sticky-bar{padding-bottom:env(safe-area-inset-bottom,0)}
#fs-sticky-bar > div > div{flex-direction:row;gap:10px}
#fs-sticky-bar > div > div > div:first-child > span:first-child{font-size:13px}
}

/* [fs-final-overrides] */
/* Page background pure black */
body, html { background: #000000 !important; background-color: #000000; background-image: none; }
/* Navigation arrow buttons - change from rgba(17,20,24,.55) to #0a0a0e */
.gc-arrow,
#faq .fs-faq__arrow,
.fs-faq__arrow,
#benchmarks .bench-btn {
  background: #0a0a0e;
}
.gc-arrow:hover,
#faq .fs-faq__arrow:hover,
#benchmarks .bench-btn:not([disabled]):hover {
  background: #0e1014;
}

/* Arrow buttons - match View Details (fs-btn-white) visual style */
.gc-arrow,
#faq .fs-faq__arrow,
#benchmarks .fs-faq__arrow {
  background: #0A0A0E;
  border: 1px solid rgba(255,255,255,0.10);
  color: #e4e0e0;
  box-shadow: 0 10px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
  transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.15s ease;
}
.gc-arrow:hover,
#faq .fs-faq__arrow:hover,
#benchmarks .fs-faq__arrow:hover {
  background: rgba(30,36,44,0.75);
  border-color: rgba(255,255,255,0.18);
  box-shadow:
    0 10px 28px rgba(0,0,0,.45),
    inset 0 -8px 8px -6px rgba(255,255,255,0.08),
    inset 0 -16px 16px -8px rgba(255,255,255,0.03),
    inset 1px 1px 1px rgba(255,255,255,0.08),
    inset 2px 2px 2px rgba(255,255,255,0.04);
  transform: translateY(-1px);
}
.gc-arrow:active,
#faq .fs-faq__arrow:active,
#benchmarks .fs-faq__arrow:active {
  transform: scale(0.95);
  background: rgba(10,14,18,0.85);
  border-color: rgba(255,255,255,0.22);
}
#faq .fs-faq__arrow[disabled],
#benchmarks .fs-faq__arrow[disabled] {
  opacity: 0.35;
  cursor: default;
  box-shadow: none;
  transform: none;
}

/* [fs-patch-all-fixes] */
/* ═══════════════════════════════════════════════════════
   FIX 1: FPS stats section spacing - handled via inline styles above
   ═══════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════
   FIX 2 (CORRECTED): PC Optimization card - HOVER color IS the default
   The card should always show the brighter/more vivid red-tinted hover look.
   The old "default" plain dark look is gone. Hover = static elevated look.
   ═══════════════════════════════════════════════════════ */
body .cmp-card.cmp-highlight,
html body .cmp-card.cmp-highlight,
body .cmp-card.cmp-highlight:hover,
html body .cmp-card.cmp-highlight:hover,
body .cmp-card.cmp-highlight:focus,
body .cmp-card.cmp-highlight:active,
body .cmp-card.cmp-highlight.fs-pressable,
body .cmp-card.cmp-highlight.fs-pressable:hover {
  background: linear-gradient(180deg, rgba(224,23,28,.28), rgba(224,23,28,.10));
  background-color: rgba(15,6,6,0.97);
  background-image: linear-gradient(180deg, rgba(224,23,28,.28), rgba(224,23,28,.10));
  border: 1px solid rgba(224,23,28,.60);
  box-shadow: 0 0 40px rgba(224,23,28,.22), 0 0 0 1px rgba(224,23,28,.18) inset, 0 4px 28px rgba(0,0,0,0.45);
  transform: none;
  filter: none;
}

/* [fs-cmp-highlight-noise-grid] */
.cmp-card.cmp-highlight > *:not(.cmp-noise-grid) {
  position: relative;
  z-index: 2;
}
.cmp-noise-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-size: 100% 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
  opacity: 1;
}
.cmp-card.cmp-highlight::before {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  height: 120px;
  background:
    radial-gradient(ellipse 50% 80% at 50% 100%, rgba(232,28,28,.30) 0%, transparent 60%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(191,19,19,.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  filter: blur(10px);
  animation: fsCtaGlowPulse 3s ease-in-out infinite;
}

/* ─── Plan description text size ─── */
.plans-grid .plan p,
.plan p.plan-description,
.plans-grid .plan > p {
  font-size: 14.5px;
  line-height: 1.55;
}

/* ─── Games carousel gap ─── */
#games .h2 { margin-bottom: 4px; }
#games .muted { margin-bottom: 16px; }

/* ─── CARRY-FORWARD: Duration/FPS Boost/Availability pill tabs → #0a0a0e ─── */
.fs-pill-item {
  background: #0a0a0e;
  background-image: none;
}
.fs-accordion__toggle,
.fs-new-accordion__toggle,
.fs-new-modal__dialog .fs-accordion__toggle {
  background: #0a0a0e;
  background-color: #0a0a0e;
  background-image: none;
}

/* ─── CARRY-FORWARD: Move Book This Plan + Close buttons down ─── */

/* ═══════════════════════════════════════════════════════
   FIX 7: Bottom sticky bar background (carry-forward)
   ═══════════════════════════════════════════════════════ */
#fs-sticky-bar > div {
  background: rgba(10,10,14,0.78);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-top: 1px solid rgba(255,255,255,.07);
}

/* ═══════════════════════════════════════════════════════
   FIX 1: Payment modal - background #0a0a0e + matching dark border
   ═══════════════════════════════════════════════════════ */
#fs-pay-modal .dialog {
  background: #0a0a0e;
  background-image: none;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 40px rgba(0,0,0,.55);
}

/* ═══════════════════════════════════════════════════════
   FIX 3: Modal golden pill - same height as Close, aligned vertically,
   all 3 (Book This Plan, Close, gold pill) moved up
   ═══════════════════════════════════════════════════════ */
.fs-new-modal .fs-new-modal__dialog .fs-new-actions,
.fs-new-modal.is-open .fs-new-actions {
  margin-top: 12px;
  padding-top: 4px;
  padding-bottom: 4px;
}
.fs-new-actions .fs-new-pill,
.fs-right .fs-new-pill {
  /* Match Close button visual height exactly */
  font-size: 14px;
  padding: 10px 18px;
  min-height: unset;
  height: auto;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.fs-new-actions,
.fs-new-modal .fs-new-actions {
  align-items: center;
}
.fs-new-actions .fs-right {
  align-items: center;
  transform: none;
  display: inline-flex;
  margin-top: 0;
}
.fs-new-actions .fs-right .fs-new-price {
  margin: 0;
}
/* Book This Plan + Close button height match */
.fs-new-modal .fs-new-actions button.fs-book-btn,
.fs-new-modal .fs-new-actions .btn-wrapper button.fs-book-btn {
  font-size: 14px;
  padding: 10px 22px;
  line-height: 1.2;
}

/* ═══════════════════════════════════════════════════════
   FIX 4: Plan description text - slightly bigger
   ═══════════════════════════════════════════════════════ */
.plans-grid .plan p,
.plan p.plan-description,
.plans-grid .plan > p {
  font-size: 15px;
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════
   FIX 5: PC Optimization cmp-highlight card - match hw-icon container
   hw-icon: radial-gradient(100% 100% at 50% 0%, rgba(255,102,102,.25), rgba(255,102,102,.05))
   border: rgba(255,102,102,.35), box-shadow: inset 0 8px 24px rgba(255,102,102,.18)
   ═══════════════════════════════════════════════════════ */
body .cmp-card.cmp-highlight,
html body .cmp-card.cmp-highlight,
body .cmp-card.cmp-highlight:hover,
html body .cmp-card.cmp-highlight:hover,
body .cmp-card.cmp-highlight:focus,
body .cmp-card.cmp-highlight:active,
body .cmp-card.cmp-highlight.fs-pressable,
body .cmp-card.cmp-highlight.fs-pressable:hover {
  background: radial-gradient(100% 100% at 50% 0%, rgba(255,102,102,.22), rgba(255,102,102,.04));
  background-color: transparent;
  background-image: radial-gradient(100% 100% at 50% 0%, rgba(255,102,102,.22), rgba(255,102,102,.04));
  border: 1px solid transparent;
  box-shadow: 0 8px 24px rgba(255,102,102,.18) inset, 0 6px 18px rgba(0,0,0,.35);
  transform: none;
  filter: none;
}

/* ═══════════════════════════════════════════════════════
   FIX 7 (revised): Button text/icon centering
   - ONLY fix centering. Do NOT shrink button height.
   The root cause is txt-wrapper/btn-letter having a
   position offset. Fix via flex alignment only, keep
   natural padding so height stays the same as before.
   ═══════════════════════════════════════════════════════ */
/* txt-wrapper: ensure vertical centering */
.fs-book-btn .txt-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 0;
}
.fs-book-btn .txt-1 {
  display: flex;
  align-items: center;
}
/* btn-svg: vertical center */
.fs-book-btn .btn-svg {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-top: 0;
  position: relative;
  top: 0;
}
/* btn-letter spans: use inline-flex to kill any baseline shift */
.fs-book-btn .btn-letter {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
/* fs-no-icon: symmetric padding for true centering, but keep SAME vertical padding
   as the icon variant (0.5em top/bottom) - no height change */
.fs-book-btn.fs-no-icon {
  padding: 0.5em 1.1em;
  justify-content: center;
  align-items: center;
}
/* Hero / CTA / plan buttons: always center */
.hero .fs-book-btn,
.cta .fs-book-btn,
.actions .fs-book-btn,
.plan-actions .fs-book-btn {
  align-items: center;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════
   NEW FIX 1: Payment modal + Book&Win modal border
   - match PC optimization plans border: 1px solid rgba(255,255,255,.08)
   ═══════════════════════════════════════════════════════ */
#fs-pay-modal .dialog {
  border: 1px solid rgba(255,255,255,.08);
}
#bookwin-modal .modal-card {
  border: 1px solid rgba(255,255,255,.08);
}

/* ═══════════════════════════════════════════════════════
   NEW FIX 3: Book This Plan + Close buttons - slightly taller
   and nudged down to align with golden pill height
   ═══════════════════════════════════════════════════════ */
.fs-new-modal .fs-new-actions button.fs-book-btn,
.fs-new-modal .fs-new-actions .btn-wrapper button.fs-book-btn {
  padding-top: 12px;
  padding-bottom: 12px;
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════
   NEW FIX 5: AVG FPS BOOST text - handled via inline style update
   ═══════════════════════════════════════════════════════ */

/* [fs-absolute-last] */
/* These rules must be LAST in the document to beat all other body-level overrides */

/* Plan h4 title - SLIGHTLY smaller than default 26px → 23px */
.plan h4, .plans .plan h4, .plans-grid .plan h4, article.plan h4,
.plans-grid .plan h4 {
  font-size: 23px;
  font-weight: 900;
}

/* Plan subtitle - was 10.5px (too small), now 13px (readable but smaller than default) */
.plan .plan-subtitle, .plan p.plan-subtitle,
.plans .plan .plan-subtitle, .plans-grid .plan .plan-subtitle,
article.plan p.plan-subtitle {
  font-size: 13px;
  opacity: .75;
}

/* "Click here to see what's included" - slightly smaller */
  font-size: 13px;
}

/* [fs-final-fixes] */
/* ── 1. Footer colours ── */
#site-footer .footer-bottom { color: #cccac8; }
#site-footer .footer-bottom * { color: #cccac8; }
#site-footer button.to-top, #site-footer .to-top {
  color: #cccac8;
  position: static;
  top: auto;
}

/* ── 2. No-icon buttons: match vertical padding for equal height ── */
body .fs-book-btn.fs-btn-white.fs-no-icon,
body a.fs-book-btn.fs-btn-white.fs-no-icon,
body .fs-book-btn.fs-btn-red.fs-no-icon,
body a.fs-book-btn.fs-btn-red.fs-no-icon {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}

/* ── 3. Red icon buttons: icon left, asymmetric padding for visual centre ── */
body .btn.fs-book-btn.fs-btn-red:not(.fs-no-icon) {
  padding-left: 16px;
  padding-right: 22px;
  justify-content: flex-start;
  gap: 8px;
}
body .btn.fs-book-btn.fs-btn-red:not(.fs-no-icon) .btn-svg {
  flex-grow: 0;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
}
body .btn.fs-book-btn.fs-btn-red:not(.fs-no-icon) .txt-wrapper {
  flex-grow: 0;
}

/* [fs-plan-features-dark] */
.plans-grid .plan-features.plan-blue { --accent: rgba(120,140,180,0.55); }
.plans-grid .plan-features.plan-yellow { --accent: rgba(160,140,80,0.55); }
.plans-grid .plan-features.plan-red { --accent: rgba(177,63,63,0.55); }
.plans-grid .plan-features li::before {
  background: rgba(255,255,255,0.03);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.5);
}

/* [fs-cta-btn-align] */
/* Sticky bar button: center text vertically */
#sticky-book-btn .txt-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
#sticky-book-btn .txt-1 {
  display: flex;
  align-items: center;
  line-height: 1;
  position: static;
  top: auto;
  transform: none;
}
/* CTA white button: symmetric padding to match red button width feel */
.cta .fs-book-btn.fs-btn-white.fs-no-icon {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-left: 1.3em;
  padding-right: 1.3em;
  justify-content: center;
}

/* [fs-cta-text-center] */
/* CTA buttons: ensure text sits perfectly centered vertically */
.cta .btn-wrapper .fs-book-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
}
.cta .btn-wrapper .fs-book-btn .txt-wrapper {
  display: inline-flex;
  align-items: center;
  position: static;
  top: auto;
  transform: none;
}
.cta .btn-wrapper .fs-book-btn .txt-1 {
  position: static;
  top: auto;
  transform: none;
  line-height: normal;
}

/* [fs-faq-chev-dark] */
.fs-faq__chev {
  background: #0f1216;
}
.fs-faq__q[aria-expanded="true"] .fs-faq__chev {
  background: #181d23;
}

/* [fs-mobile-fixes] */
/* ── Prevent horizontal scroll ── */
body { overflow-x: hidden; max-width: 100vw; }
* { box-sizing: border-box; }

/* ── Hide CTA sticky bar on mobile ── */
@media (max-width: 700px) {
  #fs-sticky-bar { display: none; }
}

/* ── Plan action buttons: wider gap on mobile ── */
@media (max-width: 700px) {
  .plans-grid .plan .plan-actions,
  .plan .plan-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
  }
  .plans-grid .plan .plan-actions .btn,
  .plans-grid .plan .plan-actions a.btn,
  .plan .plan-actions .btn,
  .plan .plan-actions a.btn {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    flex-basis: auto;
    padding-left: 1.4em;
    padding-right: 1.4em;
    height: 44px;
    font-size: 14px;
    white-space: nowrap;
  }
}

/* ── FIX 1: TRUSTED - swap text on mobile, centered ── */
@media (max-width: 1000px) {
  .trusted-inline { display: none !important; }
  .trusted-mobile-best {
    display: flex !important;
    justify-content: center;
    width: 100%;
    margin-left: 0;
    margin-top: 12px;
    color: var(--muted);
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: 11px;
    align-items: center;
  }
  /* Make the actions row wrap so trusted sits on its own line, centered */
  .hero .actions {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* ── FIX 4: CTA "Book a Session" - TRULY centered ──
   The fs-final-fixes block sets justify-content:flex-start on
   .fs-btn-red:not(.fs-no-icon). We must beat it on mobile. ── */
@media (max-width: 700px) {
  .cta .cta-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .cta .btn-wrapper { width: 100%; }

  /* Beat fs-final-fixes specificity by using section + body + chain */
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red,
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red:not(.fs-no-icon) {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 1.3em;
    padding-right: 1.3em;
    gap: 8px;
  }
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red .btn-svg,
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red:not(.fs-no-icon) .btn-svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    position: static;
  }
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red .txt-wrapper,
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red:not(.fs-no-icon) .txt-wrapper {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    position: static;
    transform: none;
  }
  section.cta .btn-wrapper a.btn.fs-book-btn.fs-btn-red .txt-1 {
    position: static;
    transform: none;
    line-height: 1;
  }
  /* White button also full-width centered */
  .cta .btn-wrapper .fs-btn-white {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

/* ── FIX 5: Modal buttons grid on mobile ── */
@media (max-width: 700px) {
  .fs-new-modal .fs-new-actions {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 14px 8px;
    align-items: center;
    padding-bottom: 6px;
    margin-bottom: 4px;
  }
  .fs-new-modal .fs-new-actions > .btn-wrapper:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
  }
  .fs-new-modal .fs-new-actions > .btn-wrapper:first-child #fs-new-cta {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 0;
    transform: none;
  }
  /* Close button: flush left, aligned with Book This Plan start */
  .fs-new-modal .fs-new-actions > .btn-wrapper:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    flex: none;
    margin: 0;
    margin-left: -6px;
    padding-left: 0;
    align-self: center;
  }
  /* Golden pill: right side, nudged left + down to sit level with Close */
  .fs-new-modal .fs-new-actions > .fs-right {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    margin-left: -24px;
    padding-top: 14px;
    transform: none;
    align-self: flex-start;
  }
  /* Move pill left directly */
  .fs-new-modal .fs-new-actions > .fs-right .fs-new-pill {
    transform: translate(-5px, -3px);
  }
  .fs-new-modal .fs-new-actions .fs-new-price { display: none; }
  .fs-new-modal .fs-new-actions > * {
    transform: none;
    margin-left: 0;
    margin-right: 0;
  }
  /* Add bottom breathing room inside the dialog */
  .fs-new-modal .fs-new-modal__dialog {
    padding-bottom: 20px;
  }
}

/* ── hw-desc size on mobile ── */
@media (max-width: 700px) {
  .hw-desc { font-size: 14.5px; color: #a8a5a5; line-height: 1.55; }
}

/* ── Hero title gap on mobile ── */
@media (max-width: 700px) {
  .pro-performance-title.mobile-title { margin-bottom: 10px; }
  .lead.section-title-mobile { margin-top: 0; }
}

/* ── FPS BOOST spacing on mobile ── */
@media (max-width: 700px) {
}

/* [fs-booking-v2-css] */
/* ── Overlay ── */
#fs-bk{display:flex;position:fixed;inset:0;z-index:6100;align-items:center;justify-content:center;padding:clamp(12px,3vw,24px);background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}@media(max-width:1000px){#fs-bk{padding-left:6vw;padding-right:6vw}}
#fs-bk.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s ease,visibility 0s}

/* ── Card ── */
#fs-bk .bk2-card{background:#060608;border:1px solid transparent;border-radius:22px;width:min(480px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.45);opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;scrollbar-width:thin;scrollbar-color:#1a1e24 transparent}
#fs-bk.open .bk2-card{opacity:1;transform:none}
#fs-bk .bk2-card::-webkit-scrollbar{width:8px;background:transparent}
#fs-bk .bk2-card::-webkit-scrollbar-track{background:transparent}
#fs-bk .bk2-card::-webkit-scrollbar-thumb{background:#1a1e24;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
#fs-bk .bk2-card::-webkit-scrollbar-thumb:hover{background-color:#222730}
#fs-bk .bk2-card::-webkit-scrollbar-button{display:none;width:0;height:0}

/* ── Header ── */
.bk2-powered-mobile{display:none}.bk2-powered-desktop{display:inline}@media(max-width:1000px){.bk2-powered-mobile{display:inline}.bk2-powered-desktop{display:none}}
.bk2-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 0;position:relative}
.bk2-plan-name{font-size:16px;font-weight:800;color:#f0edec;letter-spacing:.01em;line-height:1.2}
.bk2-plan-price{font-size:13px;font-weight:600;color:#4a5058;margin-top:2px}
.bk2-x{width:30px;height:30px;border-radius:999px;background:#0a0a0e;border:1px solid transparent;color:#ffffff;cursor:pointer;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0;line-height:1;padding:0;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}
.bk2-x:hover{background:#1c2026;color:#f0edec}#bk2-back-btn:hover{background:#b8151c}

/* ── Progress bar ── */
.bk2-progress{height:2px;background:#1c2026;margin:18px 22px 0;border-radius:2px;overflow:hidden}
.bk2-progress-fill{height:100%;background:linear-gradient(90deg,#e0171c,#ed484c);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}

/* ── Step label ── */
.bk2-step-label{display:flex;align-items:center;justify-content:space-between;padding:8px 22px 0;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#4a5058}
.bk2-step-label .active{color:#e6e6e6}

/* ── Body ── */
.bk2-body{padding:18px 22px 22px}

/* ── Section divider ── */
.bk2-divider{height:1px;background:linear-gradient(90deg,transparent,#1c2026,transparent);margin:16px 0}

/* ── Plan summary bar ── */
.bk2-summary{background:#0a0a0e;border:1px solid transparent;border-radius:12px;padding:12px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;box-shadow:0 4px 16px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05)}
.bk2-summary-left{font-size:13px;font-weight:600;color:#d4d1cf;line-height:18px}
.bk2-summary-left strong{color:#e6e6e6;display:block;font-size:17px;font-weight:900;line-height:22px}
.bk2-summary-right{text-align:right;flex-shrink:0}
/* [fs-price-jitter] display was inline-flex. As an INLINE-level box this row sat in a
   line box and was baseline-aligned, and an inline-flex container takes its baseline
   from its FIRST flex item - here .bk2-guard-ic, an SVG wrapper with no text, whose
   baseline the browser has to synthesise from its used height. That height was a
   fractional .95em (16.15px at 17px), so it rounded differently depending on where
   the box landed on the pixel grid - and the grid moves when the slot list's
   scrollbar appears and changes the card's content width. Result: this one row
   nudged up/down by a pixel between steps while every block-level element around it
   (.bk2-summary-left, .bk2-summary-right, .bk2-summary-ready) stayed put.
   display:flex makes it block-level, so it no longer participates in baseline
   alignment at all. Right-alignment is unaffected - justify-content:flex-end was
   already doing that job, not the parent's text-align. */
.bk2-summary-price{font-size:17px;font-weight:900;color:#f0edec;line-height:22px;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.bk2-summary-ccy{font-size:13px;font-weight:600;color:#d4d1cf;margin-top:0;line-height:1.4;position:relative;top:2px}

/* ── Schedule note ── */
.bk2-schedule-note{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:flex-start;gap:10px;background:#0e0e12;border:1px solid transparent;border-radius:12px;padding:13px 15px;margin-bottom:18px;font-size:12.5px;color:#d4d1cf;line-height:1.5;box-shadow:0 4px 28px rgba(0,0,0,.45)}
.bk2-schedule-note::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,transparent 38%,rgba(224,23,28,.40) 75%,rgba(181,18,23,.72) 100%);opacity:1;z-index:0;pointer-events:none}
.bk2-schedule-note::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -2px 6px rgba(0,0,0,.55);z-index:2;pointer-events:none}
.bk2-schedule-note>:not(.cmp-noise-grid){position:relative;z-index:3}
.bk2-schedule-note .bk2-note-noise{opacity:1;left:auto;right:0;width:62%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%);z-index:1}
.bk2-schedule-note svg{flex-shrink:0;opacity:1;align-self:center}
.bk2-schedule-note strong{color:#ffffff}

/* ── Form ── */
.bk2-form{display:flex;flex-direction:column;gap:12px}
.bk2-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk2-field{display:flex;flex-direction:column;gap:5px}
.bk2-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a6070;line-height:1.3;font-family:Inter,system-ui,sans-serif}
.bk2-input::placeholder,.bk2-textarea::placeholder{color:#4a5058;font-size:13.5px;font-weight:400;opacity:1}
.bk2-input:focus::placeholder,.bk2-textarea:focus::placeholder,.bk2-promo-input:focus::placeholder{color:transparent}
.bk2-input,.bk2-textarea{background:#0a0a0e;border:1px solid transparent;border-radius:10px;padding:10px 12px;color:#e6e6e6;font-size:14px;font-family:inherit;outline:none;width:100%;box-sizing:border-box;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;appearance:none;color-scheme:dark;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}
.bk2-input:-webkit-autofill,.bk2-input:-webkit-autofill:focus,.bk2-input:-webkit-autofill:hover,.bk2-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 40px #0a0a0e inset;-webkit-text-fill-color:#e6e6e6;border:1px solid transparent;border-radius:10px;outline:none;caret-color:#e6e6e6;background-color:#0a0a0e;transition:background-color 99999s ease-in-out 0s}
.bk2-input:not(:focus):hover{background:#0a0a0e;border-color:transparent}
input[type="email"].bk2-input{border:1px solid transparent;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);outline:none;-webkit-appearance:textfield;appearance:textfield;background:#0a0a0e}
input[type="email"].bk2-input:focus{border-color:transparent;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}
input[type="email"].bk2-input.err{border-color:#ff5c5c;box-shadow:0 0 0 3px rgba(255,92,92,.1)}
.bk2-input:focus,.bk2-textarea:focus{border-color:transparent}
.bk2-input.bk2-focused,.bk2-textarea.bk2-focused{border-color:transparent}
.bk2-input.err,.bk2-textarea.err{border-color:#ff5c5c;box-shadow:0 0 0 3px rgba(255,92,92,.1)}
.bk2-textarea{resize:vertical;min-height:92px;scrollbar-width:none;-ms-overflow-style:none}.bk2-textarea::-webkit-scrollbar{display:none}

/* ── CTA button ── */
.bk2-cta{position:relative;width:100%;padding:14px;border-radius:24px;font-size:15px;font-weight:800;cursor:pointer;border:1px solid rgba(207,23,30,.50);background:#e81a22;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .18s,transform .18s,box-shadow .18s,filter .18s,opacity .3s ease,margin-top .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;letter-spacing:.01em;box-shadow:inset 0 1px 1px rgba(255,255,255,.20),inset 0 2px 2px rgba(255,255,255,.15),inset 0 4px 4px rgba(255,255,255,.10),inset 0 8px 8px rgba(255,255,255,.05),inset 0 16px 16px rgba(255,255,255,.05),0 -1px 1px rgba(0,0,0,.02),0 -2px 2px rgba(0,0,0,.03),0 -4px 4px rgba(0,0,0,.05),0 -8px 8px rgba(0,0,0,.06),0 -16px 16px rgba(0,0,0,.08),0 4px 14px rgba(157,15,24,.35)}
.bk2-cta::before{content:"";position:absolute;inset:-4px;border-radius:28px;background:linear-gradient(0deg,#0004,#000a);z-index:-1;pointer-events:none;box-shadow:1px 1px 1px #fff2,2px 2px 2px #fff1,-1px -1px 1px #0002,-2px -2px 2px #0001}
.bk2-cta:hover{background:#d6151d;filter:brightness(1.03)}#bk2-done:hover{background:#161616;box-shadow:none;transform:none}
.bk2-cta:active{transform:translateY(0)}
.bk2-cta:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.bk2-back{background:none;border:none;color:#4a5058;font-size:13px;cursor:pointer;padding:0;margin-top:12px;display:flex;align-items:center;gap:4px;font-family:inherit;transition:color .15s;width:100%;justify-content:center}
.bk2-back:hover{color:#a8a5a5}

/* ── Stripe wrapper ── */
#bk2-stripe-el{margin-top:4px;contain:layout style}#bk2-pay-wrap{contain:layout}.bk2-promo-wrap{margin-top:14px;padding-top:14px;border-top:1px solid #1c2026}.bk2-promo-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a6070;line-height:1.3;font-family:Inter,system-ui,sans-serif;margin-bottom:6px}.bk2-promo-row{display:flex;gap:8px}.bk2-promo-input{flex:1;background:#0a0a0e;border:1px solid transparent;border-radius:10px;padding:10px 12px;color:#e6e6e6;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s ease;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}.bk2-promo-input::placeholder{color:#3a4048}.bk2-promo-input:focus{border-color:transparent}.bk2-promo-input.applied{border-color:transparent}.bk2-promo-input.invalid{border-color:#ff5c5c;box-shadow:0 0 0 1px #ff5c5c}.bk2-promo-btn{background:#0a0a0e;border:1px solid transparent;border-radius:10px;color:#cdd0ce;font-size:13px;font-weight:600;padding:10px 16px;cursor:pointer;white-space:nowrap;transition:box-shadow .15s ease;font-family:inherit;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}.bk2-promo-btn:hover{box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08)}.bk2-promo-btn:disabled{opacity:.5;cursor:default}.bk2-promo-msg{margin-top:4px;font-size:0.875rem;font-weight:400;line-height:1.5;font-family:Inter,system-ui,sans-serif;display:none}.bk2-promo-msg.ok{color:#22c55e;display:block}.bk2-promo-msg.err{color:#ff5c5c;display:block}.bk2-price-strike{text-decoration:line-through;opacity:.45;font-size:13px;margin-right:5px;vertical-align:middle;position:relative;top:1px}
.bk2-secure{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:600;color:#4a5058;margin-top:12px}

/* ── Error box ── */
.bk2-err-box{display:none;color:#ff5c5c;font-size:13px;padding:10px 13px;background:rgba(255,92,92,.07);border:1px solid rgba(255,92,92,.18);border-radius:9px;margin-top:10px;line-height:1.45}

/* ── Spinner ── */
.bk2-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:bk2-spin .65s linear infinite;flex-shrink:0;margin-right:8px}
@keyframes bk2-spin{to{transform:rotate(360deg)}}

/* ── Success ── */
.bk2-success{text-align:center;padding:8px 0 4px}
.bk2-success-icon{width:60px;height:60px;border-radius:50%;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.bk2-success h3{font-size:21px;font-weight:900;color:#f0edec;margin:0 0 8px}
.bk2-success p{font-size:13px;color:#a8a5a5;margin:0 0 6px;line-height:1.6}
.bk2-success-box{background:#0a0a0e;border:1px solid #1c2026;border-radius:12px;padding:14px;margin:16px 0;text-align:left}
.bk2-success-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#a8a5a5;margin-bottom:6px}
.bk2-success-row:last-child{margin-bottom:0}
.bk2-success-row strong{color:#e6e6e6}

.bk2-summary-ref{font-size:11px;color:#3a4048;margin-top:3px;text-align:right}
/* ── Mobile ── */
@media(max-width:480px){
  #fs-bk .bk2-card{border-radius:18px;max-height:92vh;transform:translateY(20px)}
  #fs-bk.open .bk2-card{transform:none}
  .bk2-body{padding:16px 18px 32px}
  .bk2-header{padding:18px 18px 0}
  .bk2-progress,.bk2-step-label{margin-left:18px;margin-right:18px}
  .bk2-step-label{padding-left:0;padding-right:0;font-size:9.5px;letter-spacing:.05em}
  .bk2-summary-left{font-size:11.5px}
  .bk2-summary-ccy{font-size:11px}
  .bk2-row{grid-template-columns:1fr}
}

/* [fs-nav-blur-fix] */
.nav, header.nav {
    backdrop-filter: saturate(140%) blur(14px);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    background: rgba(4,5,6,0.88);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

/* [fs-muted-no-checkmark] */
.plans .plan-features li.muted::before {
    background-color: transparent;
    -webkit-mask: none;
    mask: none;
}

/* [fs-muted-empty-box] */
.plans .plan-features li.muted::before {
    background-color: transparent;
    -webkit-mask: none;
    mask: none;
    background-image: none;
    border: 1.5px solid rgba(255,255,255,0.25);
    border-radius: 4px;
}

/* [fs-muted-hide-svg-checkmark] */
.plans .features .li.muted .ico svg,
.features .li.muted .ico svg,
.li.muted .ico svg {
    display: none;
}

/* [fs-esports-pill-responsive] */
/* Fix 1: Make eSports professionals pill responsive on mobile */
@media (max-width: 500px) {
    #esports-trust-pill {
        max-width: calc(100vw - 48px);
        padding: 8px 12px 8px 8px;
        gap: 8px;
    }
    #esports-trust-pill span {
        white-space: normal;
        font-size: 12px;
        line-height: 1.3;
    }
    #esports-trust-pill img {
        width: 26px;
        height: 26px;
    }
    /* +26 overlay: match shrunken img size */
    #esports-trust-pill .esports-pro-ava:not([data-tooltip]) span {
        width: 26px;
        height: 26px;
        font-size: 9px;
    }
}
@media (max-width: 380px) {
    #esports-trust-pill {
        max-width: calc(100vw - 32px);
        padding: 6px 10px 6px 6px;
        gap: 6px;
    }
    #esports-trust-pill span {
        font-size: 11px;
    }
    #esports-trust-pill img {
        width: 22px;
        height: 22px;
    }
    /* +26 overlay: match shrunken img size */
    #esports-trust-pill .esports-pro-ava:not([data-tooltip]) span {
        width: 22px;
        height: 22px;
        font-size: 8px;
    }
}

/* [fs-faq-mobile-flicker-fix] */
/* Fix 2: Prevent FAQ flicker on real mobile devices */
/* The flicker is caused by will-change, translateZ, and complex transitions triggering repaints */

/* Remove problematic GPU acceleration hints */
.fs-faq__a,
.fs-faq__item .fs-faq__a,
#faq .fs-faq__a {
    will-change: auto;
    -webkit-transform: none;
    transform: none;
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-perspective: none;
    perspective: none;
}

/* Specifically for touch/mobile devices */
@media (pointer: coarse), (hover: none) {
    .fs-faq__a,
    .fs-faq__item .fs-faq__a,
    #faq .fs-faq__a {
        /* WAAPI handles all animation - CSS transitions MUST be none to avoid fighting */
        transition: none;
        -webkit-transition: none;
        /* Do NOT override opacity - WAAPI needs opacity:0 for closed items */
    }
    
    /* Ensure no transforms on FAQ content elements */
    .fs-faq__item,
    .fs-faq__q,
    .fs-faq__a {
        -webkit-backface-visibility: visible;
        backface-visibility: visible;
    }
    
    /* Chevron styling for mobile - fix alignment and remove delay */
    .fs-faq__chev {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 16px;
        padding: 0;
        margin: 0;
        text-align: center;
        vertical-align: middle;
        position: relative;
        top: 0;
        transition: transform 0.15s ease-out;
        -webkit-transition: -webkit-transform 0.15s ease-out;
        transform-origin: center center;
        /* Nudge the + down slightly to visually center it */
        padding-top: 1px;
    }
    
    /* Default state - not rotated */
    .fs-faq__q:not(.chev-on) .fs-faq__chev,
    .fs-faq__q[aria-expanded="false"] .fs-faq__chev {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    
    /* Open state - rotated */
    .fs-faq__q.chev-on .fs-faq__chev,
    .fs-faq__q[aria-expanded="true"] .fs-faq__chev,
    .fs-faq__item.open .fs-faq__chev {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}

/* [fs-faq-chev-center-all] */
/* Fix chevron + centering on all viewports */
.fs-faq__chev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 16px;
    padding-top: 1px;
    text-align: center;
}

/* Mobile-specific: Make chevron transitions instant to avoid delay */
@media (pointer: coarse), (hover: none) {
    .fs-faq__chev {
        transition: transform 0s;
        -webkit-transition: -webkit-transform 0s;
    }
    .fs-faq__q.chev-on .fs-faq__chev {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
    }
    }

/* [fs-busy-dot-red] */
/* Red dot for "Engineers Available" status */
.pill .dot.busy {
    background: #b41216;
    box-shadow: 0 0 0 0 rgba(180,18,22,.7);
    animation: pulseBusy 1.8s infinite ease-in-out;
}
.plan .pill .dot.busy {
    background: #b41216;
}
@keyframes pulseBusy {
    0% { box-shadow: 0 0 0 0 rgba(180,18,22,.7); }
    70% { box-shadow: 0 0 0 10px rgba(180,18,22,0); }
    100% { box-shadow: 0 0 0 0 rgba(180,18,22,0); }
}

/* [fs-force-animations] */
/* Completely neutralize the browser's prefers-reduced-motion enforcement.
   The browser UA stylesheet sets animation:none and transition:none when
   reduced motion is enabled. We must override with specific properties. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-play-state: running;
    }
    html {
        scroll-behavior: auto;
    }
}

/* [fs-hide-review-checkmarks] */
/* Hide golden checkmark images from reviews */
.marquee .card .tick,
#reviews-marquee .tick,
.reviews .tick {
    display: none;
}

/* [fs-review-stars-align] */
/* Move stars down to align with usernames */
.marquee .card .stars,
#reviews-marquee .stars,
.reviews .stars,
.marquee .card .r-stars,
#reviews-marquee .r-stars,
.card .stars {
    position: relative;
    top: 3px;
}

/* [fs-hero-logo-tooltips] */
/* Hero logo team name tooltips – slide down */
.logo[data-team] {
    position: relative;
    cursor: pointer;
}
.logo[data-team]:hover { z-index: 2; }
.logo[data-team]::after {
    content: attr(data-team);
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    padding: 5px 10px;
    border-radius: 8px;
    background: rgba(15,17,21,.92);
    border: 1px solid rgba(255,255,255,.1);
    color: #e4e1e1;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,.35);
    z-index: 10;
}
.logo[data-team]:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* [fs-partner-tooltip-style] */
/* Partner tooltip - matches esports-pro-ava tooltip style */
.fs-partner-tooltip {
    position: fixed;
    background: rgba(15,17,21,.92);
    color: #e4e1e1;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    pointer-events: none;
    z-index: 99999;
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 4px 12px rgba(0,0,0,.35);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .18s ease, transform .18s ease;
}
.fs-partner-tooltip.visible {
    opacity: 1;
    transform: translateY(0);
}

/* [fs-bookwin-modal-animation] */
/* Bookwin modal fade-out animation (250ms matching fs-new-modal) */
#bookwin-modal.fade-out {
    opacity: 0;
    background: rgba(0,0,0,0);
    pointer-events: none;
    visibility: visible;
    transition: opacity 0.25s ease-in-out, background-color 0.25s ease;
}
#bookwin-modal.fade-out .modal-card {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
    transition: opacity 0.25s ease-in-out, transform 0.2s ease;
}

/* [fs-overlay-animation] */
/* Overlay pages - smooth fade-out close animation */
.terms-overlay.fade-out {
    display: block;
    opacity: 0;
    transition: opacity 0.28s ease-in-out;
}
.terms-overlay.fade-out .terms-inner {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.28s ease-in-out, transform 0.28s ease;
    animation: none;
}

/* [fs-esports-tooltips] */
/* 1. Tooltip on pro avatar hover */
.esports-pro-ava {
    position: relative;
    display: inline-block;
    cursor: pointer;
    z-index: 1;
}
.esports-pro-ava:hover { z-index: 2; }
.esports-pro-ava::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(15,17,21,.92);
    border: 1px solid rgba(255,255,255,.1);
    color: #e4e1e1;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.esports-pro-ava:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.esports-pro-ava:hover img {
    border-color: rgba(255,255,255,.4);
    filter: brightness(1.1);
}

/* [fs-esports-trust-shine] */
/* 6. Glass shine on "Trusted by 30+ eSports Professionals" text */
.esports-trust-text {
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 0.01em;
    white-space: nowrap;
    background-image: linear-gradient(90deg, #9a9a9a 0%, #ffffff 20%, #b0b0b0 40%, #9a9a9a 60%, #ffffff 80%, #9a9a9a 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: priceShine 2.8s linear infinite;
}

/* [fs-login-static-red] */
/* Static red login button - matches "Optimize My PC" primary style */
header a.login,
header .menu .login,
a.login,
body.fsos-scrolled header a.login,
body.fsos-dynamic header a.login {
    background: #b41216;
    color: #fff;
    border: 1px solid #8d0e12;
    box-shadow: 0 6px 20px rgba(180,18,22,.35), inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.28);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
header a.login:hover,
body.fsos-scrolled header a.login:hover,
body.fsos-dynamic header a.login:hover {
    background: #cb1418;
    transform: translateY(-1px);
}
header a.login:active,
body.fsos-scrolled header a.login:active,
body.fsos-dynamic header a.login:active {
    background: #8d0e12;
    transform: translateY(0);
}
body.fsos-scrolled header a.login .ext-icon,
header a.login .ext-icon,
header a.login svg,
header a.login img {
    filter: brightness(100%) invert(1);
}

/* [fs-trust-shine] */
@keyframes trustTextShine {
  from { background-position: 150% 0; }
  to   { background-position: -150% 0; }
}
#esports-trust-pill .esports-trust-text {
  background-image: linear-gradient(
    90deg,
    rgba(229,231,235,0.75) 0%,
    rgba(255,255,255,1) 20%,
    rgba(200,205,210,0.75) 40%,
    rgba(180,185,190,0.7) 60%,
    rgba(255,255,255,1) 80%,
    rgba(229,231,235,0.75) 100%
  );
  background-size: 150% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: trustTextShine 5s linear infinite;
}

.plans-grid .plan h4{font-size:26px;font-weight:900;margin:4px 0 6px;letter-spacing:-.01em}

/* [fs-patch-stats-width] */
/* Stats bar matches the logos row width */
.hero-grid > div:first-child > div[style*="inline-flex"][style*="margin-top"] {
    width: 100%;
    display: flex;
    max-width: 100%;
    box-sizing: border-box;
}
.logos.mt-8 {
    width: 100%;
}

/* [fs-patch-plan-subtitles] */
/* Plan subtitle styling */
.plan .plan-subtitle {
    text-align: center;
    color: #a8a5a5;
    font-size: 13px;
    font-weight: 400;
    margin: -10px 0 10px;
    padding: 0;
    letter-spacing: 0.01em;
}

/* [fs-patch-popular-badge] */
/* POPULAR badge positioned at top-right corner of the plan image */
.plan.popular .hot-badge {
    top: 12px;
    right: 12px;
}
/* Disable the default absolute positioning from the plan.popular context */
.plan.popular {
    overflow: visible;
}

/* [fs-patch-v4] */
/* Table numbers smaller */
.wc13-table .row .center {
    font-size: 14px;
}
.wc13-table .head .center {
    font-size: inherit;
}

/* Sticky bar button: same as CTA btn-glow but WITHOUT the glow */
#sticky-book-btn.btn-primary.btn-glow::before {
    content: none;
    display: none;
}
#sticky-book-btn.btn-primary.btn-glow,
#sticky-book-btn.btn-primary.btn-glow:hover,
#sticky-book-btn.btn-primary.btn-glow:active {
    box-shadow: none;
}

/* 1. Footer extra bottom padding so sticky bar doesn't cut off content */
#site-footer {
    padding-bottom: 90px;
}

/* 7. "Need a team" text same style as benchmark disclaimer */
.plans + .muted,
p.muted[style*="margin-top:-20px"] {
    font-size: 12px;
    color: rgba(235,230,230,0.65);
}
p.muted[style*="margin-top:-20px"] a {
    color: rgba(235,230,230,0.80);
}

/* [fs-patch-session9] */
/* ── 1: Plan card images - soft white border ── */
.plan-img {
    border: 1px solid rgba(255,255,255,.08);
}

/* ── 2a: Move plan card buttons (View Details / Book Session) slightly down ── */
.plans-grid .plan-features,
.plans .features {
    margin-bottom: 4px;
}
.plan .plan-actions {
    margin-top: 14px;
    margin-bottom: 6px;
}

/* ── 2b: Increase gap between plan titles and plan images (below subtitle) ── */
.plan .plan-subtitle {
    margin-bottom: 16px;
}

/* ── 3: CTA sticky bar - taller padding + slightly bigger Book Session button ── */
#fs-sticky-bar > div {
    padding-top: 20px;
    padding-bottom: 20px;
}
#sticky-book-btn {
    padding-top: 0.7em;
    padding-bottom: 0.7em;
    padding-left: 1.4em;
    padding-right: 1.4em;
    font-size: 15px;
    justify-content: center;
    display: inline-flex;
    align-items: center;
}

/* ── 4: AVG FPS BOOST labels, FPS number and arrow - match icon height ── */
#gc-fps-group > div span {
    font-size: 11px;
    letter-spacing: 0.08em;
}
#gc-fps {
    font-size: 31px;
}
#gc-bolt {
    width: 22px;
    height: 22px;
}

/* ── 5: Carousel sub-text gap - handled via margin-bottom:0 on container in HTML ── */

/* ── 6: Payment modal + Book&Win modal - borders match plan modal exactly ── */
#fs-pay-modal .dialog {
    background: #0a0a0e;
    background-image: none;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 10px 40px rgba(0,0,0,.55);
}
#bookwin-modal .modal-card {
    border: 1px solid rgba(255,255,255,.08);
}

/* ── 7: Gold pill - nudge up + tiny right margin to align with accordion edge ── */
.fs-new-actions .fs-right .fs-new-pill,
.fs-right .fs-new-pill {
    transform: translateY(-3px);
}
.fs-new-modal .fs-new-actions .fs-right {
    margin-right: -6px;
}

/* ── 8: Close button smooth hover/unhover transition ── */
:root { --fs-transition: 0.4s; }
.fs-new-modal .fs-new-actions .fs-btn-light,
button.fs-book-btn.fs-btn-light[data-close] {
    transition: background-color 0.4s ease, border-color 0.4s ease,
        box-shadow 0.4s ease, transform 0.15s ease, filter 0.4s ease;
}
.fs-new-modal .fs-new-actions .fs-btn-light::after,
button.fs-book-btn.fs-btn-light[data-close]::after {
    transition: opacity 0.4s ease;
}
.fs-new-modal .fs-new-actions .fs-btn-light::before,
button.fs-book-btn.fs-btn-light[data-close]::before {
    transition: box-shadow 0.4s ease, opacity 0.4s ease;
}
/* Reduce darkness of hover effect - slightly more subtle than default 0.8 */
.fs-new-modal .fs-new-actions .fs-btn-light:hover::after,
button.fs-book-btn.fs-btn-light[data-close]:hover::after {
    opacity: 0.62;
    background-image: linear-gradient(0deg, rgba(0,0,0,0.48), rgba(0,0,0,0.26), rgba(0,0,0,0.10), transparent);
}

/* ── 8b: Gold button smooth hover/unhover transition (matches Close) ── */
.fs-new-modal .fs-new-actions .fs-btn-gold,
button.fs-book-btn.fs-btn-gold {
    transition: background-color 0.4s ease, background-image 0.4s ease, border-color 0.4s ease,
        box-shadow 0.4s ease, transform 0.15s ease, filter 0.4s ease;
}
.fs-new-modal .fs-new-actions .fs-btn-gold::after,
button.fs-book-btn.fs-btn-gold::after {
    transition: opacity 0.4s ease;
}
.fs-new-modal .fs-new-actions .fs-btn-gold::before,
button.fs-book-btn.fs-btn-gold::before {
    transition: box-shadow 0.4s ease, opacity 0.4s ease;
}
.fs-new-modal .fs-new-actions .fs-btn-gold:hover::after,
button.fs-book-btn.fs-btn-gold:hover::after {
    opacity: 0.62;
    background-image: linear-gradient(0deg, rgba(0,0,0,0.48), rgba(0,0,0,0.26), rgba(0,0,0,0.10), transparent);
}

/* ── 9: Arrow buttons - rounded-rect style matching section card colors ── */
.gc-arrow,
#faq .fs-faq__arrow,
#benchmarks .fs-faq__arrow {
    border-radius: 10px;
    background: #0a0a0e;
    border: 1px solid #23272b;
    box-shadow: 0 4px 14px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: transform 0.14s ease, background 0.15s ease, border-color 0.15s ease;
}
.gc-arrow:hover,
#faq .fs-faq__arrow:hover,
#benchmarks .fs-faq__arrow:hover {
    background: #1c2026;
    border-color: #2e343b;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,.06);
}
.gc-arrow:active,
#faq .fs-faq__arrow:active,
#benchmarks .fs-faq__arrow:active {
    transform: scale(0.95);
}
#faq .fs-faq__arrow[disabled],
#benchmarks .fs-faq__arrow[disabled] {
    opacity: 0.35;
    cursor: default;
    transform: none;
}

.cmp-card:not(.cmp-highlight){
  transform:none;
  transition:none;
  will-change:auto;
}
.cmp-card:not(.cmp-highlight):hover{
  transform:none;
}
.cmp-card:not(.cmp-highlight):active{
  transform:none;
}
.cmp-card.cmp-highlight{
  transform:scale(1);
  transition:transform 500ms cubic-bezier(0.25,0.1,0.25,1);
  will-change:transform;
}
.cmp-card.cmp-highlight:hover{
  transform:scale(1.015);
}
.cmp-card.cmp-highlight:active{
  transform:scale(1.008);
}

/* [fs-cmp-highlight-sheen] */
.cmp-card.cmp-highlight .cmp-sheen{
  position:absolute;
  width:160%;
  height:160%;
  left:50%;
  top:50%;
  transform-origin:center;
  pointer-events:none;
  z-index:2;
  opacity:0;
  background:linear-gradient(135deg,rgba(255,255,255,0) 44%,rgba(255,255,255,.26) 50%,rgba(255,255,255,0) 56%);
  mix-blend-mode:screen;
  filter:blur(0.6px);
  border-radius:18px;
  will-change:transform,opacity;
  transform:translate(-50%,-50%) translate(38%,38%);
}

/* [fs-final-six-fixes] */
/* ═══════════════════════════════════════════════════════
   FINAL OVERRIDE BLOCK - appended last, wins everything
   ═══════════════════════════════════════════════════════ */

/* FIX 2: Push price block + everything below it down slightly */
.plan .price,
.plans .plan .price,
.plans-grid .plan .price {
  margin-top: 10px;
  margin-bottom: 18px;
  position: static;
  top: auto;
}

/* FIX 3: H4 title - very slightly smaller than default 26px */
.plan h4,
.plans .plan h4,
.plans-grid .plan h4,
article.plan h4 {
  font-size: 23px;
  font-weight: 900;
}

/* FIX 3b: Plan subtitle - readable size (was 10.5px = way too small) */
.plan .plan-subtitle,
.plan p.plan-subtitle,
.plans .plan .plan-subtitle,
.plans-grid .plan .plan-subtitle,
article.plan p.plan-subtitle {
  font-size: 13px;
  opacity: 0.75;
}

/* FIX 4: "Click here to see what's included" - slightly smaller */
  font-size: 13px;
}

/* FIX 5: BEST VALUE badge - solid dark red/black, not transparent */
.cmp-tag,
.cmp-card .cmp-tag,
.cmp-highlight .cmp-tag {
  background: linear-gradient(135deg, #2a0305 0%, #610a0d 50%, #1a0203 100%);
  background-color: #41060a;
  border: 1px solid rgba(233, 37, 42, 0.55);
  color: #ff9ea0;
  opacity: 1;
  box-shadow: 0 2px 8px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,100,100,0.12);
}

/* FIX 6: Benchmark bar empty (track) background - darker */
.cmp-bar {
  background: #0a0a0d;
  background-color: #0a0a0d;
  border-radius: 999px;
}

/* Override the legacy benchmarks bar-col/bar-wrap rules too */
#benchmarks .bar-col,
#benchmarks .bar-wrap,
.bar-wrap,
.bar-col {
  background: #060608;
  background-color: #060608;
}

/* CHANGE 2: Plan subtitles - slightly larger and more readable */
.plan .plan-subtitle,
.plan p.plan-subtitle,
.plans .plan .plan-subtitle,
.plans-grid .plan .plan-subtitle,
article.plan p.plan-subtitle {
  font-size: 15px;
  opacity: 0.82;
  letter-spacing: .01em;
}

/* CHANGE 3: BEST VALUE badge - redesigned to match the red card aesthetic */
.cmp-tag,
.cmp-card .cmp-tag,
.cmp-highlight .cmp-tag {
  background: linear-gradient(135deg, #7f0d10 0%, #d3151a 45%, #910e12 100%);
  background-color: #ad1116;
  border: 1px solid rgba(255, 130, 130, 0.35);
  color: #fff;
  font-weight: 700;
  letter-spacing: .08em;
  font-size: 10px;
  opacity: 1;
  box-shadow: 0 2px 10px rgba(191, 19, 25, 0.55), inset 0 1px 0 rgba(255, 160, 160, 0.2);
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

/* Stats pill numbers - glass shine via -webkit-text-fill-color
   which overrides the inline style="color:#fff" on the elements */

/* Reviews carousel - match review body text color to the booking step description (#b0adab) */
.marquee .card .text,
#reviews-marquee .card .text {
  color: #b0adab;
}

/* Stats pill glass shine - slightly more subtle (reduced bright peaks) */

/* CMP icon containers - colours matched to hw-icon's booknow-red palette
   (rgba(213,21,26) / rgba(234,41,49)) so they look identical at rest */
.cmp-card .cmp-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: radial-gradient(100% 100% at 50% 0%, rgba(213,21,26,.25), rgba(213,21,26,.05));
  border: none;
  box-shadow: 0 8px 24px rgba(234,41,49,.18) inset, 0 6px 18px rgba(0,0,0,.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  /* No filter/transform - filter on children creates a stacking context
     that causes jagged card borders before hover */
}
.cmp-card .cmp-icon svg,
.cmp-card .cmp-icon i {
  width: 24px;
  height: 24px;
  color: #9d0f18;
  /* No filter - causes stacking context = jagged card borders */
}

/* BEST VALUE tag - more breathing room, same font size */
.cmp-card .cmp-tag,
.cmp-highlight .cmp-tag {
  padding: 5px 12px;
  letter-spacing: .12em;
}

/* ============================================================
   FIX 3: Plan image hover - orbit ring on border only.
   Wrapper gets margin-bottom to restore spacing lost when
   the JS wraps the img (which had margin-bottom:10px).
   Speed slowed to 3.6s from 2.4s.
   ============================================================ */
@property --ring-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}
@keyframes ring-spin {
  to { --ring-angle: 360deg; }
}

.plan-img-wrap {
  position: relative;
  border-radius: 13px;
  display: block;
  /* Restore the spacing the original plan-img margin-bottom provided */
  margin-bottom: 10px;
}

/* Image clips to its own border-radius, no bottom margin needed */
.plan-img-wrap .plan-img {
  display: block;
  width: 100%;
  border-radius: 12px;
  margin-bottom: 0;
}

/* Ring pseudo - sits outside via negative inset, masked to border only */
.plan-img-wrap::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 14px;
  padding: 2px;
  background: conic-gradient(
    from var(--ring-angle),
    transparent            0deg,
    transparent          250deg,
    rgba(255,255,255,.06) 265deg,
    rgba(255,255,255,.65) 285deg,
    rgba(255,255,255,.06) 305deg,
    transparent          320deg,
    transparent          360deg
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity 0.3s ease;
  animation: ring-spin 3.6s linear infinite;
  animation-play-state: paused;
}

.plans-grid .plan:hover .plan-img-wrap::after {
  opacity: 1;
  animation-play-state: running;
}

/* ============================================================
   NEW: Modal hero image - same orbit ring, always running.
   .fs-new-hero has overflow:hidden which clips inset:-2px ring.
   Fix: override overflow to visible, clip the image directly.
   ============================================================ */
.fs-new-hero {
  position: relative;
  overflow: visible;  /* must be visible for ring to show */
}

/* Re-clip just the image itself so it still has rounded corners */
.fs-new-hero img {
  border-radius: 12px;
  overflow: hidden;
}

.fs-new-hero::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 16px;
  padding: 2px;
  background: conic-gradient(
    from var(--ring-angle),
    transparent            0deg,
    transparent          250deg,
    rgba(255,255,255,.03) 265deg,
    rgba(255,255,255,.30) 285deg,
    rgba(255,255,255,.03) 305deg,
    transparent          320deg,
    transparent          360deg
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 3;
  animation: ring-spin 3.6s linear infinite;
  animation-play-state: running;
}

/* Remove border from plan contents modal hero image */
.fs-new-hero,
.fs-plan-modal__hero { border: none; }

/* Three Steps images/videos - border + shadow */
.steps .step img,
.steps .step video {
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 6px 20px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.25);
}

.plan-img { border: none; }

.plan-img { border: 1px solid rgba(255,255,255,.08); }
.fs-new-hero,
.fs-plan-modal__hero { border: 1px solid rgba(255,255,255,.08); }

/* [fs-misc-fixes-batch] */
/* 1. Footer copyright text - match TO THE SURFACE color */
#site-footer .footer-bottom .footer-meta span,
#site-footer .footer-bottom .footer-meta {
  color: #cccac8;
}

/* 2. TO THE SURFACE - nudge down to align with copyright text */
#site-footer .to-top {
  position: static;
  top: auto;
}

/* 3. Nav buttons (games + FAQ) - no lift on hover, darker bg */
.gc-arrow:hover,
#faq .fs-faq__arrow:hover,
#benchmarks .fs-faq__arrow:hover {
  transform: none;
  background: rgba(10, 12, 15, 0.92);
  border-color: rgba(255,255,255,.14);
}
.gc-arrow:active,
#faq .fs-faq__arrow:active {
  transform: scale(.95);
}

/* 4. Plan action buttons - slightly more vertical breathing room */
.plan .plan-actions {
  margin-top: 16px;
  margin-bottom: 6px;
}

/* +26 count circle - always on top, never obscured by hover z-index of previous avatar */
.esports-pro-ava--count { z-index: 3; }
.esports-pro-ava--count:hover { z-index: 3; }

/* +26 circle: no tooltip, keep pointer cursor */
.esports-pro-ava:not([data-tooltip])::after {
    display: none;
    opacity: 0;
}

/* Remove pointer cursor from logo items and non-highlight cmp-cards */
.logos .logo { cursor: default; }
.hw-card { cursor: pointer; }
.cmp-card { cursor: default; }
.cmp-card.cmp-highlight { cursor: pointer; }

/* Fix gap between Unmatched Results title and its subtext */
.section-title-mobile[style*="32px"] { margin-bottom: 6px; }
.section-title-desktop[style*="32px"] { margin-bottom: 6px; }

/* Match plan feature text size to plan description text size */
.plans .features .li,
.plans-grid .plan .features .li,
.plan .features .li {
  font-size: 15px;
  line-height: 1.55;
}

/* [fs-mobile-nav-hide] */
@media (max-width: 1000px) {
  header {
    /* Smooth slide for both hide and show */
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
  body.fs-nav-hidden header {
    transform: translateY(-110%);
    pointer-events: none;
  }
}

/* [fs-analyzer-css] */
#fs-analyzer{display:flex;position:fixed;inset:0;z-index:6200;align-items:center;justify-content:center;padding:clamp(12px,3vw,24px);background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}
#fs-analyzer.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s ease,visibility 0s}
#fs-analyzer .az-card{background:#060608;border:1px solid transparent;border-radius:22px;width:min(440px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,0.05);opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;padding:24px 24px 22px;scrollbar-width:thin;scrollbar-color:#212121 transparent}
#fs-analyzer.open .az-card{opacity:1;transform:none}
#fs-analyzer .az-card::-webkit-scrollbar{width:3px}
#fs-analyzer .az-card::-webkit-scrollbar-thumb{background:#212121;border-radius:3px}
/* Header: back(left) + centered title + close(right) */
.az-hdr{display:flex;align-items:center;justify-content:space-between;position:relative;margin-bottom:16px;min-height:32px}
.az-hdr-center{position:absolute;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;width:max-content;max-width:70%}
.az-hdr-title{font-size:15px;font-weight:800;color:#f0edec;margin:0;line-height:1.2}
.az-hdr-sub{font-size:13px;font-weight:600;color:#4a5058;margin:2px 0 0;line-height:1.3}
/* Match checkout buttons exactly */
.az-btn-back{width:30px;height:30px;border-radius:999px;background:#9d0f18;border:1px solid #740b10;color:#fff;cursor:pointer;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;line-height:1;padding:0}
.az-btn-back:hover{background:#910e16;border-color:#740b10}
.az-btn-back.hidden{visibility:hidden;pointer-events:none}
.az-btn-x{width:30px;height:30px;border-radius:999px;background:#0a0a0e;border:1px solid transparent;color:#ffffff;cursor:pointer;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0;line-height:1;padding:0;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}
.az-btn-x:hover{background:#1c2026;color:#f0edec}
.az-opts{display:flex;flex-direction:column;gap:10px}
.az-opts-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.az-opts-grid .az-opt{flex-direction:column;text-align:center;padding:22px 14px;justify-content:center;gap:10px}
.az-opts-grid .az-opt-icon{width:48px;height:48px;border-radius:12px}
.az-opt{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #1c2026;border-radius:14px;background:#0a0b0e;cursor:pointer;transition:border-color .18s,background .18s,transform .12s;color:#e6e6e6;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.az-opt:hover{border-color:#2a2d35;background:#0e1016;transform:translateY(-1px)}
.az-opt:active{transform:translateY(0)}
.az-opt-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:rgba(255,255,255,.04);color:#cdd0ce}
.az-select{width:100%;padding:12px 14px;background:#0a0b0e;border:1px solid #1c2026;border-radius:10px;color:#e6e6e6;font-size:14px;font-weight:600;font-family:inherit;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a8a5a5' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;display:none}
.az-select-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a6070;margin-bottom:6px;text-align:center}
/* Custom dropdown */
.az-dd{position:relative;width:100%}
.az-dd-trigger{width:100%;padding:12px 14px;background:#0a0b0e;border:1px solid #1c2026;border-radius:10px;color:#e6e6e6;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .18s}
.az-dd-trigger:hover{border-color:#2a2d35}
.az-dd-trigger.open{border-color:#3a4048;border-radius:10px 10px 0 0}
.az-dd-trigger .az-dd-arrow{transition:transform .2s}
.az-dd-trigger.open .az-dd-arrow{transform:rotate(180deg)}
.az-dd-trigger .az-dd-placeholder{color:#4a5058}
.az-dd-panel{display:none;background:#0a0b0e;border:1px solid #1c2026;border-top:none;border-radius:0 0 10px 10px;max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#212121 transparent}
.az-dd-panel::-webkit-scrollbar{width:3px}
.az-dd-panel::-webkit-scrollbar-thumb{background:#212121;border-radius:3px}
.az-dd-panel.open{display:block}
.az-dd-group{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a6070;padding:10px 14px 4px;pointer-events:none}
.az-dd-item{padding:10px 14px;font-size:13px;font-weight:600;color:#cdd0ce;cursor:pointer;transition:background .12s,color .12s}
.az-dd-item:hover{background:#0a0a0e;color:#f0edec}
.az-dd-item:last-child{border-radius:0 0 10px 10px}
.az-dd-search{width:100%;padding:10px 14px;background:#0a0b0e;border:none;border-bottom:1px solid #1c2026;color:#e6e6e6;font-size:13px;font-weight:600;font-family:inherit;outline:none;position:sticky;top:0;z-index:1}
.az-dd-search::placeholder{color:#3a4048}
.az-dd-item.az-hidden{display:none}
.az-fps-game{font-size:10px;font-weight:800;letter-spacing:.06em;color:#cdd0ce;line-height:1.2;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.az-next-btn{width:100%;padding:13px;border-radius:12px;font-size:14px;font-weight:800;cursor:pointer;border:none;background:#9d0f18;color:#fff;-webkit-font-smoothing:antialiased;transition:background .18s,transform .18s,box-shadow .18s;display:flex;align-items:center;justify-content:center;margin-top:6px;letter-spacing:.01em}
.az-next-btn:hover{background:#910e16}
.az-next-btn:active{transform:translateY(0)}
.az-next-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.az-hint{font-size:11.5px;font-weight:600;color:#4a5058;margin-top:8px;line-height:1.4;text-align:center}
.az-kq{display:flex;gap:10px;margin-top:4px}
.az-kq button{flex:1;padding:13px;border:none;border-radius:12px;background:#0d1014;color:#cdd0ce;font-size:14px;font-weight:800;cursor:pointer;-webkit-font-smoothing:antialiased;transition:background .18s}
.az-kq button:hover{background:#161616}
.az-loading{text-align:left}
.az-progress{width:100%;height:2px;background:#1c2026;border-radius:2px;overflow:hidden;margin:0 0 18px}
.az-bar{height:100%;width:0;background:linear-gradient(90deg,#e0171c,#ee5757);border-radius:2px}
.az-log{display:flex;flex-direction:column;gap:6px;font-family:inherit;font-size:13px;font-weight:600;color:#4a5058;overflow:hidden}
.az-log div{opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.az-log div.show{opacity:1;transform:none;color:#4a5058}
.az-log div.done::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#16a34a;margin-left:6px;vertical-align:middle;opacity:0;animation:az-dot-in .2s ease forwards}
@keyframes az-dot-in{to{opacity:1}}
.az-result-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:6px}
.az-result-head{text-align:center;margin-bottom:16px;padding-top:12px}
.az-result-badge.essential,.az-result-badge.pro,.az-result-badge.ultimate{color:#c8960c;border:1px solid rgba(200,150,12,.3);background:rgba(200,150,12,.06);animation:az-gold-pulse 2.5s ease-in-out infinite}
@keyframes az-gold-pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,150,12,0);text-shadow:0 0 0 rgba(200,150,12,0)}50%{box-shadow:0 0 12px 2px rgba(200,150,12,.15);text-shadow:0 0 6px rgba(200,150,12,.35)}}
.az-result-badge.ineligible{color:#ff5c5c;border:1px solid rgba(255,92,92,.3);background:rgba(255,92,92,.06)}
.az-result-plan{font-size:22px;font-weight:900;color:#f0edec;margin:4px 0 8px}
.az-result-desc{font-size:13px;color:#a8a5a5;line-height:1.55;margin:0}
.az-result-specs{background:#0a0b0e;border:1px solid #1c2026;border-radius:12px;padding:12px 14px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.az-result-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#a8a5a5}
.az-result-row strong{color:#e6e6e6}
.az-book-btn{width:100%;padding:13px;border-radius:12px;font-size:14px;font-weight:800;cursor:pointer;border:none;background:#9d0f18;color:#fff;-webkit-font-smoothing:antialiased;transition:background .18s,transform .18s,box-shadow .18s;display:flex;align-items:center;justify-content:center;letter-spacing:.01em;margin-top:4px}
.az-book-btn:hover{background:#910e16}
.az-book-btn:active{transform:translateY(0)}
.az-restart{width:100%;padding:13px;border-radius:12px;background:#0d1014;border:none;color:#cdd0ce;font-size:14px;font-weight:800;cursor:pointer;margin-top:4px;-webkit-font-smoothing:antialiased;transition:background .18s}
.az-restart:hover{background:#161616}
.az-result-note{font-size:11.5px;font-weight:600;color:#4a5058;line-height:1.4;text-align:center;margin-top:8px}
.az-fps-info{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#4a5058;margin:4px 0 0;text-align:center;line-height:1.3}
.az-fps-info svg{flex-shrink:0}
/* Step progress bar */
.az-step-progress{height:2px;background:#1c2026;margin:12px 0 16px;border-radius:2px;overflow:hidden}
.az-step-fill{height:100%;width:0;background:linear-gradient(90deg,#e0171c,#ed484c);border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}
/* Description under device grid */
.az-intro-hint{font-size:11.5px;font-weight:600;color:#4a5058;margin-top:10px;line-height:1.4;text-align:center}
/* Green benefit box */
.az-benefit-box{position:relative;overflow:hidden;background:rgba(22,163,74,.10);border:1px solid rgba(22,163,74,.25);border-radius:12px;padding:11px 14px;margin-bottom:12px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#16a34a;line-height:1.4;animation:az-green-glow 2.5s ease-in-out infinite}
@keyframes az-green-glow{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}50%{box-shadow:0 0 12px 2px rgba(22,163,74,.12)}}
.az-benefit-box::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);animation:az-glass-shine 4s linear infinite}
@keyframes az-glass-shine{0%{left:-60%;opacity:0}2%{left:-60%;opacity:.7}25%{left:120%;opacity:.7}26%{left:120%;opacity:0}100%{left:-60%;opacity:0}}
.az-benefit-bolt{flex-shrink:0;display:flex;align-items:center}
/* Specs + FPS boost layout */
.az-specs-row{display:flex;gap:12px;align-items:stretch;margin-bottom:0}
.az-specs-row .az-result-specs{flex:1;margin-bottom:0}
.az-fps-boost{flex-shrink:0;width:105px;background:#0a0b0e;border:1px solid #1c2026;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;text-align:center;gap:2px}
.az-fps-num{font-size:26px;font-weight:900;color:#16a34a;line-height:1}
.az-fps-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4a5058;line-height:1.2}
@media(max-width:600px){
  #fs-analyzer{padding:14px}
  #fs-analyzer .az-card{padding:22px 18px 18px;border-radius:18px;max-width:calc(100vw - 28px)}
  .az-opt{padding:14px 14px;font-size:14px}
}

/* [fs-mobile-nav-white-text] */
@media (max-width: 1000px) {
  #mobile-overlay a,
  #mobile-overlay a:link,
  #mobile-overlay a:visited {
    color: #ffffff;
  }
  #mobile-overlay a .char {
    color: #ffffff;
    text-shadow: 0 2px 12px rgba(0,0,0,.55);
  }
  #mobile-overlay a:hover .char {
    color: #ec3c40;
    text-shadow: 0 0 10px rgba(224,23,28,.40);
  }
}

/* [fs-modal-mobile-actions-fix] */
/* ── Desktop: Close + Try OptiFlow on same row, right-aligned with container ── */
/* gap: 14px is the shared button-row gap - see .os-btn-row (OptiFlow footer) and
   .bk2-cta-row (checkout). This is the rule that actually wins for this row; the
   earlier .fs-new-actions declarations lose to it, so change it here. */
.fs-new-modal .fs-new-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.fs-new-modal .fs-new-actions > .fs-right {
  margin-left: auto;
  margin-right: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  transform: none;
}

/* ── Mobile: 2-row layout ── */
@media (max-width: 565px) {
  /* Force row wrap, override old column direction */
  .fs-new-modal .fs-new-actions {
    flex-direction: row;
  }
  /* Row 1: Go to Checkout = full width */
  .fs-new-modal .fs-new-actions > .btn-wrapper:first-child {
    flex: 0 0 100%;
    order: 0;
  }
  .fs-new-modal .fs-new-actions > .btn-wrapper:first-child .fs-book-btn {
    width: 100%;
    justify-content: center;
  }

  /* Row 2: Close (left) + fs-right (right) on same line */
  .fs-new-modal .fs-new-actions > .btn-wrapper:nth-child(2) {
    order: 1;
    margin-left: 0;
    margin-top: 6px;
    flex: 0 0 auto;
    align-self: center;
  }
  .fs-new-modal .fs-new-actions > .btn-wrapper:nth-child(2) .fs-btn-light {
    margin-left: 0;
  }
  /* Override button:not(#fs-new-cta) margin-left:8px - needs ID-level specificity to win */
  .fs-new-modal .fs-new-actions button:not(#fs-new-cta) {
    margin-left: 0;
  }
  .fs-new-modal .fs-new-actions > .fs-right {
    order: 2;
    flex: 1 1 0;
    justify-content: flex-end;
    align-self: center;
    margin-top: 6px;
    margin-bottom: 0;
    padding: 0;
    height: auto;
  }
  /* The btn-wrapper inside fs-right must also have zero extra margin */
  .fs-new-modal .fs-new-actions > .fs-right > .btn-wrapper {
    margin: 0;
  }

  /* Hide price on mobile (shown at top of modal) */
  .fs-new-modal .fs-new-actions > .fs-right > .fs-new-price {
    display: none;
  }

  /* Kill ALL old translateY overrides on .fs-right */
  .fs-new-modal .fs-new-actions .fs-right,
  .fs-new-modal .fs-new-actions > .fs-right,
  .fs-right {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════════════
   FIX BLOCK - 2026-03-20 v8
   ═══════════════════════════════════════════════════════════ */

/* ── HW icon: subtle gradual glow on hover ── */
.hw-card .hw-icon {
  transition: transform 500ms cubic-bezier(0.25,0.1,0.25,1),
              filter 500ms cubic-bezier(0.25,0.1,0.25,1),
              box-shadow 500ms cubic-bezier(0.25,0.1,0.25,1);
  will-change: transform, filter;
  border: none;
  box-shadow: 0 0 12px rgba(213,21,26,.12);
}
.hw-card:hover .hw-icon {
  transform: translateY(-2px) scale(1.08);
  filter: drop-shadow(0 0 8px rgba(213,21,26,.25));
  box-shadow: 0 0 18px rgba(213,21,26,.22);
}
.hw-card {
  transform: scale(1);
  transition: transform 500ms cubic-bezier(0.25,0.1,0.25,1);
  will-change: transform;
}
.hw-card:hover { transform: scale(1.015); border-color: var(--border); }

/* ── FAQ: spacer killed, no CSS transitions (WAAPI handles it) ── */
.fs-faq__a .fs-faq__spacer { height: 0; display: none; }
.fs-faq__a { transition: none; max-height: none; }
.fs-faq__q { padding: 16px 18px; }
.fs-faq__item.open .fs-faq__a { padding: 2px 18px 18px; opacity: 1; max-height: none; }

/* ── Accordion chevron ── */
.fs-new-chevron {
  width: 10px; height: 10px;
  border-right: 2px solid #fff; border-bottom: 2px solid #fff;
  display: inline-block; transform: rotate(-45deg);
  transform-origin: center; transition: transform 0.25s ease;
  position: relative; top: 1px;
}
.fs-new-accordion.is-open .fs-new-chevron { transform: rotate(45deg); top: -1px; }

/* ── AVG FPS group - v8 overrides removed, uses prior block values ── */

/* ── FAQ pager gap ── */
.fs-faq__nav { margin-top: 8px; }

/* ── FAQ-to-CTA spacing ── */
#faq { padding-bottom: 0; margin-bottom: 0; }
#cta, section.cta, .cta { padding-top: 80px; }

/* ── Sticky bar ── */
#fs-sticky-bar.visible { transform: translateY(0) !important; opacity: 1 !important; pointer-events: auto !important; }
#fs-sticky-bar > div { background: rgba(10,10,14,0.78); backdrop-filter: saturate(140%) blur(14px); -webkit-backdrop-filter: saturate(140%) blur(14px); border-top: 1px solid rgba(255,255,255,.07); padding-top: 16px; padding-bottom: 16px; }
#fs-sticky-bar .btn { padding: 12px 24px; font-size: 14px; }

/* ── Carry-forward ── */
header .menu .chip::before, header .menu .chip::after, header .menu .login::before, header .menu .login::after, .chip::before, .chip::after, .login::before, .login::after { content: none; display: none; }
@keyframes shineRun { 0%,100% { opacity:0; } }
.fs-new-modal .fs-new-actions button.fs-book-btn.fs-btn-light:hover, .fs-new-modal .fs-new-actions button.fs-book-btn.fs-btn-gold:hover, .fs-new-modal .fs-new-actions .fs-btn-gold:hover { box-shadow: none; filter: brightness(1.05); }
#esports-trust-pill .esports-trust-text { font-weight: 700; }
#esports-trust-pill { display: inline-flex; align-items: center; }
.plan .plan-actions { gap: 0; }
.plan .plan-actions .or { margin: 0 10px; }

/* ── Fix: No hover zoom on plan cards ── */
.plans-grid .plan,
.plans-grid .plan:hover {
  transform: none;
  transition: border-color .2s ease;
}

/* ── Fix: Plan price gap - all viewports ── */
.plans-grid .plan .price {
  margin-top: 6px !important;
}

/* ═══════════════════════════════════════════════════════
   MOBILE FIXES v3 - appended last
   ═══════════════════════════════════════════════════════ */

/* Cascade reveal - include .pro-performance-title (not an h1) */
html.fs-fresh-load .hero .pro-performance-title {
  opacity: 0;
}
html.fs-cascade-go .hero .pro-performance-title {
  animation: fadeInUp 0.6s ease-out 0.20s both;
}

@media (max-width: 1000px) {

  /* ── 1: trusted-mobile handled in batch-fixes ── */

  /* ── 2: Header/navbar - button protrudes from thin bar, matching target design ── */
  header.nav {
    height: 76px !important;
    min-height: 76px !important;
    padding: 0 !important;
    position: fixed !important;
    top: 0; left: 0; right: 0;
    z-index: 10000 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(9,12,15,0.94) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-bottom: 1px solid #1f2630;
    overflow: visible !important;
  }
  #fab-menu {
    position: absolute !important;
    left: 50% !important; top: 50% !important;
    transform: translate(-50%,-50%) !important;
    width: 58px !important;
    height: 58px !important;
    z-index: 10001 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  #fab-menu:hover {
    transform: translate(-50%,-50%) scale(0.95) !important;
  }
  #fab-menu:active {
    transform: translate(-50%,-50%) scale(0.90) !important;
  }
  #fab-menu::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -8px !important;
    border-radius: 9999px !important;
    background: radial-gradient(closest-side, rgba(255,60,60,0.55) 0%, rgba(255,60,60,0.35) 45%, rgba(255,60,60,0.18) 66%, rgba(255,60,60,0.00) 80%) !important;
    mix-blend-mode: screen !important;
    filter: blur(0.6px) !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }
  .mobile-slogan {
    position: absolute;
    left: 0; right: 0; top: 50%;
    transform: translateY(-50%);
    z-index: 201;
    --fab-gap: 48px;
  }
  body { padding-top: 76px !important; }
  #mobile-overlay { z-index: 9999 !important; }

  /* ── 3: Esports trust pill ── */
  #esports-trust-pill {
    flex-wrap: nowrap; white-space: nowrap;
    padding: 10px 22px 10px 14px !important;
    align-items: center;
  }
  #esports-trust-pill > div:first-child {
    align-items: center !important;
    display: flex !important;
  }
  #esports-trust-pill .esports-pro-ava {
    display: inline-flex; align-items: center;
  }
  #esports-trust-pill .esports-pro-ava img {
    width: 30px !important; height: 30px !important;
    vertical-align: middle;
  }
  #esports-trust-pill .esports-pro-ava:last-child > span {
    width: 30px !important; height: 30px !important;
    font-size: 9px;
  }
  .esports-trust-text { font-size: 13px; white-space: nowrap; }

  /* ── 4: CTA green ticks ── */
  .cta .panel > div:last-of-type,
  #cta .panel > div:last-of-type {
    margin-top: 24px !important;
    gap: 6px 16px !important;
  }

  /* ── 5: Mobile hero title ── */
  .pro-performance-title.mobile-title {
    font-size: 48px; font-weight: 900;
    line-height: 1.05; margin: 0 0 16px;
    color: #f0eded;
  }

  /* ── 6: FPS BOOST text - nudge down ── */

  /* ── 7: Games carousel gaps ── */
  #games { padding-top: 12px !important; padding-bottom: 12px !important; }
  #games > .container { margin-bottom: 0 !important; }
  #games > .container > .muted { margin-bottom: 4px !important; }
  #gc-outer { height: 280px !important; }

  /* ── 8: FAQ pager ── */
  .fs-faq__nav { margin-top: 2px; }
}

/* Extra small screens */
@media (max-width: 420px) {
  #esports-trust-pill .esports-pro-ava img { width: 26px !important; height: 26px !important; }
  #esports-trust-pill .esports-pro-ava:last-child > span { width: 26px !important; height: 26px !important; font-size: 8px; }
  #esports-trust-pill { gap: 8px; padding: 8px 16px 8px 10px !important; }
  .esports-trust-text { font-size: 12px; }
  .pro-performance-title.mobile-title { font-size: clamp(34px, 10vw, 48px); }
}

/* [fs-faq-grid-anim] - CSS-only height animation via grid-template-rows */
#faq .fs-faq__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 280ms cubic-bezier(.2,.8,.2,1);
  overflow: hidden;
  padding: 0 18px;
  max-height: none;
  height: auto;
  opacity: 1;
}
#faq .fs-faq__item.open .fs-faq__a {
  grid-template-rows: 1fr;
}
#faq .fs-faq__a-inner {
  min-height: 0;
  overflow: hidden;
}
#faq .fs-faq__a-content {
  padding: 2px 0 14px;
  opacity: 0;
  transition: opacity 200ms ease;
}
#faq .fs-faq__item.open .fs-faq__a-content {
  opacity: 1;
}
@media (max-width: 999px) {
  #faq .fs-faq__a-content {
    padding-bottom: 8px;
  }
}

/* Kill all FAQ transitions instantly - used during init and page switch */
#faq.fs-faq--no-anim .fs-faq__a,
#faq.fs-faq--no-anim .fs-faq__a-content,
#faq.fs-faq--no-anim .fs-faq__chev {
  transition: none !important;
}

/* [batch-fixes] */

/* Issue 2: Tighter gap + push title/desc down */
.hw-card .hw-title { margin-bottom: 0; margin-top: 0; }
.hw-card .hw-desc { margin-top: -2px; }

/* Issue 3: Darker bar track */
.cmp-card .cmp-bar { background: #0e1014; }

/* Issue 4: Kill ALL L254 hover overrides - need specificity >= 0,6,1 to beat :not() chain */
.fs-new-modal .fs-new-actions button.btn.fs-book-btn.fs-btn-red:hover,
.fs-new-modal .fs-new-actions button.btn.fs-book-btn.fs-btn-red:active {
  transform: none;
  filter: none;
  box-shadow:
    inset 0px 1px 1px rgba(255,255,255,0.20),
    inset 0px 2px 2px rgba(255,255,255,0.15),
    inset 0px 4px 4px rgba(255,255,255,0.10),
    inset 0px 8px 8px rgba(255,255,255,0.05),
    inset 0px 16px 16px rgba(255,255,255,0.05),
    0px -1px 1px rgba(0,0,0,0.02),
    0px -2px 2px rgba(0,0,0,0.03),
    0px -4px 4px rgba(0,0,0,0.05),
    0px -8px 8px rgba(0,0,0,0.06),
    0px -16px 16px rgba(0,0,0,0.08),
    0px 4px 14px rgba(157,15,24,0.35);
}
.fs-new-modal .fs-new-actions button.btn.fs-book-btn.fs-btn-light:hover,
.fs-new-modal .fs-new-actions button.btn.fs-book-btn.fs-btn-light:active,
.fs-new-modal .fs-new-actions button.btn.fs-book-btn.fs-btn-gold:hover,
.fs-new-modal .fs-new-actions button.btn.fs-book-btn.fs-btn-gold:active {
  transform: none;
  filter: none;
}
/* Issue 4b: Gold button - use same ::after glow system as red, not dark mask */
.fs-new-modal .fs-new-actions .fs-btn-gold.fs-book-btn::after {
  background-image: linear-gradient(0deg, #fff, hsl(43deg, 100%, 70%), hsla(43deg, 100%, 70%, 50%), 8%, transparent);
  mask-image: none;
  -webkit-mask-image: none;
}
.fs-new-modal .fs-new-actions .fs-btn-gold.fs-book-btn:hover::after {
  opacity: 0.7;
  background-image: linear-gradient(0deg, #fff, hsl(43deg, 100%, 70%), hsla(43deg, 100%, 70%, 50%), 8%, transparent);
  mask-image: none;
  -webkit-mask-image: none;
}

/* Issue 5: Close button nudge - zeroed Aug 22 2026 so this row's button-to-button
   gap is exactly the shared 14px. Left at 2px it rendered 16px here while OptiFlow
   and the checkout rendered 14px, which is the inconsistency this pass removes. */
@media (min-width: 566px) {
  .fs-new-modal .fs-new-actions > .btn-wrapper:nth-child(2) { margin-left: 0; }
}

/* Esports pill - center circles vertically within the pill */
#esports-trust-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#esports-trust-pill > div:first-child {
  display: flex;
  align-items: center;
  line-height: 0;
}
#esports-trust-pill .esports-pro-ava {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  line-height: 0;
}
#esports-trust-pill .esports-pro-ava img {
  display: block;
  vertical-align: middle;
}

/* Mobile: TRUSTED BY THE BEST centered below buttons */
@media (max-width: 1000px) {
  .trusted-mobile-best {
    display: block !important;
    width: 100%;
    text-align: center;
    margin-top: 10px;
    color: var(--muted);
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: 11px;
  }
}

/* Mobile: hamburger slightly smaller - must use !important to beat line 9839 */
@media (max-width: 1000px) {
  #fab-menu { width: 50px !important; height: 50px !important; }
}

/* Pain card icons - EXACT match of hw-card icon (container + SVG, NO hover) */
.pain-card .pain-icon {
  width: 56px; height: 56px; flex: 0 0 56px;
  border-radius: 12px;
  background: radial-gradient(100% 100% at 50% 0%, rgba(213,21,26,.25), rgba(213,21,26,.05));
  border: none;
  box-shadow: 0 0 12px rgba(213,21,26,.12);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pain-card .pain-icon svg,
.pain-card .pain-icon i {
  width: 28px; height: 28px;
  filter: drop-shadow(0 0 10px rgba(234,41,49,.35));
}
.pain-card .pain-icon svg path,
.pain-card .pain-icon svg circle,
.pain-card .pain-icon svg rect,
.pain-card .pain-icon svg line,
.pain-card .pain-icon svg polyline,
.pain-card .pain-icon svg polygon {
  fill: none;
  stroke: #9d0f18;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* Pain card - no hover effects */
.pain-card {
  position: relative;
  overflow: hidden;
}

/* CMP card icons - EXACT match of hw-card icon (container + SVG, NO hover for non-highlight) */
.cmp-card .cmp-icon {
  width: 44px; height: 44px; flex: 0 0 44px;
  border-radius: 10px;
  background: radial-gradient(100% 100% at 50% 0%, rgba(213,21,26,.25), rgba(213,21,26,.05));
  border: none;
  box-shadow: 0 0 12px rgba(213,21,26,.12);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cmp-card .cmp-icon svg,
.cmp-card .cmp-icon i {
  width: 24px; height: 24px;
  filter: drop-shadow(0 0 10px rgba(234,41,49,.35));
}
.cmp-card .cmp-icon svg path,
.cmp-card .cmp-icon svg circle,
.cmp-card .cmp-icon svg rect,
.cmp-card .cmp-icon svg line,
.cmp-card .cmp-icon svg polyline,
.cmp-card .cmp-icon svg polygon {
  fill: none;
  stroke: #9d0f18;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Pain + CMP cards: no shine effect (only hw-cards get shine) */

/* Fix 2: Match pain card + step text sizes to hw-card */
.pain-card p { font-size: 14px; color: #b0adab; line-height: 1.45; }
#how .step h4 { font-size: 18px; font-weight: 600; }
#how .step p.muted { font-size: 14px; color: #b0adab; line-height: 1.45; text-align: center; }

/* Fix 4: Prevent modal backdrop flicker on open/close */
.fs-new-modal__backdrop,
.fs-plan-modal__backdrop,
#fs-analyzer,
#fs-pay-modal,
.modal {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* [variant-f-horizontal-plans] */
.plans-stack{display:flex;flex-direction:column;gap:16px;margin-top:14px}
.plan-row{display:grid;grid-template-columns:.42fr .58fr;border-radius:18px;overflow:hidden;background:#0a0a0e;border:1px solid transparent;transition:all .35s ease;position:relative}
.plan-row:hover{border-color:transparent;transform:translateY(-3px);box-shadow:0 20px 60px rgba(0,0,0,.4)}
.plan-row.featured{border-color:transparent}
.plan-visual{position:relative;overflow:hidden;min-height:280px}
.plan-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78) saturate(1.1);transition:filter .4s,transform .6s}
.plan-row:hover .plan-visual img{filter:brightness(.85) saturate(1.15);transform:scale(1.03) translateZ(0)}
.plan-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#0a0a0e 100%)}
.plan-visual .tier-num{position:absolute;top:16px;left:20px;font-size:48px;font-weight:700;line-height:1;color:rgba(255,255,255,.025);letter-spacing:-.06em;z-index:1;font-style:italic}
.plan-visual .v-badge{display:none}
.plan-name-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px 4px;border-radius:6px;font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;white-space:nowrap;line-height:1.3;position:relative;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.plan-name-badge::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:badgeShine 4s ease-in-out infinite}
/* [fs-badge-shine-oneway] Left-to-right only. This was 0%,100%{left:-100%} 50%{left:140%},
   which sweeps right for the first half and then sweeps the highlight straight back
   LEFT across the badge for the second half - the direction flip. Now the sweep runs
   once over 0-45%, then parks at left:140% for the rest of the cycle; the jump back to
   -100% at the loop point is invisible because .plan-name-badge is overflow:hidden and
   both ends sit fully outside it (the ::after is width:60%). Change the 45% stop to
   retune the pause without changing the sweep speed. */
@keyframes badgeShine{0%{left:-100%}45%{left:140%}100%{left:140%}}
.plan-name-badge.popular{background:linear-gradient(135deg,rgba(224,23,28,.12),rgba(224,23,28,.06));color:#ec3f41;border:1px solid rgba(224,23,28,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 12px rgba(224,23,28,.08);font-weight:800}
.plan-name-badge.value{background:linear-gradient(135deg,rgba(212,168,64,.12),rgba(212,168,64,.06));color:#e8c45a;border:1px solid rgba(212,168,64,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 12px rgba(212,168,64,.08)}
.plan-row .plan-content{padding:32px 34px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.plan-top-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:0}
.plan-row .plan-name{font-size:28px;font-weight:700;letter-spacing:-.03em;text-align:left;margin:0}
.plan-name-row{display:flex;align-items:center;gap:10px}
.plan-head{display:flex;flex-direction:column;min-width:0}
.plan-price-area{text-align:right;flex-shrink:0}
.plan-price-area .pa-amount{font-size:36.8676px;font-weight:700;letter-spacing:-.03em;line-height:1}
.plan-price-area .pa-note{font-size:11px;color:#4a4846;font-weight:500;margin-top:3px}
.plan-row .plan-subtitle{font-size:13px;color:#5a5856;font-weight:500;margin-top:-4px;margin-bottom:8px;letter-spacing:.02em;text-align:left}
.plan-row .plan-avail{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#e4e1e1;font-weight:600;margin-top:6px;margin-bottom:14px}
.plan-row .plan-avail .dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:fsAvailPulse 2.1s infinite ease;transform:translateY(-0.5px)}
.plan-row .plan-avail .dot.dot-red{background:#e0171c;box-shadow:0 0 0 0 rgba(224,23,28,.7);animation:fsAvailPulseRed 2.1s infinite ease}
.plan-row .plan-avail .dot.dot-amber{background:#e4a33a;box-shadow:0 0 0 0 rgba(228,163,58,.7);animation:fsAvailPulseAmber 2.1s infinite ease}
@keyframes pulseAmber{0%{box-shadow:0 0 0 0 rgba(228,163,58,.7)}70%{box-shadow:0 0 0 10px rgba(228,163,58,0)}100%{box-shadow:0 0 0 0 rgba(228,163,58,0)}}
.plan-row .plan-desc{font-size:14px;color:#b0adab;line-height:1.55;font-weight:400;margin:0 0 18px;max-width:440px;text-align:left}
.fp-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:14px}
.fp-bar .fp-seg{height:6px;border-radius:3px;background:rgba(255,255,255,.04);transition:all .3s}
.fp-bar[data-tier="checkup"] .fp-seg{background:rgba(255,255,255,.10)}
.fp-bar[data-tier="essential"] .fp-seg.active{background:linear-gradient(90deg,#4a6aa8,#6a8ec7)}
.fp-bar[data-tier="pro"] .fp-seg.active{background:linear-gradient(90deg,#a88520,#d4a840)}
.fp-bar[data-tier="ultimate"] .fp-seg.active{background:linear-gradient(90deg,#b11115,#ed484c)}
.feat-wrap{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.fw-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9px;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);color:#b0ada9;transition:all .2s}
.fw-item svg{width:14px;height:14px;fill:var(--tier-color);flex-shrink:0;stroke-linejoin:round;stroke-linecap:round}
.fw-item:not(.off):not(.pending) svg{stroke:var(--tier-color);stroke-width:.4}
.fw-item .pa-info-ic{display:inline-flex;align-items:center;line-height:0;color:#8a8f97;cursor:help;margin-left:-2px;position:relative;top:1px}
.fw-item .pa-info-ic:hover{color:#c9c6c4}
.feat-wrap .fw-item .pa-info-ic svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.fw-item.off{color:#333;border-color:rgba(255,255,255,.02);background:transparent}
.fw-item.off svg{fill:#2a2826;stroke:#2a2826;stroke-width:.4}
/* Custom plan: chips are "pending" (greyed with a ? icon) until selected in OptiFlow */
.fw-item.pending{color:#4a4846;border-color:rgba(255,255,255,.02);background:transparent}
.fw-item.pending svg{width:14px;height:14px;fill:currentColor}
.plan-row.tier-checkup{--tier-color:#ffffff}
.plan-row.tier-essential{--tier-color:#6a8ec7}
.plan-row.tier-pro{--tier-color:#c9a030}
.fw-item.fw-pro-tick{--tier-color:#c9a030}
.plan-row.tier-ultimate{--tier-color:#ea2b2f}
.plan-row .plan-actions{display:flex;align-items:center;gap:12px;justify-content:flex-start}
.plan-row .plan-actions .fs-book-btn{font-size:15px;padding:0.65em 1.4em}
.plan-row .plan-actions .or{opacity:.35;font-size:12px;color:#5a5856;margin-left:4px}
/* ── Pro + Ultimate side-by-side as vertical cards (image on top, content below).
   Custom card stays a normal full-width horizontal .plan-row below the duo. ── */
.plans-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.plans-duo .plan-row{grid-template-columns:1fr}
.plans-duo .plan-visual{height:306px;min-height:0}
.plans-duo .plan-visual img{position:relative;top:-7px}
.plans-duo .plan-visual::after{background:linear-gradient(180deg,transparent 42%,#0a0a0e 100%)}
/* Hover-zoom flicker fix: promote to clean GPU layers so the overflow clip is pixel-aligned,
   and let the image overhang the clip by 1px so scaling never exposes a bottom seam. */
.plan-visual{-webkit-transform:translateZ(0);transform:translateZ(0)}
.plan-visual img{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}
.plans-duo .plan-row .plan-content{padding:0 30px 30px;margin-top:-1px}
.plans-duo .plan-content::before{content:'';position:absolute;left:0;right:0;top:-14px;height:20px;background:linear-gradient(180deg,rgba(10,10,14,0) 0%,#0a0a0e 55%);pointer-events:none}
@media(max-width:900px){.plans-duo{grid-template-columns:1fr}}
@media(max-width:800px){
.plan-row{grid-template-columns:1fr}
.plan-visual{min-height:180px}
.plan-visual::after{background:linear-gradient(180deg,transparent 50%,#0a0a0e 100%)}
.plan-row .plan-content{padding:20px 22px 26px}
.plan-top-row{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px}
.plan-price-area{text-align:left}
.plan-price-area{display:flex;align-items:center;gap:8px}
.plan-price-area .pa-note{margin-top:0;position:relative;top:2px}
.plan-visual .tier-num{font-size:34px;top:12px;left:14px}
.plan-row .plan-actions{flex-wrap:wrap;gap:18px;justify-content:center}
.plan-row .plan-actions .or{display:none}
.plan-row .plan-actions .fs-book-btn{font-size:14px;padding:0.6em 1.2em;flex:0 1 auto;min-width:0;justify-content:center}
}

/* [fs-overlay-reveal-animation] */
.terms-overlay.active .terms-inner{animation:fsOverlayReveal .55s cubic-bezier(.22,.61,.36,1) both}
@keyframes fsOverlayReveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* [fs-section-gap-normalization]
   "Good" gaps (dense content edges) = 92px, kept as-is.
   Flagged gaps (airy content edges) reduced ~10-12px to look equal. */
#hardware-optimization.section{padding:56px 0 40px}
#how.section{padding:52px 0 40px}
.compare{padding:44px 0 46px}
.plans{padding:46px 0 44px}
#faq{padding-top:36px;padding-bottom:40px}
.cta{padding:48px 0 70px}

/* === SEO: heading-to-div aliases (h3/h4 -> class-based selectors) === */
.pain-card .pain-title{font-size:18px;font-weight:600;margin:0 0 8px;color:#e6e6e6}
.step .step-title{text-align:center;margin:12px 0 4px;font-weight:600}
#how .step .step-title{position:relative;top:8px;font-size:19px;transform:translateY(6px)}
#how .step .step-title,
#how .step p.muted{-webkit-text-size-adjust:100%;text-size-adjust:100%}



/* Promote backdrop-filter elements to permanent GPU layers to prevent recomposite flicker on modal open */
header,.nav{-webkit-transform:translateZ(0);transform:translateZ(0)}
#fs-to-top{-webkit-transform:translateZ(0);transform:translateZ(0)}

/* [fs-best-value-pulse] */
@keyframes fsBestValuePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.cmp-tag{animation:fsBestValuePulse 2.2s ease-in-out infinite}

/* Stats pills: nowrap on desktop, 2x2 grid on mobile */
#fps-stats{flex-wrap:nowrap;gap:20px}
#fps-stats .fs-stat-pill{min-width:136px}
#fps-stats .fs-stat-pill div:first-child{font-size:27px}
@media (max-width:600px){
  #fps-stats{flex-wrap:wrap;gap:12px;max-width:92vw;padding:0 8px;box-sizing:border-box}
  #fps-stats .fs-stat-pill{flex:1 1 calc(50% - 6px);min-width:0;padding:18px 10px}
  #fps-stats .fs-stat-pill div:first-child{font-size:22px}
}

/* Plan action buttons: bigger + more spacing on mobile only */
.plan-row .plan-actions{gap:12px}
@media (max-width:700px){
  .plan-row .plan-actions{gap:20px}
  .plan-row .plan-actions .or{display:none}
  .plan-row .plan-actions .btn-wrapper{flex:1 1 0;min-width:0}
  .plan-row .plan-actions .btn-wrapper .fs-book-btn{width:100%;font-size:15px;padding:0.65em 1.3em;justify-content:center}
}

/* ═══════════════════════════════════════════════════════
   NEW FOOTER (V5-based)
   ═══════════════════════════════════════════════════════ */
/* Reset old footer styles */
#site-footer.ft{margin-top:0;border-top:none;padding:0;background:#08080c}
#site-footer .footer-inner,#site-footer .footer-top,#site-footer .footer-bottom,#site-footer .footer-nav,#site-footer .footer-social,#site-footer .footer-divider,#site-footer .footer-meta,#site-footer .footer-cards{all:unset}

/* Shell */
.ft-clip{height:48px;background:linear-gradient(to bottom right,transparent 49.5%,#08080c 50.5%);position:relative;z-index:1}
.ft{position:relative;overflow:hidden;background:#08080c}
.ft .inner{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.ft-noise{position:absolute;inset:0;opacity:.35;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E")}
.ft-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.006) 3px,rgba(255,255,255,.006) 4px);pointer-events:none;z-index:1}
.ft-glow{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);width:900px;height:300px;background:radial-gradient(ellipse 100% 100% at 50% 100%,rgba(224,23,28,.14) 0%,transparent 60%);pointer-events:none;z-index:0}

/* Components */
.ft .ft-brand-row{display:flex;align-items:center;gap:10px}
.ft .ft-logo{width:36px;height:36px;border-radius:10px;object-fit:contain;border:none;background:none;box-shadow:none}
.ft .ft-name{font-weight:800;font-size:15px;letter-spacing:.08em;color:#e4e1e1}
.ft .ft-desc{font-size:13px;color:#a8a5a5;line-height:1.6;font-weight:500}

/* Colored socials */
.ft .ft-social{display:flex;gap:10px}
.ft .ft-social a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:all .22s;background:rgba(255,255,255,.02);text-decoration:none}
.ft .ft-social a:hover{transform:translateY(-3px)}
.ft .ft-social .s-x{color:#e4e1e1}.ft .ft-social .s-x:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06);box-shadow:0 4px 16px rgba(255,255,255,.06)}
.ft .ft-social .s-dc{color:#5865F2}.ft .ft-social .s-dc:hover{border-color:rgba(88,101,242,.4);background:rgba(88,101,242,.08);box-shadow:0 4px 16px rgba(88,101,242,.15)}
.ft .ft-social .s-yt{color:#ff0000}.ft .ft-social .s-yt:hover{border-color:rgba(255,0,0,.35);background:rgba(255,0,0,.06);box-shadow:0 4px 16px rgba(255,0,0,.12)}

/* Columns */
.ft .ft-col-h{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;font-weight:600}
.ft .ft-col-h span{color:rgba(224,23,28,.95);margin-right:6px}
.ft .ft-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0}
.ft .ft-col a,.ft .ft-col-btn{font-size:13.5px;color:#a8a5a5;transition:color .18s;text-decoration:none;background:none;border:none;padding:0;font:inherit;cursor:pointer;text-align:left}
.ft .ft-col a:hover,.ft .ft-col-btn:hover{color:#e4e1e1}

/* YouTube CTA */
.ft .ft-yt{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;backdrop-filter:blur(16px);border:2px solid rgba(255,0,0,.22);background:linear-gradient(135deg,rgba(180,0,0,.1),rgba(40,0,0,.2) 50%,rgba(0,0,0,.5));box-shadow:none;cursor:pointer;transition:all .5s cubic-bezier(.25,.1,.25,1);overflow:hidden;text-decoration:none}
.ft .ft-yt:hover{box-shadow:none;transform:scale(1.02) translateY(-2px);border-color:rgba(255,0,0,.5)}
.ft .ft-yt:active{transform:scale(.97)}
.ft .ft-yt::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,80,80,.18),transparent);transform:translateX(-100%);transition:transform 1s ease-out}
.ft .ft-yt:hover::before{transform:translateX(100%)}
.ft .ft-yt::after{content:'';position:absolute;inset:0;border-radius:12px;background:linear-gradient(90deg,rgba(255,0,0,.05),rgba(255,60,60,.1),rgba(255,0,0,.05));opacity:0;transition:opacity .5s}
.ft .ft-yt:hover::after{opacity:1}
.ft .ft-yt-icon{position:relative;z-index:1;width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,rgba(255,0,0,.22),rgba(255,0,0,.06));display:flex;align-items:center;justify-content:center;transition:all .3s;flex-shrink:0}
.ft .ft-yt:hover .ft-yt-icon{background:linear-gradient(135deg,rgba(255,0,0,.35),rgba(255,0,0,.12))}
.ft .ft-yt-icon svg{transition:transform .3s;filter:drop-shadow(0 2px 8px rgba(255,0,0,.3))}
.ft .ft-yt:hover .ft-yt-icon svg{transform:scale(1.12)}
.ft .ft-yt-text{position:relative;z-index:1;flex:1}
.ft .ft-yt-text .t1{font-size:16px;font-weight:700;color:#ff4444;transition:color .3s}
.ft .ft-yt:hover .t1{color:#ff6666}
.ft .ft-yt-text .t2{font-size:12.5px;color:rgba(255,100,100,.45);transition:color .3s;margin-top:1px}
.ft .ft-yt:hover .t2{color:rgba(255,140,140,.65)}
.ft .ft-yt-arr{position:relative;z-index:1;opacity:.35;transition:all .3s;color:#ff4444}
.ft .ft-yt:hover .ft-yt-arr{opacity:1;transform:translateX(3px)}

/* Partners */
.ft .ft-partners-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600}
.ft .ft-partners-label span{color:rgba(224,23,28,.95);margin-right:6px}
.ft .ft-partners-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ft .ft-partners-row img{height:28px;width:auto;opacity:.85;transition:opacity .25s}
.ft .ft-partners-row img:hover{opacity:1}

/* Dividers */
.ft .ft-div,.ft .ft-div-inner{height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(224,23,28,.18),rgba(255,255,255,0))}

/* Row 1: Brand left, YT+BackToTop right */
.ft .ft-bot-row{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;padding:36px 0 24px;flex-wrap:wrap}
.ft .ft-bot-brand{display:flex;flex-direction:column;gap:12px;max-width:420px}
.ft .ft-bot-brand .ft-brand-row{margin-bottom:2px}
.ft .ft-bot-brand .ft-desc{margin-bottom:4px}
.ft .ft-right-stack{display:flex;flex-direction:column;gap:10px;align-self:flex-start;min-width:280px}

/* Back to top - full width of YT button */
.ft .ft-totop{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 16px;color:#7a7876;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .22s;white-space:nowrap}
.ft .ft-totop:hover{color:#e4e1e1;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05);transform:translateY(-2px)}

/* Row 2: Link columns */
.ft .ft-top-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:28px;padding:24px 0;align-items:start}
.ft .ft-top-row .ft-partners-label{margin-bottom:8px}

/* Row 3: Bottom bar */
.ft .ft-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:16px;flex-wrap:wrap}
.ft .ft-copy{font-size:12px;color:#83817f;max-width:480px;line-height:1.5}
.ft .ft-cards{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ft .ft-cards img{height:26px;width:auto;opacity:.75;transition:opacity .2s;border:none;border-radius:0;background:none;box-shadow:none}
.ft .ft-cards img:hover{opacity:1}

/* Watermark - extra bottom space for sticky CTA bar */
.ft .ft-wm{text-align:center;overflow:hidden;pointer-events:none;user-select:none;padding:16px 24px 72px}
.ft .ft-wm-text{font-size:clamp(48px,10vw,110px);font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.035);line-height:1;white-space:nowrap}

@media(max-width:900px){
  .ft .ft-bot-row{flex-direction:column}
  .ft .ft-right-stack{width:100%;min-width:0}
  .ft .ft-right-stack .ft-yt{width:100%}
  .ft .ft-top-row{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:600px){
  .ft .ft-top-row{grid-template-columns:repeat(3,1fr);gap:12px}
  .ft .ft-bottom{flex-direction:column;align-items:center;text-align:center}
  .ft .ft-cards{justify-content:center}
}

/* ═══ Footer fixes batch ═══ */
/* 1. Video container borders - force none */
.steps .step video,video.step-video{border:none}
/* 2. Engineers Available 1px bigger */
.plan-row .plan-avail{font-size:13px}
/* 3. Price ranges slightly bolder + stat pill subtexts */
.cmp-card .cmp-cost{font-weight:600}
#fps-stats .fs-stat-pill div:last-child{font-weight:500}
/* 4. FPS BOOST gap increase */
/* 5. CTA section more bottom space before footer */
section.cta{padding-bottom:80px}
/* 6. BACK TO TOP button taller */
.ft .ft-totop{padding:14px 16px}
/* 7. FIX: Override old footer-nav flex that breaks grid columns */
#site-footer.ft .ft-top-row.footer-nav{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:28px;flex-wrap:unset;justify-content:unset;font-size:inherit;letter-spacing:inherit;text-transform:none}
/* 8. More bottom space + stronger/taller glow */
.ft .ft-wm{padding-bottom:96px}
.ft .ft-glow{width:1000px;height:360px;bottom:-50px;background:radial-gradient(ellipse 100% 100% at 50% 100%,rgba(224,23,28,.18) 0%,transparent 60%)}

/* ═══ Fixes batch 2 ═══ */
/* 1. More CTA bottom space */
section.cta{padding-bottom:108px}
/* 2. Footer row 2 - breathing room inside dividers + partners right-aligned */
.ft .ft-top-row{padding:28px 0}
#site-footer.ft .ft-top-row.footer-nav{padding:28px 0}
.ft .ft-top-row > div:last-child{display:flex;flex-direction:column;align-items:flex-end}
.ft .ft-top-row > div:last-child .ft-partners-row{justify-content:flex-end}
/* 3. Visit our channel text thicker */
.ft .ft-yt-text .t2{font-weight:600}
/* 4. BACK TO TOP matches FAQ arrow buttons */
.ft .ft-totop{background:#0A0A0E;border:1px solid rgba(255,255,255,.10);color:#e4e0e0;box-shadow:0 10px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .15s ease}
.ft .ft-totop:hover{background:rgba(30,36,44,.75);border-color:rgba(255,255,255,.18);box-shadow:0 10px 28px rgba(0,0,0,.45),inset 0 -8px 8px -6px rgba(255,255,255,.08),inset 0 -16px 16px -8px rgba(255,255,255,.03),inset 1px 1px 1px rgba(255,255,255,.08),inset 2px 2px 2px rgba(255,255,255,.04);transform:translateY(-1px);color:#fff}
.ft .ft-totop:active{transform:scale(.95);background:rgba(10,14,18,.85);border-color:rgba(255,255,255,.22)}
/* 5. Footer links - uniform color, 1px smaller, // thicker */
.ft .ft-col a,.ft .ft-col-btn{font-size:12.5px;color:#a8a5a5;font-weight:400;font-family:Inter,system-ui,sans-serif}
.ft .ft-col a:hover,.ft .ft-col-btn:hover{color:#e4e1e1;text-decoration:none}
.ft .ft-col-h{font-weight:700}
.ft .ft-col-h span{font-weight:800}
/* 6. Stronger glow */
.ft .ft-glow{width:1100px;height:400px;bottom:-60px;background:radial-gradient(ellipse 100% 100% at 50% 100%,rgba(224,23,28,.22) 0%,transparent 60%)}
.ft .ft-top-row > div:last-child .ft-partners-label{text-align:right;width:100%}
/* Override old #site-footer .footer-nav a rules (ID specificity) */
#site-footer .footer-nav a,#site-footer .footer-nav button{font-size:12.5px;color:#7a7876;opacity:1;letter-spacing:normal;text-transform:none;white-space:normal;font-weight:400;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;font-family:Inter,system-ui,sans-serif}
#site-footer .footer-nav a:hover,#site-footer .footer-nav button:hover{color:#e4e1e1;text-decoration:none;opacity:1}

/* ═══ Fixes batch 3 ═══ */
/* 2. Remove border from centered/focused game card */
#gc-wrap .gc-card,
#gc-wrap .gc-card.gc-active{border:none}
#gc-wrap .gc-card,
#gc-wrap .gc-card.gc-active{box-shadow:none}
#games .game-banner{border:none}

/* 3. FAQ - gradient bg, slower animation, hover dim on closed question */
.fs-faq__item{background:linear-gradient(90deg,#151820 0%,#0a0a0e 33%);border-radius:12px;transition:border-color .3s ease}
.fs-faq__item:hover{border-color:rgba(255,255,255,.12)}
.fs-faq__item:not(.open):hover .fs-faq__q span:first-child{opacity:.65;transition:opacity .25s ease}
.fs-faq__item .fs-faq__q span:first-child{transition:opacity .25s ease}
#faq .fs-faq__a{transition:grid-template-rows 600ms cubic-bezier(.22,1,.36,1)}
#faq .fs-faq__a-content{transition:opacity 400ms ease 100ms}
#faq .fs-faq__item:not(.open) .fs-faq__a-content{transition:opacity 200ms ease}

/* 4. BACK TO TOP - only border changes on hover, no bg/color/transform change */
.ft .ft-totop{background:#0A0A0E;border:1px solid rgba(255,255,255,.10);color:#d4d1cf;box-shadow:none;transition:border-color .3s ease}
.ft .ft-totop:hover{background:#0A0A0E;border-color:rgba(255,255,255,.22);color:#d4d1cf;box-shadow:none;transform:none}
.ft .ft-totop:active{transform:none;background:#0A0A0E}

/* 5. Footer links - 14px (slightly bigger) */
.ft .ft-col a,.ft .ft-col-btn{font-size:14px}

/* 6. More gap between payment icons and FRAMESYNC watermark */
.ft .ft-bottom{padding-bottom:12px}
.ft .ft-wm{padding-top:28px}

/* 8. Partner column: label left-aligned, icons right-aligned to match payment icons */
.ft .ft-top-row > div:last-child{align-items:stretch}
.ft .ft-top-row > div:last-child .ft-partners-label{text-align:left}
.ft .ft-top-row > div:last-child .ft-partners-row{justify-content:flex-end}

/* ═══ Fixes batch 5v2 ═══ */

/* 1. Red // in footer titles - move up 0.5px */
#site-footer.ft .ft-col-h span,
#site-footer.ft .ft-partners-label span{display:inline-block;position:relative;top:-0.5px}

/* 2. CTA to footer gap - increase CTA bottom padding, revert footer margin */
#site-footer.ft{margin-top:0}
section.cta,#cta{padding-bottom:128px}

/* 3. Footer links 14.5px + slightly thicker */
#site-footer.ft .ft-col a,#site-footer.ft .ft-col-btn{font-size:14.5px;font-weight:500}

/* 4. Partner label left-aligns with first icon via justify-self:end on column */
.ft .ft-top-row > div:last-child{display:block;justify-self:end}
.ft .ft-top-row > div:last-child .ft-partners-label{text-align:left}
.ft .ft-top-row > div:last-child .ft-partners-row{display:flex;flex-wrap:wrap;justify-content:flex-start}

/* 5. FRAMESYNC LABS brand text nudged down 0.5px */
.ft .ft-name{display:inline-block;transform:translateY(0.5px)}

/* 6. FAQ answer text 1px smaller */
.fs-faq__a{font-size:0.91rem}
#faq .fs-faq__a-content{font-size:0.91rem}

/* ═══ Fixes batch 6 ═══ */

/* 1. Reduce gap between logo/brand and description in footer */
.ft .ft-bot-brand{gap:8px}
.ft .ft-bot-brand .ft-brand-row{margin-bottom:0}
.ft .ft-bot-brand .ft-desc{margin-bottom:0}

/* 2. Move logo+FRAMESYNC LABS text left to align with description */
.ft .ft-bot-brand .ft-brand-row{margin-left:-3px}

/* 3. Footer links 14px */
#site-footer.ft .ft-col a,#site-footer.ft .ft-col-btn{font-size:14px}

/* 4. Copyright text slightly thicker */
.ft .ft-copy{font-weight:500;color:#4a4a48}

/* 5. Reduce gap above FAQ and between FAQ and CTA */
#faq{padding-top:20px;padding-bottom:24px}
#cta,section.cta,.cta{padding-top:25px}

/* ═══ Fixes batch 7 ═══ */
/* 1. Reduce gap above FRAMESYNC LABS to match gap below social icons */
.ft .ft-bot-row{padding-top:24px}
/* 2. Increase gap between description and social icons */
.ft .ft-bot-brand .ft-social{margin-top:4px}

/* Match top gap (brand-to-desc) to bottom gap (desc-to-social) = 12px */
.ft .ft-bot-brand .ft-brand-row{margin-bottom:4px}

/* Fix brand-to-desc gap: remove p default margin + revert brand margin */
.ft .ft-bot-brand .ft-brand-row{margin-bottom:0}
.ft .ft-bot-brand .ft-desc{margin:0}

/* Increase breathing room above brand row + YouTube button */
.ft .ft-bot-row{padding-top:36px}

/* Increase top breathing room again (+12px) */
.ft .ft-bot-row{padding-top:48px}

/* Red // nudge up 0.5px - reinforced */
.ft .ft-col-h span,
.ft .ft-partners-label span{position:relative;top:-0.5px;display:inline-block}

/* Red // nudge - use transform which works (proven by ft-name) */
.ft .ft-col-h span,
.ft .ft-partners-label span{transform:translateY(-0.5px);display:inline-block}

/* ═══ Fixes batch 8 ═══ */

/* 1. Widen YouTube + Back to Top to align with PARTNERED WITH column */
.ft .ft-right-stack{min-width:300px}

/* 2. Narrow footer description slightly */
.ft .ft-bot-brand{max-width:390px}

/* Override old #fps-stats rules for V5 stat strip */
#fps-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;flex-wrap:unset}
@media(max-width:768px){#fps-stats{grid-template-columns:repeat(2,1fr);gap:16px 0}#fps-stats .fs-v5-stat:nth-child(2){border-right:none}}

/* ═══ Fixes batch 9 ═══ */

/* 1. Stats V5 mobile fix - stack 2x2, remove squash */
@media(max-width:768px){
  #fps-stats{grid-template-columns:1fr 1fr;gap:16px 0;max-width:92vw;padding:0 8px}
  #fps-stats .fs-v5-stat{padding:8px 10px}
  #fps-stats .fs-v5-stat:nth-child(2),
  #fps-stats .fs-v5-stat:nth-child(4){border-right:none}
}

/* 2. Mobile footer - center brand+desc+social, center link columns, hide partners */
@media(max-width:900px){
  .ft .ft-bot-brand{align-items:center;text-align:center;margin:0 auto}
  .ft .ft-bot-brand .ft-brand-row{margin-left:0;justify-content:center}
  .ft .ft-bot-brand .ft-social{justify-content:center}
  .ft .ft-right-stack{align-items:center;margin:0 auto}
  .ft .ft-top-row{justify-items:center;text-align:center}
  .ft .ft-top-row .ft-col{text-align:center}
  .ft .ft-top-row .ft-col ul{align-items:center}
  .ft .ft-top-row > div:last-child{display:none}
}

/* 4. Right-stack width - slightly less wide to align with PARTNERED WITH */
.ft .ft-right-stack{min-width:275px}

/* ═══ Fixes batch 10 ═══ */

/* 1. Mobile footer - force center link columns with high specificity */
@media(max-width:900px){
  #site-footer.ft .ft-top-row.footer-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;justify-items:center;text-align:center}
  #site-footer.ft .ft-top-row.footer-nav .ft-col{text-align:center}
  #site-footer.ft .ft-top-row.footer-nav .ft-col ul{align-items:center}
  #site-footer.ft .ft-top-row.footer-nav .ft-col .ft-col-h{text-align:center}
  #site-footer.ft .ft-top-row.footer-nav > div:last-child{display:none}
}
@media(max-width:600px){
  #site-footer.ft .ft-top-row.footer-nav{grid-template-columns:repeat(3,1fr);gap:12px}
}

/* 2. Stats 2x2 on mobile - ensure grid override wins */
@media(max-width:768px){
  #fps-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 0;max-width:92vw;padding:0 8px;width:auto}
  .fs-v5-stat{padding:8px 10px}
  .fs-v5-stat:nth-child(2) .fs-v5-stat:nth-child(4){border-right:none}
  #fps-stats .fs-v5-stat:nth-child(even){border-right:none}
}

/* 3. Right-stack width - between 275 and 300 */
.ft .ft-right-stack{min-width:288px}

/* Mobile footer 3-col compact fit */
@media(max-width:600px){
  .ft .ft-col-h{font-size:9px;letter-spacing:.15em;margin-bottom:10px}
  .ft .ft-col a,.ft .ft-col-btn{font-size:12px}
  .ft .ft-col ul{gap:6px}
  #site-footer.ft .ft-top-row.footer-nav .ft-col{min-width:0}
  #site-footer .footer-nav a,#site-footer .footer-nav button{font-size:12px}
}

/* Mobile: more gap between games and FAQ */
@media(max-width:768px){
  #faq{margin-top:32px}
}

/* Reviews subtitle - dimmed via color instead of opacity to avoid cascade animation conflict */
.reviews-sub{color:rgba(168,165,165,0.7);text-align:center;opacity:.7}
#reviews-header .muted{margin:-4px auto 24px;max-width:900px;text-align:center}

/* [tooltip] No Reinstall Required hover */
.fs-reinstall-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:#a09e9c;font-size:10px;font-weight:700;cursor:help;position:relative;margin-left:3px;flex-shrink:0;line-height:1}
.fs-reinstall-bubble{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:260px;padding:10px 12px;background:#1a1f26;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#c9c6c4;font-size:12px;font-weight:400;line-height:1.5;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:10;pointer-events:none;white-space:normal;text-align:left}
.fs-reinstall-tip:hover .fs-reinstall-bubble,.fs-reinstall-tip:focus .fs-reinstall-bubble{display:block}

/* [perf] Steps videos - wrapper clips + styles, video element stays plain for hardware overlay.
   border-radius, box-shadow, transform on <video> disqualify it from Chrome's HW video overlay,
   forcing compositor to paint every decoded frame. Moving visuals to wrapper lets the video
   use the direct hardware presentation path (0 compositor cost). */
/* [fs-step-contain removed] content-visibility:auto removed - lightweight cards don't need it */
#how .steps{overflow:hidden}
.step-video-wrap{width:100%;height:220px;border-radius:12px;overflow:hidden;position:relative}
.step-video-wrap video,.step-video-wrap .step-video{width:100%;height:100%;object-fit:cover;display:block;border:none;border-radius:0;box-shadow:none;transform:none;will-change:auto;filter:none;outline:none}
.steps .step video{border:none;border-radius:0;box-shadow:none;transform:none;will-change:auto}
.steps .step img,.steps .step .step-video-wrap{border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25)}

/* [stats] Text left-aligned within centered groups + card-matched container */
#fps-stats .fs-v5-stat{text-align:left}
@media(min-width:769px){
  #fps-stats{
    background:#0a0a0e;
    border:1px solid var(--border);
    border-radius:16px;
    padding:26px 0
  }
  #fps-stats .fs-v5-stat{border-right:1px solid rgba(255,255,255,.06);flex:1 1 0;padding:0 28px}
  #fps-stats .fs-v5-stat:last-child{border-right:none}
}
@media(max-width:768px){
  #fps-stats .fs-v5-stat{border-right:none}
}

/* [hw-jitter] Stabilize text during hover scale */
.hw-card .hw-title,.hw-card .hw-desc{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}

/* [info-icon] Make info circles more visible */
.fs-new-giveaway-info .fs-info-icon{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.55)}

/* [faq-fix] Kill grid system. JS drives height animation.
   Closed: height:0 + padding:0 18px + overflow:hidden = truly invisible.
   Open: JS sets height inline.
   Bottom spacing via ::after pseudo (inside content flow, clipped when closed).
   ZERO padding change between states. ZERO CSS transitions. */
#faq .fs-faq__a{
  display:block;
  grid-template-rows:unset;
  overflow:hidden;
  height:0;
  max-height:none;
  padding:0 18px;
  opacity:1;
  transition:none;
  will-change:auto;
  transform:none;
}
#faq .fs-faq__item.open .fs-faq__a{
  height:auto;
  padding:0 18px;
  opacity:1;
  max-height:none;
}
#faq .fs-faq__a::after{content:'';display:block;height:6px}
#faq .fs-faq__a-content,
#faq .fs-faq__item.open .fs-faq__a-content,
#faq .fs-faq__item:not(.open) .fs-faq__a-content{opacity:1;transition:none}

/* [footer-gap] Desc to social icons */
.ft .ft-bot-brand .ft-social{margin-top:10px}

/* [fps-gains-mobile] Nudge AVG FPS GAINS text down on mobile */
@media(max-width:768px){
}

/* [faq-cta-gap] Desktop: tighter, Mobile: more breathing room */
#cta,section.cta,.cta{padding-top:18px}
@media(max-width:768px){#cta,section.cta,.cta{padding-top:36px}}

/* [price-stat-darken] Tone down price ranges and stat secondary text */
.cmp-card .cmp-cost{color:#d6d3d1}
#fps-stats .fs-v5-stat span[style*="color:#a8a5a5"]{color:#706e6c !important}

/* [bk2-calendar] Date picker */
.bk2-cal{user-select:none}
.bk2-cal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bk2-cal-hdr .bk2-cal-title{font-size:15px;font-weight:700;color:#e4e1e1}
.bk2-cal-hdr button{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:#0a0a0e;color:#cdd0ce;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}
.bk2-cal-hdr button:hover{background:#1a1e24}
.bk2-cal-hdr button:disabled{opacity:.25;cursor:default}
.bk2-datenav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bk2-datenav .bk2-date-arrow{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:#0a0a0e;color:#cdd0ce;display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);transition:transform .14s ease,background .15s ease}
.bk2-datenav .bk2-date-arrow svg{display:block}
.bk2-datenav .bk2-date-arrow:hover{background:#1a1e24}
.bk2-datenav .bk2-date-arrow:active{transform:scale(.96)}
.bk2-datenav .bk2-date-arrow:disabled{opacity:.25;cursor:default}
.bk2-datenav .bk2-date-arrow:disabled:hover{background:#0a0a0e}
.bk2-datenav .bk2-date-label{font-size:14px;font-weight:700;color:#e4e1e1;min-width:88px;text-align:center;letter-spacing:.01em}
.bk2-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.bk2-cal-grid .bk2-cal-dow{font-size:10px;font-weight:600;color:#cdd0ce;text-transform:uppercase;letter-spacing:.06em;padding:4px 0}
.bk2-cal-grid .bk2-cal-day{font-size:14px;font-weight:600;padding:9px 0;border-radius:8px;cursor:pointer;color:#cdd0ce;border:1px solid transparent;transition:background .12s,border-color .12s}
.bk2-cal-grid .bk2-cal-day:hover{background:#1a1e24}
.bk2-cal-grid .bk2-cal-day.today{border-color:transparent}
.bk2-cal-grid .bk2-cal-day.selected{background:#a01319;color:#fff;font-weight:700;border-color:#a01319;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}
.bk2-cal-grid .bk2-cal-day.disabled{opacity:.2;pointer-events:none}
.bk2-cal-grid .bk2-cal-day.empty{pointer-events:none}

/* [bk2-timepicker] Time slot picker */
.bk2-tz-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.bk2-tz-row label{font-size:12px;color:#5a6070;font-weight:600;white-space:nowrap}
.bk2-tz-select{flex:1;background:#12151a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#cdd0ce;padding:8px 10px;font-size:13px;font-family:inherit;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235a6070' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.bk2-tz-select:focus{outline:none;border-color:rgba(224,23,28,.5)}
.bk2-tz-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#e6e6e6;font-weight:500;margin-bottom:14px}
.bk2-tz-tick{color:#22c55e;flex-shrink:0}
/* [fs-slot-grid-height] max-height MUST land on a row boundary or the last visible
   row gets sliced in half. A row is 40px (.bk2-slot min-height) and row-gap is 6px,
   so row N spans [(N-1)*46, (N-1)*46+40]: 1 row 40, 2 rows 86, 3 rows 132, 4 rows 178,
   5 rows 224, 6 rows 270. The old 260px sat 10px inside row 6 and clipped it - and
   with the current schedule EVERY date except today has 17 slots = exactly 6 rows,
   so that was the normal case, not an edge case. 270px shows all six whole and drops
   the scrollbar entirely; if the schedule ever grows past 6 rows the cut still lands
   exactly on the row-6 boundary (row 7 starts at 276), so it can never slice again.
   If this value is ever changed, pick another number from that series. */
.bk2-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:270px;overflow-y:auto;padding-right:12px;scrollbar-width:thin;scrollbar-color:#1a1e24 transparent}
.bk2-slots::-webkit-scrollbar{width:8px;background:transparent}
.bk2-slots::-webkit-scrollbar-track{background:transparent}
.bk2-slots::-webkit-scrollbar-thumb{background:#1a1e24;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.bk2-slots::-webkit-scrollbar-thumb:hover{background-color:#222730}
.bk2-slots::-webkit-scrollbar-button{display:none;width:0;height:0}
.bk2-slot{padding:10px 8px;border-radius:8px;border:1px solid transparent;background:#0a0a0e;color:#cdd0ce;font-size:13px;font-weight:600;text-align:center;cursor:pointer;transition:background .12s,border-color .12s;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;line-height:1;min-height:40px}
.bk2-slot:hover{background:#1a1e24}
.bk2-slot.selected{background:#a01319;color:#fff;border-color:transparent}
.bk2-tz-change{color:#5b9dff;font-weight:500;cursor:pointer;text-decoration:none}
.bk2-tz-note .fs-tz-narrow{display:none}
@media (max-width:600px){
  .bk2-tz-note{display:block;text-align:center}
  .bk2-tz-note .bk2-tz-tick{display:inline;vertical-align:-2px;margin-right:3px}
  .bk2-tz-note .fs-tz-wide{display:none}
  .bk2-tz-note .fs-tz-narrow{display:inline}
}
.bk2-tz-change:hover{color:#7db4ff}
.bk2-slots.bk2-tz-picker{grid-template-columns:repeat(2,1fr);max-height:264px}
.bk2-tz-opt{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;text-align:left;padding:9px 11px}
.bk2-tz-opt-name{font-size:12.5px;font-weight:700;line-height:1.15;transform:translateY(.5px);display:flex;align-items:center;gap:5px}
.bk2-tz-opt-off{font-size:10.5px;font-weight:600;color:rgba(230,228,228,.5);line-height:1;transform:translateY(.5px)}
.bk2-tz-auto{color:#fff;font-weight:700;margin-left:6px;white-space:nowrap}
.bk2-tz-help{flex:0 0 auto}
.bk2-tz-opt[data-tz="Australia/Sydney"] .bk2-tz-help,
.bk2-tz-opt[data-tz="America/Toronto"] .bk2-tz-help,
.bk2-tz-opt[data-tz="America/Chicago"] .bk2-tz-help,
.bk2-tz-opt[data-tz="America/New_York"] .bk2-tz-help,
.bk2-tz-opt[data-tz="Europe/Paris"] .bk2-tz-help,
.bk2-tz-opt[data-tz="Asia/Singapore"] .bk2-tz-help,
.bk2-tz-opt[data-tz="America/Sao_Paulo"] .bk2-tz-help{transform:translateY(.5px)}
.bk2-tz-opt[data-tz="Asia/Tokyo"] .bk2-tz-help,
.bk2-tz-opt[data-tz="Europe/Helsinki"] .bk2-tz-help{transform:translateY(1px)}
.bk2-tz-opt.selected .bk2-slot-info{color:rgba(0,0,0,.55);opacity:1}
.bk2-tz-check{display:block;text-align:center;margin:10px 0 -8px;color:#5b9dff;font-weight:500;font-size:12.5px;text-decoration:none;transform:translateY(1px)}
.bk2-tz-check:hover{color:#7db4ff;text-decoration:underline}
.bk2-slot-time{transform:translateY(.5px)}
.bk2-tz-opt.selected .bk2-tz-opt-off{color:rgba(255,255,255,.9)}
@media (max-width:520px){.bk2-slots.bk2-tz-picker{grid-template-columns:1fr}}
.bk2-slot.disabled{opacity:.2;pointer-events:none}
.bk2-no-slots{text-align:center;color:#5a6070;font-size:13px;padding:32px 0}

/* [fs-badge-tooltip] Most Popular tooltip - positioned via JS on body to escape overflow:hidden */
.fs-tooltip{display:none;position:fixed;background:rgba(15,17,21,.92);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:400;color:#e4e1e1;white-space:nowrap;z-index:9999;box-shadow:0 8px 20px rgba(0,0,0,.5);pointer-events:none}
.fs-tooltip.show{display:block}
.fs-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(15,17,21,.92)}

/* [fs-cmp-mobile-reorder] Stack benchmark cards in a single column on mobile (natural DOM order) */
@media(max-width:520px){.cmp-grid{display:flex;flex-direction:column}}



/* FSL: Free Audit plan toggle. To re-enable the free audit plan, remove the class "fs-hide-free-audit" from <body> in index.html. Hides the plan card and any in-page anchor pointing to #plan-checkup or #modal-checkup. */
body.fs-hide-free-audit .tier-checkup{display:none}
body.fs-hide-free-audit a[href="#plan-checkup"],body.fs-hide-free-audit [data-open="#modal-checkup"]{display:none}

.ft-partner{position:relative;cursor:pointer;display:inline-flex}
.ft-partner:hover{z-index:2}
.ft-partner::after{content:attr(data-partner);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);padding:5px 10px;border-radius:8px;background:rgba(15,17,21,.92);border:1px solid rgba(255,255,255,.1);color:#e4e1e1;font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .18s ease,transform .18s ease;box-shadow:0 4px 12px rgba(0,0,0,.35);z-index:10}
.ft-partner:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── [fs-optiselect] custom plan picker (rendered into #fs-analyzer / #az-card) ── */
.os-hdr-spacer{display:block;width:30px;height:30px;flex-shrink:0}
.os-intro{font-size:12.5px;color:#a8a5a5;line-height:1.55;margin:0 0 14px;text-align:center}
.os-list{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:max-content;gap:9px 10px;align-content:start;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -16px;padding:10px 16px 16px;scrollbar-width:thin;scrollbar-color:#1a1e24 transparent}
.os-list::-webkit-scrollbar{width:8px;background:transparent}
.os-list::-webkit-scrollbar-track{background:transparent}
.os-list::-webkit-scrollbar-thumb{background:#1a1e24;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.os-list::-webkit-scrollbar-thumb:hover{background-color:#222730}
.os-list::-webkit-scrollbar-button{display:none;width:0;height:0}
.os-cat-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6070;padding:8px 2px 2px;pointer-events:none}
.os-cat-label:first-child{padding-top:0}
.os-row{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid transparent;border-radius:12px;background:#0a0a0e;cursor:pointer;transition:box-shadow .35s ease,background-color .18s ease,transform .1s ease,color .35s ease;user-select:none;box-shadow:0 4px 16px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05)}
.os-row::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,transparent 38%,rgba(224,23,28,.40) 75%,rgba(181,18,23,.72) 100%);opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none}
.os-row::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -2px 6px rgba(0,0,0,.55);opacity:0;transition:opacity .35s ease;z-index:2;pointer-events:none}
.os-row>:not(.cmp-noise-grid){position:relative;z-index:3}
.os-row .os-step-noise{opacity:0;left:auto;right:0;width:62%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%);transition:opacity .35s ease;z-index:1}
.os-row:hover{background:#0e1016;box-shadow:0 6px 18px rgba(0,0,0,0.28),inset 0 1px 0 rgba(255,255,255,0.08)}
.os-row:active{transform:translateY(1px)}
.os-row:focus-visible{outline:2px solid #e0171c;outline-offset:2px}
.os-row.is-selected{background:#0e0e12;box-shadow:0 4px 28px rgba(0,0,0,.45)}
.os-row.is-selected::after{opacity:1}
.os-row.is-selected::before{opacity:1}
.os-row.is-selected .os-step-noise{opacity:1}
.os-check{width:22px;height:22px;flex-shrink:0;border:1.5px solid #2a2d35;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#0a0a0e;background:transparent;transition:background .16s,border-color .16s}
.os-check svg{opacity:0;transition:opacity .12s}
.os-row.is-selected .os-check{background:#e0171c;border-color:#e0171c;color:#fff}
.os-row.is-selected .os-check svg{opacity:1}
.os-row-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#e6e6e6;line-height:1.3}
.os-row.is-selected .os-row-name{color:#fff}
.os-row-price{font-size:12px;font-weight:800;color:#a8a5a5;flex-shrink:0;letter-spacing:.01em}
.os-row.is-selected .os-row-price{color:#e9e6e4}
.os-foot{margin-top:16px;padding-top:14px;border-top:1px solid #1c2026}
.os-total-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.os-total-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6070}
.os-total-val{font-size:22px;font-weight:900;color:#f0edec;letter-spacing:-.01em}
.os-checkout{margin-top:0}
.os-checkout:disabled{opacity:.4;cursor:not-allowed;background:#1c2026;color:#5a6070;transform:none;box-shadow:none}
.os-save{overflow:hidden;max-height:0;opacity:0;margin-bottom:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .28s ease,margin-bottom .35s cubic-bezier(.4,0,.2,1)}
.os-save.is-visible{max-height:140px;opacity:1;margin-bottom:14px}
.os-save-inner{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid rgba(200,150,12,.32);border-radius:11px;background:rgba(200,150,12,.07);color:#e3b94a;font-size:12.5px;line-height:1.5}
.os-save svg{color:#c8960c;flex-shrink:0;transform:translateY(1px)}
.os-save strong{color:#f5d36e;font-weight:800}
.os-switch-btn{display:inline-block;margin-top:0;flex-shrink:0;white-space:nowrap;padding:7px 13px;border:none;border-radius:9px;background:linear-gradient(180deg,#f5d36e,#c9981f);color:#1a1200;font-size:12px;font-weight:800;font-family:inherit;letter-spacing:.01em;cursor:pointer;transition:filter .16s,transform .1s}
.os-switch-btn:hover{filter:brightness(1.05)}
.os-switch-btn:active{transform:translateY(1px)}
@media (max-width:560px){
  .os-total-val{font-size:20px}
}

/* ── [fs-optiselect-3col] wider modal, 3-column grid, pinned footer, responsive ── */
#fs-analyzer .az-card{width:min(1040px,100%);display:flex;flex-direction:column;overflow:hidden}
#fs-analyzer .az-hdr,#fs-analyzer .os-hero,#fs-analyzer .os-intro,#fs-analyzer .os-foot{flex-shrink:0}
.os-cat-label{grid-column:1/-1}
.os-save-text{flex:1;min-width:0;transform:translateY(1px)}
.os-row-price.os-free,.os-row.is-selected .os-row-price.os-free{color:#e3b94a}
@media (max-width:820px){ .os-list{grid-template-columns:1fr 1fr} }
@media (max-width:520px){
  .os-list{grid-template-columns:1fr}
  .os-save-inner{flex-wrap:wrap}
  .os-save.is-visible{max-height:220px}
  .os-switch-btn{width:100%;margin-top:2px}
}

/* ── [fs-optiselect-tooltip] help icon + floating tip bubble ── */
.os-help{display:inline-flex;align-items:center;color:#8a909a;cursor:help;flex-shrink:0}
.os-help:hover,.os-help:focus-visible{color:#d8dadc;outline:none}
.os-tip-bubble{position:fixed;z-index:99999;max-width:240px;background:#15171c;border:1px solid #2a2d35;border-radius:9px;padding:8px 11px;font-size:12px;line-height:1.45;font-weight:500;color:#d8dadc;box-shadow:0 12px 34px rgba(0,0,0,.6);pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease;display:none}
.os-tip-bubble.is-visible{opacity:1;transform:translateY(0)}

/* ── [fs-optiselect-premium] long-name wrap + Prime Status premium selected state ── */
.os-row-name>span{min-width:0;overflow-wrap:break-word}
.os-row-premium{position:relative}
.os-row-premium>*:not(.os-prime-noise):not(.cmp-noise-grid){position:relative;z-index:3}
.os-prime-noise{display:none}
.os-row-premium.is-selected{border-color:transparent;background:#0e0e12;box-shadow:0 4px 28px rgba(0,0,0,.45)}

/* ── [fs-optiselect-footer] Select All / Clear All + Next Step + volume-discount total ── */
.os-btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin-top:4px}
.os-btn-row .os-flow-w{flex:0 0 auto;display:flex}
.os-btn-row .os-flow-w-cta{flex:1 1 0}
.os-btn-row .os-flow-w>button{width:100%;justify-content:center;font-size:14px;padding:10px 22px}
.os-btn-row .os-flow-cta:disabled{opacity:.45;filter:grayscale(.35);cursor:not-allowed;box-shadow:none}
@media (max-width:640px){.os-btn-row .os-flow-w{flex:1 1 0}.os-btn-row .os-flow-w-cta{flex:1 1 100%}}
.os-secondary-btn{flex:0 0 auto;border:1px solid #2a2d35;border-radius:12px;background:#101218;color:#cdd0ce;font-size:13.5px;font-weight:700;font-family:inherit;padding:0 20px;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}
.os-secondary-btn:hover{background:#161922;border-color:#3a4048}
.os-checkout{flex:1 1 0;width:auto;margin-top:0}
@media (max-width:600px){
  .os-btn-row .os-secondary-btn{flex:1 1 0}
  .os-btn-row .os-checkout{flex:1 1 100%}
}
.os-total-old{color:#f33030;text-decoration:line-through;text-decoration-thickness:1px;font-size:20px;font-weight:600;margin-right:10px}
.os-row-price .os-row-old{color:#f33030;text-decoration:line-through;text-decoration-thickness:1px;font-weight:600;margin-right:3px;font-size:12px}
.os-row.is-selected .os-row-price .os-row-old{color:#8f8d8c;text-decoration-color:#8f8d8c}
.os-disc-tag{display:inline-block;margin-left:8px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#1a1200;background:linear-gradient(180deg,#f5d36e,#c9981f);padding:4px 9px;border-radius:999px;vertical-align:middle}

/* ── [fs-optiselect-hero] decorative header + struck-price alignment ── */
.os-total-val{display:inline-flex;align-items:center}
.os-hero{position:relative;margin:-24px -24px 16px;padding:30px 24px 22px;border-radius:22px 22px 0 0;overflow:hidden;text-align:center;background:#060608}
.os-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(54% 104% at 7% -7%,rgba(226,176,44,.66),rgba(226,176,44,.17) 50%,transparent 78%),radial-gradient(54% 104% at 93% -7%,rgba(234,38,41,.66),rgba(234,38,41,.17) 50%,transparent 78%),radial-gradient(82% 94% at 50% -32%,rgba(230,132,50,.18),transparent 60%);-webkit-mask-image:radial-gradient(150% 132% at 50% -30%,#000 48%,rgba(0,0,0,.35) 70%,transparent 88%);mask-image:radial-gradient(150% 132% at 50% -30%,#000 48%,rgba(0,0,0,.35) 70%,transparent 88%)}
.os-hero-noise{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center top;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,1),rgba(0,0,0,1) 40%,transparent 90%);mask-image:linear-gradient(180deg,rgba(0,0,0,1),rgba(0,0,0,1) 40%,transparent 90%)}
.os-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,150,12,.45),rgba(224,23,28,.45),transparent)}
.os-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.os-hero-badge{position:relative;width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:11px;border:none;background:radial-gradient(120% 100% at 30% 15%,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0.02) 35%,rgba(0,0,0,0.0) 60%),linear-gradient(180deg,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0.02) 10%,rgba(0,0,0,0.0) 60%);box-shadow:0 1px 0 rgba(255,255,255,0.06) inset,0 -1px 0 rgba(0,0,0,0.35) inset,0 6px 12px rgba(0,0,0,0.35),0 0 26px rgba(255,102,102,0.28)}
.os-hero-badge::before{content:"";position:absolute;inset:4px;background:#0d0f12;border-radius:10px}
.os-hero-badge::after{content:"";position:absolute;inset:1px;border-radius:12px;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,0.06) inset}
.os-hero-badge img{position:relative;z-index:2;width:30px;height:30px;object-fit:contain;display:block;filter:drop-shadow(0 0 2px rgba(255,102,102,0.25));animation:SGlow 3s ease-in-out infinite}
.os-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#c8960c;margin-bottom:7px}
.os-hero-title{font-size:27px;font-weight:900;line-height:1.05;letter-spacing:-.01em;color:#ffffff;-webkit-text-fill-color:#ffffff}
.os-hero-sub{font-size:13px;font-weight:600;color:#4a5058;margin-top:8px;max-width:520px;line-height:1.5}
.os-hero-sub2{font-size:11.5px;font-weight:600;color:#3f444b;margin-top:5px;max-width:420px;line-height:1.45}
.os-hero-link{color:#8a8f97;text-decoration:none;cursor:pointer;transition:color .15s ease}
.os-hero-link:hover{color:#c9c6c4}
.os-hero .az-btn-x{position:absolute;top:16px;right:16px;z-index:2;background:#0a0a0e}
@media (max-width:560px){.os-hero{padding:24px 20px 18px}.os-hero-title{font-size:23px}}
.plan-price-area .pa-original{font-size:13.5828px;font-weight:600;line-height:1;margin-top:5px;color:#f33030;text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:currentColor}
.plan-price-area .pa-convert{font-size:13.5828px;font-weight:600;line-height:1;margin-top:5px;color:#6a6f78;white-space:nowrap}
.bk2-summary-approx{font-size:12.5px;font-weight:600;line-height:1;color:#6a6f78;margin-top:4px;white-space:nowrap;text-align:right}
.pa-convert .pa-approx-ic,.bk2-summary-approx .pa-approx-ic{margin-right:4px;vertical-align:middle;display:inline-flex;color:#8a8f98}
@media(max-width:800px){.plan-price-area{flex-wrap:nowrap;align-items:center;gap:8px}.plan-price-area .pa-original{flex-basis:auto;margin-top:0}.plan-price-area .pa-convert{margin-top:0}}
.hero-asterisk{background:linear-gradient(180deg,#e91f28 0%,#d2151e 45%,#9d0f18 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* === sleek pass: strip section shadows, clean/darken borders === */
.cta .panel,
#games .panel,
.hw-card,
.frame,
.logo, .logos .logo:hover,
.reviews .card, .marquee .card,
.plan-row:hover,
.fs-faq__item,
.cmp-card,
header .menu a.chip:not(.login),
header .menu a.chip:not(.login):hover,
.chip, .chip:hover { box-shadow: none; }
header .menu a.chip:not(.login){box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),inset 0 -1px 0 rgba(0,0,0,0.28),0 10px 26px rgba(0,0,0,0.35)}
header .menu a.chip:not(.login):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,0.07),inset 0 -1px 0 rgba(0,0,0,0.32),0 14px 30px rgba(0,0,0,0.40)}
html body .cmp-card.cmp-highlight,
body .cmp-card.cmp-highlight:hover,
html body .cmp-card.cmp-highlight.fs-pressable,
html body .cmp-card.cmp-highlight.fs-pressable:hover { box-shadow: none; }
.hw-card .hw-icon,
.steps .step img, .steps .step .step-video-wrap,
.step img,
.fs-faq__item { border: none; }
#faq .fs-faq__arrow,
#benchmarks .fs-faq__arrow,
.gc-arrow,
#benchmarks .bench-btn { border-color: #181b20; }
#fs-analyzer .az-card,
#fs-bk .bk2-card { border-color: transparent; }
#games .game-banner, .game-banner { box-shadow: none; }
/* === sleek pass 2: hover/remaining shadows + darker arrow borders === */
.hw-card:hover { box-shadow: none; }
.steps .step img, .steps .step .step-video-wrap, .steps .step video { box-shadow: none; }
#faq .fs-faq__arrow, #benchmarks .fs-faq__arrow,
#faq .fs-faq__arrow:hover, #benchmarks .fs-faq__arrow:hover,
#faq .fs-faq__arrow:active, #benchmarks .fs-faq__arrow:active,
.gc-arrow, .gc-arrow:hover { border-color: #15181c; box-shadow: none; }
#games .game-banner, #games .game-banner:hover,
.game-banner, .game-banner:hover { box-shadow: none; }

/* Unified subtle 3D bevel + soft shadow (matches the social-proof pill) across section content cards */
.reviews .card,
.steps .step,
.hw-card,
.plan-row,
.cmp-card,
.wc-table,
html body .cmp-card.cmp-highlight,
html body .cmp-card.cmp-highlight:hover,
#gc-wrap .gc-card,
#gc-wrap .gc-card.gc-active,
.fs-faq__item,
.cta .panel{
  box-shadow:0 4px 16px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05);
}

/* Plan rows: top highlight as an overlay above the bleeding image so it follows the corners and isn't cut off */
.plan-row{box-shadow:0 4px 16px rgba(0,0,0,0.2);isolation:isolate}
.plan-row::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,0.09),inset 0 6px 9px -7px rgba(0,0,0,0.55);z-index:2;pointer-events:none}

/* Smooth 3D depth on the step videos (were flat) */
.steps .step .step-video-wrap{box-shadow:0 6px 20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25)}

/* Plan modal hero image - no border (overrides later border rule) */
.fs-new-hero{border:none}

/* Visible 3D bevel on carousel poster cards (track clips drop shadows, so bevel sits on the card) */
#gc-wrap .gc-card::after{box-shadow:inset 0 1px 0 rgba(255,255,255,0.14),inset 0 -2px 8px rgba(0,0,0,0.38);border-radius:inherit}

/* Shrink the step video so its top + side gaps match the ~25px gap below the description */
.step .step-title{margin-top:5px}
.steps .step .step-video-wrap{width:calc(100% - 14px);margin:7px auto 0}

/* Plan-contents modal + giveaway modal backgrounds match the page background */
.fs-new-modal__dialog{background:#060608}
#bookwin-modal .modal-card{background:#060608}

/* Hero image container - 3D depth + bevel */
.frame{box-shadow:0 6px 20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,0.05)}

/* Team logo tiles - same 3D depth + bevel as the hero image container */
.logos .logo{box-shadow:0 6px 20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,0.05)}
.logos .logo:hover{box-shadow:0 10px 28px rgba(0,0,0,.5),0 3px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,0.07)}

/* Step cards - reduce the gap below the description very slightly */
.step{padding-bottom:14px}

/* Hardware tabs - content sized; bottom padding trimmed so the visible text-to-edge gap matches the 24px top gap (line-height adds ~5px trailing space) */
.hw-grid{align-items:start}
.hw-card{justify-content:flex-start;padding-top:24px;padding-bottom:19px}

/* Reviews + step + hardware descriptions match the FAQ answer text exactly */
#how .step p.muted{font-size:0.91rem;color:#a09e9c;line-height:1.6}
.hw-card .hw-desc{font-size:0.91rem;color:#a09e9c;line-height:1.6}
.marquee .card .text{font-size:14px;color:#b0adab;line-height:1.55;font-weight:400}

/* 3D bevel on giveaway + plan + checkout outer containers; remove giveaway grey outline */
#bookwin-modal .modal-card{border:none;box-shadow:0 10px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,0.05)}
.fs-new-modal__dialog{box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,0.05)}
#fs-bk .bk2-card{box-shadow:0 10px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,0.05)}

/* Plan feature labels - white text (inactive stay dimmed) */
.fw-item{color:#fff}

/* Info icon in plan modal - better visibility, centered "i", aligned with the text */
#fs-new-giveaway-info{align-items:center}
#fs-new-giveaway-info .fs-info-icon{flex-shrink:0;width:18px;height:18px;padding:0;margin:0;top:0;border:none;border-radius:0;font-size:0;line-height:0;position:relative;background:center/contain no-repeat url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjcuNSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utb3BhY2l0eT0iMC41IiBzdHJva2Utd2lkdGg9IjEuNSIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1LjciIHI9IjAuOTUiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC44NSIvPjxyZWN0IHg9IjguMTUiIHk9IjgiIHdpZHRoPSIxLjciIGhlaWdodD0iNS4yIiByeD0iMC44NSIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1vcGFjaXR5PSIwLjg1Ii8+PC9zdmc+")}

/* Plan feature labels - slightly less bold + slightly less white */
.fw-item{color:#dcd9d7;font-weight:550}

/* Never-settle (cmp) card subtitles - slightly less thick */
.cmp-card .cmp-cost{font-weight:500}

/* [fs-liquid-glass-icons] Obsidian Glass icon tiles (hw + cmp) - dark edges, glow kept */
.hw-card .hw-icon,.cmp-card .cmp-icon,.sf-ic{
  position:relative;border:1px solid transparent;overflow:visible;color:#ffd9d6;
  background:
    radial-gradient(82% 66% at 50% 38%,rgba(232,26,34,.55) 0%,rgba(66,10,15,.68) 48%,rgba(13,12,16,.97) 100%),
    linear-gradient(168deg,#170a0d,#0a0608);
  background-clip:padding-box;
  transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease;
}
/* faint top sheen - subtle, not an edge */
.hw-card .hw-icon::before,.cmp-card .cmp-icon::before,.sf-ic::before{
  content:"";position:absolute;left:10%;right:10%;top:6%;height:30%;border-radius:50%/62%;
  background:linear-gradient(180deg,rgba(255,236,233,.45),rgba(255,236,233,.05) 56%,transparent);
  mix-blend-mode:screen;filter:blur(.3px);pointer-events:none;z-index:3;opacity:.16;
}
.hw-card .hw-icon svg,.cmp-card .cmp-icon svg,.cmp-card .cmp-icon i,.sf-ic svg{
  position:relative;z-index:6;fill:none;
  filter:drop-shadow(0 0 7px rgba(234,41,49,.55));
}
.hw-card .hw-icon svg path,.hw-card .hw-icon svg circle,.hw-card .hw-icon svg rect,
.hw-card .hw-icon svg line,.hw-card .hw-icon svg polyline,.hw-card .hw-icon svg polygon,
.cmp-card .cmp-icon svg path,.cmp-card .cmp-icon svg circle,.cmp-card .cmp-icon svg rect,
.cmp-card .cmp-icon svg line,.cmp-card .cmp-icon svg polyline,.cmp-card .cmp-icon svg polygon,.sf-ic svg path,.sf-ic svg circle,.sf-ic svg rect,.sf-ic svg line,.sf-ic svg polyline,.sf-ic svg polygon{
  fill:none;stroke:#ffe1de;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* feature tiles */
.hw-card .hw-icon{
  width:76px;height:76px;border-radius:21px;margin:6px auto 6px auto;
  box-shadow:
    inset 0 -11px 18px -8px rgba(0,0,0,.7),
    inset 0 -4px 7px 0 rgba(0,0,0,.82),
    0 3px 6px rgba(0,0,0,.5),
    0 17px 28px -8px rgba(0,0,0,.6),
    0 -3px 19px rgba(187,19,25,.18);
}
.hw-card .hw-icon svg{width:38%;height:38%;}
.hw-card:hover .hw-icon{
  transform:translateY(-3px);
  box-shadow:
    inset 0 -11px 18px -8px rgba(0,0,0,.7),
    inset 0 -4px 7px 0 rgba(0,0,0,.82),
    0 4px 8px rgba(0,0,0,.5),
    0 22px 34px -8px rgba(0,0,0,.62),
    0 -3px 27px rgba(218,22,29,.3);
}

/* compare tiles */
.cmp-card .cmp-icon,.sf-ic{
  width:48px;height:48px;flex:0 0 48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    inset 0 -7px 12px -6px rgba(0,0,0,.7),
    inset 0 -3px 5px 0 rgba(0,0,0,.82),
    0 2px 5px rgba(0,0,0,.5),
    0 11px 18px -6px rgba(0,0,0,.6),
    0 -2px 14px rgba(187,19,25,.18);
}
.cmp-card .cmp-icon svg,.cmp-card .cmp-icon i,.sf-ic svg{width:22px;height:22px;}
.hw-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(125% 80% at 50% -12%,rgba(224,23,28,.36),rgba(157,15,24,.13) 44%,transparent 70%)}

.hw-card .hw-icon,.hw-card .hw-title,.hw-card .hw-desc{position:relative;z-index:2}
.hw-noise-grid{position:absolute;inset:0;pointer-events:none;z-index:1;background-size:100% 100%;background-position:center top;background-repeat:no-repeat}
.combo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:6px}
.combo-col{background:#0a0a0e;border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 20px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column}
.combo-tabs{display:grid;grid-template-columns:1fr 1fr;position:relative;isolation:isolate}
.combo-tabs::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(140% 82% at 50% -12%,rgba(224,23,28,.28),rgba(157,15,24,.11) 46%,transparent 72%)}
.combo-col .hw-card{min-height:0;border-radius:0;box-shadow:none;padding:20px 12px 18px;cursor:default;background:transparent;position:relative;z-index:2}
.combo-col .hw-card::before{display:none}
.combo-col .hw-card:hover{transform:none;box-shadow:none}
#how .combo-col .step{box-shadow:none;border-radius:0}
@media (max-width:1000px){.combo-grid{grid-template-columns:1fr}}
/* ===== Three Steps - tabbed stage (layout 11) ===== */
.howtab{max-width:none;margin:0 auto}
.howtab-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.howtab-btn{position:relative;overflow:hidden;isolation:isolate;text-align:left;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:3px;padding:15px 18px;border-radius:14px;border:none;background:#0e0e12;color:#b0adab;box-shadow:0 4px 18px rgba(0,0,0,.4);transition:background-color .18s ease,box-shadow .35s ease,transform .18s ease,color .35s ease}
.howtab-btn::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,transparent 38%,rgba(224,23,28,.40) 75%,rgba(181,18,23,.72) 100%);opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none}
.howtab-btn::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -2px 6px rgba(0,0,0,.55);z-index:2;pointer-events:none}
.howtab-btn>:not(.cmp-noise-grid){position:relative;z-index:3}
.howtab-btn .cmp-noise-grid{opacity:0;left:auto;right:0;width:62%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%);transition:opacity .35s ease}
.howtab-btn-n{font-weight:700;font-size:15px;color:#e9e6e4}
.howtab-btn-t{font-size:12.5px;opacity:.78;line-height:1.3;font-weight:500}
.howtab-btn:hover{background:#131318;box-shadow:0 6px 22px rgba(0,0,0,.5)}
.howtab-btn.is-active{border:none;background:#0e0e12;box-shadow:0 4px 28px rgba(0,0,0,.45)}
.howtab-btn.is-active::after{opacity:1}
.howtab-btn.is-active .cmp-noise-grid{opacity:1}
.howtab-btn.is-active .howtab-btn-n{color:#fff}
.howtab-btn.is-active .howtab-btn-t{color:#e9e6e4;opacity:1}
.howtab-stage{position:relative;background:#0a0a0e;border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 16px rgba(0,0,0,.2);padding:0;overflow:hidden}
.howtab-stage::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.07);z-index:5;pointer-events:none}
.howtab-panel{display:none;grid-template-columns:.58fr .42fr;gap:0;align-items:stretch}
.howtab-panel.is-active{display:grid}
.howtab-media{order:2;position:relative;overflow:hidden;align-self:stretch}
.howtab-media .step-video-wrap{width:100%;height:100%;min-height:280px;border:none;border-radius:0;box-shadow:none;overflow:hidden}
.howtab-media .step-video-wrap video,.howtab-media .step-video-wrap .step-video{width:100%;height:100%;object-fit:cover;display:block;border:none;border-radius:0}
.howtab-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a0a0e 0,transparent 40%);pointer-events:none;z-index:2}
.howtab-body{order:1;display:flex;flex-direction:column;justify-content:center;padding:30px 52px 30px 36px}
.howtab-title{font-weight:700;font-size:23px;margin:0 0 10px;color:#f5f2f0;line-height:1.15}
.howtab-desc{color:#b0adab;font-size:14px;line-height:1.55;margin:0 0 38px;max-width:460px}
.howtab-feats{display:flex;flex-flow:row wrap;gap:16px 28px}
.sf-row{display:flex;align-items:center;gap:14px;flex:1 1 230px;min-width:0}
.sf-t{font-weight:700;font-size:15px;color:#f0eeec}
.sf-d{color:#b0adab;font-size:13px;line-height:1.4;margin-top:2px}
@keyframes howtabRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes howtabFade{from{opacity:0}to{opacity:1}}
.howtab-panel.is-active .howtab-title{animation:howtabRise 1.05s cubic-bezier(.22,.61,.36,1) both}
.howtab-panel.is-active .howtab-desc{animation:howtabRise 1.05s cubic-bezier(.22,.61,.36,1) .16s both}
.howtab-panel.is-active .howtab-feats{animation:howtabRise 1.05s cubic-bezier(.22,.61,.36,1) .32s both}
.howtab-panel.is-active .howtab-media{animation:howtabFade 1.3s ease both}
@media (max-width:860px){.howtab-bar{grid-template-columns:1fr}.howtab-panel.is-active{grid-template-columns:1fr;gap:0}.howtab-media .step-video-wrap{min-height:220px}.howtab-media::after{background:linear-gradient(180deg,#0a0a0e 0,transparent 45%)}.howtab-body{padding:22px 22px 24px}}

.bk2-cta-full{width:100%;margin-top:18px;font-size:15px}
body .fs-book-btn.fs-btn-red.fs-no-icon.bk2-cta-full{padding:13px 22px}

/* Hero visual - transparent cutout image, no frame/border/glow/shadow */
.fs-hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.fs-hero-visual img{display:block;position:relative;top:9px;width:100%;height:auto;max-width:1120px;margin:0 auto;background:none;border:none;box-shadow:none;border-radius:0;object-fit:contain}
@media (max-width:1000px){.fs-hero-visual img{max-width:460px}}
/* Wider hero section + larger image column (desktop only) */
@media (min-width:1001px){.hero .container{max-width:1720px}.hero .hero-grid{grid-template-columns:1fr 1.45fr;gap:40px}.hero .hero-grid>div:first-child{transform:translateX(clamp(-64px,-2.7vw,-28px))}}
/* On wide screens, shift the image right + size it to align with the left column top and bottom */
@media (min-width:1500px){.fs-hero-visual img{transform:scale(1.04)}}
@media (min-width:1600px){.fs-hero-visual img{transform:translateX(clamp(0px,0.6vw,24px)) scale(1.08)}}
/* Hero feature/benefit list */
.fs-hero-feats{list-style:none;margin:16px 0 22px;padding:0;display:flex;flex-direction:column;gap:12px}
.fs-hero-feats li{display:flex;align-items:center;gap:12px;color:#e8e5e5;font-size:15px;font-weight:600;letter-spacing:.01em}
.fs-hero-feats .fs-feat-ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;overflow:visible;border:1px solid transparent;color:#ffd9d6;background:radial-gradient(82% 66% at 50% 38%,rgba(232,26,34,.55) 0%,rgba(66,10,15,.68) 48%,rgba(13,12,16,.97) 100%),linear-gradient(168deg,#170a0d,#0a0608);background-clip:padding-box;box-shadow:inset 0 -7px 12px -6px rgba(0,0,0,.7),inset 0 -3px 5px 0 rgba(0,0,0,.82),0 2px 5px rgba(0,0,0,.5),0 11px 18px -6px rgba(0,0,0,.6),0 -2px 14px rgba(187,19,25,.18)}
.fs-hero-feats .fs-feat-ic::before{content:"";position:absolute;left:10%;right:10%;top:6%;height:30%;border-radius:50%/62%;background:linear-gradient(180deg,rgba(255,236,233,.45),rgba(255,236,233,.05) 56%,transparent);mix-blend-mode:screen;filter:blur(.3px);pointer-events:none;z-index:3;opacity:.16}
.fs-hero-feats .fs-feat-ic svg{position:relative;z-index:6;width:21px;height:21px;display:block;fill:none;filter:drop-shadow(0 0 7px rgba(234,41,49,.55))}
.fs-hero-feats .fs-feat-ic svg path,.fs-hero-feats .fs-feat-ic svg circle,.fs-hero-feats .fs-feat-ic svg line{fill:none;stroke:#ffe1de;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1000px){.fs-hero-feats{align-items:center}}

/* Footer partner CTA */
.ft-partner-cta{margin:18px 0 0;max-width:300px;font-size:14px;line-height:2.0;color:#7a7876}
#site-footer .footer-nav a.ft-partner-link{color:rgba(224,23,28,.7);font-weight:700;font-size:inherit;text-decoration:none;cursor:pointer;transition:color .15s}
#site-footer .footer-nav a.ft-partner-link:hover{color:#ec3d41}

/* ===== Partner / business inquiry modal (matches checkout/OptiFlow modal) ===== */
.pm-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}
.pm-modal.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s ease,visibility 0s}
.pm-backdrop{position:absolute;inset:0;background:transparent}
.pm-dialog{position:relative;width:min(480px,100%);max-height:90vh;overflow-y:auto;background:#060608;border:1px solid transparent;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,0.05);padding:26px 24px 24px;color:#e8e4e4;opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;scrollbar-width:thin;scrollbar-color:#1a1e24 transparent}
.pm-modal.show .pm-dialog{opacity:1;transform:none}
.pm-x{position:absolute;right:14px;top:14px;border:0;background:#0a0a0e;color:#cdd0ce;width:30px;height:30px;border-radius:999px;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);transition:filter .15s}
.pm-x:hover{filter:brightness(1.3)}
.pm-head{text-align:center;margin-bottom:20px}
.pm-logo{display:flex;justify-content:center;margin-bottom:12px}
.pm-logo img{border-radius:9px;display:block}
.pm-head h3{margin:0 0 6px;font-size:22px;font-weight:800;color:#fff;letter-spacing:-.01em}
.pm-sub{margin:0;font-size:13px;line-height:1.5;color:#4a5058;font-weight:600}
.pm-body{display:flex;flex-direction:column;gap:14px}
.pm-error{display:none;color:#ff5c5c;font-size:12.5px;line-height:1.4;margin:-4px 0 0}
.pm-error.show{display:block}
.pm-done{text-align:center;padding:10px 4px 4px}
.pm-check{width:56px;height:56px;margin:0 auto 16px;border-radius:999px;background:rgba(40,170,90,.12);color:#37c871;display:flex;align-items:center;justify-content:center}
.pm-check svg{width:28px;height:28px}
.pm-done h3{margin:0 0 8px;font-size:20px;font-weight:800;color:#fff}
.pm-done p{margin:0 0 4px;font-size:13.5px;line-height:1.6;color:#a09e9c}
body.pm-open{overflow:hidden}
@media(max-width:600px){.pm-dialog{border-radius:18px;padding:24px 18px 20px}}

/* Reviews: player title soft white; verified text matches faded social icons (tick stays original white) */
.reviews .marquee .card .handle{color:rgba(255,255,255,.82);opacity:1;font-size:.8rem}

/* [fs-text-pass] Item 4: verified text slightly less thick */
.reviews .marquee .card .verified-bottom{font-weight:600}
/* Item 6: unify body text (reviews, plan descriptions, Never-Settle tab descriptions, FAQ answers) to match .howtab-desc */
.reviews .marquee .card .text{color:#b0adab;font-size:14px;line-height:1.55;font-weight:400}
.plan-desc{color:#b0adab;font-size:14px;line-height:1.55;font-weight:400}
.cmp-card .cmp-cost{color:#b0adab;font-size:13px;line-height:1.55;font-weight:400}
.fs-faq__a{color:#b0adab;font-size:14px;line-height:1.55;font-weight:400}
/* Item 7: partner CTA text white (Get in touch link stays red) */
.ft-partner-cta{color:#7a7876;font-weight:500}

/* [fs-giveaway-hero] Item 8: giveaway image uses plan-modal hero style + light ring; keep its original spacing */
.bookwin-hero{margin:24px 0 14px}
/* Item 4: hero eyebrow size on desktop (base .eyebrow is 10.5px) */
.hero .eyebrow{font-size:11px}

/* [gc-arrow-3d-match] Games carousel back/forth buttons: match the checkout date-selector
   (.bk2-cal-hdr button) 3D bevel surface - transparent border, soft drop shadow + inner top
   highlight. Placed last so it wins over the earlier "sleek pass" flatten rules. */
.gc-arrow,
.gc-arrow:hover,
.gc-arrow:active{
  border:1px solid transparent;
  background:#0a0a0e;
  color:#cdd0ce;
  border-radius:8px;
  box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);
}
.gc-arrow:hover{
  background:#1a1e24;
}
.gc-arrow:active{
  transform:scale(.96);
}

/* [fs-mobile-feature-text] Hero feature items show shorter copy on phones */
.fs-hero-feats .fs-feat-mob{display:none}
@media(max-width:600px){
  .fs-hero-feats .fs-feat-full{display:none}
  .fs-hero-feats .fs-feat-mob{display:inline}
}

/* [fs-faq-cta-mobile-gap] Restore spacing between FAQ and CTA on mobile.
   Removing the FAQ pager shrank the JS height reserve and collapsed the gap;
   let the FAQ container grow past its reserve and add proper bottom spacing. */
@media(max-width:768px){
  #faq > .container{height:auto;min-height:var(--faq-min-height)}
  #faq{padding-bottom:64px}
}


/* [fs-faq-width-match] Make the FAQ section content the SAME width as every other
   section on all screens. Neutralizes the viewport over-widening (+gutter) and the
   slide side-padding that pushed the FAQ cards wider than the standard container. */
#faq.section{display:block;padding-left:0;padding-right:0}
#faq .fs-faq__viewport{width:100%;margin-left:0}
#faq .fs-faq__slide{padding-left:0;padding-right:0}

/* [fs-booked-slots] Greyed-out unavailable (booked/reserved) time slots + tooltip.
   Applies to both real confirmed bookings and the per-day decoy slots. The slot is
   never removed - it is shown greyed, is not clickable, and carries an info icon
   (inline next to the time) whose tooltip reads "Booked/Reserved". */
.bk2-slot{position:relative}
.bk2-slot--booked{cursor:not-allowed;color:#565b62;background:#08080c;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;gap:6px}
.bk2-slot--booked:hover{background:#08080c}
.bk2-slot--booked .bk2-slot-time{opacity:.6}
.bk2-slot-info{display:inline-flex;align-items:center;justify-content:center;opacity:.6;cursor:help;line-height:0;outline:none}
.bk2-slot-info svg{display:block;width:15px;height:15px}
/* Tooltip - body-level (escapes the scrolling slots grid so it never clips),
   styled identically to the footer partner tooltips. Positioned by JS. */
.bk2-tip{position:fixed;z-index:99999;padding:6px 11px;border-radius:8px;background:rgba(15,17,21,.95);border:1px solid rgba(255,255,255,.1);color:#e4e1e1;font-size:12px;font-weight:600;white-space:normal;max-width:min(260px,80vw);text-align:center;line-height:1.4;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;box-shadow:0 4px 12px rgba(0,0,0,.35);display:none}
.bk2-tip.is-visible{opacity:1;transform:translateY(0)}


/* [fs-unified-tooltips] Every tooltip on the site now matches the hero logo
   containers: #0a0a0e background, NO grey outline (transparent border) and the same
   layered 3D bevel shadow. Only appearance is overridden - each tooltip keeps its own
   position/size/animation. */
.ft-partner::after,
.esports-pro-ava::after,
.logo[data-team]::after,
.os-tip-bubble,
.bk2-tip,
.fs-partner-tooltip,
.fs-tooltip,
.fs-reinstall-bubble,
#fs-global-tooltip{
  background:#0a0a0e;
  border:1px solid transparent;
  border-radius:10px;
  color:#e4e1e1;
  box-shadow:0 6px 20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,0.05);
}
/* Drop the little pointer arrows so they match the (arrowless) logo containers */
#fs-global-tooltip::before,
.fs-tooltip::after{ display:none; }

/* ===== [fs-mobile-batch] grouped fixes ===== */

/* [item2] Back/forth nav buttons must not stay stuck in hover colour after a tap on touch devices */
@media (hover:none){
  .gc-arrow:hover{background:#0a0a0e}
  .bk2-cal-hdr button:hover{background:#0a0a0e}
  .bk2-datenav .bk2-date-arrow:hover{background:#0a0a0e}
}

/* [item3] Darker modal backdrops to kill background distraction; mobile darker than desktop */
.modal.open,.fs-new-modal,#fs-bk,#fs-analyzer,.pm-modal,.fs-plan-modal__backdrop{background:rgba(0,0,0,.88)}
@media (max-width:768px){
  .modal.open,.fs-new-modal,#fs-bk,#fs-analyzer,.pm-modal,.fs-plan-modal__backdrop{background:rgba(0,0,0,.93)}
}

/* [item4] OptiFlow list: clip the scroll exactly at the hero gradient line (top) and the
   footer separator line (bottom) on mobile, so neither end shows an ugly gap */
@media (max-width:560px){
  .os-hero{margin-bottom:0}
  .os-foot{margin-top:0}
}

/* [item5] Hide the per-plan suitability line + info icon inside the plan detail modal on mobile */
@media (max-width:565px){
  #fs-new-giveaway-info{display:none}
}

/* [item6] "Optimizations Included" + gold pill: gentle permanent zoom to draw the eye (PC + mobile) */
@keyframes fsOptInclPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
#fs-new-accordion .fs-new-accordion__toggle>span:first-child{display:inline-flex;align-items:center;transform-origin:left center}

/* [item9] Mobile hero: hide the 3 feature rows + desktop visual, show hero3.webp on their spot */
.fs-hero-mobile-img{display:none}
@media (max-width:1000px){
  .hero .fs-hero-feats{display:none}
  .hero .hero-grid>.fs-hero-visual{display:none}
  .fs-hero-mobile-img{display:block;margin:18px auto 34px}
  .fs-hero-mobile-img img{display:block;width:100%;max-width:430px;height:auto;margin:0 auto}
}
@media (max-width:600px){
  /* [item6] slightly smaller eyebrow ("DESIGNED FOR PROFESSIONALS / CRAFTED FOR PERFECTION") on mobile */
  .hero .eyebrow{font-size:10px}
}

/* [fs-nav-neutral-dark] Navbar (PC + mobile) + match the bottom CTA bar: replace the
   blue-tinted rgba(9,12,15)/#1f2630 with a darker neutral shade. header.nav (one element
   for both layouts) wins over the per-breakpoint header rules by specificity + order. */
header.nav{background:rgba(6,6,8,0.94);border-bottom-color:#1a1a1d}

/* [fs-footer-mobile-labels] Inline mobile/desktop text swap for footer legal links
   (keeps the footer flex centering intact, unlike the block section-title classes) */
.ft-only-desktop{display:inline}
.ft-only-mobile{display:none}
@media (max-width:677px){
  .ft-only-desktop{display:none}
  .ft-only-mobile{display:inline}
}

/* [fs-batch-2] item8 */

/* [item8a] When the optimizations dropdown opens, stop the pulse and ease the pill/text
   back to normal scale gently instead of snapping */
@keyframes fsOptInclSettle{from{transform:scale(1.025)}to{transform:scale(1)}}
/* [item8a] disabled with the pulse above - with no running animation this rule would
   snap the row to scale(1.025) on open and ease back down, i.e. a pop from nowhere.
   #fs-new-accordion.is-open .fs-new-accordion__toggle>span:first-child{animation:fsOptInclSettle .4s ease-out forwards} */

/* [item8b] Mobile: slightly smaller "Optimizations Included" text + gold pill */
@media (max-width:565px){
  #fs-new-accordion .fs-new-accordion__toggle{font-size:16px}
  #fs-new-accordion .fs-new-accordion__toggle .fs-new-pill{font-size:12px;padding:6px 10px}
}

/* [fs-cta-mobile-break] CTA subtext: break before "Take back your competitive edge." on mobile only */
br.cta-mobile-br{display:none}
@media (max-width:600px){
  br.cta-mobile-br{display:inline}
}
/* [fs-plandesc-mobile] Custom plan desc: keep "Not sure?..." on the same flow (no row break) on mobile */
@media (max-width:600px){
  br.fs-plandesc-br{display:none}
}

/* ── Hero responsiveness fix ──────────────────────────────────────────────
   Root causes (confirmed by rendering):
   1) The offset layout at min-width:1001px uses columns 1fr 1.45fr (left =
      narrow column) plus transform:translateX(clamp(-64px,-2.7vw,-28px)) on
      the left column. That translate only has somewhere to go once the 1720px
      container is centered with spare margin (~1850px+). Between 1001-1850px
      the container is full-width, so the translate pulled the left column off
      the left edge (clipped, no gap).
   2) The team-logo row width cap was not taking effect, so on a wide single
      column (~700-1000px) the 8 logos stretched to ~105px each. */
.hero-grid>*{min-width:0}

@media (min-width:1001px){
  .hero .pro-performance-title{font-size:clamp(40px,3.8vw,56px)}
}

/* 1001-1850px: drop the off-screen translate and use balanced columns so the
   left column keeps an even gap (matching the image's gap) and isn't squished.
   1851px+ keeps the original offset look (line 8798), which has room by then. */
/* One layout for the whole >=1001px range so there is no breakpoint to jump
   across. This overrides the offset layout at line 8798 (1fr 1.45fr + negative
   translateX) everywhere, not just below 1850px, which is what previously caused
   the sudden shift at 1850/1851. The 1720px container max-width still applies, so
   side margins grow naturally on very wide screens. */
@media (min-width:1001px){
  .hero .hero-grid{grid-template-columns:clamp(482px,calc(23.73vw + 244px),664px) 1fr;gap:clamp(28px,3.2vw,44px)}
  .hero .hero-grid>div:first-child{transform:none;padding-left:clamp(20px,1.8vw,40px)}
}

/* Logos + actions: cap the row at --row-width reliably (max-width, not min()),
   let the logos flex to fill it, and hard-cap each tile at --logo-size so it can
   never blow up regardless of how wide the column is. */
.hero .actions,.hero .logos{max-width:var(--row-width);width:100%}
.hero .logos .logo{flex:1 1 0;min-width:0;width:auto;height:auto;aspect-ratio:1/1;max-width:var(--logo-size)}
.hero .logos .logo img{max-width:70%;max-height:70%;width:auto;height:auto}

.fs-new-modal__dialog,
.fs-plan-modal__dialog,
#fs-plan-modal .fs-plan-modal__content,
.terms-overlay,
#fs-bk .bk2-card,
#fs-analyzer .az-card,
.modal,
.modal-card,
.pm-modal,
.pm-card{overscroll-behavior:contain}

body.fs-scroll-locked{overscroll-behavior:none}

/* ============================================================
   [fs-benchmark-cmp-cards] Game benchmark tabs in the
   "Never Settle For Less" grid. They keep the default dark
   .cmp-card surface and the shared 3D bevel (identical to the
   non-highlighted tabs). The game logo sits top-right and the
   white "+XX%" pill sits at the right of the before -> after row.
   ============================================================ */
/* Game logo: rounded corners, vertically centered in the space between the
   top of the card and the bar, right edge aligned with where the bar ends.
   bottom:30px = bar top (20px bottom padding + 10px bar height); top:0 +
   margin:auto centres it within that upper band. */
.cmp-card.cmp-bench .cmp-bench-logo {
  position: absolute;
  top: 0;
  bottom: 30px;
  right: 22px;
  margin-top: auto;
  margin-bottom: auto;
  height: 40px;
  width: auto;
  max-width: 76px;
  object-fit: contain;
  display: block;
  border-radius: 8px;
  pointer-events: none;
}
/* Reserve the right zone so the name + figures never run under the logo */
.cmp-card.cmp-bench .cmp-top { padding-right: 84px; }
/* before -> after row, with the pill sitting right next to the FPS numbers */
.cmp-card.cmp-bench .cmp-bench-gainrow {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: auto;
  padding-top: 10px;
  padding-right: 84px;
}
.cmp-card.cmp-bench .cmp-bench-gain {
  display: flex;
  align-items: baseline;
  gap: 8px;
  line-height: 1;
  margin: 0;
  padding: 0;
}
.cmp-card.cmp-bench .cmp-b-before {
  font-size: 15px;
  font-weight: 700;
  color: #7f868e;
}
.cmp-card.cmp-bench .cmp-arrow {
  font-size: 13px;
  font-weight: 700;
  color: #9aa0a6;
  opacity: .85;
  transform: translateY(-1px);
}
.cmp-card.cmp-bench .cmp-b-after {
  font-size: 18px;
  font-weight: 900;
  color: #f0272e;
  letter-spacing: -.01em;
}
/* "+XX%" pill: white with dark text, slightly larger + bolder, no pulse.
   The System card's red GAME-READY pill (.cmp-highlight .cmp-tag) is left as-is. */
.cmp-card.cmp-bench .cmp-tag {
  background-color: #f2f3f5;
  background-image: linear-gradient(180deg, #ffffff 0%, #e6e8eb 100%);
  border: 1px solid rgba(0,0,0,0.14);
  color: #14171c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .01em;
  padding: 4px 10px;
  text-shadow: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.7);
  animation: none;
  align-self: center;
  flex: 0 0 auto;
}
/* System tab "Up to X%" gain: white and a touch bolder so it reads with the
   rest of the tabs instead of the deeper red used elsewhere. */
.cmp-card.cmp-highlight .cmp-gain.has-gain {
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}

/* ============================================================
   [fs-why-choose-compact] "Why Choose FrameSync?" comparison
   integrated into the same section, split into two side-by-side
   tables so the block is roughly half the height. Reuses the
   site's existing .table / .row / .head / .check / .cross styles.
   ============================================================ */
.wc-block { margin-top: 24px; }
.wc-divider {
  height: 1px;
  width: min(420px, 68%);
  margin: 0 auto 24px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}
.wc-heading {
  text-align: center;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 20px;
  color: #fff;
  letter-spacing: -.01em;
}
.wc-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
.wc-split .wc-table { margin: 0; }
/* Drop the trailing separator under the final row so it doesn't read as a
   stray line at the bottom edge of the container. */
.wc-table > .row:last-child { border-bottom: none; }
/* Same raised 3D bevel as the benchmark tabs. The header's opaque background
   paints over the card's own inset top-highlight, so re-add the highlight as
   an overlay above the rows (same approach the site uses for .plan-row). The
   soft drop shadow itself comes from the shared bevel rule that .wc-table is
   part of. */
.wc-table { position: relative; }
.wc-table::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 1000px) {
  .wc-split { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
}

/* ============================================================
   [fs-why-choose-d13] "Why Choose FrameSync?" - Design 13
   Left: swappable image + centered text. Right: single table
   (all 10 rows). Reuses base .table / .row / .head / .check /
   .cross; left text is centered within the left panel.
   ============================================================ */
.wc-block .wc13 {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  background: #0a0a0e;
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
/* [fs-wc13-3d-bevel] Same raised 3D bevel as the benchmark tabs
   (box-shadow: 0 4px 16px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.05)).
   The left image and table header paint over the container's own inset
   top-highlight, so render that highlight as an overlay above the children -
   the same approach already used for .wc-table::after. */
.wc-block .wc13::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
  pointer-events: none;
  z-index: 4;
}
.wc13-left {
  position: relative;
  padding: 0;
  min-height: 320px;
  border-right: 1px solid #1c2026;
  background: #0c0c10;
  overflow: hidden;
}
.wc13-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: none;
  border-radius: 0;
  margin: 0;
  filter: blur(0.6px);   /* softened again Sep 9 2026 */
  transform: scale(1.08);
}
.wc13-left::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(8,8,12,0.32), rgba(8,8,12,0.52));
  pointer-events: none;
}
.wc13-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px 30px;
}
.wc13-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wc13-title {
  font-size: 32px;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.01em;
  color: #ffffff;
  margin: 0 0 14px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.9), 0 3px 18px rgba(0,0,0,0.7);
}
.wc13-desc {
  color: rgba(255,255,255,0.86);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  max-width: 340px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.9), 0 2px 12px rgba(0,0,0,0.6);
}
.wc13-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #111;
  border: 1px solid #1c2026;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 12px;
  color: #cdd0ce;
}
.wc13-chip b { color: #22c55e; font-weight: 800; }
.wc13-right { display: flex; }
.wc13-right .table.wc13-table {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
}
.wc13-right .wc13-table .head {
  background: transparent;
  border-bottom: 1px solid #1c2026;
}
.wc13-right .wc13-table .row {
  background: transparent;
  border-bottom: 1px solid #1c2026;
}
.wc13-right .wc13-table .row:last-child { border-bottom: none; }
.wc13-table .wc-svg { width: 18px; height: 18px; display: block; }
@media (max-width: 900px) {
  .wc-block .wc13 { grid-template-columns: 1fr; }
  .wc13-left {
    border-right: none;
    border-bottom: 1px solid #1c2026;
    min-height: 240px;
    padding: 0;
  }
}

/* [fs-why-choose-d13-refine] match text sizes to the rest of the site +
   balance the left gap (FEATURES) with the right gap (OTHERS) */
.wc13-right .wc13-table .head { font-size: 17px; color: #ffffff; }
.wc13-right .wc13-table .head .center { font-size: 17px; }
.wc13-right .wc13-table .row .label { font-size: 14px; color: #b0adab; }
@media (min-width: 901px) {
  .wc13-right .wc13-table .head > div:first-child,
  .wc13-right .wc13-table .row .label { padding-left: 40px; }
}

/* ============================================================
   [fs-wc13-swap] Why-choose right panel: Comparison <-> FAQ
   crossfade toggle + in-panel FAQ accordion + toggle button
   ============================================================ */
.wc13-right .wc13-swap { display: grid; flex: 1; min-width: 0; width: 100%; }
.wc13-swap > .wc13-view {
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 1;
  filter: none;
  z-index: 1;
  transition: opacity .42s ease, filter .42s ease, visibility 0s linear 0s;
}
.wc13-swap > .wc13-view.is-hidden {
  opacity: 0;
  filter: blur(4.5px);
  z-index: 2;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .42s ease, filter .42s ease, visibility 0s linear .42s;
}

/* In-panel FAQ accordion */
.wcfaq { display: flex; flex-direction: column; width: 100%; }
.wcfaq__item {
  background: linear-gradient(90deg, #151820 0%, #0a0a0e 33%);
  background-clip: padding-box;
  border: 1px solid transparent;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.06);
  transition: box-shadow .3s ease;
}
.wcfaq__item:hover { box-shadow: 0 6px 22px rgba(0,0,0,0.38), inset 0 1px 0 rgba(255,255,255,0.08); }
.wcfaq__item + .wcfaq__item { margin-top: 12px; }
.wcfaq__q {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: transparent; border: 0; cursor: pointer;
  font-family: inherit; font-size: 15px; font-weight: 700; color: #e4e0e0;
  text-align: left; padding: 16px 18px; outline: none;
  -webkit-tap-highlight-color: transparent;
}
.wcfaq__q:focus-visible { box-shadow: 0 0 0 2px rgba(255,255,255,0.18) inset; border-radius: 12px; }
.wcfaq__chev {
  position: relative;
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-radius: 6px;
  background: #0f1216;
  transition: transform .28s ease, background-color .2s ease;
}
.wcfaq__chev::before,
.wcfaq__chev::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  margin: auto;
  background: #aaa8a6;
  border-radius: 1px;
}
.wcfaq__chev::before { width: 10px; height: 2px; }
.wcfaq__chev::after { width: 2px; height: 10px; }
.wcfaq__item.open .wcfaq__chev { transform: rotate(45deg); background: #181d23; }
.wcfaq__a {
  display: grid; grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
}
.wcfaq__item.open .wcfaq__a { grid-template-rows: 1fr; }
.wcfaq__a-inner { overflow: hidden; }
.wcfaq__a-content {
  color: #a09e9c; font-size: 0.91rem; line-height: 1.6;
  padding: 2px 18px 18px;
  opacity: 0;
  transition: opacity .25s ease;
}
.wcfaq__item.open .wcfaq__a-content { opacity: 1; }
.wcfaq__a-content .wcfaq__link{color:#e4e1e1;text-decoration:none;cursor:pointer;transition:color .15s ease}
.wcfaq__a-content .wcfaq__link:hover{color:#ff5c5c}
.wc13-view-faq { padding: 24px; }
#compare { padding-top: 57px; }
#why-choose { padding-bottom: 22px; }
.wcfaq--no-anim .wcfaq__a,
.wcfaq--no-anim .wcfaq__a-content,
.wcfaq--no-anim .wcfaq__chev { transition: none; }

/* Got Questions / Back to Comparison toggle */
.wc13-toggle {
  margin-top: 20px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 20px; border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.18);
  color: #ffffff; font-family: inherit; font-size: 13px; font-weight: 600; letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  transition: background-color .18s ease, border-color .18s ease, transform .12s ease, box-shadow .18s ease;
}
.wc13-toggle:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); transform: translateY(-1px); }
.wc13-toggle:active { transform: translateY(0); }

/* ===== [fs-mobile-fixes] mobile-only adjustments (phone) ===== */
/* Re-home values that used to live inline so they stay overridable.
   These keep the desktop rendering byte-for-byte identical. */
.reviews { padding-bottom: 8px; }
#games { padding: 58px 0 56px; }
.fs-pill-row { margin-top: -18px; margin-bottom: 32px; }

/* "Click here to launch our plan builder" onto its own line on phones. */
@media (max-width: 600px) {
  .pb-cta-line { display: block; }
}

/* Equalise the inter-section gaps on phones.
   Target gap between sections = 52px (each adjacent edge contributes 26px).
   The why-choose -> CTA gap and the CTA -> footer gap are left untouched. */
@media (max-width: 600px) {
  .hero { padding-bottom: 26px; }
  .reviews { margin-top: 0; margin-bottom: 0; padding-top: 26px; padding-bottom: 0; }
  .fs-pill-row { margin-top: 10px; margin-bottom: 26px; }
  #compare { padding-top: 26px; padding-bottom: 26px; }
  #plans { padding-top: 26px; padding-bottom: 26px; }
  #how.section { padding-top: 26px; padding-bottom: 26px; }
  #games { padding-top: 26px !important; padding-bottom: 26px !important; }
  #why-choose { padding-top: 26px; }
}

/* Why-choose comparison table on phones: drop the separator above the first
   row and centre the table contents. */
@media (max-width: 600px) {
  .wc13-right .wc13-table .head { border-bottom: none; }
  .wc13-right .wc13-table .head > div:first-child,
  .wc13-right .wc13-table .row .label { text-align: center; }
}

/* Move the highlighted "System" card below the five game benchmarks on phones. */
@media (max-width: 520px) {
  .cmp-grid .cmp-highlight { order: 1; }
}

/* ===== [fs-batch-20260702] Plan card + modal + checkout + FAQ pager additions ===== */

/* Task 2: "+N more" flows inline as the last item in the tab wrap, 8px after the last tab.
   The tab row is extended to 8px from the container's right edge (reclaiming the card's right
   padding) so "+N more" fits inline whenever there's room up to the container edge, and only
   drops to its own line when there genuinely isn't. Pure flow, so it can never overlap. */
.plan-row .feat-wrap{margin-right:-26px}
.fw-more{align-self:center;margin-left:1px;background:none;border:0;padding:0;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.01em;color:#5a5856;cursor:pointer;text-decoration:none;white-space:nowrap;transition:color .15s ease}
.fw-more:hover{color:#817f7c}
.fw-more:focus-visible{outline:none;color:#c9c6c4}
@media (max-width:800px){.plan-row .feat-wrap{margin-right:-14px}}

/* Task 9/6: info icon to the left of the slashed price (inline-block so the strike-through never crosses it) */
.plan-price-area .pa-info-ic{display:inline-block;vertical-align:middle;line-height:0;color:#6a6f77;margin-right:4px;position:relative;top:-1px;cursor:help;text-decoration:none}
.plan-price-area .pa-info-ic svg{display:block;width:13px;height:13px}
.plan-price-area .pa-info-ic:hover{color:#9aa0a8}

/* The "?" icon is a centred SVG background image (same technique as the stable modal info icon),
   so it is geometrically centred and never shifts on resize - no font metrics, no sub-pixel nudge.
   It draws a question mark (not an info "i"). Shared with .bk2-help-ic so both stay identical. */
.plan-name-row .plan-q-ic,
.bk2-help-ic{flex-shrink:0;display:inline-block;vertical-align:middle;padding:0;margin:0;border:none;border-radius:0;font-size:0;line-height:0;color:transparent;cursor:help;-webkit-user-select:none;user-select:none;background:center/contain no-repeat url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjcuNSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utb3BhY2l0eT0iMC41NSIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNNi43NSA2Ljk1YTIuMyAyLjMgMCAxIDEgMy45NSAxLjcyYy0uNzguNjItMS40NSAxLjA1LTEuNDUgMS45OCIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utb3BhY2l0eT0iMC45IiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIi8+PGNpcmNsZSBjeD0iOS4wMiIgY3k9IjEzLjE1IiByPSIxIiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjAuOSIvPjwvc3ZnPg==");transition:filter .15s ease}
.plan-name-row .plan-q-ic{width:16px;height:16px;position:relative;top:1px}
.tier-pro .plan-name-row .plan-q-ic,.tier-ultimate .plan-name-row .plan-q-ic{top:2px}
.bk2-help-ic{width:14px;height:14px}
.plan-name-row .plan-q-ic:hover,
.bk2-help-ic:hover{filter:brightness(1.4)}
/* [fs-price-jitter] height was .95em = 16.15px at the 17px price size. Pinned to a
   whole pixel so the icon's used height and its auto width can never land on a
   fraction that rounds inconsistently. 0.15px smaller than before - invisible.
   .bk2-summary-price has no mobile font-size override, so nothing relied on this
   scaling with em. */
.bk2-guard-ic{display:inline-flex;align-items:center;height:16px;position:relative;top:-1px;cursor:help;transition:filter .15s ease}
.bk2-guard-ic svg{height:100%;width:auto;display:block}
.bk2-guard-ic:hover{filter:brightness(1.12)}
/* gold star before the requirement line in tooltips: bigger + vertically aligned with the label's cap height */
.fs-tip-star{color:#e8c45a;font-size:1.15em;line-height:1;display:inline-block;vertical-align:0.04em;margin-right:1px}
/* muted cancellation note under the requirements */
.fs-tip-note{display:inline-block;margin-top:3px;color:#9aa0a8;font-size:.9em;font-style:italic}
.fs-tip-perfect{display:inline-block;color:#b8bcc4;font-size:.85em}

/* Task 14: benefit checkmarks match the comparison-section SVG style */
.fs-benefit::before{content:none}
.fs-benefit.sec::before{content:none}
.fs-benefit .fs-benefit-check{width:16px;height:16px;flex-shrink:0;stroke:currentColor;color:#19d47b}
.fs-benefit.sec .fs-benefit-check{color:#ffffff}

/* Task 11: rescheduling note under the timezone line (checkout) */
.bk2-tz-note.bk2-tz-reschedule{margin-top:0;margin-bottom:14px;color:#9aa0a8;font-weight:500;font-size:11.5px}

/* Task 8/15: help "?" icon next to the selected date/time in the checkout summary (styled by the unified q-icon rule above) */
.bk2-slotline{display:inline-flex;align-items:center;gap:6px;line-height:18px;margin-top:5px}
/* [fs-slotline-icon] Nudged down 1px so the glyph's optical centre lines up with the
   small text beside it. position:relative paints the icon without changing its box, so
   the 18px .bk2-slotline row height and the summary-bar geometry are unaffected. Scoped
   to .bk2-slotline - the .pa-info-ic on the plan cards is deliberately untouched.
   ONE value for every checkout step. This used to be top:2px here and top:1px under a
   `.bk2-slotline--slot` override, which is why the icon appeared to jump: DATE and TIME
   build the line as plain `.bk2-slotline` while DETAILS and PAYMENT add `--slot`. The
   text never moved and the icon never re-measured - the two hard-coded offsets simply
   disagreed by 1px. Nothing about the two lines justifies different offsets (same font,
   same 18px line box, same 13px glyph), so the override is gone. Do not reintroduce a
   per-step offset here.

   align-self:flex-start IS THE BUG FIX, not a style choice. .bk2-slotline is
   align-items:center on an 18px line box holding a 13px glyph, so the icon's centred
   offset is (18-13)/2 = 2.5px - a HALF pixel. Where that lands depends on the fractional
   y of the row itself, so it rounds to 3px on one layout pass and 4px on the next while
   the text (whose own offset is not fractional) stays put: the icon and the label drift
   1px apart. Going to the TIME step and back triggers it because .bk2-card is
   overflow-y:auto under a max-height and step2Time's fitPicker() does four synchronous
   render + offsetHeight passes, resizing the card and moving the summary onto a
   different sub-pixel grid.
   flex-start pins the icon's box to the row's cross-start, so its position is 0 + top,
   an integer, and it can no longer round independently of the text. 3px is the value the
   old code produced when it happened to round down, i.e. the state that looked correct;
   it puts the glyph's centre at 9.5px against the row's 9px, which is the slight optical
   drop the text needs. Same family of bug as the summary-bar jitter - see
   [fs-price-jitter]. Never put this icon back on align-items:center. */
.bk2-slotline .pa-info-ic{margin:0;align-self:flex-start;position:relative;top:3px;color:#6a6f77}
.bk2-slotline .pa-info-ic svg{display:block;width:13px;height:13px}

/* Tasks 9/10/15 tooltips reuse the existing .fs-tooltip style (see scripts.js [fs-icon-tooltip]) */

/* Task 2: FAQ pagination (2 pages + prev/next) */
.wcfaq-page.is-hidden{display:none}
.wcfaq-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
/* FAQ pager arrows: identical to the checkout date-selector buttons (.bk2-cal-hdr button) */
.wcfaq-arrow{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:#0a0a0e;color:#cdd0ce;display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);transition:background .15s ease}
.wcfaq-arrow:hover:not(:disabled){background:#1a1e24}
.wcfaq-arrow:disabled{opacity:.25;cursor:default;transition:none}
.wcfaq-arrow svg{display:block}
@media (hover:none){.wcfaq-arrow:hover{background:#0a0a0e}}
/* FAQ page switch: the whole block (accordions AND pager) fades + zooms together, so the
   prev/next buttons and page indicator transition smoothly instead of jumping */
.wcfaq-page{transition:opacity .3s ease,filter .3s ease}
.wcfaq--switching .wcfaq-page{opacity:0;filter:blur(4.5px)}
.wcfaq-page.is-hidden{display:none}
.wcfaq-pageind{font-size:12.5px;font-weight:600;color:#b0adab;letter-spacing:.02em;min-width:88px;text-align:center}

/* ===== [fs-exit] Exit-intent help popup ===== */
/* Card is EXACTLY the plan-contents modal: same #060608 colour, deep drop-shadow + inset top
   highlight (the 3D edge) and rise-in entrance */
.fs-exit-modal .fs-exit-card{max-width:460px;width:min(94vw,460px);text-align:center;position:relative;padding:34px 30px 22px;background:#060608;border:1px solid transparent;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);transform:translateY(16px);transition:transform .3s ease}
.fs-exit-modal.open .fs-exit-card{transform:none}
/* icon reuses the Steps container style (.sf-ic 3D red-glow tile), a touch larger */
.fs-exit-icon{margin:0 auto 16px;width:54px;height:54px}
.fs-exit-icon svg{width:25px;height:25px}
/* solid heart: override the .sf-ic outline treatment so it fills */
.fs-exit-icon.sf-ic svg path{fill:#ffe1de;stroke:none}
.fs-exit-title{margin:0 0 10px;font-size:22px;font-weight:800;letter-spacing:-.01em;color:#f5f2f0;line-height:1.2}
.fs-exit-sub{margin:0 auto 20px;max-width:400px;font-size:13px;font-weight:600;line-height:1.5;color:#4a5058}
.fs-exit-assure{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin:0 auto 22px;max-width:420px}
/* reassurance items match the CTA-section reassurances (green icon + text) */
.fs-exit-a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#e6e3e1;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.7),0 0 14px rgba(0,0,0,.5)}
.fs-exit-a svg{width:16px;height:16px;flex-shrink:0;color:#22c55e}
.fs-exit-cta{width:100%;margin:0}
.fs-exit-dismiss{display:block;width:100%;margin:12px auto 0;background:none;border:0;padding:6px;font-family:inherit;font-size:12.5px;font-weight:500;color:#6a6f77;cursor:pointer;transition:color .15s ease}
.fs-exit-dismiss:hover{color:#9aa0a8}
@media (max-width:520px){
  .fs-exit-card{padding:30px 20px 18px}
  .fs-exit-title{font-size:19px}
  .fs-exit-assure{gap:8px 14px}
  .fs-exit-a{font-size:11.5px}
}
/* Task 4: giveaway modal is EXACTLY the plan-contents modal (same colour + 3D effect) */
#bookwin-modal .modal-card{background:#060608;border:1px solid transparent;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);transform:translateY(16px);transition:transform .3s ease}
#bookwin-modal.open .modal-card{transform:none}

/* ===== [wc-cmp] Comparison table: text values, question mark, info icon ===== */
/* text values + "?" use the same colour/weight as the X icons; info icon is absolutely placed so
   it never shifts the centred tick/X (they stay aligned with every other row) */
.wc13-table .row .center{position:relative}
.wc13-table .wc-txt{font-size:12.5px;font-weight:700;line-height:1;letter-spacing:.01em;color:#6b7280}
.wc13-table .wc-qmark{color:#6b7280;font-weight:700;font-size:18px;line-height:1}
.wc13-table .wc-qmark .wc-svg{width:21px;height:21px}
.wc13-table .wc-info{position:absolute;left:50%;margin-left:13px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:#7f858d;line-height:0;cursor:help}
.wc13-table .wc-info svg{width:13px;height:13px;display:block}
.wc13-table .wc-info:hover{color:#c9c6c4}

/* [bios-info] info icons (Windows / BIOS / hardware) in the optimization-process step */
.howtab-desc .pa-info-ic{display:inline-block;vertical-align:middle;line-height:0;color:#8a8f97;margin-left:2px;position:relative;top:-1px;cursor:help;text-decoration:none;transition:color .15s ease}
.howtab-desc .pa-info-ic svg{display:block;width:13px;height:13px}
.howtab-desc .pa-info-ic:hover{color:#c9c6c4}
.fs-benefit .pa-info-ic{margin:0 0 0 -3px;color:#6a6f77;position:relative;top:1px;line-height:0;flex:0 0 auto;cursor:help;transition:color .15s ease}
.fs-benefit .pa-info-ic svg{display:block;width:12px;height:12px}
.fs-benefit .pa-info-ic:hover{color:#c9c6c4}

/* [fs-addons] Optional add-ons upsell modal (reuses .fs-new-modal shell + .os-row rows) */
.fs-addons-modal .fs-new-modal__dialog{width:480px;max-width:94vw;padding:22px 18px 26px}
.fs-addons-modal .fs-new-modal__x{display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;z-index:5}
.fs-addons-head{text-align:center;margin:6px 8px 16px}
.fs-addons-title{color:#fff;font-weight:800;font-size:19px;line-height:1.25;margin:0 0 8px}
.fs-addons-sub{color:#a8a5a3;font-size:13.5px;line-height:1.5;margin:0 auto;max-width:92%}
.fs-addons-list{display:flex;flex-direction:column;gap:10px;margin:0 4px 18px}
.fs-addons-actions{display:flex;justify-content:center;gap:10px;margin:2px 4px 2px}

/* [fix-jitter] The plan-avail status dot pulsed via box-shadow spread, which forced
   main-thread repaints of the subtitle text above it (constant shimmer/jitter).
   Replace with a GPU-composited scale ring on a pseudo-element - no neighbor repaints. */
.plans-grid .plan .plan-avail .dot{box-shadow:none;animation:none;position:relative}
.plans-grid .plan .plan-avail .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(34,197,94,.6);animation:fsDotRing 1.8s ease-out infinite;pointer-events:none}
.plans-grid .plan .plan-avail .dot.dot-red::after{background:rgba(224,23,28,.6)}
.plans-grid .plan .plan-avail .dot.dot-amber::after{background:rgba(228,163,58,.6)}
@keyframes fsDotRing{0%{transform:scale(1);opacity:.6}70%{transform:scale(3.2);opacity:0}100%{transform:scale(3.2);opacity:0}}

/* [got-questions-pulse] Same subtle scale pulse as the GAME-READY badge. */
.wc13-toggle[aria-pressed="false"]{animation:fsBestValuePulse 2.2s ease-in-out infinite}

/* [fs-section-swap] Three Steps (#how) now sits above the plans grid. Swap the two sections' vertical padding at >=601px so every section boundary keeps its original pb+pt gap (84 / 96 / 98px). <=600px both are already 26/26. */
@media (min-width:601px){
  #how.section{padding-top:38px;padding-bottom:44px}
  #plans{padding-top:52px;padding-bottom:40px}
}

/* [fs-upgrade-link] Ultimate-card "Upgrade now" link */
.plan-upgrade-link{color:#5b9dff;text-decoration:none;cursor:pointer;font-weight:500}
.plan-upgrade-link:hover{color:#7db4ff}

/* Mobile only: shrink the Into The Breach hero logo slightly (desktop unchanged) */
@media (max-width:1000px){
  .hero .logos .logo[data-team="Into The Breach"] img{max-width:60%;max-height:60%;top:0 !important;left:1px !important}
}

/* ── [fs-eur-only] EUR pricing UI additions (July 2026) ───────────────────── */

/* [fs-eur-price-block] Struck-through reference price in the checkout summary.
   It occupies the slot the "One-Time" label used to sit in.
   [fs-checkout-price-colour] Aug 22 2026: this used to reuse .pa-original's red so
   the checkout and the plan cards read as the same offer. That is DELIBERATELY no
   longer true - inside checkout the red competed with the live price, so the struck
   price now takes the same muted grey as .bk2-summary-left (the "N Hours - Select a
   time" line opposite it) and recedes, while the live price carries the green. The
   plan cards still use red via .pa-original; only the checkout diverges. */
.bk2-summary-was{
  color:#d4d1cf;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  text-decoration-color:currentColor;
  font-weight:600;
}

/* [fs-mobile-cta] The three plan CTAs read their full label on desktop
   ("Book Competitive" / "Book Pro-Level" / "Book Custom") and a short
   "Book Now" on mobile. Two labels are present in the markup and one is
   hidden per breakpoint, so each keeps its own .btn-letter stagger.
   Neither rule sets a display value on the VISIBLE label, so it inherits
   whatever .txt-1 / .txt-wrapper already give it. 1000px is the site's
   existing mobile breakpoint. */
@media (min-width:1001px){
  .fs-book-btn .txt-1.fs-lbl-mob{display:none}
}
@media (max-width:1000px){
  .fs-book-btn .txt-1.fs-lbl-desk{display:none}
}

/* ── [fs-secure-window] Checkout modal: stronger desktop backdrop + info note ────── */

/* [fs-secure-window] Desktop only: darken and blur the page behind the checkout so the
   payment step reads as a separate, focused surface. Left untouched on mobile, where
   the card covers the viewport anyway and backdrop-filter is a real scroll cost.
   1001px+ matches the site's existing 1000px mobile breakpoint. */
@media (min-width:1001px){
  #fs-bk{
    background:rgba(0,0,0,.80);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
  }
}

/* [fs-secure-window-note] Grey reassurance note on the BACKDROP, directly under the
   checkout card - so it is visible on every step, not just payment. Desktop only:
   on mobile the card fills the viewport and there is no backdrop to sit on.
   #fs-bk becomes a column so the note stacks under the card instead of beside it,
   and the card's max-height is trimmed by the note's row so the pair still fits.

   Layout: this is a BLOCK with an inline-block icon, deliberately NOT a flex row. As
   a flex row the text span stretched to fill the width, which shoved the icon out to
   the far left and left a wide gap before the centred text. Inline flow makes the icon
   sit directly against the first line and centre with it.

   The note is not selectable - it is passive reassurance, and a stray double-click
   highlighting it (or the drag-select that follows) is pure noise during checkout. */
.bk2-secure-window-note{
  display:none;
  max-width:460px;
  text-align:center;
  font-size:11px;
  font-weight:500;
  /* Deliberately dim - this is passive reassurance and should not compete with the
     card. ~3.2:1 against the backdrop: duller than before but still legible. */
  color:#5a616b;
  line-height:1.5;
  margin:0;
  padding:0 2px;
  user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
}
.bk2-secure-window-note svg{
  display:inline-block;
  /* More negative = sits lower relative to the text baseline. */
  vertical-align:-3px;
  margin-right:5px;
  color:#5a616b;
}
@media (min-width:1001px){
  #fs-bk{ flex-direction:column; gap:14px; }
  #fs-bk .bk2-card{ max-height:calc(90vh - 62px); }
  .bk2-secure-window-note{ display:block; }
}

/* ═══ Footer trader identity line (art. 206 KSH) ═══ */
/* Sits in the gap under the FRAMESYNC watermark. The 96px bottom padding that
   used to hang off .ft-wm was clearance for the sticky CTA bar - it is moved onto
   .ft-legal instead, so the overall footer height is unchanged apart from the one
   line of text itself. Selectable on purpose (.ft-wm is user-select:none). */
.ft .ft-wm{padding-bottom:14px}
.ft .ft-legal{text-align:center;letter-spacing:.01em;color:#3d3d3b;max-width:900px;margin:0 auto;padding:0 24px 96px}
.ft .ft-legal span{display:block}
.ft .ft-legal-main{font-size:11px;line-height:1.7}
/* Row 2 is the statutory fine print (registry court + share capital, kept in Polish
   because the court designation is a legal name). One step smaller and dimmer than
   row 1 so it reads as a footnote. It measures ~654px, well inside the 852px this
   container gives, so it stays on ONE line down to roughly a 700px viewport and
   only wraps below that - no nowrap needed, and no overflow risk on phones. */
.ft .ft-legal-sub{font-size:10px;line-height:1.7;color:#343432;margin-top:3px}
@media(max-width:600px){
  .ft .ft-legal{padding-bottom:112px}
  .ft .ft-legal-main{font-size:10px;line-height:1.8}
  .ft .ft-legal-sub{font-size:9px;line-height:1.8}
}

/* ═══ Checkout: Terms of Service acceptance (step 4) ═══ */
/* Sits between the secure-payment note and the Pay button. The native checkbox is
   visually hidden but kept in the DOM so it stays keyboard- and screen-reader-
   operable; .bk2-terms-box is the painted control and relies on the input being
   its immediate previous sibling. */
.bk2-terms{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;margin:9px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none}
.bk2-terms input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.bk2-terms-box{flex:0 0 auto;width:16px;height:16px;border-radius:4px;border:1.5px solid #3a4048;background:#0d1014;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.bk2-terms:hover .bk2-terms-box{border-color:#5a6270}
.bk2-terms input:focus-visible+.bk2-terms-box{outline:2px solid #e0171c;outline-offset:2px}
.bk2-terms input:checked+.bk2-terms-box{background:#e0171c;border-color:#e0171c}
/* The tick used to be a 4x8 box with two borders rotated 45deg. That trick
   cannot centre: the visible ink sits in the bottom-right of the box, so after
   rotation its centre lands ~0.5px right of the control centre. This is a real
   path in a symmetric viewBox, centred by flexbox on the parent - it stays
   centred no matter what size the control becomes. */
.bk2-terms-tick{width:10px;height:10px;display:block;opacity:0;transform:scale(.55);transition:opacity .12s ease,transform .12s ease}
.bk2-terms input:checked+.bk2-terms-box .bk2-terms-tick{opacity:1;transform:scale(1)}
.bk2-terms-txt{font-size:11.5px;font-weight:600;color:#7a828c;line-height:1.4}
.bk2-terms-txt a{color:#c9ced6;text-decoration:none;white-space:nowrap}
.bk2-terms-txt a:hover{color:#fff}
.bk2-terms-link-txt{text-decoration:underline;text-underline-offset:2px}
/* "opens in a new tab" glyph. Sits AFTER the full stop, in its own anchor so it
   stays clickable, and outside the underlined span so no line runs under it.
   .bk2-terms-tail keeps the stop and the glyph on the same line when the row
   wraps on narrow screens. */
.bk2-terms-tail{white-space:nowrap}
.bk2-terms-ext-link{margin-left:5px}
.bk2-terms-ext{width:12px;height:12px;vertical-align:-2px}
@media(max-width:600px){.bk2-terms-ext{width:11px;height:11px;vertical-align:-1.5px}}
/* Clicking Pay while unchecked flashes this row rather than doing nothing. */
@keyframes bk2TermsFlash{0%,100%{color:#7a828c}25%,75%{color:#ff5a5f}}
@keyframes bk2TermsFlashBox{0%,100%{border-color:#3a4048}25%,75%{border-color:#ff5a5f}}
.bk2-terms-flash .bk2-terms-txt{animation:bk2TermsFlash .55s ease}
/* Animated, not a static border-color: a static rule stays red until the class
   is removed, which left the box latched after the flash. */
.bk2-terms-flash .bk2-terms-box{animation:bk2TermsFlashBox .55s ease}
@media(max-width:600px){
  .bk2-terms{gap:8px;margin-top:8px}
  .bk2-terms-txt{font-size:11px}
}

/* Locked Pay button (Terms not yet accepted): suppress the hover treatment while
   keeping the button clickable, so a click can still flash the acceptance row.
   Each rule restores the RESTING value of the property the :hover rule changes,
   at one class higher specificity than the original. */
/* Plain arrow cursor across the WHOLE locked button, label included. The
   descendant selector is load-bearing: a global rule (`button *{cursor:pointer}`)
   forces pointer on the inner .txt-1 and beats inheritance, so targeting the
   button alone would leave the label showing a hand. */
.bk2-cta-locked.fs-book-btn,
.bk2-cta-locked.fs-book-btn *{cursor:default}
.bk2-cta-locked.fs-book-btn:hover,
.bk2-cta-locked.fs-book-btn.btn:hover,
button.bk2-cta-locked.fs-book-btn.btn:hover,
.bk2-cta-locked.fs-book-btn.fs-btn-red.btn:hover{border:solid 1px #fff2}
.bk2-cta-locked.fs-book-btn:hover::before{box-shadow:0 -8px 8px -6px #0000 inset,0 -16px 16px -8px #00000000 inset,1px 1px 1px #fff2,2px 2px 2px #fff1,-1px -1px 1px #0002,-2px -2px 2px #0001}
.bk2-cta-locked.fs-book-btn:hover::after{opacity:0}
.bk2-cta-locked.fs-book-btn:hover .btn-svg{fill:currentColor;filter:none}

/* [fs-games-swipe] The games carousel handles horizontal gestures itself, so the
   browser must only own the vertical axis here - otherwise it pans the page and the
   swipe never reaches the JS handler. Vertical scrolling through the section is
   unaffected. */
#gc-wrap{touch-action:pan-y}

/* [fs-gold-200k] "200K+" in the comparison table: gold text with a highlight that
   sweeps left -> right. The gradient carries exactly TWO highlight cycles across a
   200%-wide background, and the animation travels exactly one element width
   (background-position 100% -> 0%), so the loop is seamless with no visible jump.
   Direction note: a DECREASING background-position slides the image right, which is
   what moves the highlight from left to right. Specificity (0,2,0) beats the base
   .wc-txt colour without !important. */
@keyframes fsGoldSweep{from{background-position:100% 50%}to{background-position:0% 50%}}
.wc-txt.us{
  display:inline-block;
  background-image:linear-gradient(90deg,
    #9a7420 0%, #e8c65a 12.5%, #fff6d0 25%, #e8c65a 37.5%,
    #9a7420 50%, #e8c65a 62.5%, #fff6d0 75%, #e8c65a 87.5%, #9a7420 100%);
  background-size:200% 100%;
  background-repeat:no-repeat;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:fsGoldSweep 3s linear infinite;
}
/* NO prefers-reduced-motion opt-out here, deliberately. An earlier version had one
   and it froze the sweep dead: this site is viewed on machines that report
   `prefers-reduced-motion: reduce` (Windows animation effects off), which is why
   styles.css already carries a blanket
   `@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-play-state:running}}`
   override. That override cannot rescue an `animation:none` - once animation-name is
   none there is nothing left to play. Every other shine on this site (priceShine,
   trustTextShine, fsMetalPulse, msSweep, bookwinPrizeShine) opts out of nothing, so
   this one matches them. */

/* [fs-checkout-price-colour] Live price in the checkout summary bar goes green, to
   match the guard shield sitting immediately to its left (#22c55e, the same green as
   the availability dot). Appended at the end of the file so it wins over the earlier
   .bk2-summary-price{color:#f0edec} without !important - identical specificity, later
   rule takes it. The struck reference price under it is handled by .bk2-summary-was
   above, not here. */
.bk2-summary-price{color:#22c55e}

/* [fs-orig-pct] Discount percentage beside the struck price on the Pro-Level card.
   display:inline-block is LOAD-BEARING: .pa-original sets text-decoration:line-through
   on the whole row, and a descendant cannot cancel an ancestor's decoration with
   text-decoration:none - it has to become an atomic inline-level box to escape it.
   (This is the same reason .pa-info-ic next to it is not struck through.)
   Colour is inherited from .pa-original so the amount and the percentage stay one
   visual unit; change it here if it should read green instead. */
.pa-orig-pct{
  display:inline-block;
  margin-left:5px;
  font-size:0.86em;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
  vertical-align:baseline;
}

/* [fs-ready-line] Checkout summary price block, Aug 22 2026 restructure.
   Row 1: guard shield + live green price + reference price INLINE to its right.
   Row 2: blue tick + "Engineers Ready".
   .bk2-summary-price is already display:inline-flex with gap:6px, so the inline sub
   inherits that spacing and vertical centring for free - no extra margin needed.
   .bk2-summary-ccy is deliberately NOT reused here: it is a block with top:2px and is
   still used by the free-audit "Free / No Payment" block, so it stays as it is. */
.bk2-summary-sub{
  font-size:12px;
  font-weight:600;
  line-height:12px;
  white-space:nowrap;
  color:#d4d1cf;
}
.bk2-summary-ready{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  margin-top:5px;
  font-size:11.5px;
  font-weight:600;
  /* [fs-ready-align] 18px, NOT 12px - matches .bk2-slotline's box on the left so the
     two second rows share an identical 18px line box starting at the same y. Both are
     align-items:center, so their text lands on the same optical centre even though the
     font sizes differ (13px left, 11.5px right). Still a whole pixel, so the tick's
     centring offset stays integral: (18 - 12) / 2 = 3px. */
  line-height:18px;
  color:#e8e6e5;
  white-space:nowrap;
}
/* Blue matches .bk2-tz-change, the "Change?" link in the same modal. The tick paints
   with currentColor, so this one declaration colours it. */
.bk2-ready-ic{color:#5b9dff;flex:0 0 auto;display:block;position:relative;top:0.5px}


/* [fs-price-jitter-2] Why the shield, the struck price and "Engineers Ready" were the
   ONLY things moving, while the green EUR179 stayed put.
   .bk2-summary-price is display:flex + align-items:center. The flex line's height is
   set by its TALLEST item, which is the anonymous text run "EUR179": line-height 1.25
   on a 17px font = 21.25px. FRACTIONAL. Every shorter item is then centred at
   (21.25 - h)/2, i.e. the 16px shield at 2.625px and the 12px struck price at 4.625px
   - also fractional. The EUR179 text is the tallest item, so its offset is exactly 0
   and it can never round; the two shorter ones sit on half-pixels and flip up or down
   by 1px whenever the subtree's fractional origin changes. "Engineers Ready" followed
   because it starts directly under a 21.25px-tall row and inherited the same fraction
   (its own line-height:1 on 11.5px = 11.5px, fractional too).
   The origin moves because the card IS vertically centred and its height changes
   between steps - that part of the earlier diagnosis was right, but centring is not
   the thing to change (see below). Making every box an integer height removes the
   fractions instead, so there is nothing left to round:
     row 22px | shield 16px -> offset 3px | sub 12px -> offset 5px | text 22px -> 0px
   Both columns are 22 + 5 margin + 18 = 45px, all integers (see [fs-ready-align] for
   why the right-hand second row is 18px rather than its own 12px content height).
   DO NOT "fix" this by touching #fs-bk's align-items. On desktop #fs-bk is
   flex-direction:column, so align-items is the HORIZONTAL axis - setting it to
   flex-start left-aligns the whole checkout card. Vertical there is justify-content. */

/* [fs-trustbar] Mobile trust badges, option 04 ("icons + one line", the most compact
   of the ten mocks). It reuses the SAME three glyphs already in .fs-hero-feats, so on
   mobile the three stacked text bullets are replaced by this row rather than shown
   alongside it - display:none on the list also removes it from the a11y tree, and the
   caption below carries the meaning instead. Desktop is untouched: the trust bar is
   hidden above 1000px, which is the site's existing mobile breakpoint. */
.fs-trustbar{display:none}
/* [fs-trustbar-reveal] Forcing "More FPS, no lag." onto its own line pushes the
   second sentence into a wrap, and at 390px it broke as "...world-" / "record
   holders.", orphaning the tail. Keeping the phrase atomic splits it evenly instead
   (measured at 390px: 244 + 112 rather than 291 + 60). A plain &nbsp; was not enough
   - the browser still breaks at the hyphen inside "world-record". */
.fs-tb-cap .fs-tb-nb{white-space:nowrap}
@media (max-width:1000px){
  .fs-hero-feats{display:none}
  .fs-trustbar{display:flex;flex-direction:column;align-items:center;gap:12px;margin:14px 0 6px}
  .fs-tb-row{display:flex;gap:14px}
  .fs-tb-ic{
    position:relative;display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:11px;color:#ffe1de;flex:0 0 auto;
    background:radial-gradient(82% 66% at 50% 38%,rgba(232,26,34,.55) 0%,rgba(66,10,15,.68) 48%,rgba(13,12,16,.97) 100%),linear-gradient(168deg,#170a0d,#0a0608);
    box-shadow:inset 0 -7px 12px -6px rgba(0,0,0,.7),inset 0 -3px 5px 0 rgba(0,0,0,.82),0 2px 5px rgba(0,0,0,.5),0 11px 18px -6px rgba(0,0,0,.6),0 -2px 14px rgba(187,19,25,.18);
  }
  .fs-tb-ic svg{display:block;width:20px;height:20px;fill:none;filter:drop-shadow(0 0 7px rgba(234,41,49,.55))}
  .fs-tb-cap{font-size:13px;font-weight:600;color:#a8a5a5;text-align:center;line-height:1.5;margin:0}
  .fs-tb-cap b{color:#e8e5e5;font-weight:800}
}

/* [fs-qe-strip] Quick Evaluation strip under the Competitive + Pro-Level duo.
   Four columns: bolt | text | price | button. The price and the button are separate
   columns that BOTH span the two text rows with align-self:center, which is what puts
   "EUR5 / 15 Minutes Session" on the same centre line as the CTA.
   .plan-top-row uses display:contents so .plan-head and .plan-price-area become grid
   items of .plan-content directly - the price cannot be centred against the button
   while it is still trapped inside that wrapper.
   No margin-top here: the parent .plans-stack is flex-column with gap:16px and a
   margin would stack on top of it. */
.plan-row.fs-qe-strip{display:block;padding:18px 22px;min-height:0;text-align:left}
.plan-row.fs-qe-strip .plan-visual,
.plan-row.fs-qe-strip .plan-avail,
.plan-row.fs-qe-strip .plan-subtitle,
.plan-row.fs-qe-strip .fp-bar,
.plan-row.fs-qe-strip .feat-wrap{display:none !important}

.plan-row.fs-qe-strip .plan-content{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) max-content max-content;
  grid-template-rows:auto auto;
  column-gap:22px;row-gap:5px;align-items:center;
  padding:0;margin:0;width:100%;
}
.plan-row.fs-qe-strip .plan-top-row{display:contents}
.plan-row.fs-qe-strip .qe-bolt{grid-column:1;grid-row:1 / span 2;align-self:center}
.plan-row.fs-qe-strip .plan-head{grid-column:2;grid-row:1;margin:0;min-width:0}
.plan-row.fs-qe-strip .plan-name{font-size:20px;line-height:1.25;margin:0}
.plan-row.fs-qe-strip .plan-desc{
  grid-column:2;grid-row:2;margin:0;font-size:13.5px;line-height:1.5;
  min-width:0;max-width:none;
}
.plan-row.fs-qe-strip .plan-price-area{
  grid-column:3;grid-row:1 / span 2;align-self:center;
  /* [fs-qe-align] align-items:CENTER is deliberate and FSL-chosen - do not "fix" it to
     baseline. It was changed to baseline once (with a 2px bottom-margin nudge) so that
     "EUR5", "15 Minutes Session" and the button label all shared one baseline: measured
     59.25 / 59.00 / 59.00. FSL looked at that and asked for the price 1px lower and the
     note 1px higher, which is exactly what centring the two BOXES gives - verified by
     A/B in a single 4x render: baseline+2px -> center+0 moves the price +1.00px and the
     note -1.00px, landing on price 60.25 / note 58.00 / label 59.00.
     The reason the two disagree: at 22px vs 11.5px a shared baseline leaves the big
     numeral's optical mass sitting high, so centring the boxes reads better even though
     the baselines then differ by 2.25px. His eye, his call. */
  display:flex;align-items:center;gap:8px;margin:0;text-align:left;
}
/* [fs-qe-amount] The three values here are a measured set - changing one alone will
   move the price off-centre, because Chromium snaps text baselines to whole CSS pixels
   in this strip (a 0.5px layout shift renders as zero; the next step is a full 1px).
   Left to itself a font-size increase adds ALL its extra height above the baseline, so
   the price grows upward only. margin-bottom:2px lifts the border box 1px inside the
   centred flex line, which pushes the baseline back down and splits the growth.
   Measured against the previous 23px state: cap-height 17.50 -> 19.75, cap-top -1.25px,
   baseline +1.00px - i.e. even top and bottom to within the 0.25px measuring quantum.
   26px is the ONLY size that lands symmetric: 25px gives -0.50/+1.00 and 27px gives
   -2.00/+1.00. line-height must stay the 1.2 ratio - pinning it to a whole px shifts
   the price a further 1px down, so do not 'integer-ise' this one. */
.plan-row.fs-qe-strip .pa-amount{font-size:26px;line-height:1.2;margin:0 0 2px}
.plan-row.fs-qe-strip .pa-note{font-size:11.5px;margin:0;white-space:nowrap}
.plan-row.fs-qe-strip .plan-actions{
  grid-column:4;grid-row:1 / span 2;align-self:center;
  justify-content:flex-end;margin:0;flex:0 0 auto;
}

/* [fs-qe-bolt] Lightning mark with a golden highlight travelling around its border.
   ::before is an oversized conic gradient rotating about the tile's centre; ::after is
   an inset panel that masks all of it except a hairline, so what shows is a glow
   circling the edge. overflow:hidden clips the gradient to the rounded square. */
.qe-bolt{
  position:relative;overflow:hidden;flex:0 0 auto;
  width:52px;height:52px;border-radius:15px;
  display:inline-flex;align-items:center;justify-content:center;
}
.qe-bolt::before{
  content:"";position:absolute;left:50%;top:50%;width:170%;height:170%;
  background:conic-gradient(from 0deg,rgba(246,211,101,0) 0deg 190deg,rgba(246,211,101,.35) 250deg,#f6d365 300deg,#fff6d0 330deg,#f6d365 350deg,rgba(246,211,101,0) 360deg);
  animation:qeBoltSpin 3s linear infinite;
}
.qe-bolt::after{
  content:"";position:absolute;inset:1.5px;border-radius:13.5px;
  background:radial-gradient(85% 75% at 50% 32%,#241c0a 0%,#141118 58%,#0b0a0d 100%);
}
.qe-bolt svg{position:relative;z-index:1;width:23px;height:23px;color:#ffd970;filter:drop-shadow(0 0 7px rgba(246,211,101,.6))}
@keyframes qeBoltSpin{
  from{transform:translate(-50%,-50%) rotate(0turn)}
  to{transform:translate(-50%,-50%) rotate(1turn)}
}

@media (max-width:1000px){
  .plan-row.fs-qe-strip{padding:16px 18px}
  .plan-row.fs-qe-strip .plan-content{
    grid-template-columns:max-content minmax(0,1fr);
    grid-template-rows:auto auto auto;
    row-gap:12px;
  }
  .plan-row.fs-qe-strip .qe-bolt{grid-row:1 / span 2}
  .plan-row.fs-qe-strip .plan-price-area{grid-column:2;grid-row:3;align-self:start}
  .plan-row.fs-qe-strip .plan-actions{grid-column:1 / -1;grid-row:4;justify-content:stretch}
}

/* [fs-addons-inline] In-checkout add-ons step.

   margin-top:18px is load-bearing. The single-button TIME step got its breathing room
   from .bk2-cta-full{margin-top:18px}; putting that button inside .bk2-cta-row zeroes
   its margin (below), so without this the buttons sat ~4px under the slot grid and the
   times read as if they were being cut off. Keep the two values equal - one-button and
   two-button TIME steps must be indistinguishable in spacing. */
.bk2-cta-row{display:flex;align-items:stretch;gap:14px;width:100%;margin-top:18px}
/* Sized to MEASURED plan-card geometry, not guessed: at 1440px the View Details /
   Book Pro-Level buttons compute to font-size 15px, padding 9px 21px, line-height
   24px, giving 9+24+9+2px border = 44px tall. The checkout pair was 46px because
   line-height resolved to `normal` (~18px) against Continue's 13px padding. Matching
   all three properties brings them to the same 44px.
   The selector is ID-anchored on purpose: the plain-class version loses the padding
   to `body .fs-book-btn.fs-btn-red.fs-no-icon.bk2-cta-full` (0,4,1), which is why
   Continue kept 13px before. #fs-bk is (1,2,0) and wins outright, and the .bk2-cta-row
   scope leaves the add-ons-step Confirm button (also .bk2-cta-full) untouched.
   align-items:stretch, as in .os-btn-row, pins the two heights equal regardless. */
#fs-bk .bk2-cta-row>.btn{font-size:15px;padding:9px 21px;line-height:24px;justify-content:center}
.bk2-cta-row #bk2-time-addons{flex:0 0 auto;white-space:nowrap}
.bk2-cta-row .bk2-cta-full{flex:1 1 auto;margin:0}

/* The rows themselves are the stock .os-row control (defined ~line 8529) so this step
   is pixel-identical to the pre-checkout add-ons modal it replaced: noise sweep, 22px
   .os-check tick, red gradient wash on .is-selected. Everything below is scoped under
   .bk2-ao-list so the OptiFlow builder's .os-row list keeps its own look, and covers
   only the two intended departures - the tip is a visible second line rather than an
   .os-help tooltip, and the price is green with a leading +.
   Specificity is doing real work here: .os-row.is-selected .os-row-price is (0,3,0),
   so the selected-state override has to be (0,4,0) to win. No !important needed. */
.bk2-ao-list{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}
/* .os-row-name is a centred flex ROW; the description turns it into a stack. */
.bk2-ao-list .os-row-name{flex-direction:column;align-items:flex-start;gap:2px}
.bk2-ao-name{display:block;font-size:13.5px;font-weight:600;line-height:1.3}
.bk2-ao-tip{display:block;font-size:11.5px;line-height:1.45;font-weight:500;color:#8a8f97}
/* Left unset it would inherit .os-row.is-selected .os-row-name's white and shout. */
.bk2-ao-list .os-row.is-selected .bk2-ao-tip{color:#cfc9c8}
/* Green while unpicked so it reads as an available extra; white once picked, because
   the selected row's red gradient sits directly behind it. */
.bk2-ao-list .os-row-price{color:#22c55e}
.bk2-ao-list .os-row.is-selected .os-row-price{color:#fff}
@media (max-width:560px){
  .bk2-cta-row{flex-direction:column;align-items:stretch}
  .bk2-cta-row #bk2-time-addons{width:100%}
}

/* [fs-bench-pctype] The (High-End) / (Mid-Range) / (Low-End) tag inside a benchmark
   card's subtitle. .cmp-card .cmp-cost resolves to 400 / #b0adab, so this steps the
   tag up to the card title's own weight-600 and #e6e6e6 - measured off .cmp-name on
   the five FPS cards, not eyeballed, so the tag and the title read as the same white.
   Scoped to the span so the rest of the subtitle stays muted and the System card's
   "Overall Latency" (no PC type) is untouched. */
/* [fs-bench-pctype] The monitor icon + PC-type tag at the end of a benchmark card's
   subtitle. inline-flex so the glyph and the word travel together and never split
   across a wrap; the 4px gap sits between them, the 9px margin-left is the separation
   from "FPS Before / After" - deliberately wider than a word space so the tag reads as
   its own unit now that the brackets are gone. The 22px line-height is the .cmp-cost
   line box (13px x 1.55 = 20.15px rounded up), pinned so an 11px icon in the middle of
   a text line cannot change the row height. Weight/colour match .cmp-name on the FPS
   cards, measured, not eyeballed. Scoped to the span, so the System card's "Overall
   Latency" - which has no tag - is untouched. */
/* .cmp-cost itself becomes the flex row. That is what supplies the 9px separation via
   column-gap instead of a margin on the tag - and it matters at narrow widths: the
   subtitle is ~20px wider than it used to be, so on some breakpoints the tag drops to a
   second line, and a margin-left would indent it there. As a flex item it lands flush
   left instead. The bare "FPS Before / After" text becomes an anonymous flex item, so
   it stays intact as one unit and only the tag ever moves. */
.cmp-card .cmp-cost{display:flex;flex-wrap:wrap;align-items:center;column-gap:13px;row-gap:0}
.cmp-card .cmp-cost .cmp-pctype{
  display:inline-flex;align-items:center;gap:4px;
  /* line-height must stay INHERITED. Pinning it to 22px made the tag the tallest item
     in the flex row and grew the subtitle from 20.14px to 22px, which pushed every FPS
     card 1.5px taller than the System card. Inherited (1.55 = 20.15px) it matches, and
     the 11px icon is shorter than the text so it cannot grow the row either. */
  line-height:inherit;font-weight:600;color:#e6e6e6;white-space:nowrap;
}
/* Green is the site's #22c55e - the same value as the checkout live price, the
   availability dot and the success tick. Set explicitly rather than inherited,
   because the tag text around it stays #e6e6e6. No opacity: it was .85 while the
   icon inherited the text colour, and dimming a saturated green just muddies it.
   13px still sits under the 20.15px text line box, so it cannot grow the row. */
.cmp-card .cmp-cost .cmp-pc-ic{display:block;flex:0 0 auto;width:13px;height:13px;color:#22c55e}

/* [fs-avail-dot-nudge] Availability dot sits 0.5px high so it reads optically centred
   against the cap height of "Engineers Available Now" (the text sits above the
   flex row's true midpoint). transform, not position:relative/top - a relative
   nudge would leave the box where it was and this site has already been bitten by
   that pattern breaking vertical centring elsewhere.
   The .plan-row dots carry the same translate in their own rule (with the pulse
   duration); this one covers the sticky CTA bar, whose colour/box-shadow/animation
   are inline-styled and rewritten by JS - it never sets transform, so this applies. */
.fs-sticky-dot{transform:translateY(-0.5px)}

/* [fs-avail-dot-pulse] Availability-dot ring, with a pause between pulses.
   Own keyframes rather than the shared `pulse`/`pulseAmber`/`pulseRed`, which are
   still used by .pill .dot and the benchmark legend dots and must keep their timing.
   Ring active over 0-74% of 2.1s = 1.55s, idle tail 0.55s. Both stops past 74% are
   alpha 0, so the tail is genuinely invisible, not a fade. To retune the GAP without
   touching the pulse itself, move the duration and the 74% stop together so that
   duration x stop stays at ~1.55s.

   ALL FOUR DOTS MUST CARRY THE IDENTICAL SHORTHAND, `2.1s infinite ease`, in all four
   places: the three .plan-row rules below, the inline style on .fs-sticky-dot in
   index.html, and the string the availability IIFE writes onto stickyDot.style.animation
   in scripts.js. The sticky dot previously said `ease-in-out` while the green plan rule
   said nothing at all (i.e. `ease`), and that ALONE made the CTA-bar dot look far slower
   than the plan dots at the same duration - animation-timing-function is applied per
   keyframe INTERVAL, so `ease` front-loads the whole expansion into the first part of
   the active window while `ease-in-out` spreads it across all of it. Same duration,
   visibly different pulse. Never let the four drift apart again.
   SEE ALSO [fs-avail-dot-restart] in scripts.js: the three plan dots were additionally
   being detached and re-inserted once a second, which restarted their animation and made
   them look faster than the CTA-bar dot no matter what these four rules said. */
@keyframes fsAvailPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}74%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@keyframes fsAvailPulseAmber{0%{box-shadow:0 0 0 0 rgba(228,163,58,.7)}74%{box-shadow:0 0 0 10px rgba(228,163,58,0)}100%{box-shadow:0 0 0 0 rgba(228,163,58,0)}}
@keyframes fsAvailPulseRed{0%{box-shadow:0 0 0 0 rgba(224,23,28,.7)}74%{box-shadow:0 0 0 10px rgba(224,23,28,0)}100%{box-shadow:0 0 0 0 rgba(224,23,28,0)}}

/* [fs-count-pill] Optimizations-Included badge in the plan detail modals.
   - padding split 6.5/5.5 instead of 6/6: the digits sit 0.5px lower while the pill
     itself keeps the exact same height and position. transform or position:relative
     would have moved the gold pill too, which is not what was asked.
   - box-shadow:none removes `0 0 8px rgba(255,215,100,.3)` from the base .fs-new-pill
     rule - that is the literal gold glow bleeding around the badge. Scoped to the
     accordion badge, so the pill in .fs-new-actions keeps its own glow.
   Sits after the max-width:565px rule that sets the `padding` shorthand, so these two
   longhands win on mobile too while its 10px left/right survive. */
#fs-new-accordion .fs-new-accordion__toggle .fs-new-pill{padding-top:6.5px;padding-bottom:5.5px;box-shadow:none}

/* [fs-opti-suitability] Footer total row of the OptiFlow picker. "Total" moved into
   .os-total-val so it sits immediately left of the price; this label takes the freed
   left-hand slot. Typography deliberately copies .os-total-label so the two ends of
   the row read as a matched pair. The tier span is the only coloured part.
   Low and mid are deliberately NOT the existing #e4a33a dot amber / #f5d36e tag gold -
   both are desaturated mid-tone golds that read washed out at 11px on #0a0a0e. These are
   full-chroma instead, and far enough apart in hue (33 / 48 degrees) to read as orange
   vs yellow rather than two shades of the same gold. Green is the site's usual #22c55e.
   The bare .os-suit-tier repeats the low-end orange so the span is never left grey if
   the class is missing. */
.os-suitable{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6070}
.os-suit-tier{color:#ff8a00}
.os-suit-tier.is-low{color:#ff8a00}
.os-suit-tier.is-mid{color:#ffd60a}
.os-suit-tier.is-high{color:#22c55e}
/* 10px gap to the struck price / price, matching .os-total-old's own right margin. */
.os-total-val .os-total-label{margin-right:10px}

/* [fs-featchip-flat] Selected / active plan feature chips lose the 1px outline and keep
   a filled container instead; the greyed-out states keep theirs, which is what now tells
   the two apart on the Custom card. Covers all three cards - Competitive and Pro-Level
   chips are always in this state, the Custom card's are whenever OptiFlow has them on.
   border-color:transparent, NOT border:none - the border box has to stay 1px or every
   chip narrows by 2px and .feat-wrap re-wraps into different rows.
   The raised look is lifted from the .fs-pill-item tiles (Duration / FPS Boost /
   Availability) in the plan-contents modal: soft drop shadow plus a 1px inset top
   highlight, no outline. Those two declarations are copied byte-for-byte.
   The FILL could NOT be copied. Those tiles are #0a0a0e sitting on the #060608 modal
   dialog, i.e. a lift of (+4,+4,+6); .plan-row is ALREADY #0a0a0e, so reusing #0a0a0e
   here would give the chip zero contrast against its own card. #0e0e14 applies the same
   (+4,+4,+6) lift over #0a0a0e instead, so the tonal relationship matches even though
   the hex does not. If .plan-row's background ever changes, re-derive this the same way.
   Radius deliberately stays 9px rather than the tiles' 12px - the chip is ~29px tall
   against their ~45px, and 12px on a chip that short reads as a lozenge.
   Specificity (0,3,0) beats .fw-item and .fw-item.pending, and it sits after the two
   later `.fw-item{color:...}` rules, so nothing here disturbs the label colour. */
.fw-item:not(.off):not(.pending){
  border-color:transparent;
  background:#0e0e14;
  box-shadow:0 4px 16px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.05);
}

/* [fs-checkout-mobile] Mobile-only checkout tweaks. 600px is the breakpoint the rest of
   the checkout already uses (.bk2-summary-left font-size, the .bk2-tz-note stacking),
   so this stays in step with them rather than the site-wide 1000px.
   Everything here is scoped to #fs-bk so the plan cards and the OptiFlow modal, which
   share .pa-info-ic, are untouched. */
@media (max-width:600px){
  /* The duration / chosen-slot line under the plan name. Hiding the whole .bk2-slotline
     takes its .pa-info-ic with it. .bk2-summary is align-items:flex-start and the right
     column is the taller of the two (22px price + 18px ready row), so the bar keeps its
     height and only the left column gets shorter - no reflow of anything below. */
  #fs-bk .bk2-slotline{display:none}
  /* Every remaining info glyph in the modal. Four sites in total, all inside #fs-bk:
     the two .pa-info-ic builders (BK2_SLOTHELP and bk2SlotHelp, both feeding the line
     hidden above), the .bk2-slot-info on booked/reserved time slots, and the
     .bk2-slot-info.bk2-tz-help inside the Change? timezone picker. */
  #fs-bk .pa-info-ic,#fs-bk .bk2-slot-info{display:none}
  /* Below 600px .bk2-tz-note drops out of flex (display:block), so the flex `gap:6px`
     stops applying and the tick falls back to its own 3px margin - which is why it sits
     tighter to the text than on desktop. Match the desktop gap. */
  .bk2-tz-note .bk2-tz-tick{margin-right:6px}
}


/* ============================================================================
   Sep 6 2026 batch
   ============================================================================ */

/* [fs-check-parity] Item 15: the tick drifting off-centre on resize.
   The offset from .os-check's border box to the SVG is (boxSize - svgSize)/2, and the
   border-width cancels out of that expression entirely - so a 22px box around a 13px
   SVG gives 4.5px on every side no matter what the border is. Half a pixel: the browser
   rounds it to 4 or 5 depending on where the control lands on the device pixel grid,
   and .os-list is a repeat(3,1fr) grid, so resizing the window moves every row through
   fractional x positions and flips that rounding. Hence "off centre when I resize".
   FIX is parity, not a nudge: 12px in a 22px box = exactly 5px on all four sides.
   The old `#fs-analyzer .os-check svg{transform:translateY(1px)}` was deleted at source
   (it was a hard-coded correction for the same half pixel, and being a transform it also
   detached the tick from the parent's pixel snapping). The tick path is symmetric in its
   own 24x24 viewBox - inked bounds 2.5-21.5 x, 5-19 y, centre exactly (12,12) - so the
   SVG needs no edit. Applies to the in-checkout add-ons list too; same box, same bug. */
.os-check svg{width:12px;height:12px;display:block}

/* [fs-bios-warn] Item 12: advisory under the BIOS Optimization row when a CPU or RAM
   overclock is selected without it. .os-cell is the grid item; the row inside keeps its
   own styles untouched.
   align-self:start is load-bearing: grid items stretch by default, so without it the
   Windows Optimization and Custom OS rows beside BIOS would grow to match the taller
   BIOS cell whenever the warning shows. Trade-off: if a row name ever wraps on a narrow
   viewport its neighbours no longer stretch to match it. */
.os-list>.os-row,
.os-list>.os-cell{align-self:start}
.os-cell{min-width:0}
.os-warn{display:flex;gap:6px;padding:0 3px;font-size:11px;font-weight:600;line-height:15px;color:#fff}
/* The text line box is pinned to the glyph's own 13px (see the absolute rule below), so
   both flex items are 13px tall and align-items:center puts each at offset 0 - the label
   and the triangle share one centre line with nothing to round.
   The old flex-start + 1px svg nudge is gone: that nudge was derived for a 15px line box,
   and once the box was cut to 12px it pushed the triangle DOWN while the text stayed at the
   top of a SHORTER box, which is exactly the misalignment in FSL's screenshot. */
.os-warn{align-items:center}
.os-warn svg{flex-shrink:0}

/* [fs-eur-suffix] Item 16: faded EUR beside the plan prices and the builder total.
   .has-ccy is opt-in so the Quick Evaluation strip's own .pa-amount rules are untouched.
   Both line-heights are whole pixels on purpose - the price inherits line-height:1 on a
   fractional 36.8676px font, and centring a shorter item against 36.87px would put the
   offset on a half pixel, which is the same class of bug as item 15 above.
   37px box, 13px suffix -> offset exactly 12px. */
.pa-amount.has-ccy{display:flex;align-items:center;justify-content:flex-end;gap:7px;line-height:37px}
.pa-ccy{font-size:12px;font-weight:700;letter-spacing:.06em;line-height:13px;color:#5a6070}
/* The modal total needs no pinning: .os-total-val is align-items:center and both children
   inherit the SAME unitless line-height, so the offset is (22-12)*ratio/2 - always whole. */
.os-total-val .os-ccy{font-size:12px;font-weight:700;letter-spacing:.06em;color:#5a6070;margin-left:6px}


/* ============================================================================
   Sep 6 2026 - second batch
   ============================================================================ */

/* [fs-chip-click] Item 2: the Custom Optimization card's feature chips are controls now,
   not labels. Pointer + hover lift on every chip; the unselected ones also carry the
   "Click Customize Now" tooltip, so the affordance and the hint agree. */
#custom-feats .fw-item[data-tweak]{cursor:pointer}

/* [fs-bios-gate] Item 3: the notice under BIOS Optimization, take two.
   Reserving space for it (the previous approach) added a permanent gap above OVERCLOCKING.
   It is now taken OUT OF FLOW entirely and painted into the gap that already exists there,
   so it costs zero layout in both states - nothing moves when it appears or disappears.
   The 17px it occupies is measured, not guessed: the grid row-gap is 9px and .os-cat-label
   adds padding-top:8px before its text, so 2px offset + a 15px line box lands exactly on
   the OVERCLOCKING label's cap without touching it. If either of those two values changes,
   re-derive the 2px.
   pointer-events:none so it can never intercept a click on the row underneath. */
.os-cell{position:relative}
/* CORRECTED BUDGET. The earlier note here said 17px, measured to the top of the
   OVERCLOCKING label's LINE BOX. That was too conservative: .os-cat-label sets no
   line-height, so it inherits 1.6 from body and gets a 16px line box for a 10px uppercase
   font - roughly 4.4px of half-leading and ascent sits above its cap. So the first VISIBLE
   pixel of that label is about 9 (grid row-gap) + 8 (label padding-top) + 4.4 = 21px below
   the BIOS row, not 17px.
   At margin-top:7px this notice's ink runs from ~9.5px to ~20px (11px font, cap-top ~2.5px
   and descenders in "optimization"/"tuning" reaching ~12.9px inside its 13px box), leaving
   ~1.5px. That is the real ceiling - past it the descenders touch the label's caps.
   line-height stays 13px to match the 13px warning glyph exactly, so the triangle and the
   text are equal-height flex items and centre on each other with no rounding.
   Anything lower than this needs space added between the sections, which is the gap FSL
   rejected - his call, not something to reintroduce quietly. */
.os-warn{
  position:absolute;top:100%;left:0;right:0;margin-top:7px;line-height:13px;
  opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.os-warn.is-on{opacity:1}

/* [fs-free-green] Item 4: Custom OS & Toolkit's "Free" is green while unselected and
   white once the row is active - green on the selected row's red gradient reads badly.
   #22c55e is the site's existing green (checkout guard shield, availability dot).
   The selected rule needs (0,4,0) to beat the original pair at ~line 8601; it matches that
   specificity and comes later in the file, so it wins with no !important. */
.os-row-price.os-free{color:#22c55e}
.os-row.is-selected .os-row-price.os-free{color:#fff}

/* [fs-eur-suffix-2] Item 5: EUR suffix a step smaller, 12px -> 11px, in all five places.
   The line-heights are NOT all the same on purpose - each one is whatever keeps its own
   centring offset on a whole pixel, which is what stops the 1px drift documented at
   [fs-check-parity]:
     plan cards  37px row, 13px suffix              -> offset 12
     QE strip    31.2px row (26px x 1.2), ratio 1.2 -> (26-11) x 1.2 / 2 = 9
     modal total 35.2px row (22px x 1.6), 13.2px    -> offset 11
   Change a font-size here and the matching line-height has to be re-derived. */
.pa-ccy{font-size:11px}
.plan-row.fs-qe-strip .pa-ccy{line-height:1.2}
.os-total-val .os-ccy{font-size:11px;line-height:13.2px}

/* [fs-qe-note] "15 Minutes" sits under the EUR5 as a real column item, no longer an
   overlay. That is the change that aligns it with the button: .plan-price-area and
   .plan-actions are BOTH align-self:center in the same two-row grid area, so once the note
   is inside the price area the whole price+EUR+note block is centred on the button's centre
   instead of hanging below it.
   gap:0 is deliberate - .pa-amount already carries margin-bottom:2px, so that 2px IS the
   spacing between the price and the note. It was 4px while the note was absolute
   (2px margin + 2px offset), which is the gap FSL asked to tighten. */
.plan-row.fs-qe-strip .plan-price-area{
  position:static;flex-direction:column;align-items:center;justify-content:center;gap:0;
}
.plan-row.fs-qe-strip .pa-note{
  position:static;margin:0;text-align:center;white-space:nowrap;
  font-size:11.5px;line-height:13px;
}
/* [fs-qe-wrap] Forces the description onto its second line earlier so it stops running up
   against the price. A fixed value rather than a wider column-gap, because column-gap would
   also push the bolt and the button apart. 135px is tuned to break just before "a straight
   answer in" at the 1200px container width; the second line still has room to spare. */
.plan-row.fs-qe-strip .plan-desc{padding-right:135px}
@media (max-width:1000px){
  /* [fs-qe-inline-note] Stacked layout: the price area is a full-width grid cell, so it runs
     as a ROW here - "15 Minutes" sits beside the EUR suffix rather than under the price, and
     all three are centred on one line. The desc gets its full width back.
     margin-bottom on .pa-amount is zeroed: it is the 2px gap that separates the price from
     the note in the desktop COLUMN layout, and in a row it would just push the price up off
     the centre line. 10px gap = the 7px inside .pa-amount plus a little more, so "EUR" reads
     as part of the price and "15 Minutes" as a separate item. */
  .plan-row.fs-qe-strip .plan-price-area{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}
  .plan-row.fs-qe-strip .pa-amount{margin-bottom:0}
  .plan-row.fs-qe-strip .plan-desc{padding-right:0}
  .plan-row.fs-qe-strip .pa-note{text-align:left}
}


/* ============================================================================
   Sep 7 2026 batch
   ============================================================================ */



/* [fs-benchmark-tabs-centre] Mobile only: the eight game tabs wrap onto four rows, and with
   the default flex-start the last row is left-aligned under a full row, which reads as broken.
   Centring every row keeps the block symmetrical. #vb-pick only - the other .feat-wrap chip
   rows are full-width lists where left alignment is correct. */
@media (max-width:800px){
  #vb-pick{justify-content:center}
}

/* [fs-presentment] Currency tabs on the payment step. Deliberately built from the promo
   row's own tokens (.bk2-promo-label sits above both) so the two controls read as one
   block rather than as a bolted-on extra. */
.bk2-ccy-wrap{margin-top:14px}
.bk2-ccy-row{display:flex;gap:6px;flex-wrap:wrap}
.bk2-ccy-row.is-busy{opacity:.5;pointer-events:none}
/* [fs-ccy-tab-3d] These read as Stripe's own payment-method tabs on purpose - the shadows
   below are copied verbatim from the '.Tab', '.Tab:hover' and '.Tab--selected' rules in the
   Elements appearance object in scripts.js, so the two rows match by construction rather
   than by eye. Retune those and retune these with them.
   Note what Stripe uses for "selected": NOT a border, but an inset 1px ring
   (inset 0 0 0 1px rgba(255,255,255,.10)) over the same raised panel. Nothing red.
   Text and symbol colours are identical in both states, so selection is carried only by
   that ring. */
.bk2-ccy-tab{
  flex:1 1 0;min-width:62px;display:flex;align-items:center;justify-content:center;gap:5px;
  height:38px;padding:0 8px;border:1px solid transparent;border-radius:10px;
  background:#0a0a0e;color:#e6e6e6;font-family:inherit;font-size:12px;font-weight:700;
  letter-spacing:.03em;cursor:pointer;transition:box-shadow .15s ease;
  box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);
}
.bk2-ccy-tab:hover{box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08)}
.bk2-ccy-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.06)}
.bk2-ccy-tab.is-on{box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.06)}
/* Deliberately unchanged between states - see above. */
.bk2-ccy-sym{color:#5a6070;font-weight:600}



/* ============================================================================
   VIDEO BENCHMARK SECTION (#compare). Replaced the old six-card FPS grid on
   Sep 9 2026. Clips live in resources/beforeafter/, game marks in
   resources/logos/. Everything below is prefixed vb- or alt- except where it
   deliberately reuses .cmp-card / .cmp-bar / .fw-item from above.
   ============================================================================ */
/* ============================================================================
   NEW CSS ONLY. The rest is the site's own, from styles.css: .compare
   .container .h2.why-title .muted .cmp-grid .cmp-card.cmp-bench .cmp-top
   .cmp-name .cmp-cost .cmp-pctype .cmp-tag .cmp-bar .cmp-bar-fill .feat-wrap
   .fw-item
   ============================================================================ */

/* --- clip frame. 16/9 matches the 854x480 source to within 0.08%, so
   object-fit:cover crops nothing visible. No centre divider - the clips are
   already cut as before/after. --- */
.vb-video{
  position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;
  background:linear-gradient(118deg,#101318 0%,#161a21 46%,#1e181b 100%);
  box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);
  isolation:isolate;
}
.vb-video::before{
  content:'';position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:
    radial-gradient(120% 90% at 14% 22%, rgba(90,110,150,.15), transparent 62%),
    radial-gradient(110% 85% at 86% 78%, rgba(224,23,28,.14), transparent 64%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 3px);
}
.vb-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block}
.vb-video.has-clip::before{opacity:0}
.vb-video > *{position:relative;z-index:2}
/* --- overlay pills. ONE rule for all three: same height, same padding, same
   radius, same translucent fill, same type. Stock and Optimized carry no fill
   colour, no accent and no drop shadow of their own - they are the spec pill
   with different words in them. --- */
.vb-lbl,.vb-spec{
  position:absolute;top:14px;height:28px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  /* MEASURED, not derived. Screenshot of the shipped build: pill 28px tall with
     the cap-height ink spanning 9px from the top and 11px from the bottom - the
     label sat 1px high. Flex centring is doing its job; Inter's ascent/descent
     simply do not put uppercase ink on the box centre at this size.
     padding-top minus padding-bottom shifts the centre by half the difference,
     so 2px/0 moves the text down exactly 1px and the gaps become 10/10.
     Re-measure this if the font-size or weight changes. */
  padding:2px 12px 0;border-radius:5px;line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  font-size:10.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;
}
/* Same shape, same size, same alpha - only the fill colour differs. */
.vb-spec{background:rgba(8,9,12,.66);color:#c9ced6}
.vb-lbl-l{left:16px;background:rgba(255,255,255,.66);color:#0a0a0e}
.vb-lbl-r{right:16px;background:rgba(219,22,28,.66);color:#fff}
.vb-spec{left:50%;transform:translateX(-50%)}
@media (max-width:760px){.vb-spec{display:none}}

/* --- title row: game name with the map and preset sitting beside it.
   .cmp-name's line-height is pinned to 20px here so the 14px meta line centres
   against it at a whole 3px rather than 3.35px. --- */
.vb-meta{display:flex;align-items:center;column-gap:14px}
.vb-meta[hidden]{display:none}
.vb-meta-i{display:inline-flex;align-items:center;gap:7px;line-height:18px;
  font-size:12.5px;font-weight:600;color:#b0adab}
/* 14 -> 16px with the stroke cut 2 -> 1.5. At 14px a stroke-width of 2 renders as
   2 x 14/24 = 1.17px, which straddles the pixel grid and is what made these look
   soft; 16px at 1.5 renders as exactly 1.00px. CSS beats the svg's own
   stroke-width presentation attribute, so no markup change is needed.
   Colour raised #5a6070 -> #8b9099 to match the temperature icons - they were two
   different greys, which is why they read as a different set. */
/* stroke-width back to 2. Forcing it to render at exactly 1.00px was a mistake: a 1px
   stroke centred on an INTEGER viewBox coordinate straddles the pixel boundary, half in
   each column, and at this contrast on a dark panel that reads as chunky and aliased
   rather than sharp - there is no room left for the renderer to antialias. At 18px a
   stroke-width of 2 renders 1.5px, which has something to feather with.
   geometricPrecision stops the renderer trading antialiasing for speed. */
.vb-meta-ic{width:18px;height:18px;flex:none;color:#8b9099;stroke-width:2;shape-rendering:geometricPrecision}

/* --- game chips. flex:1 1 auto makes the row reach BOTH container edges:
   every chip grows from its own content width, so longer names stay longer and
   the gaps stay even. Wraps back to natural widths on narrow screens. --- */
.vb-pick{gap:7px}
.vb-pick .fw-item{cursor:pointer;font-size:13.5px;padding:8px 13px;gap:8px;flex:1 1 auto;justify-content:center}
/* [fs-tab-native] No border override here on purpose. These tabs now inherit the site's
   own .fw-item treatment, so they are identical to the Custom Optimization chips in both
   states: deselected gets rgba(255,255,255,.02) with a transparent background, selected
   gets border-color:transparent over the raised #0e0e14 panel. Setting a brighter outline
   here (it was .09 / .16 for a while) is what made the two components disagree. */
.vb-ic{width:21px;height:21px;border-radius:5px;flex-shrink:0;object-fit:contain;display:block}
@media (max-width:900px){.vb-pick .fw-item{flex:0 1 auto}}


/* --- fixes strip. Moved OUT of the stats card and under the clip, as a thin
   single-line panel. It is a real .cmp-card.cmp-bench so the background, radius
   and shadow are the site's; only the direction and padding are overridden. --- */
/* Every gap identical: the separators are real children, so space-between hands the
   same amount of free space to each of the 9 gaps. Cells are content-sized - with
   flex:1 the cells were equal but the text inside them was not, which is what made
   some gaps look wider than others. */
.vb-fixstrip{flex-direction:row;align-items:center;justify-content:space-between;
  padding:13px 26px;gap:0;margin-top:0}
.vb-fix{flex:0 1 auto;display:flex;align-items:center;gap:8px;padding:0;min-width:0}
.vb-fix-sep{flex:0 0 1px;align-self:stretch;background:rgba(255,255,255,.07)}
.vb-fix-ic{width:18px;height:18px;color:#22c55e;flex:none;stroke-width:2;shape-rendering:geometricPrecision}
.vb-fix-k{font-size:12.5px;line-height:18px;color:#b0adab;white-space:nowrap}
.vb-fix-v{font-size:12.5px;line-height:18px;font-weight:800;color:#fff;margin-left:2px;white-space:nowrap}
@media (max-width:820px){
  .vb-fixstrip{flex-direction:column;align-items:stretch;padding:6px 18px;justify-content:flex-start}
  .vb-fix-sep{flex:0 0 1px;align-self:stretch;height:1px;width:100%}
  .vb-fix{padding:8px 0}
  .vb-fix{justify-content:flex-start;padding:8px 0;border-right:none;
    border-bottom:1px solid rgba(255,255,255,.06)}
  .vb-fix:last-child{border-bottom:none}
  .vb-fix-v{margin-left:auto}
}

/* --- column shapes. The left column stacks clip + strip; the right card
   stretches to match that whole height, and its metrics centre in the space so
   the two columns finish level. --- */
/* video and stats card share row 1; the strip spans both columns underneath, so it
   runs the full width and the stats card can stop level with the video. */
.cmp-grid.vb-2col > .vb-fixstrip{grid-column:1 / -1}
.vb-stats{height:100%;gap:0}
/* Equal space above and below the bars, at ANY card height - no tuned margin.
   justify-content:center alone would split the slack evenly, but the card's bottom
   padding (20px) then sits UNDER the lower half, so the visible gap below ends up
   20px larger than the one above. Giving this box a 20px padding-top makes the
   centring happen inside a box that is 20px shorter at the top, so:
       space above = 20 + slack/2      space below = slack/2
   and once the card's own 20px bottom padding is added the two read identical.
   If .cmp-card's padding-bottom ever changes, change this to match it.
   Measured before this fix: 47px above vs 22px below. */
.vb-metrics{flex:1;display:flex;flex-direction:column;justify-content:center;gap:26px;
  box-sizing:border-box;padding-top:20px}   /* 18 -> 26 between groups; 16 -> 36 pushes the block down off the title */   /* top-aligned, not centred */

.cmp-grid.vb-2col{grid-template-columns:1.15fr .85fr;align-items:stretch}
@media (max-width:900px){.cmp-grid.vb-2col{grid-template-columns:1fr}}



/* ============================================================================
   GROUPED METRICS. Optimized stacked together, Stock below, one row per metric.
   Each metric is scaled against the LARGER of its two sides, so the Avg-FPS pair
   is comparable across the groups and so is every other pair. A single shared
   scale would make the frametime and temperature bars invisible slivers next to
   FPS in the hundreds.
   ============================================================================ */
/* Equal space above and below the bars, at ANY card height - no tuned margin.
   justify-content:center alone would split the slack evenly, but the card's bottom
   padding (20px) then sits UNDER the lower half, so the visible gap below ends up
   20px larger than the one above. Giving this box a 20px padding-top makes the
   centring happen inside a box that is 20px shorter at the top, so:
       space above = 20 + slack/2      space below = slack/2
   and once the card's own 20px bottom padding is added the two read identical.
   If .cmp-card's padding-bottom ever changes, change this to match it.
   Measured before this fix: 47px above vs 22px below. */
.vb-metrics{flex:1;display:flex;flex-direction:column;justify-content:center;gap:26px;
  box-sizing:border-box;padding-top:20px}   /* 18 -> 26 between groups; 16 -> 36 pushes the block down off the title */   /* top-aligned, not centred */
.alt-group + .alt-group{margin-top:0}
.alt-g-head{display:flex;align-items:baseline;justify-content:space-between;line-height:13px;
  font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:#e6e6e6;margin-bottom:9px}
/* sits flush with the right edge of the bars below it, which is what the header spans */
.alt-max{font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#3f444c}
.alt-stock .alt-g-head{color:#6b7280}
.alt-row{margin-bottom:9px}   /* 7 -> 9, a touch more air between bars */
.alt-row:last-child{margin-bottom:0}
/* Bars 22 -> 25 -> 22px. The label and value boxes below MUST carry the same height, and
   their measured padding corrections carry over unchanged: with align-items:center the text
   offset from the box centre is padding/2 - line-height/2, which does not depend on the box
   height, so the 1px / 2px fixes still land dead centre. */
.alt-row .cmp-bar{height:22px;border-radius:7px;margin-top:0;position:relative}
.alt-row .cmp-bar-fill{border-radius:7px;position:relative}
.cmp-bar-fill.is-stock{background:linear-gradient(90deg,rgba(90,96,112,.9),rgba(90,96,112,.35))}

/* The label hangs off the BAR so it is legible however short the fill is; the
   value hangs off the FILL so it always lands exactly where the bar ends.
   padding-top:1px is the same measured correction used on the video pills -
   screenshot of the shipped build put this type 1px high (6px above the cap,
   8px below). Re-measure if the font-size changes. */
.alt-lbl,.alt-val{
  position:absolute;top:0;height:22px;display:flex;align-items:center;
  padding-top:1px;box-sizing:border-box;line-height:1;z-index:2;white-space:nowrap;
}
.alt-lbl{left:10px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.alt-row.is-stock .alt-lbl{color:#d3d7dd}
.alt-val{right:10px;padding-top:2px;font-size:12.5px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
/* When the fill is too short to hold the label and the value side by side, the value
   moves just past the end of the fill instead of overlapping the label. It still marks
   where the bar ends, which is the point of putting it there. Applied by measurement in
   the script, not by a hard-coded percentage, so it holds at any viewport. */
.alt-val.is-out{right:auto;left:calc(100% + 9px);color:#c9ced6}
.alt-row.is-stock .alt-val{color:#e6e6e6}

/* --- title block: name, then map and preset beneath it --- */
.vb-stats{position:relative}
/* name 20px + 4px gap + meta 14px = a 38px block, which is exactly the height the
   game mark is set to, so the two align top and bottom.
   name 20 + gap 4 + meta 18 = 42px since the meta icons went up to 18px. */
.vb-titleblock{padding-right:176px}
.vb-titleblock .cmp-name{line-height:20px}
.vb-meta{display:flex;align-items:center;flex-wrap:wrap;column-gap:14px;row-gap:2px;margin-top:4px}
.vb-meta[hidden]{display:none}
.vb-meta-i{display:inline-flex;align-items:center;gap:7px;line-height:18px;
  font-size:12.5px;font-weight:600;color:#b0adab}
/* 14 -> 16px with the stroke cut 2 -> 1.5. At 14px a stroke-width of 2 renders as
   2 x 14/24 = 1.17px, which straddles the pixel grid and is what made these look
   soft; 16px at 1.5 renders as exactly 1.00px. CSS beats the svg's own
   stroke-width presentation attribute, so no markup change is needed.
   Colour raised #5a6070 -> #8b9099 to match the temperature icons - they were two
   different greys, which is why they read as a different set. */
/* stroke-width back to 2. Forcing it to render at exactly 1.00px was a mistake: a 1px
   stroke centred on an INTEGER viewBox coordinate straddles the pixel boundary, half in
   each column, and at this contrast on a dark panel that reads as chunky and aliased
   rather than sharp - there is no room left for the renderer to antialias. At 18px a
   stroke-width of 2 renders 1.5px, which has something to feather with.
   geometricPrecision stops the renderer trading antialiasing for speed. */
.vb-meta-ic{width:18px;height:18px;flex:none;color:#8b9099;stroke-width:2;shape-rendering:geometricPrecision}

/* --- top-right cluster: temperatures, then the game mark ---
   top:24px matches .cmp-card's own padding-top, so the cluster starts on the same
   line as the game name. The mark is 38px - the exact height of name + gap + meta -
   so its top and bottom edges land on the title block's. --- */
.vb-topright{position:absolute;top:24px;right:22px;display:flex;align-items:center;gap:13px}
.vb-biglogo{height:42px;width:auto;max-width:64px;object-fit:contain;display:block;border-radius:8px;flex:none}
.vb-temps{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.vb-temp{display:inline-flex;align-items:center;gap:6px;line-height:16px;font-size:11px;
  font-weight:600;color:#e6e6e6;white-space:nowrap;font-variant-numeric:tabular-nums}
.vb-temp b{font-weight:700;letter-spacing:.06em;color:#5a6070;font-size:10px}
/* A solid triangle instead of the -> glyph, which rendered as a hairline at this size.
   6x8 in a 6x8 viewBox, so the shape fills its box and is centred by construction; an
   8px box in the 14px row centres at a whole 3px. */
/* 10px in the 16px temp row centres at a whole 3px; the shape fills its 7x10 viewBox
   so it is centred inside its own box by construction too. */
.vb-arrow{width:7px;height:10px;flex:none;fill:currentColor;color:#8b9099;margin:0 2px;shape-rendering:geometricPrecision}
/* stroke-width 1.85 at 13px renders as 1.00px, the same weight the 16px/1.5 map and
   settings icons render at, so the two pairs read as one set. */
.vb-temp-ic{width:16px;height:16px;flex:none;color:#8b9099;stroke-width:2;shape-rendering:geometricPrecision}
@media (max-width:560px){
  .vb-topright{gap:9px}
  .vb-biglogo{height:32px}
  .vb-temp{font-size:10px}
  .vb-titleblock{padding-right:150px}
}

/* [fs-bar-sweep] The site-wide shimmer on .cmp-card .cmp-bar-fill::after runs
   cmpShimmer 2.2s infinite - a continuous sweep with no pause, because on an
   infinite animation the duration sets the speed AND the frequency together.
   Splitting them needs a keyframe that travels for part of the cycle and holds
   off-screen for the rest: here it moves over 46% of 6.5s (a 3.0s pass, ~36%
   slower than 2.2s) then sits idle for 3.5s. Same specificity as the site rule,
   later in the file, so it wins without !important. Scoped to .vb-stats so the
   benchmark cards on index.html keep their original timing. */
@keyframes fsBarSweep{
  0%   {background-position:200% 0}
  46%  {background-position:-200% 0}
  100% {background-position:-200% 0}
}
.vb-stats .cmp-bar-fill::after{animation:fsBarSweep 6.5s ease-in-out infinite}


/* ============================================================================
   Sep 9 2026 - benchmark section follow-ups
   ============================================================================ */

/* [fs-tab-noselect] Clicking a game tab was selecting its label, so a double click
   left blue highlight across it. These behave as buttons, not prose. */
.vb-pick .fw-item{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}

/* [fs-bar-grow] The bars grow into place the first time the section is scrolled to.
   scripts.js holds every fill at 0 and releases them on the first intersection; this
   transition is what turns that release into a sweep. It also makes switching games
   animate rather than snap, which is why it lives on the element and not in a keyframe. */
.alt-row .cmp-bar-fill{transition:width .85s cubic-bezier(.22,.61,.36,1)}

/* Strip ticks back to the site green (#22c55e), reverting the gold. */
.vb-fix-ic{color:#22c55e}

/* [fs-sec-sub] Every section subtitle now matches the reviews one exactly. That one is
   .reviews-sub{color:rgba(168,165,165,.7);opacity:.7} - effectively 0.49 alpha - while
   the others were var(--muted) at opacity .7, i.e. noticeably brighter. Same two
   declarations, so they compute identically. */
.sec-sub{color:rgba(168,165,165,0.7);opacity:.7}

/* [fs-orig-info] Info icon beside the Pro-Level struck price. .pa-original sets
   line-through on the whole row and a descendant cannot cancel an ancestor's
   text-decoration, so this has to be an atomic inline-level box - the same reason
   .pa-orig-pct next to it is inline-block. */
.pa-orig-info{display:inline-block;text-decoration:none;margin-left:6px;position:relative;top:1px;color:#6b7280}
.pa-orig-info:hover{color:#a8a5a5}
