/* REVIVE CHEATS — bespoke SellAuth storefront */
:root {
  --revive-purple: #a855f7;
  --revive-purple-hot: #d946ef;
  --revive-purple-soft: #c084fc;
  --revive-green: #30e68a;
  --revive-bg: #06060a;
  --revive-panel: #0e0e15;
  --revive-panel-2: #14141d;
  --revive-line: rgba(255, 255, 255, .09);
}

/* REVIVE V2 — cinematic storefront layer */
html[data-scheme="dark"] body {
  background:
    radial-gradient(900px 520px at 84% 5%, rgba(143, 53, 255, .14), transparent 68%),
    radial-gradient(720px 520px at 5% 45%, rgba(92, 26, 180, .09), transparent 72%),
    #06050a;
}
.sa-header { border-bottom-color: rgba(255,255,255,.055) !important; backdrop-filter: blur(18px); }
.sa-header.revive-header-scrolled { background: rgba(6,5,10,.86) !important; box-shadow: 0 14px 50px rgba(0,0,0,.35); }
.sa-header nav a { font-weight: 700; letter-spacing: .04em; }
.revive-home-hero { min-height: min(850px, 88vh); isolation: isolate; border-bottom: 1px solid rgba(255,255,255,.06); }
.revive-home-hero::before {
  opacity: .62;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, black 5%, transparent 90%);
}
.revive-home-hero::after { width: 640px; height: 640px; right: -190px; top: -220px; background: #9d4dff; filter: blur(170px); opacity: .16; }
.revive-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); gap: clamp(52px,7vw,110px); padding-top: 105px; padding-bottom: 125px; }
.revive-hero-copy { position: relative; z-index: 2; }
.revive-eyebrow { width: fit-content; gap: 10px; padding: 8px 11px; border: 1px solid rgba(181,112,255,.2); border-radius: 8px; background: rgba(168,85,247,.075); color: #d3aaff; font-size: 10px; letter-spacing: .18em; }
.revive-eyebrow-code { margin-left: 10px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.14); color: #777185; }
.revive-hero-copy h1 { margin-top: 25px; font-size: clamp(66px,6.2vw,98px); line-height: .82; letter-spacing: -.078em; }
.revive-hero-line { display: block; }
.revive-hero-line--outline { color: transparent !important; -webkit-text-stroke: 1.5px rgba(255,255,255,.56); }
.revive-hero-line--purple { color: #ad5cff !important; text-shadow: 0 0 34px rgba(168,85,247,.25); }
.revive-hero-lead { max-width: 540px; margin-top: 29px; color: #aaa5b4; font-size: 16px; line-height: 1.7; }
.revive-button { min-height: 52px; padding-inline: 22px; border-radius: 10px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.revive-button--primary { background: linear-gradient(135deg,#b665ff,#8528e8); box-shadow: 0 14px 45px rgba(142,45,231,.3), inset 0 1px rgba(255,255,255,.2); }
.revive-button--primary:hover { transform: translateY(-3px); box-shadow: 0 19px 55px rgba(142,45,231,.42); }
.revive-button--secondary { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.11); }
.revive-hero-points { margin-top: 28px; gap: 18px; font-size: 9px; letter-spacing: .1em; color: #6e6978; }
.revive-hero-points span { display: inline-flex; align-items: center; gap: 5px; }
.revive-hero-points b { color: #b8b3c0; }
.revive-video-stage { position: relative; perspective: 1100px; }
.revive-video-stage::before { content:""; position:absolute; inset: 8% -5% -8% 12%; border-radius: 50%; background:#8f35ff; filter:blur(95px); opacity:.22; z-index:-1; }
.revive-video-shell { width: 100%; transform: rotateY(-4deg) rotateX(1deg); border-radius: 20px; background: linear-gradient(145deg,rgba(25,21,32,.96),rgba(8,7,12,.96)); border: 1px solid rgba(206,151,255,.17); box-shadow: -32px 38px 90px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.06); }
.revive-video-shell::after { content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none; background:linear-gradient(120deg,rgba(190,113,255,.18),transparent 28%,transparent 70%,rgba(139,48,226,.1)); mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask-composite:exclude; padding:1px; }
.revive-video-frame { border-radius: 12px; border: 1px solid rgba(255,255,255,.08); }
.revive-stage-tag { position:absolute; z-index:4; padding:7px 10px; background:#a855f7; color:white; font-size:9px; font-weight:900; letter-spacing:.14em; box-shadow:0 8px 25px rgba(126,34,206,.4); }
.revive-stage-tag--top { top:-14px; right:28px; }
.revive-stage-tag--bottom { bottom:-12px; left:-18px; background:#121018; border:1px solid rgba(181,112,255,.3); color:#c88eff; }
.revive-hero-marquee { position:absolute; left:0; right:0; bottom:0; overflow:hidden; padding:14px 0; border-top:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.018); color:#4c4854; font-size:9px; font-weight:800; letter-spacing:.24em; white-space:nowrap; }
.revive-hero-marquee div { width:max-content; animation:reviveMarquee 22s linear infinite; }
.revive-hero-marquee i { display:inline-block; width:4px; height:4px; margin:0 35px 2px; transform:rotate(45deg); background:#a855f7; box-shadow:0 0 12px #a855f7; }
@keyframes reviveMarquee { to { transform:translateX(-50%); } }

.sa-section-headline { font-size:10px !important; font-weight:900 !important; letter-spacing:.2em !important; }
.sa-section-title { letter-spacing:-.045em; }
.sa-products { padding-top: 100px; }
.sa-products .sa-products-items.grid { gap: 22px; }
.sa-product-card { position:relative; overflow:hidden; border-color:rgba(255,255,255,.075) !important; background:linear-gradient(155deg,rgba(19,17,25,.97),rgba(10,9,14,.97)) !important; box-shadow:0 22px 55px rgba(0,0,0,.22) !important; transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease !important; }
.sa-product-card::after { content:""; position:absolute; width:240px; height:240px; left:calc(var(--mx,50%) - 120px); top:calc(var(--my,50%) - 120px); border-radius:50%; background:radial-gradient(circle,rgba(168,85,247,.14),transparent 68%); opacity:0; pointer-events:none; transition:opacity .25s ease; }
.sa-product-card:hover { transform:translateY(-8px) !important; border-color:rgba(177,103,247,.34) !important; box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 0 1px rgba(168,85,247,.08) !important; }
.sa-product-card:hover::after { opacity:1; }
.sa-product-card-media { overflow:hidden; }
.sa-product-card-media img { transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease; }
.sa-product-card:hover .sa-product-card-media img { transform:scale(1.035); filter:saturate(1.1) contrast(1.03); }
.sa-product-card-title { font-weight:800 !important; letter-spacing:-.02em; }
.sa-product-card-price { color:#c17aff !important; }
.revive-view-all-products { margin-top:38px; }
.sa-stats { padding-block:38px !important; }
.sa-stats-items { max-width:840px; margin-inline:auto; background:rgba(255,255,255,.02) !important; border-color:rgba(255,255,255,.065) !important; }
.sa-stats-item { padding-block:22px !important; }
.sa-stats-item .text-h2 { color:#c680ff; font-size:28px; }
.revive-comparison { padding-top:90px; }
.revive-compare-frame { border-radius:20px; border-color:rgba(177,103,247,.2); box-shadow:0 35px 100px rgba(0,0,0,.42),0 0 80px rgba(126,34,206,.08); }
footer { border-top:1px solid rgba(255,255,255,.055); background:linear-gradient(to bottom,rgba(15,12,20,.75),#06050a); }

@media (max-width:1024px) {
  .revive-hero-grid { grid-template-columns:1fr; padding-top:80px; }
  .revive-video-stage { width:min(760px,100%); margin-inline:auto; }
  .revive-video-shell { transform:none; }
}
@media (max-width:640px) {
  .revive-home-hero { min-height:auto; }
  .revive-hero-grid { padding-top:58px; padding-bottom:100px; gap:48px; }
  .revive-hero-copy h1 { font-size:clamp(51px,17vw,72px); line-height:.86; }
  .revive-eyebrow-code { display:none; }
  .revive-hero-points { display:grid; grid-template-columns:1fr 1fr; text-align:left; }
  .revive-stage-tag--bottom { left:10px; }
  .sa-products { padding-top:72px; }
}
@media (prefers-reduced-motion:reduce) { .revive-hero-marquee div { animation:none; } }

html[data-scheme="light"],
html[data-scheme="dark"] {
  --cl-accent: 168, 85, 247 !important;
  --cl-on-accent: 255, 255, 255 !important;
  --cl-background: 6, 6, 10 !important;
  --cl-surface: 14, 14, 21 !important;
  --cl-surface-raised: 20, 20, 29 !important;
  --cl-t-primary: 248, 248, 252 !important;
  --cl-t-muted: 157, 157, 173 !important;
  --cl-border: rgba(255, 255, 255, .09) !important;
  color-scheme: dark !important;
}

html { background: var(--revive-bg) !important; }
body {
  background:
    radial-gradient(circle at 62% 8%, rgba(168, 85, 247, .12), transparent 26rem),
    radial-gradient(circle at 3% 38%, rgba(217, 70, 239, .055), transparent 25rem),
    #06060a !important;
  color: #f8f8fc;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .33;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

#app { position: relative; isolation: isolate; }
.wrap { max-width: 1320px !important; }

/* Thin premium utility strip */
.sa-announcement {
  display: block !important;
  min-height: 31px;
  border-bottom: 1px solid rgba(255,255,255,.055);
  background: #08080d !important;
  color: #8f8f9e !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px !important;
  font-weight: 800;
}
.sa-announcement a { color: #a7a7b5 !important; }

/* Navigation */
.sa-header {
  background: rgba(7, 7, 11, .78) !important;
  backdrop-filter: blur(22px) saturate(135%);
}
.sa-navbar > div {
  background: rgba(9, 9, 14, .84) !important;
  border-color: rgba(255,255,255,.075) !important;
}
.sa-navbar .wrap { min-height: 72px !important; }
.sa-navbar-logo { max-width: 230px; }
.sa-navbar-logo img {
  height: 42px !important;
  width: auto !important;
  max-width: 175px;
  object-fit: contain;
  border-radius: 0 !important;
  filter: drop-shadow(0 0 13px rgba(168,85,247,.34));
}
.sa-navbar-logo span {
  color: #fff !important;
  font-size: 15px;
  font-weight: 900 !important;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.sa-navbar-link {
  position: relative;
  padding: 10px 13px !important;
  border-radius: 10px !important;
  color: #8d8d9c !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .02em;
}
.sa-navbar-link:hover {
  color: #fff !important;
  background: rgba(168,85,247,.085) !important;
}
.sa-navbar-link.bg-t-primary\/5 {
  color: #fff !important;
  background: rgba(168,85,247,.14) !important;
  box-shadow: inset 0 0 0 1px rgba(168,85,247,.22);
}
.sa-navbar button,
.sa-navbar a[class*="border"] {
  border-color: rgba(255,255,255,.1) !important;
}
.revive-nav-discord {
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(124,58,237,.32);
  border-radius: 10px;
  background: rgba(88,101,242,.09);
  color: #c4c8ff !important;
  font-size: 11px;
  font-weight: 800;
  transition: .2s ease;
}
.revive-nav-discord:hover {
  transform: translateY(-2px);
  border-color: rgba(168,85,247,.52);
  background: rgba(124,58,237,.16);
  color: #fff !important;
}
.revive-header-scrolled {
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

/* Hero */
.revive-home-hero {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.revive-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg width='620' height='420' viewBox='0 0 620 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='2'%3E%3Cpath d='M-40 88C42 18 110 150 206 72s141-65 225 6 161 27 229-40'/%3E%3Cpath d='M-18 136C75 68 129 196 224 121s151-67 228 7 151 28 210-22'/%3E%3Cpath d='M-42 284c87-75 167 54 254-19s151-61 235 11 154 20 225-48'/%3E%3Cpath d='M-40 342c89-80 164 49 260-26s148-51 226 12 151 17 218-43'/%3E%3Cpath d='M314-44c-59 71 54 122-8 202s-33 136 35 190 37 115-20 153'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 620px 420px;
  mask-image: linear-gradient(to bottom, #000, transparent 92%);
}
.revive-home-hero::after {
  content: "RC";
  position: absolute;
  right: -2vw;
  top: 30px;
  color: rgba(255,255,255,.018);
  font: 900 clamp(240px, 31vw, 520px)/.8 var(--ff-heading);
  letter-spacing: -.14em;
  pointer-events: none;
}
.revive-hero-fx { position: absolute; inset: 0; pointer-events: none; }
.revive-orb { position: absolute; border-radius: 50%; filter: blur(110px); }
.revive-orb--one { width: 430px; height: 430px; right: 10%; top: 11%; background: rgba(168,85,247,.17); }
.revive-orb--two { width: 280px; height: 280px; left: -130px; bottom: -90px; background: rgba(217,70,239,.08); }
.revive-hero-grid {
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  align-items: center;
  gap: 72px;
  padding-top: 92px;
  padding-bottom: 92px;
}
.revive-hero-copy { max-width: 610px; }
.revive-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 33px;
  padding: 0 14px;
  border: 1px solid rgba(168,85,247,.3);
  border-radius: 999px;
  background: rgba(168,85,247,.075);
  color: #d9b7fb;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}
.revive-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c084fc;
  box-shadow: 0 0 0 5px rgba(168,85,247,.09), 0 0 17px #a855f7;
  animation: revivePulse 1.8s ease-in-out infinite;
}
.revive-hero-copy h1 {
  margin: 29px 0 0;
  color: #fff;
  font-size: clamp(52px, 5vw, 79px);
  line-height: .98;
  letter-spacing: -.066em;
  font-weight: 900;
}
.revive-hero-copy h1 span {
  background: linear-gradient(100deg, #e879f9 2%, #a855f7 54%, #7c3aed 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 24px rgba(168,85,247,.18));
}
.revive-hero-lead {
  max-width: 560px;
  margin-top: 24px;
  color: #9b9baa;
  font-size: 16px;
  line-height: 1.7;
}
.revive-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.revive-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 53px;
  padding: 0 21px;
  border-radius: 12px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 850;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}
.revive-button--primary {
  min-width: 190px;
  background: linear-gradient(135deg, #c026d3, #7c3aed);
  box-shadow: 0 15px 38px rgba(126,34,206,.27), inset 0 1px rgba(255,255,255,.2);
}
.revive-button--secondary {
  min-width: 150px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
}
.revive-button:hover { transform: translateY(-3px); }
.revive-button--primary:hover { filter: brightness(1.12); box-shadow: 0 20px 47px rgba(126,34,206,.42); }
.revive-button--secondary:hover { border-color: rgba(168,85,247,.45); background: rgba(168,85,247,.08); }
.revive-button-arrow { margin-left: 4px; transition: transform .2s ease; }
.revive-button:hover .revive-button-arrow { transform: translateX(3px); }
.revive-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 25px;
  color: #868694;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.revive-hero-points i { margin-right: 6px; color: #b46df5; }

/* Video card */
.revive-video-shell {
  position: relative;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 22px;
  background: linear-gradient(150deg, rgba(20,20,29,.94), rgba(9,9,14,.9));
  box-shadow: 0 34px 95px rgba(0,0,0,.5), 0 0 70px rgba(168,85,247,.1);
  backdrop-filter: blur(20px);
}
.revive-video-shell::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(216,180,254,.3), transparent 35%, transparent 70%, rgba(126,34,206,.24));
}
.revive-video-topbar,
.revive-video-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 3px 5px 13px;
  color: #777785;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}
.revive-video-topbar b {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--revive-green);
  box-shadow: 0 0 10px rgba(48,230,138,.75);
}
.revive-video-topbar > a {
  color: #b96ef6 !important;
  transition: color .2s ease;
}
.revive-video-topbar > a:hover { color: #e2b9ff !important; }
.revive-video-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: #050508;
}
.revive-youtube { width: 100%; height: 100%; border: 0; border-radius: 14px; }
.revive-video-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 50%, rgba(168,85,247,.22), transparent 42%),
    linear-gradient(135deg, #11111a, #08080d);
  color: #fff;
}
.revive-video-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 38px 38px;
}
.revive-video-placeholder > * { position: relative; z-index: 1; }
.revive-play {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d946ef, #7c3aed);
  box-shadow: 0 0 35px rgba(168,85,247,.42);
}
.revive-play i { margin-left: 4px; }
.revive-video-placeholder strong { font-size: 17px; }
.revive-video-placeholder small { margin-top: 5px; color: #898997; }
.revive-video-footer { padding: 13px 5px 2px; color: #686875; }
.revive-video-footer i { color: #b96ef6; margin-right: 5px; }

/* Homepage sections */
.py-section { padding-top: 86px !important; padding-bottom: 86px !important; }
.sa-section-header { margin-bottom: 38px !important; }
.sa-section-title {
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: -.047em !important;
}
.sa-section-headline {
  color: #b66cf4 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}
.sa-section-subtitle { color: #8f8f9e !important; }
.hl-accent .mk, .hl-underline .mk, .mk { color: #bd75f7 !important; }

/* Stats strip like Imperium, in Revive styling */
.sa-stats {
  padding: 0 !important;
  border-top: 1px solid rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(8,8,13,.78);
}
.sa-stats .wrap { max-width: 1180px !important; padding: 0 !important; }
.sa-stats-items {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-left: 1px solid rgba(255,255,255,.07) !important;
  border-right: 1px solid rgba(255,255,255,.07) !important;
}
.sa-stats-item {
  min-height: 86px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-color: rgba(255,255,255,.07) !important;
}
.sa-stats-item span { color: #fff !important; font-size: 23px !important; font-weight: 900 !important; letter-spacing: -.04em; line-height: 1; }
.sa-stats-item p { color: #777787 !important; font-size: 9px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* Product and category cards */
.sa-products { position: relative; }
.sa-products .sa-products-items.grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.sa-products .sa-products-items.grid > .sa-products-item {
  width: min(100%, calc((100% - (2 * var(--grid-gap))) / 3));
}
.sa-products .sa-products-items.grid > .sa-products-item > .sa-product-card { height: 100%; }
.revive-view-all-products {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}
.revive-view-all-products .revive-button {
  min-width: 210px;
  justify-content: center;
}

/* Angled before / after comparison */
.revive-comparison { position: relative; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(126,34,206,.1), transparent 38rem); }
.revive-comparison-wrap { max-width: 1120px !important; }
.revive-compare-frame {
  --compare-position: 0%; position: relative; aspect-ratio: 16 / 9; overflow: hidden; isolation: isolate;
  border: 1px solid rgba(168,85,247,.3); border-radius: 20px; background: #08080d;
  box-shadow: 0 28px 90px rgba(0,0,0,.5), 0 0 46px rgba(126,34,206,.1);
}
.revive-compare-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; user-select: none; pointer-events: none; }
.revive-compare-after {
  position: absolute; inset: 0; overflow: hidden;
  clip-path: polygon(calc(var(--compare-position) + 34px) 0, 100% 0, 100% 100%, calc(var(--compare-position) - 34px) 100%);
}
.revive-compare-label {
  position: absolute; z-index: 4; top: 16px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.12);
  border-radius: 9999px; background: rgba(7,7,12,.72); color: #fff; font-size: 10px; font-weight: 900;
  letter-spacing: .11em; backdrop-filter: blur(12px);
}
.revive-compare-label--before { left: 16px; }
.revive-compare-label--after { right: 16px; color: #c174f8; }
.revive-compare-line {
  position: absolute; z-index: 5; top: -5%; bottom: -5%; left: var(--compare-position); width: 2px;
  background: #fff; box-shadow: 0 0 20px rgba(192,103,255,.8); transform: rotate(4deg); transform-origin: center; pointer-events: none;
}
.revive-compare-line span {
  position: absolute; top: 50%; left: 50%; display: grid; width: 46px; height: 46px; place-items: center;
  border: 2px solid #fff; border-radius: 50%; background: #8b2be2; color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.4), 0 0 24px rgba(168,85,247,.45); transform: translate(-50%, -50%) rotate(-4deg);
}
.revive-compare-range { position: absolute; z-index: 7; inset: 0; width: 100%; height: 100%; margin: 0; cursor: ew-resize; opacity: 0; }
@media (max-width: 720px) {
  .revive-comparison-wrap { padding-inline: 14px !important; }
  .revive-compare-frame { border-radius: 14px; }
  .revive-compare-label { top: 10px; padding: 5px 8px; font-size: 8px; }
  .revive-compare-label--before { left: 10px; }
  .revive-compare-label--after { right: 10px; }
  .revive-compare-line span { width: 38px; height: 38px; }
}

/* V2 cascade lock: keep the cinematic layer authoritative. */
body .revive-home-hero { min-height:min(850px,88vh); isolation:isolate; border-bottom:1px solid rgba(255,255,255,.06); }
body .revive-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr); gap:clamp(52px,7vw,110px); padding-top:105px; padding-bottom:125px; }
body .revive-hero-copy h1 { margin-top:25px; font-size:clamp(66px,6.2vw,98px); line-height:.82; letter-spacing:-.078em; }
body .revive-hero-line { display:block; }
body .revive-hero-line--outline { color:transparent !important; -webkit-text-stroke:1.5px rgba(255,255,255,.56); }
body .revive-hero-line--purple { color:#ad5cff !important; }
body .revive-video-stage { position:relative; perspective:1100px; }
body .revive-video-shell { width:100%; transform:rotateY(-4deg) rotateX(1deg); border-radius:20px; background:linear-gradient(145deg,rgba(25,21,32,.96),rgba(8,7,12,.96)); border-color:rgba(206,151,255,.17); box-shadow:-32px 38px 90px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.06); }
body .revive-hero-marquee { display:block; position:absolute; left:0; right:0; bottom:0; overflow:hidden; padding:14px 0; border-top:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.018); white-space:nowrap; }
body .sa-product-card { background:linear-gradient(155deg,rgba(19,17,25,.97),rgba(10,9,14,.97)) !important; border-color:rgba(255,255,255,.075) !important; }
body .sa-stats { padding-block:38px !important; }
@media (max-width:1024px) {
  body .revive-hero-grid { grid-template-columns:1fr; padding-top:80px; }
  body .revive-video-stage { width:min(760px,100%); margin-inline:auto; }
  body .revive-video-shell { transform:none; }
}
@media (max-width:640px) {
  body .revive-home-hero { min-height:auto; }
  body .revive-hero-grid { padding-top:58px; padding-bottom:100px; gap:48px; }
  body .revive-hero-copy h1 { font-size:clamp(51px,17vw,72px); line-height:.86; }
}
.sa-product-card-badges span {
  min-height: 26px;
  padding-inline: 11px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sa-products::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 30%, rgba(168,85,247,.055), transparent 34rem);
}
.sa-product-card,
.sa-categories-item,
.sa-feedback-card,
.sa-faq-item,
.sa-features-item,
.sa-steps-item {
  border-color: rgba(255,255,255,.085) !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, rgba(18,18,27,.94), rgba(10,10,16,.92)) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.24) !important;
}
.sa-product-card,
.sa-categories-item {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
.sa-product-card::after,
.sa-categories-item::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.045), transparent 27%);
}
.sa-product-card:hover,
.sa-categories-item:hover {
  transform: translateY(-7px) !important;
  border-color: rgba(168,85,247,.48) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.44), 0 0 32px rgba(168,85,247,.1) !important;
}
.sa-product-card-title { color: #f6f6fb !important; font-weight: 800 !important; }
.sa-product-card-price { color: #c174f8 !important; font-weight: 900 !important; }
.sa-product-card img,
.sa-categories-item img { transition: transform .45s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.sa-product-card:hover img,
.sa-categories-item:hover img { transform: scale(1.035); filter: saturate(1.08); }
.sa-btn--primary.sa-btn--solid,
.sa-add-to-cart {
  border-color: transparent !important;
  background: linear-gradient(135deg, #c026d3, #7c3aed) !important;
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(126,34,206,.25) !important;
}

/* Product pages, cart and account areas */
.sa-tpl-product main,
.sa-product-page,
.sa-cart,
.sa-customer-layout {
  --cl-surface: 14, 14, 21;
}
.sa-page-products > .wrap > .grid > aside > div,
.sa-page-cart-item,
.sa-page-cart > .wrap [class*="bg-surface"],
.sa-page-product [class*="bg-surface"] {
  border-color: rgba(255,255,255,.085) !important;
  background: linear-gradient(145deg, rgba(18,18,27,.96), rgba(10,10,16,.94)) !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.24) !important;
}
.sa-page-products-link {
  border: 1px solid transparent;
}
.sa-page-products-link:hover {
  border-color: rgba(168,85,247,.12);
  background: rgba(168,85,247,.07) !important;
}
.sa-page-products-link.bg-accent-500\/10 {
  border-color: rgba(168,85,247,.24);
  background: rgba(168,85,247,.12) !important;
  color: #c47cf9 !important;
}
.sa-page-product-title {
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: -.035em;
}
.sa-page-product-price { color: #c176f8 !important; font-weight: 900 !important; }
.sa-page-cart-title { color: #f5f5fa !important; font-weight: 800 !important; }
.sa-feedback-card,
.sa-faq-item { backdrop-filter: blur(12px); }
.sa-feedback-card [class*="text-warning"] { color: #d8a1ff !important; }
.sa-features-item i,
.sa-steps-item i { color: #bd76f7 !important; }
.sa-features-item:hover,
.sa-steps-item:hover {
  border-color: rgba(168,85,247,.27) !important;
  transform: translateY(-3px);
}
.sa-product-page [class*="rounded-card"],
.sa-cart [class*="rounded-card"],
.sa-customer-layout [class*="rounded-card"] {
  border-color: rgba(255,255,255,.085) !important;
}
.input, input, select, textarea {
  border-color: rgba(255,255,255,.1) !important;
  background-color: rgba(255,255,255,.035) !important;
}
.input:focus, input:focus, select:focus, textarea:focus {
  border-color: rgba(168,85,247,.55) !important;
  box-shadow: 0 0 0 3px rgba(168,85,247,.1) !important;
}

/* Dialogs and slide-over panels */
[role="dialog"],
.sa-cart-panel,
.sa-search-modal {
  --cl-surface-raised: 18, 18, 27;
}
[role="dialog"] [class*="bg-surface"],
.sa-cart-panel [class*="bg-surface"] {
  border-color: rgba(255,255,255,.09) !important;
}

/* Footer */
.sa-footer {
  border-top: 1px solid rgba(255,255,255,.07) !important;
  background: rgba(7,7,11,.92) !important;
  backdrop-filter: blur(20px);
}
.sa-footer img { filter: drop-shadow(0 0 11px rgba(168,85,247,.26)); }
.sa-footer a:hover { color: #c277fa !important; }

/* Motion */
@keyframes revivePulse {
  0%, 100% { opacity: .55; transform: scale(.88); }
  50% { opacity: 1; transform: scale(1.08); }
}

/* Responsive */
@media (max-width: 1050px) {
  .sa-products .sa-products-items.grid > .sa-products-item {
    width: min(100%, calc((100% - var(--grid-gap)) / 2));
  }
  .revive-home-hero { min-height: auto; }
  .revive-hero-grid { grid-template-columns: 1fr; gap: 55px; padding-top: 82px; padding-bottom: 78px; }
  .revive-hero-copy { max-width: 760px; margin: 0 auto; text-align: center; }
  .revive-hero-copy h1 { font-size: clamp(54px, 8vw, 76px); }
  .revive-hero-lead { margin-left: auto; margin-right: auto; }
  .revive-hero-actions, .revive-hero-points { justify-content: center; }
  .revive-video-shell { width: min(780px, 100%); margin: 0 auto; }
  .sa-stats-items { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 720px) {
  .sa-products .sa-products-items.grid > .sa-products-item { width: 100%; }
  .sa-announcement { display: none !important; }
  .sa-navbar .wrap { min-height: 65px !important; }
  .sa-navbar-logo img { height: 35px !important; max-width: 138px; }
  .sa-navbar-logo span { font-size: 12px; }
  .revive-hero-grid { gap: 42px; padding-top: 63px; padding-bottom: 62px; }
  .revive-hero-copy h1 { margin-top: 24px; font-size: clamp(43px, 13vw, 62px); letter-spacing: -.06em; }
  .revive-hero-lead { font-size: 15px; line-height: 1.62; }
  .revive-hero-actions { display: grid; grid-template-columns: 1fr; }
  .revive-button { width: 100%; }
  .revive-hero-points { gap: 10px 16px; }
  .revive-video-shell { padding: 9px; border-radius: 17px; }
  .revive-video-frame { border-radius: 11px; }
  .revive-video-topbar, .revive-video-footer { font-size: 8px; letter-spacing: .08em; }
  .py-section { padding-top: 64px !important; padding-bottom: 64px !important; }
  .sa-stats-item { min-height: 92px; }
  .sa-stats-items { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .sa-stats-item:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Unlisted Revive Spoofer download page */
.revive-spoofer-page {
  position: relative;
  display: grid;
  min-height: calc(100vh - 103px);
  place-items: center;
  overflow: hidden;
  padding: 90px 0 105px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 50% 35%, rgba(126,34,206,.105), transparent 42rem),
    linear-gradient(180deg, rgba(5,5,10,.18), rgba(5,5,10,.72));
}
.revive-spoofer-page::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: radial-gradient(circle at center, #000, transparent 75%);
}
.revive-spoofer-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(100px);
  pointer-events: none;
}
.revive-spoofer-glow--left {
  width: 360px;
  height: 360px;
  left: 4%;
  top: 18%;
  background: rgba(168,85,247,.12);
}
.revive-spoofer-glow--right {
  width: 320px;
  height: 320px;
  right: 3%;
  bottom: 7%;
  background: rgba(217,70,239,.09);
}
.revive-spoofer-wrap {
  position: relative;
  z-index: 1;
  width: 100%;
}
.revive-spoofer-panel {
  position: relative;
  overflow: hidden;
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 62px 64px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(18,18,27,.965), rgba(7,7,13,.95));
  box-shadow: 0 40px 110px rgba(0,0,0,.45), 0 0 80px rgba(126,34,206,.08);
  text-align: center;
  backdrop-filter: blur(20px);
}
.revive-spoofer-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 0, rgba(192,38,211,.12), transparent 20rem);
  pointer-events: none;
}
.revive-spoofer-panel > * { position: relative; z-index: 1; }
.revive-spoofer-mark {
  position: absolute;
  z-index: 0;
  top: -34px;
  right: -12px;
  color: rgba(255,255,255,.022);
  font-size: 185px;
  font-weight: 900;
  letter-spacing: -.14em;
  line-height: 1;
  pointer-events: none;
}
.revive-spoofer-panel .revive-eyebrow { margin-inline: auto; }
.revive-spoofer-panel h1 {
  margin: 27px 0 0;
  color: #fff;
  font-size: clamp(46px, 6.1vw, 72px);
  font-weight: 900;
  letter-spacing: -.065em;
  line-height: .98;
}
.revive-spoofer-panel h1 span {
  display: block;
  margin-top: 8px;
  background: linear-gradient(100deg, #f0abfc, #c026d3 48%, #7c3aed);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 22px rgba(168,85,247,.2));
}
.revive-spoofer-lead {
  max-width: 555px;
  margin: 22px auto 0;
  color: #9696a6;
  font-size: 15px;
  line-height: 1.7;
}
.revive-spoofer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-top: 34px;
}
.revive-spoofer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 55px;
  padding: 0 20px;
  border-radius: 13px;
  color: #fff !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .01em;
  transition: transform .2s ease, filter .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.revive-spoofer-button--primary {
  border: 1px solid rgba(232,121,249,.24);
  background: linear-gradient(135deg, #d01ed7, #7c3aed);
  box-shadow: 0 16px 38px rgba(126,34,206,.3), inset 0 1px rgba(255,255,255,.22);
}
.revive-spoofer-button--secondary {
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.04);
}
.revive-spoofer-button:hover:not(.is-disabled) {
  transform: translateY(-2px);
  filter: brightness(1.1);
}
.revive-spoofer-button--secondary:hover:not(.is-disabled) {
  border-color: rgba(168,85,247,.38);
  background: rgba(168,85,247,.08);
}
.revive-spoofer-button.is-disabled {
  cursor: not-allowed;
  filter: grayscale(.7);
  opacity: .46;
}
.revive-spoofer-notice {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
  margin-top: 25px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.07);
  color: #777785;
  font-size: 10px;
  line-height: 1.55;
}
.revive-spoofer-notice i { margin-top: 2px; color: #ad62e7; }
.revive-spoofer-config-warning {
  margin-top: 16px;
  padding: 11px 13px;
  border: 1px solid rgba(251,191,36,.2);
  border-radius: 10px;
  background: rgba(251,191,36,.055);
  color: #d6b66b;
  font-size: 10px;
  line-height: 1.5;
}
.revive-spoofer-config-warning code { color: #f0d795; }

@media (max-width: 720px) {
  .revive-spoofer-page { min-height: calc(100vh - 65px); padding: 55px 0 70px; }
  .revive-spoofer-panel { padding: 45px 22px; border-radius: 21px; }
  .revive-spoofer-panel h1 { font-size: clamp(43px, 13vw, 58px); }
  .revive-spoofer-actions { grid-template-columns: 1fr; }
  .revive-spoofer-lead { font-size: 14px; }
}

/* Local V2 hero video background */
body .revive-home-hero { overflow: hidden; padding-bottom: 0; background: #08070d; }
body .revive-hero-video-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #08070d;
}
body .revive-hero-video-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,6,11,.84) 0%, rgba(7,6,11,.56) 42%, rgba(9,6,14,.54) 100%),
    linear-gradient(180deg, rgba(7,6,11,.56) 0%, rgba(7,6,11,.20) 40%, rgba(7,6,11,.84) 100%),
    radial-gradient(circle at 74% 46%, rgba(126,34,206,.18), transparent 42%);
}
body .revive-hero-video-bg video,
body .revive-hero-video-bg .revive-hero-bg-youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 56.25vw;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%) scale(1.18);
  border: 0;
  opacity: .38;
  filter: blur(2px) saturate(.68) contrast(1.08);
  transition: opacity .8s ease;
}
body .revive-hero-video-bg .revive-hero-bg-youtube {
  width: max(100vw, 177.78vh);
  height: max(56.25vw, 100vh);
  opacity: 0;
  pointer-events: none;
}
body .revive-hero-video-bg.is-playing video { opacity: .38; }
body .revive-hero-video-bg.use-youtube video { opacity: 0 !important; }
body .revive-hero-video-bg.use-youtube .revive-hero-bg-youtube { opacity: .38; }
body .revive-feature-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #050508;
}
body .revive-home-hero::before { z-index: 1; opacity: .16; }
body .revive-home-hero::after { z-index: 1; }
body .revive-hero-grid { position: relative; z-index: 3; }
body .revive-hero-marquee { display: none !important; }
body .revive-hero-grid { padding-bottom: 105px; }
@media (max-width: 640px) {
  body .revive-hero-video-bg video,
  body .revive-hero-video-bg .revive-hero-bg-youtube { transform: translate(-50%, -50%) scale(1.4); }
  body .revive-hero-video-bg video,
  body .revive-hero-video-bg.is-playing video,
  body .revive-hero-video-bg.use-youtube .revive-hero-bg-youtube { opacity: .28; }
  body .revive-hero-grid { padding-bottom: 76px; }
}

/* V3 motion pass: cinematic hover, product row, animated benefits and reviews. */
body .revive-video-shell {
  transform-origin: 50% 50%;
  will-change: transform;
  transition:
    transform .68s cubic-bezier(.16, 1, .3, 1),
    border-color .45s ease,
    box-shadow .68s cubic-bezier(.16, 1, .3, 1);
}
body .revive-video-stage:hover .revive-video-shell {
  transform: translateY(-7px) rotateY(3.5deg) rotateX(-1deg) scale(1.035);
  border-color: rgba(205, 145, 255, .36) !important;
  box-shadow: 30px 44px 110px rgba(0, 0, 0, .58), 0 0 58px rgba(168, 85, 247, .16), inset 0 1px rgba(255, 255, 255, .08);
}
body .revive-stage-tag {
  transition: transform .55s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease;
}
body .revive-video-stage:hover .revive-stage-tag--top { transform: translate(5px, -4px) rotate(1.5deg); }
body .revive-video-stage:hover .revive-stage-tag--bottom { transform: translate(-5px, 4px) rotate(-1.5deg); }

.revive-hero-actions .revive-button--primary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.revive-hero-actions .revive-button--primary::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -90%;
  left: -38%;
  width: 25%;
  height: 280%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .62), transparent);
  filter: blur(1px);
  transform: rotate(20deg) translateX(-380%);
  animation: reviveButtonShine 4.8s cubic-bezier(.22, .8, .25, 1) infinite;
}
.revive-hero-actions .revive-button--primary > * { position: relative; z-index: 3; }

body .sa-products .sa-products-items.grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 22px !important;
}
body .sa-products .sa-products-items.grid > .sa-products-item {
  width: auto !important;
  min-width: 0;
  animation: reviveProductEntrance .78s cubic-bezier(.16, 1, .3, 1) both;
}
body .sa-products .sa-products-items.grid > .sa-products-item:nth-child(2) { animation-delay: .12s; }
body .sa-products .sa-products-items.grid > .sa-products-item:nth-child(3) { animation-delay: .24s; }
body .sa-products .sa-products-item:nth-child(1) .sa-product-card { --card-tilt: -.65deg; }
body .sa-products .sa-products-item:nth-child(2) .sa-product-card { --card-tilt: .65deg; }
body .sa-products .sa-products-item:nth-child(3) .sa-product-card { --card-tilt: -.45deg; }
body .sa-products .sa-product-card {
  transform-origin: 50% 85%;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), border-color .32s ease, box-shadow .5s cubic-bezier(.16, 1, .3, 1) !important;
}
body .sa-products .sa-product-card:hover {
  transform: translateY(-12px) rotate(var(--card-tilt, 0deg)) scale(1.018) !important;
  box-shadow: 0 34px 90px rgba(0, 0, 0, .48), 0 0 42px rgba(168, 85, 247, .14) !important;
}
body .sa-products .sa-product-card-media img {
  animation: reviveProductFloat 7s ease-in-out infinite;
}
body .sa-products .sa-products-item:nth-child(2) .sa-product-card-media img { animation-delay: -2.2s; }
body .sa-products .sa-products-item:nth-child(3) .sa-product-card-media img { animation-delay: -4.4s; }

body .sa-features .sa-features-item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  animation: reviveFeatureDrift 5.6s ease-in-out infinite;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), border-color .35s ease, box-shadow .5s ease !important;
}
body .sa-features .sa-features-item:nth-child(2) { animation-delay: -1.4s; }
body .sa-features .sa-features-item:nth-child(3) { animation-delay: -2.8s; }
body .sa-features .sa-features-item:nth-child(4) { animation-delay: -4.2s; }
body .sa-features .sa-features-item::before {
  content: "";
  position: absolute;
  inset: -45%;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  background: conic-gradient(from 180deg, transparent 0 32%, rgba(168, 85, 247, .2) 43%, transparent 54% 100%);
  transform: rotate(-35deg) scale(.75);
  transition: opacity .45s ease, transform .8s cubic-bezier(.16, 1, .3, 1);
}
body .sa-features .sa-features-item:hover {
  transform: translateY(-9px) scale(1.018);
  border-color: rgba(180, 108, 245, .42) !important;
  box-shadow: 0 28px 75px rgba(0, 0, 0, .42), 0 0 34px rgba(168, 85, 247, .11) !important;
}
body .sa-features .sa-features-item:hover::before { opacity: 1; transform: rotate(18deg) scale(1); }
body .sa-features .sa-features-item::after {
  content: "";
  position: absolute;
  top: -35%;
  bottom: -35%;
  left: -42%;
  width: 18%;
  pointer-events: none;
  opacity: .32;
  background: linear-gradient(90deg, transparent, rgba(232, 190, 255, .34), transparent);
  transform: rotate(18deg) translateX(-500%);
  animation: reviveFeatureSweep 7.2s ease-in-out infinite;
}
body .sa-features .sa-features-item:nth-child(2)::after { animation-delay: -1.8s; }
body .sa-features .sa-features-item:nth-child(3)::after { animation-delay: -3.6s; }
body .sa-features .sa-features-item:nth-child(4)::after { animation-delay: -5.4s; }
body .sa-features .sa-features-item i {
  filter: drop-shadow(0 0 10px rgba(168, 85, 247, .35));
  animation: reviveIconBob 2.8s ease-in-out infinite;
}
body .sa-features .sa-features-item:nth-child(even) i { animation-delay: -1.4s; }

body .sa-feedbacks .wrap { max-width: 1440px !important; }
body .sa-feedbacks .sa-feedbacks-items.revive-review-marquee {
  display: flex !important;
  flex-direction: column;
  gap: 18px !important;
  overflow: visible;
}
.revive-review-row {
  width: 100%;
  overflow: hidden;
  padding: 4px 0 10px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.revive-review-track {
  display: flex;
  align-items: stretch;
  gap: 18px;
  width: max-content;
  will-change: transform;
  animation: reviveReviewForward 34s linear infinite;
}
.revive-review-row--reverse .revive-review-track {
  animation-name: reviveReviewReverse;
  animation-duration: 38s;
}
.revive-review-track > .sa-feedbacks-item {
  flex: 0 0 clamp(285px, 25vw, 350px);
  width: clamp(285px, 25vw, 350px) !important;
}
.revive-review-track .sa-feedback-card {
  height: 100%;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}
.revive-review-track .sa-feedback-card:hover {
  transform: translateY(-4px);
  border-color: rgba(184, 111, 248, .34) !important;
  box-shadow: 0 24px 65px rgba(0, 0, 0, .36), 0 0 28px rgba(168, 85, 247, .09) !important;
}

@keyframes reviveButtonShine {
  0%, 58% { transform: rotate(20deg) translateX(-380%); opacity: 0; }
  64% { opacity: 1; }
  78%, 100% { transform: rotate(20deg) translateX(720%); opacity: 0; }
}
@keyframes reviveProductEntrance {
  from { opacity: 0; transform: translateY(28px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes reviveProductFloat {
  0%, 100% { transform: scale(1.005) translateY(0); }
  50% { transform: scale(1.025) translateY(-4px); }
}
@keyframes reviveFeatureDrift {
  0%, 100% { box-shadow: 0 18px 55px rgba(0, 0, 0, .24); }
  50% { box-shadow: 0 22px 62px rgba(0, 0, 0, .32), 0 0 22px rgba(168, 85, 247, .045); }
}
@keyframes reviveFeatureSweep {
  0%, 62% { transform: rotate(18deg) translateX(-500%); opacity: 0; }
  69% { opacity: .38; }
  82%, 100% { transform: rotate(18deg) translateX(900%); opacity: 0; }
}
@keyframes reviveIconBob {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(4deg); }
}
@keyframes reviveReviewForward {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 9px)); }
}
@keyframes reviveReviewReverse {
  from { transform: translateX(calc(-50% - 9px)); }
  to { transform: translateX(0); }
}

@media (max-width: 1024px) {
  body .revive-video-stage:hover .revive-video-shell { transform: translateY(-5px) scale(1.018); }
}
@media (max-width: 840px) {
  body .sa-products .sa-products-items.grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body .sa-products .sa-products-items.grid > .sa-products-item:last-child { grid-column: 1 / -1; width: min(100%, 430px) !important; justify-self: center; }
}
@media (max-width: 600px) {
  body .sa-products .sa-products-items.grid { grid-template-columns: 1fr !important; }
  body .sa-products .sa-products-items.grid > .sa-products-item:last-child { grid-column: auto; width: 100% !important; }
  .revive-review-track > .sa-feedbacks-item { flex-basis: min(82vw, 315px); width: min(82vw, 315px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .revive-review-row { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
  .revive-review-track { animation: none !important; transform: none !important; }
}

/* V4 floating capsule navigation. */
body .sa-announcement { display: none !important; }
body .sa-header {
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none;
}
body .sa-navbar > div:first-of-type {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, .065) !important;
  background: rgba(6, 6, 10, .9) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, .2) !important;
  backdrop-filter: blur(22px) saturate(135%);
}
body .sa-navbar > div:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .13;
  background-image: url("data:image/svg+xml,%3Csvg width='620' height='160' viewBox='0 0 620 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='2'%3E%3Cpath d='M-42 46C42-18 104 101 201 31s146-47 231 9 157 13 227-35'/%3E%3Cpath d='M-18 89C72 24 132 143 224 76s153-49 229 8 150 11 211-26'/%3E%3Cpath d='M305-31c-54 55 45 92-12 142s-32 92 27 126'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-size: 620px 160px;
}
body .sa-navbar .wrap {
  position: relative;
  z-index: 1;
  min-height: 84px !important;
}
body .sa-navbar-logo img {
  filter: drop-shadow(0 0 13px rgba(168, 85, 247, .38));
}

body .revive-nav-capsule {
  gap: 3px !important;
  padding: 5px !important;
  border: 1px solid rgba(255, 255, 255, .105);
  border-radius: 9999px;
  background: linear-gradient(145deg, rgba(23, 22, 29, .78), rgba(12, 12, 17, .8));
  box-shadow: inset 0 1px rgba(255, 255, 255, .045), 0 12px 32px rgba(0, 0, 0, .25);
  backdrop-filter: blur(16px);
}
body .revive-nav-capsule .sa-navbar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 37px;
  padding: 0 14px !important;
  border: 1px solid transparent;
  border-radius: 9999px !important;
  color: #747480 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease !important;
}
body .revive-nav-capsule .sa-navbar-link:hover {
  transform: translateY(-1px);
  border-color: rgba(168, 85, 247, .18);
  background: rgba(168, 85, 247, .08) !important;
  color: #d9b7fb !important;
}
body .revive-nav-capsule .sa-navbar-link.bg-t-primary\/5 {
  border-color: rgba(190, 121, 249, .3);
  background: linear-gradient(135deg, rgba(168, 85, 247, .24), rgba(124, 58, 237, .17)) !important;
  color: #e7c9ff !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 0 24px rgba(168, 85, 247, .1);
}
body .revive-nav-icon {
  color: #8e55bd;
  font-size: 10px;
  transition: color .25s ease, transform .25s ease;
}
body .revive-nav-capsule .sa-navbar-link:hover .revive-nav-icon,
body .revive-nav-capsule .sa-navbar-link.bg-t-primary\/5 .revive-nav-icon {
  color: #c984ff;
  transform: scale(1.08);
}

body .revive-nav-actions {
  gap: 8px !important;
}
body .revive-nav-actions > button[aria-label="Search"],
body .revive-nav-actions > .sa-navbar-cart,
body .revive-nav-actions > .revive-nav-discord {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .105) !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, .035) !important;
  color: #9292a0 !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
  transition: transform .25s ease, border-color .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease !important;
}
body .revive-nav-actions > button[aria-label="Search"]:hover,
body .revive-nav-actions > .sa-navbar-cart:hover {
  transform: translateY(-2px);
  border-color: rgba(168, 85, 247, .35) !important;
  background: rgba(168, 85, 247, .085) !important;
  color: #d6a8ff !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .3), 0 0 22px rgba(168, 85, 247, .08);
}
body .revive-nav-actions > .revive-nav-discord {
  border-color: rgba(168, 85, 247, .31) !important;
  background: rgba(124, 58, 237, .12) !important;
  color: #c8a5ff !important;
}
body .revive-nav-actions > .revive-nav-discord:hover {
  transform: translateY(-2px) rotate(-3deg);
  border-color: rgba(195, 127, 255, .52) !important;
  background: rgba(124, 58, 237, .21) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .32), 0 0 24px rgba(168, 85, 247, .14);
}
body .revive-nav-actions > .revive-nav-discord span { display: none; }
body .revive-nav-actions > a[href*="/customer/dashboard"] {
  min-height: 42px;
  padding: 0 18px !important;
  border: 1px solid rgba(255, 255, 255, .11) !important;
  border-radius: 9999px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
  font-size: 11px !important;
  font-weight: 850 !important;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease !important;
}
body .revive-nav-actions > a[href*="/customer/dashboard"]:hover {
  transform: translateY(-2px);
  border-color: rgba(168, 85, 247, .34) !important;
  background: rgba(168, 85, 247, .085) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
}

@media (min-width: 1024px) {
  body .sa-navbar .wrap {
    display: grid !important;
    grid-template-columns: minmax(210px, 1fr) auto minmax(300px, 1fr);
    gap: 24px !important;
  }
  body .sa-navbar-logo { justify-self: start; }
  body .revive-nav-capsule { justify-self: center; margin: 0 !important; }
  body .revive-nav-actions { justify-self: end; margin: 0 !important; }
}
@media (max-width: 1023px) {
  body .sa-navbar .wrap { min-height: 70px !important; }
  body .revive-nav-actions { margin-left: auto !important; }
}
@media (max-width: 640px) {
  body .sa-navbar-logo span { display: none; }
  body .revive-nav-actions { gap: 5px !important; }
  body .revive-nav-actions > button[aria-label="Search"],
  body .revive-nav-actions > .sa-navbar-cart { width: 38px; height: 38px; min-width: 38px; }
}

/* V5 featured Ignite centre card. */
body .sa-products .revive-featured-product {
  position: relative;
  z-index: 3;
  isolation: isolate;
  scale: 1.045;
  transform-origin: 50% 55%;
  animation:
    reviveProductEntrance .78s cubic-bezier(.16, 1, .3, 1) .12s both,
    reviveIgniteFloat 3.8s ease-in-out 1s infinite;
}
body .sa-products .revive-featured-product::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: -1;
  border-radius: 28px;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 58%, rgba(168, 85, 247, .18), transparent 68%);
  filter: blur(13px);
  animation: reviveIgniteHalo 3.8s ease-in-out 1s infinite;
}
body .sa-products .revive-featured-product > .sa-product-card {
  border-color: rgba(190, 119, 250, .27) !important;
  box-shadow: 0 28px 75px rgba(0, 0, 0, .42), 0 0 34px rgba(168, 85, 247, .105) !important;
}
body .sa-products .revive-featured-product > .sa-product-card:hover {
  border-color: rgba(205, 145, 255, .52) !important;
  box-shadow: 0 38px 100px rgba(0, 0, 0, .52), 0 0 52px rgba(168, 85, 247, .19) !important;
}

@keyframes reviveIgniteFloat {
  0%, 100% { translate: 0 0; filter: drop-shadow(0 8px 13px rgba(126, 34, 206, .05)); }
  50% { translate: 0 -7px; filter: drop-shadow(0 16px 20px rgba(126, 34, 206, .16)); }
}
@keyframes reviveIgniteHalo {
  0%, 100% { opacity: .48; transform: scale(.94); }
  50% { opacity: .92; transform: scale(1.055); }
}

@media (max-width: 840px) {
  body .sa-products .revive-featured-product { scale: 1.025; }
}
@media (max-width: 600px) {
  body .sa-products .revive-featured-product { scale: 1; }
}

/* V6 products page — Revive Arsenal. */
body.revive-products-page { background: radial-gradient(circle at 72% 18%, rgba(103,36,161,.12), transparent 34rem), #06060a; }
body.revive-products-page .sa-breadcrumbs,
body .revive-catalog > .wrap > .sa-section-header,
body .revive-catalog aside,
body .revive-catalog .min-w-0 > .flex.items-center.justify-between { display:none!important; }
body .revive-catalog { position:relative; overflow:hidden; padding:0 0 88px!important; isolation:isolate; }
body .revive-catalog::before { content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,transparent 3%,#000 28%,#000 82%,transparent 100%); }
body .revive-catalog > .wrap { width:100%; max-width:none!important; padding:0!important; }
body .revive-catalog > .wrap > .grid { display:block!important; width:min(1380px,calc(100% - 48px)); margin:0 auto; }

body .revive-catalog-hero { position:relative; overflow:hidden; min-height:468px; margin-bottom:42px; border-bottom:1px solid rgba(255,255,255,.07); background:linear-gradient(90deg,rgba(6,6,10,.98) 0%,rgba(6,6,10,.84) 43%,rgba(23,8,40,.66) 100%),radial-gradient(circle at 76% 46%,rgba(168,85,247,.32),transparent 28rem); }
body .revive-catalog-hero::before { content:""; position:absolute; inset:-30%; opacity:.31; background:repeating-radial-gradient(ellipse at 76% 48%,transparent 0 47px,rgba(197,129,255,.15) 48px 49px,transparent 50px 78px),linear-gradient(112deg,transparent 53%,rgba(190,100,255,.12) 53.2%,transparent 53.5%); transform:rotate(-5deg); pointer-events:none; }
body .revive-catalog-hero::after { content:"REVIVE / ARSENAL / 05"; position:absolute; right:-28px; bottom:-30px; color:rgba(255,255,255,.025); font-family:var(--font-heading,inherit); font-size:clamp(76px,10vw,176px); font-weight:950; line-height:.8; letter-spacing:-.065em; white-space:nowrap; }
body .revive-catalog-hero__grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr); align-items:center; width:min(1380px,calc(100% - 48px)); min-height:468px; margin:0 auto; padding:62px 0 56px; }
body .revive-catalog-hero__copy { max-width:720px; }
body .revive-catalog-eyebrow { display:inline-flex; align-items:center; gap:9px; margin-bottom:24px; color:#d8b3f7; font-size:10px; font-weight:900; letter-spacing:.18em; }
body .revive-catalog-eyebrow > span { width:7px; height:7px; border-radius:50%; background:#50f39b; box-shadow:0 0 14px rgba(80,243,155,.75); animation:reviveCatalogDot 1.8s ease-in-out infinite; }
body .revive-catalog-eyebrow b { margin-left:6px; padding-left:15px; border-left:1px solid rgba(255,255,255,.13); color:#6f6d7a; font-weight:800; }
body .revive-catalog-hero h1 { margin:0; color:#fff; font-family:var(--font-heading,inherit); font-size:clamp(62px,7vw,110px); font-weight:950; line-height:.77; letter-spacing:-.07em; text-transform:uppercase; }
body .revive-catalog-hero h1 em { display:inline-block; color:transparent; font-style:normal; -webkit-text-stroke:1.5px #c56cff; text-shadow:0 0 38px rgba(168,85,247,.22); }
body .revive-catalog-hero__copy > p { max-width:590px; margin:29px 0 0; color:#aaa7b4; font-size:16px; line-height:1.75; }
body .revive-catalog-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
body .revive-catalog-stats > span { display:inline-flex; align-items:center; gap:8px; min-height:35px; padding:0 13px; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:rgba(255,255,255,.028); color:#868391; font-size:9px; font-weight:900; letter-spacing:.08em; backdrop-filter:blur(12px); }
body .revive-catalog-stats b,body .revive-catalog-stats i { color:#ba63f6; }

body .revive-catalog-signal { position:relative; justify-self:center; width:340px; aspect-ratio:1; }
body .revive-catalog-signal::after { content:""; position:absolute; inset:6%; border-radius:50%; background:radial-gradient(circle,rgba(168,85,247,.15),rgba(87,28,130,.045) 47%,transparent 71%); filter:blur(8px); }
body .revive-catalog-ring { position:absolute; inset:6%; z-index:1; border:1px solid rgba(197,118,255,.18); border-radius:50%; }
body .revive-catalog-ring::before,body .revive-catalog-ring::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:#be68fb; box-shadow:0 0 18px rgba(190,104,251,.9); }
body .revive-catalog-ring::before { top:12%; left:16%; } body .revive-catalog-ring::after { right:5%; bottom:28%; }
body .revive-catalog-ring--one { animation:reviveCatalogOrbit 17s linear infinite; }
body .revive-catalog-ring--two { inset:20%; border-style:dashed; animation:reviveCatalogOrbit 12s linear infinite reverse; }
body .revive-catalog-ring--three { inset:34%; animation:reviveCatalogOrbit 8s linear infinite; }
body .revive-catalog-signal__core { position:absolute; inset:37%; z-index:3; display:grid; place-content:center; border:1px solid rgba(211,152,255,.35); border-radius:50%; background:rgba(13,9,19,.87); box-shadow:inset 0 0 26px rgba(168,85,247,.12),0 0 38px rgba(168,85,247,.16); text-align:center; }
body .revive-catalog-signal__core b { color:#fff; font-size:31px; font-weight:950; line-height:.9; }
body .revive-catalog-signal__core span { margin-top:7px; color:#a767d1; font-size:7px; font-weight:900; letter-spacing:.17em; line-height:1.4; }
body .revive-catalog-signal__tag { position:absolute; z-index:4; padding:7px 10px; border:1px solid rgba(190,104,251,.22); border-radius:999px; background:rgba(8,7,12,.82); color:#8a668f; font-size:7px; font-weight:900; letter-spacing:.14em; box-shadow:0 8px 24px rgba(0,0,0,.35); }
body .revive-catalog-signal__tag--one { top:18%; right:-2%; } body .revive-catalog-signal__tag--two { bottom:11%; right:11%; } body .revive-catalog-signal__tag--three { top:46%; left:-4%; }

body .revive-catalog-toolbar { position:sticky; top:92px; z-index:20; display:grid; grid-template-columns:minmax(220px,1fr) auto auto auto; align-items:center; gap:14px; margin-bottom:24px; padding:10px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:rgba(11,10,16,.82); box-shadow:0 18px 58px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.03); backdrop-filter:blur(22px) saturate(135%); }
body .revive-catalog-search { display:flex; align-items:center; gap:10px; min-height:44px; padding:0 13px; border:1px solid rgba(255,255,255,.085); border-radius:12px; background:rgba(255,255,255,.025); color:#6d6a78; transition:.25s ease; }
body .revive-catalog-search:focus-within { border-color:rgba(191,103,252,.42); background:rgba(168,85,247,.045); box-shadow:0 0 0 3px rgba(168,85,247,.07); }
body .revive-catalog-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:#fff; font-size:12px; font-weight:700; }
body .revive-catalog-search input::placeholder { color:#696674; }
body .revive-catalog-search kbd { padding:3px 6px; border:1px solid rgba(255,255,255,.08); border-radius:6px; color:#5f5c68; font:700 9px/1 sans-serif; }
body .revive-catalog-filters { display:flex; align-items:center; gap:3px; padding:3px; border-radius:12px; background:rgba(255,255,255,.025); }
body .revive-catalog-filters button,body .revive-stock-toggle { min-height:38px; padding:0 12px; border:1px solid transparent; border-radius:9px; color:#7d7a87; font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; transition:.23s ease; }
body .revive-catalog-filters button:hover,body .revive-stock-toggle:hover { color:#d3c5dd; transform:translateY(-1px); }
body .revive-catalog-filters button.is-active { border-color:rgba(191,103,252,.27); background:rgba(168,85,247,.13); color:#ddaaff; }
body .revive-stock-toggle { display:inline-flex; align-items:center; gap:8px; border-color:rgba(255,255,255,.07); background:rgba(255,255,255,.025); white-space:nowrap; }
body .revive-stock-toggle > span { width:7px; height:7px; border-radius:50%; background:#5f5c68; transition:.23s ease; }
body .revive-stock-toggle.is-active { border-color:rgba(80,243,155,.2); color:#71eaaa; }
body .revive-stock-toggle.is-active > span { background:#50f39b; box-shadow:0 0 11px rgba(80,243,155,.65); }
body .revive-catalog-count { display:grid; grid-template-columns:auto auto; align-items:center; gap:7px; min-width:76px; padding:0 8px; text-align:right; }
body .revive-catalog-count b { color:#fff; font-size:20px; font-weight:950; } body .revive-catalog-count span { color:#5f5c68; font-size:7px; font-weight:900; letter-spacing:.1em; }

body .revive-catalog .sa-page-products-items { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px!important; }
body .revive-catalog .sa-page-products-item { min-width:0; animation:reviveCatalogCardIn .7s cubic-bezier(.16,1,.3,1) calc(var(--catalog-index,0) * 75ms) both; }
body .revive-catalog .sa-page-products-item[hidden] { display:none!important; }
body .revive-catalog .revive-catalog-card { position:relative; display:flex!important; flex-direction:column; height:100%; overflow:hidden; border:1px solid rgba(255,255,255,.09)!important; border-radius:22px!important; background:linear-gradient(152deg,rgba(18,16,25,.98),rgba(9,9,14,.98))!important; box-shadow:0 22px 60px rgba(0,0,0,.31),inset 0 1px rgba(255,255,255,.025)!important; transform:translateZ(0); transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .45s ease!important; }
body .revive-catalog .revive-catalog-card::before { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0; background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(199,126,255,.12),transparent 47%); transition:opacity .35s ease; }
body .revive-catalog .revive-catalog-card:hover { z-index:3; transform:translateY(-9px) rotateX(1.2deg) rotateY(-1.2deg)!important; border-color:rgba(199,126,255,.36)!important; box-shadow:0 34px 82px rgba(0,0,0,.48),0 0 35px rgba(168,85,247,.09)!important; }
body .revive-catalog .revive-catalog-card:hover::before { opacity:1; }
body .revive-catalog .revive-catalog-card > .border-b { position:relative; overflow:hidden; border-color:rgba(255,255,255,.07)!important; }
body .revive-catalog .revive-catalog-card > .border-b::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 26%,rgba(226,178,255,.14) 48%,transparent 69%); transform:translateX(-120%); transition:transform .85s ease; }
body .revive-catalog .revive-catalog-card:hover > .border-b::after { transform:translateX(120%); }
body .revive-catalog .sa-product-card-media,body .revive-catalog .sa-product-card-media img { height:260px; }
body .revive-catalog .sa-product-card-media img { width:100%; object-fit:cover; transition:transform .75s cubic-bezier(.16,1,.3,1),filter .5s ease!important; }
body .revive-catalog .revive-catalog-card:hover .sa-product-card-media img { transform:scale(1.055)!important; filter:saturate(1.1) brightness(1.06); }
body .revive-catalog .revive-catalog-card > .p-4 { position:relative; z-index:4; display:flex; flex:1; flex-direction:column; padding:23px!important; }
body .revive-catalog-card__type { display:block; margin-bottom:9px; color:#a957e1; font-size:8px; font-weight:950; letter-spacing:.17em; }
body .revive-catalog .sa-product-card-title { color:#fff!important; font-size:20px!important; font-weight:900!important; letter-spacing:-.025em; }
body .revive-catalog-card__description { min-height:44px; margin:10px 0 19px; color:#7f7c89; font-size:12px; line-height:1.6; }
body .revive-catalog .revive-catalog-card > .p-4 > .flex.flex-wrap { margin-top:auto!important; padding-top:16px!important; border-color:rgba(255,255,255,.07)!important; }
body .revive-catalog .sa-product-card-stock { font-size:10px!important; font-weight:850; text-transform:uppercase; }
body .revive-catalog .sa-product-card-price { color:#d184ff!important; font-size:17px!important; font-weight:900!important; }
body .revive-catalog-card__action { display:flex; align-items:center; justify-content:space-between; margin-top:18px; color:#6c6875; font-size:8px; font-weight:950; letter-spacing:.14em; transition:color .25s ease; }
body .revive-catalog-card__action i { display:grid; place-items:center; width:31px; height:31px; border:1px solid rgba(255,255,255,.09); border-radius:50%; color:#a35bd3; transition:.3s ease; }
body .revive-catalog-card:hover .revive-catalog-card__action { color:#c5a7d6; }
body .revive-catalog-card:hover .revive-catalog-card__action i { transform:translateX(3px) rotate(-10deg); background:#a83be9; color:#fff; }

body .revive-catalog .revive-catalog-featured { grid-column:span 2; }
body .revive-catalog .revive-catalog-featured .revive-catalog-card { display:grid!important; grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr); border-color:rgba(194,112,250,.25)!important; background:radial-gradient(circle at 18% 110%,rgba(142,46,201,.15),transparent 37%),linear-gradient(145deg,rgba(21,16,30,.99),rgba(10,9,15,.99))!important; }
body .revive-catalog .revive-catalog-featured .revive-catalog-card > .border-b { grid-row:1; border-right:1px solid rgba(255,255,255,.07)!important; border-bottom:0!important; }
body .revive-catalog .revive-catalog-featured .sa-product-card-media,body .revive-catalog .revive-catalog-featured .sa-product-card-media img { height:100%; min-height:442px; }
body .revive-catalog .revive-catalog-featured .revive-catalog-card > .p-4 { grid-column:2; grid-row:1; justify-content:center; padding:33px!important; }
body .revive-catalog .revive-catalog-featured .sa-product-card-title { font-size:27px!important; }
body .revive-catalog .revive-catalog-featured .revive-catalog-card__description { min-height:0; margin-bottom:30px; }
body .revive-catalog-featured__badge { position:absolute; top:17px; left:17px; z-index:6; display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid rgba(255,255,255,.11); border-radius:999px; background:rgba(10,7,15,.72); color:#dda6ff; font-size:8px; font-weight:950; letter-spacing:.12em; box-shadow:0 8px 27px rgba(0,0,0,.32); backdrop-filter:blur(12px); }

body .revive-catalog-empty { margin:26px 0 0; padding:80px 24px; border:1px dashed rgba(255,255,255,.1); border-radius:20px; color:#777381; text-align:center; }
body .revive-catalog-empty i { display:block; margin-bottom:14px; color:#a653db; font-size:23px; } body .revive-catalog-empty b { display:block; color:#d9d5dd; font-size:13px; letter-spacing:.13em; } body .revive-catalog-empty span { display:block; margin-top:7px; font-size:11px; }
body .revive-catalog-cta { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:30px; padding:31px 34px; border:1px solid rgba(191,103,252,.2); border-radius:22px; background:linear-gradient(110deg,rgba(168,85,247,.11),transparent 45%),rgba(14,12,20,.9); box-shadow:0 20px 60px rgba(0,0,0,.26); }
body .revive-catalog-cta::after { content:""; position:absolute; right:-80px; width:260px; height:260px; border:1px solid rgba(189,105,247,.13); border-radius:50%; box-shadow:0 0 0 40px rgba(189,105,247,.035),0 0 0 80px rgba(189,105,247,.02); }
body .revive-catalog-cta > * { position:relative; z-index:2; } body .revive-catalog-cta span { color:#a957e1; font-size:8px; font-weight:950; letter-spacing:.16em; } body .revive-catalog-cta h2 { margin:7px 0 0; color:#f1eff3; font-size:19px; font-weight:850; }
body .revive-catalog-cta a { display:inline-flex; align-items:center; gap:10px; min-height:46px; padding:0 18px; border:1px solid rgba(207,145,255,.27); border-radius:12px; background:linear-gradient(135deg,#a728e6,#7124bf); color:#fff; font-size:9px; font-weight:950; letter-spacing:.08em; box-shadow:0 12px 30px rgba(105,28,166,.24); transition:.3s ease; }
body .revive-catalog-cta a:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(130,36,198,.37); }

@keyframes reviveCatalogDot { 0%,100%{opacity:.48;transform:scale(.82)} 50%{opacity:1;transform:scale(1.08)} }
@keyframes reviveCatalogOrbit { to{transform:rotate(360deg)} }
@keyframes reviveCatalogCardIn { from{opacity:0;transform:translateY(30px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }

@media (max-width:1120px) {
  body .revive-catalog-hero__grid { grid-template-columns:minmax(0,1fr) 350px; }
  body .revive-catalog-signal { width:300px; }
  body .revive-catalog-toolbar { grid-template-columns:minmax(210px,1fr) auto auto; }
  body .revive-catalog-count { display:none; }
  body .revive-catalog .revive-catalog-featured .revive-catalog-card { grid-template-columns:1.15fr .85fr; }
}
@media (max-width:940px) {
  body .revive-catalog-hero__grid { grid-template-columns:1fr; min-height:auto; padding:72px 0; }
  body .revive-catalog-signal { display:none; }
  body .revive-catalog-toolbar { position:relative; top:auto; grid-template-columns:1fr auto; }
  body .revive-catalog-filters { grid-column:1/-1; order:3; overflow-x:auto; }
  body .revive-catalog-filters button { flex:1 0 auto; }
  body .revive-catalog .sa-page-products-items { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body .revive-catalog .revive-catalog-featured { grid-column:span 2; }
  body .revive-catalog .revive-catalog-featured .revive-catalog-card { grid-template-columns:1.1fr .9fr; }
}
@media (max-width:680px) {
  body .revive-catalog > .wrap > .grid,body .revive-catalog-hero__grid { width:min(100% - 28px,1380px); }
  body .revive-catalog-hero { min-height:420px; margin-bottom:26px; }
  body .revive-catalog-hero__grid { padding:60px 0 55px; }
  body .revive-catalog-hero h1 { font-size:clamp(50px,16vw,72px); }
  body .revive-catalog-hero__copy > p { font-size:14px; }
  body .revive-catalog-toolbar { display:flex; flex-wrap:wrap; border-radius:15px; }
  body .revive-catalog-search { width:100%; }
  body .revive-catalog-search kbd { display:none; }
  body .revive-stock-toggle { order:2; }
  body .revive-catalog-filters { width:100%; order:3; }
  body .revive-catalog .sa-page-products-items { grid-template-columns:1fr!important; }
  body .revive-catalog .revive-catalog-featured { grid-column:auto; }
  body .revive-catalog .revive-catalog-featured .revive-catalog-card { display:flex!important; }
  body .revive-catalog .revive-catalog-featured .revive-catalog-card > .border-b { border-right:0!important; border-bottom:1px solid rgba(255,255,255,.07)!important; }
  body .revive-catalog .revive-catalog-featured .sa-product-card-media,body .revive-catalog .revive-catalog-featured .sa-product-card-media img { height:260px; min-height:0; }
  body .revive-catalog .revive-catalog-featured .revive-catalog-card > .p-4 { grid-column:auto; grid-row:auto; padding:23px!important; }
  body .revive-catalog-cta { align-items:flex-start; flex-direction:column; padding:26px; }
  body .revive-catalog-cta a { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { body .revive-catalog-ring,body .revive-catalog-eyebrow > span,body .revive-catalog .sa-page-products-item { animation:none!important; } }

/* V7 FAQ — Revive Rail. */
body.revive-faq-page {
  background:
    radial-gradient(circle at 18% 16%, rgba(120, 39, 181, .13), transparent 31rem),
    radial-gradient(circle at 84% 58%, rgba(79, 28, 134, .1), transparent 34rem),
    #06060a;
}
body.revive-faq-page .sa-breadcrumbs { display:none!important; }
body .revive-faq {
  position:relative;
  overflow:hidden;
  padding:0 0 110px!important;
  isolation:isolate;
}
body .revive-faq::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000 0%,#000 84%,transparent 100%);
}
body .revive-faq > .wrap { width:100%; max-width:none!important; padding:0!important; }
body .revive-faq-header {
  position:relative;
  overflow:hidden;
  max-width:none!important;
  min-height:470px;
  margin:0 0 85px!important;
  padding:78px 24px 65px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(rgba(7,7,11,.78),rgba(7,7,11,.92)),
    repeating-linear-gradient(118deg,transparent 0 78px,rgba(185,101,245,.055) 79px 80px,transparent 81px 136px);
  text-align:center;
}
body .revive-faq-header::before {
  content:"";
  position:absolute;
  width:700px;
  height:700px;
  top:-410px;
  left:50%;
  border:1px solid rgba(190,108,249,.15);
  border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 0 68px rgba(168,85,247,.025),0 0 0 136px rgba(168,85,247,.017),0 0 120px rgba(168,85,247,.12);
}
body .revive-faq-header::after {
  content:"FAQ / REVIVE / LINE 01";
  position:absolute;
  bottom:-27px;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.027);
  font-family:var(--font-heading,inherit);
  font-size:clamp(65px,9vw,145px);
  font-weight:950;
  line-height:.8;
  letter-spacing:-.065em;
  white-space:nowrap;
}
body .revive-faq-header > * { position:relative; z-index:2; }
body .revive-faq-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:23px;
  color:#d6aff3;
  font-size:9px;
  font-weight:950;
  letter-spacing:.18em;
}
body .revive-faq-eyebrow > span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#51efa0;
  box-shadow:0 0 14px rgba(81,239,160,.75);
  animation:reviveFaqPulse 1.8s ease-in-out infinite;
}
body .revive-faq-eyebrow b {
  margin-left:6px;
  padding-left:15px;
  border-left:1px solid rgba(255,255,255,.13);
  color:#65616e;
  font-weight:850;
}
body .revive-faq-header h1 {
  margin:0;
  color:#fff;
  font-family:var(--font-heading,inherit);
  font-size:clamp(62px,7.2vw,112px);
  font-weight:950;
  line-height:.78;
  letter-spacing:-.07em;
  text-transform:uppercase;
}
body .revive-faq-header h1 em {
  color:transparent;
  font-style:normal;
  -webkit-text-stroke:1.5px #c46bff;
  text-shadow:0 0 42px rgba(168,85,247,.22);
}
body .revive-faq-header > p {
  max-width:650px;
  margin:28px auto 0;
  color:#9c98a7;
  font-size:15px;
  line-height:1.75;
}
body .revive-faq-route {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:31px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  box-shadow:inset 0 1px rgba(255,255,255,.03);
  backdrop-filter:blur(12px);
}
body .revive-faq-route span { color:#777380; font-size:7px; font-weight:950; letter-spacing:.13em; }
body .revive-faq-route i { width:16px; height:1px; background:linear-gradient(90deg,transparent,#9b4bd0,transparent); }

body .revive-faq-rail {
  position:relative;
  display:flex!important;
  flex-direction:column;
  gap:46px!important;
  width:min(1160px,calc(100% - 48px));
  max-width:none!important;
  margin:0 auto!important;
  padding:26px 0 40px;
}
body .revive-faq-rail::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:12px;
  transform:translateX(-50%);
  border-left:1px solid rgba(190,111,246,.25);
  border-right:1px solid rgba(190,111,246,.25);
  background:
    repeating-linear-gradient(to bottom,rgba(255,255,255,.16) 0 2px,transparent 2px 13px),
    linear-gradient(90deg,rgba(168,85,247,.04),rgba(168,85,247,.15),rgba(168,85,247,.04));
  box-shadow:0 0 24px rgba(168,85,247,.13);
}
body .revive-faq-rail::after {
  content:"";
  position:absolute;
  top:-12px;
  left:50%;
  width:29px;
  height:29px;
  transform:translateX(-50%);
  border:6px solid #09080d;
  border-radius:50%;
  background:#bf68fa;
  box-shadow:0 0 0 1px rgba(202,137,248,.4),0 0 24px rgba(190,104,250,.7);
}
body .revive-faq-train {
  position:absolute;
  top:7%;
  left:50%;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(2,5px);
  grid-template-rows:5px auto;
  gap:3px;
  width:28px;
  height:47px;
  padding:7px 6px 5px;
  border:1px solid rgba(224,181,255,.46);
  border-radius:9px 9px 6px 6px;
  background:linear-gradient(160deg,#ba54f2,#64209a 67%,#24102f);
  box-shadow:0 7px 17px rgba(0,0,0,.6),0 0 24px rgba(177,72,237,.44);
  transform:translateX(-50%);
  animation:reviveFaqTrain 8s cubic-bezier(.65,0,.35,1) infinite alternate;
}
body .revive-faq-train::after {
  content:"";
  position:absolute;
  top:-18px;
  left:50%;
  width:2px;
  height:17px;
  transform:translateX(-50%);
  background:linear-gradient(to top,rgba(185,89,243,.72),transparent);
  box-shadow:0 0 8px #ac4ee4;
}
body .revive-faq-train > i { display:block; border-radius:2px; background:#e8d6f2; box-shadow:0 0 7px #fff; }
body .revive-faq-train > b { grid-column:1/-1; align-self:end; color:#fff; font-size:7px; font-weight:950; letter-spacing:-.03em; text-align:center; }

body .revive-faq-station {
  position:relative;
  width:calc(50% - 60px);
  overflow:visible!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(19,17,26,.97),rgba(10,9,15,.98))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.025)!important;
  opacity:0;
  transition:opacity .75s ease,transform .85s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .4s ease!important;
}
body .revive-faq-station:nth-of-type(odd) { align-self:flex-start; transform:translateX(-90px) scale(.96); }
body .revive-faq-station:nth-of-type(even) { align-self:flex-end; transform:translateX(90px) scale(.96); }
body .revive-faq-station.is-visible { opacity:1; transform:translateX(0) scale(1); }
body .revive-faq-station:hover,
body .revive-faq-station.is-open {
  border-color:rgba(196,112,249,.3)!important;
  box-shadow:0 32px 82px rgba(0,0,0,.48),0 0 32px rgba(168,85,247,.08)!important;
}
body .revive-faq-station::before {
  content:"";
  position:absolute;
  top:48px;
  width:61px;
  height:1px;
  background:linear-gradient(90deg,rgba(186,100,244,.5),rgba(186,100,244,.08));
  box-shadow:0 0 8px rgba(177,77,235,.25);
}
body .revive-faq-station::after {
  content:attr(data-station);
  position:absolute;
  top:35px;
  z-index:5;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:5px solid #08070c;
  border-radius:50%;
  background:#9d3dd4;
  color:#fff;
  font-size:6px;
  font-weight:950;
  box-shadow:0 0 0 1px rgba(206,145,250,.35),0 0 19px rgba(168,85,247,.55);
  transition:transform .35s ease,background .35s ease;
}
body .revive-faq-station:nth-of-type(odd)::before { right:-61px; }
body .revive-faq-station:nth-of-type(odd)::after { right:-74px; }
body .revive-faq-station:nth-of-type(even)::before { left:-61px; transform:rotate(180deg); }
body .revive-faq-station:nth-of-type(even)::after { left:-74px; }
body .revive-faq-station:hover::after,body .revive-faq-station.is-open::after { transform:scale(1.16); background:#c76bff; }
body .revive-faq-question {
  display:grid!important;
  grid-template-columns:1fr auto;
  gap:8px 18px!important;
  min-height:98px;
  padding:20px 21px!important;
  border-radius:inherit;
}
body .revive-faq-question__meta {
  grid-column:1;
  display:flex;
  align-items:center;
  gap:9px;
}
body .revive-faq-question__meta b { color:#ad58df; font-size:7px; font-weight:950; letter-spacing:.15em; }
body .revive-faq-question__meta i { color:#57535f; font-size:6px; font-style:normal; font-weight:850; letter-spacing:.11em; }
body .revive-faq-question__text {
  grid-column:1;
  color:#f2eff4;
  font-size:17px;
  font-weight:850;
  letter-spacing:-.02em;
  line-height:1.35;
}
body .revive-faq-question__toggle {
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#a65bd5;
  transition:transform .4s cubic-bezier(.16,1,.3,1),background .3s ease,color .3s ease,border-color .3s ease;
}
body .revive-faq-station.is-open .revive-faq-question__toggle {
  transform:rotate(45deg);
  border-color:rgba(211,151,250,.4);
  background:#a43fda;
  color:#fff;
}
body .revive-faq-station .faq-panel { border-top:1px solid transparent; transition:border-color .3s ease; }
body .revive-faq-station.is-open .faq-panel { border-color:rgba(255,255,255,.07); }
body .revive-faq-station .faq-panel-inner > div {
  padding:18px 21px 22px!important;
  color:#8d8997!important;
  font-size:13px!important;
  line-height:1.75;
}

body .revive-faq-support-wrap { width:min(1160px,calc(100% - 48px)); max-width:none!important; margin:70px auto 0!important; }
body .revive-faq-support {
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:28px 31px!important;
  border:1px solid rgba(192,106,247,.22)!important;
  border-radius:22px!important;
  background:linear-gradient(110deg,rgba(168,85,247,.13),transparent 46%),rgba(14,12,20,.93)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.34)!important;
}
body .revive-faq-support::before {
  content:"NEXT STOP / HUMAN SUPPORT";
  position:absolute;
  right:26px;
  bottom:-5px;
  color:rgba(255,255,255,.035);
  font-size:35px;
  font-weight:950;
  letter-spacing:-.04em;
}
body .revive-faq-support > * { position:relative; z-index:2; }
body .revive-faq-support > div > span { border-radius:50%!important; background:rgba(168,85,247,.14)!important; color:#c16eff!important; box-shadow:0 0 28px rgba(168,85,247,.12); }
body .revive-faq-support .sa-faq-support-card-title { font-size:19px!important; font-weight:900!important; }
body .revive-faq-support .sa-faq-support-card-link {
  min-height:46px;
  padding:0 19px!important;
  border:1px solid rgba(220,171,255,.22);
  border-radius:12px!important;
  background:linear-gradient(135deg,#aa2fe8,#7124bf)!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 32px rgba(114,34,173,.27)!important;
  transition:transform .3s ease,box-shadow .3s ease!important;
}
body .revive-faq-support .sa-faq-support-card-link:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(126,37,190,.4)!important; }

@keyframes reviveFaqPulse { 0%,100%{opacity:.45;transform:scale(.8)} 50%{opacity:1;transform:scale(1.12)} }
@keyframes reviveFaqTrain { 0%{top:7%} 100%{top:calc(93% - 47px)} }

@media (max-width:820px) {
  body .revive-faq-header { min-height:430px; margin-bottom:55px!important; }
  body .revive-faq-rail { gap:28px!important; padding-left:45px; }
  body .revive-faq-rail::before { left:14px; }
  body .revive-faq-rail::after { left:14px; }
  body .revive-faq-train { left:14px; }
  body .revive-faq-station { width:100%; align-self:stretch!important; }
  body .revive-faq-station:nth-of-type(odd),body .revive-faq-station:nth-of-type(even) { transform:translateX(70px) scale(.97); }
  body .revive-faq-station.is-visible { transform:translateX(0) scale(1); }
  body .revive-faq-station:nth-of-type(odd)::before,body .revive-faq-station:nth-of-type(even)::before { left:-33px; right:auto; width:33px; transform:rotate(180deg); }
  body .revive-faq-station:nth-of-type(odd)::after,body .revive-faq-station:nth-of-type(even)::after { left:-50px; right:auto; }
}
@media (max-width:560px) {
  body .revive-faq-header { min-height:405px; padding:64px 18px 54px; }
  body .revive-faq-header h1 { font-size:clamp(49px,15vw,70px); }
  body .revive-faq-header > p { font-size:13px; }
  body .revive-faq-route { max-width:100%; gap:6px; padding:8px 10px; }
  body .revive-faq-route span { font-size:5px; }
  body .revive-faq-route i { width:8px; }
  body .revive-faq-rail,body .revive-faq-support-wrap { width:calc(100% - 28px); }
  body .revive-faq-rail { padding-left:34px; }
  body .revive-faq-rail::before,body .revive-faq-rail::after,body .revive-faq-train { left:8px; }
  body .revive-faq-station:nth-of-type(odd)::before,body .revive-faq-station:nth-of-type(even)::before { left:-27px; width:27px; }
  body .revive-faq-station:nth-of-type(odd)::after,body .revive-faq-station:nth-of-type(even)::after { left:-42px; }
  body .revive-faq-question { padding:18px!important; }
  body .revive-faq-question__text { font-size:15px; }
  body .revive-faq-support { align-items:flex-start!important; flex-direction:column!important; padding:25px!important; }
  body .revive-faq-support .sa-faq-support-card-link { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  body .revive-faq-train,body .revive-faq-eyebrow > span { animation:none!important; }
  body .revive-faq-station { opacity:1!important; transform:none!important; }
}

/* V8 requested fixes: transparent navigation, stable comparison and title sheen. */
body .sa-header,
body .sa-header.revive-header-scrolled {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body .sa-navbar,
body .sa-navbar > div:first-of-type {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body .sa-navbar > div:first-of-type::before { display: none !important; }

body .revive-compare-frame { --compare-position: 50%; }
body .revive-compare-range {
  appearance: none;
  -webkit-appearance: none;
  touch-action: pan-y;
}

body .revive-hero-line--outline {
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.58);
  background-image: linear-gradient(105deg,
    transparent 0%,
    transparent 37%,
    rgba(255,255,255,.18) 44%,
    #fff 50%,
    rgba(255,255,255,.18) 56%,
    transparent 63%,
    transparent 100%);
  background-size: 260% 100%;
  background-position: 130% 0;
  -webkit-background-clip: text;
  background-clip: text;
  animation: reviveHeroTextSheen 5.6s ease-in-out infinite;
}

@keyframes reviveHeroTextSheen {
  0%, 55% { background-position: 130% 0; }
  82%, 100% { background-position: -130% 0; }
}

@media (prefers-reduced-motion: reduce) {
  body .revive-hero-line--outline {
    animation: none !important;
    background-position: 50% 0;
  }
}