/* ==========================================================================
   AetherSkill brand v2 - "creator glow"
   Loaded after aether.css on the public marketing pages only (body.as-v2).
   Studio dashboards / learner studios keep aether.css untouched.
   Palette (WCAG AA checked on --v2-bg #0c0717):
     text #f5f0ff 17.7:1 · muted #b8aecb 9.4:1 · coral #ff7a59 7.7:1
     magenta #ff4f9a 6.5:1 · violet #a78bfa 7.3:1 · white on button stops >= 4.6:1
   ========================================================================== */
body.as-v2 {
  --v2-bg: #0c0717;
  --v2-bg-2: #120a22;
  --v2-surface: #181029;
  --v2-surface-2: #201536;
  --v2-line: rgba(255, 255, 255, 0.10);
  --v2-line-strong: rgba(255, 255, 255, 0.18);
  --v2-text: #f5f0ff;
  --v2-muted: #b8aecb;
  --v2-coral: #ff7a59;
  --v2-magenta: #ff4f9a;
  --v2-violet: #a78bfa;
  --v2-mint: #5eead4;
  --v2-glow: linear-gradient(100deg, #ff7a59 0%, #ff4f9a 48%, #a78bfa 100%);
  --v2-btn: linear-gradient(100deg, #d6336c 0%, #c026d3 52%, #7c3aed 100%);
  --v2-display: "Bricolage Grotesque", "Outfit", system-ui, sans-serif;

  /* remap the base theme variables so shared components go dark automatically */
  --as-emerald: #ff4f9a;
  --as-emerald-deep: #ff7a59;
  --as-emerald-soft: rgba(255, 79, 154, 0.12);
  --as-gold: #ff7a59;
  --as-bg: var(--v2-bg);
  --as-bg-soft: var(--v2-bg-2);
  --as-ink: var(--v2-text);
  --as-muted: var(--v2-muted);
  --as-faint: #9d92b3;
  --as-card: var(--v2-surface);
  --as-border: var(--v2-line);
  --as-border-strong: var(--v2-line-strong);
  --as-radius: 22px;
  --as-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.7);
  --as-shadow-soft: 0 14px 36px -20px rgba(0, 0, 0, 0.65);

  background:
    radial-gradient(1100px 620px at 85% -8%, rgba(124, 58, 237, 0.30), transparent 60%),
    radial-gradient(900px 560px at -10% 8%, rgba(255, 79, 154, 0.20), transparent 60%),
    var(--v2-bg);
  background-repeat: no-repeat;
  color: var(--v2-text);
}
body.as-v2 ::selection { background: rgba(255, 79, 154, 0.45); color: #fff; }
body.as-v2 a { color: var(--v2-coral); }
body.as-v2 a:hover { color: #ffb199; }
body.as-v2 h1, body.as-v2 h2, body.as-v2 h3 {
  font-family: var(--v2-display);
  color: var(--v2-text);
  letter-spacing: -0.035em;
}
body.as-v2 h1 em, body.as-v2 h2 em {
  font-style: normal;
  background: var(--v2-glow);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
body.as-v2 code {
  background: rgba(255, 255, 255, 0.08); color: #ffd2c4;
  padding: .1em .4em; border-radius: 6px; font-size: .9em;
}
body.as-v2 .as-muted, body.as-v2 .as-section-sub, body.as-v2 .lead { color: var(--v2-muted); }

/* ---------- Header ---------- */
body.as-v2 .as-top {
  background: rgba(12, 7, 23, 0.72);
  border-bottom: 1px solid var(--v2-line);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}
body.as-v2 .as-brand { color: var(--v2-text); gap: .6rem; }
body.as-v2 .as-brand img { border-radius: 11px; width: 36px; height: 36px; }
body.as-v2 .as-nav > a:not(.as-btn) { color: var(--v2-muted); }
body.as-v2 .as-nav > a:not(.as-btn):hover,
body.as-v2 .as-nav > a:not(.as-btn).is-on { color: #fff; background: rgba(255, 255, 255, 0.08); }
body.as-v2 .as-menu-toggle {
  background: rgba(255, 255, 255, 0.06); color: var(--v2-text); border-color: var(--v2-line-strong);
}
body.as-v2 .as-menu-toggle[aria-expanded="true"] {
  background: rgba(255, 79, 154, 0.16); color: #fff; border-color: rgba(255, 79, 154, 0.5);
}
body.as-v2 .as-nav-backdrop { background: rgba(6, 3, 12, 0.6); }
@media (max-width: 900px) {
  body.as-v2 .as-nav {
    background: var(--v2-surface);
    border-color: var(--v2-line-strong);
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.8);
  }
}

/* ---------- Wordmark ---------- */
body.as-v2 .as-wordmark { font-family: var(--v2-display); letter-spacing: -0.05em; }
body.as-v2 .as-wordmark-aether,
body.as-v2 .as-wordmark--shine .as-wordmark-aether { color: #fff; -webkit-text-fill-color: #fff; }
body.as-v2 .as-wordmark-skill--shine {
  background-image: linear-gradient(110deg, #ff7a59 0%, #ff4f9a 30%, #a78bfa 55%, #ff4f9a 78%, #ff7a59 100%);
}

/* ---------- Buttons: full, consistent, with a satisfying push ---------- */
body.as-v2 .as-btn {
  position: relative;
  border-radius: 14px;
  padding: .9rem 1.45rem;
  font-weight: 750;
  font-size: 1rem;
  letter-spacing: -0.005em;
  min-height: 3rem;
  border: 1px solid transparent;
  transition: transform .12s var(--as-ease), box-shadow .12s ease, filter .15s ease, background-color .15s ease;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
body.as-v2 .as-btn-sm { padding: .55rem 1rem; min-height: 2.5rem; font-size: .92rem; border-radius: 12px; }
body.as-v2 .as-btn-emerald,
body.as-v2 .as-btn-gold {
  background: var(--v2-btn);
  color: #fff;
  box-shadow: 0 5px 0 #4c1d95, 0 16px 34px -12px rgba(214, 51, 108, 0.75);
}
body.as-v2 .as-btn-emerald:hover,
body.as-v2 .as-btn-gold:hover {
  color: #fff; filter: brightness(1.08) saturate(1.05);
  transform: translateY(-2px);
  box-shadow: 0 7px 0 #4c1d95, 0 22px 40px -12px rgba(214, 51, 108, 0.85);
}
body.as-v2 .as-btn-ghost {
  background: rgba(255, 255, 255, 0.06);
  color: var(--v2-text);
  border-color: var(--v2-line-strong);
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.55);
}
body.as-v2 .as-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.11); color: #fff; border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px); box-shadow: 0 7px 0 rgba(0, 0, 0, 0.55);
}
body.as-v2 .as-btn:active,
body.as-v2 .as-btn.is-pressed {
  transform: translateY(4px) scale(.985) !important;
  box-shadow: 0 1px 0 #4c1d95, 0 6px 14px -10px rgba(214, 51, 108, 0.7) !important;
  filter: brightness(.96);
}
body.as-v2 .as-btn-ghost:active,
body.as-v2 .as-btn-ghost.is-pressed { box-shadow: 0 1px 0 rgba(0, 0, 0, 0.55) !important; }
body.as-v2 .as-btn:focus-visible { outline: 3px solid #ffd2c4; outline-offset: 3px; }
body.as-v2 .as-top .as-btn-sm { box-shadow: 0 3px 0 #4c1d95, 0 10px 24px -12px rgba(214, 51, 108, 0.8); }

/* ---------- Pills, cards, sections ---------- */
body.as-v2 .as-pill {
  background: rgba(255, 79, 154, 0.12);
  color: #ffc2d9;
  border: 1px solid rgba(255, 79, 154, 0.35);
}
body.as-v2 .as-pill-ghost { background: rgba(255, 255, 255, 0.06); color: var(--v2-muted); border-color: var(--v2-line-strong); }
body.as-v2 .as-card,
body.as-v2 .as-panel,
body.as-v2 .as-quote {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
  border: 1px solid var(--v2-line);
  color: var(--v2-text);
  box-shadow: var(--as-shadow-soft);
  border-radius: 22px;
}
body.as-v2 .as-card p, body.as-v2 .as-panel p { color: var(--v2-muted); }
body.as-v2 .as-quote blockquote { color: #fff; font-family: var(--v2-display); }
body.as-v2 .as-quote cite { color: var(--v2-muted); }
body.as-v2 .as-section-alt {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0));
  border-top: 1px solid var(--v2-line);
  border-bottom: 1px solid var(--v2-line);
}
body.as-v2 .as-section-head h2,
body.as-v2 .as-page-title { font-size: clamp(2rem, 6.4vw, 3.4rem); line-height: 1.04; }
body.as-v2 .as-pillar-card { position: relative; overflow: hidden; }
body.as-v2 .as-pillar-card::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: var(--v2-glow);
}
body.as-v2 .as-card:hover { border-color: rgba(255, 79, 154, 0.35); }

/* ---------- Hero ---------- */
body.as-v2 .as-hero { padding: 2.2rem 0 1.5rem; background: none; }
body.as-v2 .as-hero-panel {
  background: none; border: 0; box-shadow: none; padding: 0;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 2.5rem; align-items: center;
}
body.as-v2 .as-hero-panel::before, body.as-v2 .as-hero-panel::after { display: none; }
body.as-v2 .as-hero-kicker {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--v2-line-strong);
  color: #ffd2c4;
  padding: .38rem .85rem .38rem .45rem;
  border-radius: 999px;
  font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
body.as-v2 .as-hero-kicker::before {
  content: ""; width: 1.25rem; height: 1.25rem; border-radius: 50%;
  background: var(--v2-glow);
  box-shadow: 0 0 0 4px rgba(255, 79, 154, 0.18);
  animation: v2-pulse 2.4s ease-in-out infinite;
}
body.as-v2 .as-hero h1 {
  font-size: clamp(2.6rem, 11vw, 5.1rem);
  line-height: .98;
  letter-spacing: -0.05em;
  margin: 1rem 0 1.1rem;
  font-weight: 800;
  max-width: 13ch;
}
body.as-v2 .as-hero h1 em { display: inline; padding-right: .05em; }
body.as-v2 .as-hero p.lead { font-size: clamp(1.05rem, 2.6vw, 1.2rem); color: var(--v2-muted); max-width: 34rem; }
body.as-v2 .as-hero-actions { gap: .85rem; margin-top: 1.5rem; }
body.as-v2 .as-trust { color: var(--v2-muted); gap: .5rem .9rem; margin-top: 1.4rem; }
body.as-v2 .as-trust span { display: inline-flex; align-items: center; gap: .45rem; }
body.as-v2 .as-trust span::before {
  content: ""; width: .5rem; height: .85rem; flex: 0 0 auto;
  border: solid var(--v2-mint); border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg) translateY(-2px); margin: 0 .2rem 0 .15rem;
  filter: drop-shadow(0 0 4px rgba(94, 234, 212, 0.7));
}

/* CSS-built creator storefront mock */
.v2-stage {
  position: relative;
  min-height: 34rem;
  display: grid; place-items: center;
  isolation: isolate;
}
.v2-aura {
  position: absolute; inset: 6% 4%;
  border-radius: 50%;
  background: conic-gradient(from 0deg, #ff7a59, #ff4f9a, #7c3aed, #ff7a59);
  filter: blur(60px);
  opacity: .55;
  z-index: -1;
  animation: v2-spin 18s linear infinite;
}
.v2-phone {
  width: 17.5rem;
  border-radius: 2.4rem;
  padding: .7rem;
  background: linear-gradient(160deg, #2a1d44, #120a22);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 50px 90px -30px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  animation: v2-float 7s ease-in-out infinite;
  transform-origin: 50% 60%;
}
.v2-screen {
  position: relative; overflow: hidden;
  border-radius: 1.85rem;
  background: linear-gradient(180deg, #fff4ef 0%, #ffffff 38%);
  color: #1a1027;
  padding: 0 0 1.1rem;
  min-height: 29rem;
}
.v2-notch { width: 5.5rem; height: 1.25rem; border-radius: 0 0 .9rem .9rem; background: #120a22; margin: 0 auto; position: relative; z-index: 2; }
.v2-cover {
  position: absolute; top: 0; left: 0; right: 0; height: 7.2rem;
  background:
    radial-gradient(120px 80px at 20% 30%, rgba(255, 255, 255, 0.5), transparent 70%),
    linear-gradient(120deg, #ff7a59, #ff4f9a 55%, #7c3aed);
}
.v2-avatar {
  position: relative; z-index: 1;
  width: 4.6rem; height: 4.6rem; margin: 2.9rem auto .55rem;
  border-radius: 50%;
  border: 4px solid #fff;
  background: linear-gradient(140deg, #1a1027, #4c1d95);
  display: grid; place-items: center;
  color: #fff; font: 800 1.5rem/1 var(--v2-display, sans-serif);
  box-shadow: 0 10px 24px -10px rgba(76, 29, 149, 0.7);
}
.v2-name { text-align: center; font: 800 1.15rem/1.1 "Bricolage Grotesque", "Outfit", sans-serif; letter-spacing: -0.03em; margin: 0; color: #1a1027; }
.v2-handle { text-align: center; font-size: .72rem; color: #6b5a7e; margin: .25rem 0 .9rem; }
.v2-socials { display: flex; justify-content: center; gap: .4rem; margin-bottom: .95rem; }
.v2-socials i { width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #f3e8ff; display: block; position: relative; }
.v2-socials i::after { content: ""; position: absolute; inset: .45rem; border-radius: 4px; background: #a855f7; opacity: .7; }
.v2-socials i:nth-child(2)::after { border-radius: 50%; background: #ff4f9a; }
.v2-socials i:nth-child(3)::after { background: #ff7a59; clip-path: polygon(0 0, 100% 50%, 0 100%); border-radius: 0; }
.v2-links { display: grid; gap: .55rem; padding: 0 .95rem; }
.v2-link {
  display: flex; align-items: center; gap: .6rem;
  padding: .7rem .8rem;
  border-radius: .95rem;
  background: #fff;
  border: 1px solid #efe4f7;
  box-shadow: 0 6px 14px -10px rgba(26, 16, 39, 0.45);
  font-size: .82rem; font-weight: 700; color: #1a1027;
}
.v2-link b {
  flex: 0 0 auto; width: 1.9rem; height: 1.9rem; border-radius: .6rem;
  display: grid; place-items: center; color: #fff; font-size: .8rem;
  background: linear-gradient(140deg, #ff7a59, #ff4f9a);
}
.v2-link:nth-child(2) b { background: linear-gradient(140deg, #ff4f9a, #a855f7); }
.v2-link:nth-child(3) b { background: linear-gradient(140deg, #a855f7, #6d28d9); }
.v2-link:nth-child(4) b { background: linear-gradient(140deg, #14b8a6, #0e7490); }
.v2-link--hot {
  background: linear-gradient(100deg, #d6336c, #c026d3 55%, #7c3aed);
  color: #fff; border-color: transparent;
  box-shadow: 0 10px 20px -10px rgba(192, 38, 211, 0.9);
  position: relative; overflow: hidden;
}
.v2-link--hot b { background: rgba(255, 255, 255, 0.22) !important; }
.v2-link--hot::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.45), transparent);
  animation: v2-sheen 3.6s ease-in-out infinite;
}
.v2-link span { flex: 1; }
.v2-link small { font-weight: 600; opacity: .7; font-size: .7rem; }
.v2-chip {
  position: absolute;
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .6rem .85rem;
  border-radius: 14px;
  background: rgba(24, 16, 41, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  color: #fff; font-size: .82rem; font-weight: 700;
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.8);
  white-space: nowrap;
  animation: v2-bob 6s ease-in-out infinite;
}
.v2-chip i {
  width: 1.55rem; height: 1.55rem; border-radius: 8px; display: grid; place-items: center;
  font-style: normal; font-size: .78rem; background: var(--v2-glow, linear-gradient(100deg, #ff7a59, #a78bfa));
}
.v2-chip--a { top: 12%; left: 0; }
.v2-chip--b { top: 46%; right: -2%; animation-delay: -2s; }
.v2-chip--c { bottom: 9%; left: 4%; animation-delay: -4s; }
.v2-chip--b i { background: linear-gradient(140deg, #14b8a6, #0e7490); }
.v2-chip--c i { background: linear-gradient(140deg, #a855f7, #6d28d9); }

@keyframes v2-float { 0%, 100% { transform: translateY(0) rotate(-2.5deg); } 50% { transform: translateY(-14px) rotate(-1deg); } }
@keyframes v2-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes v2-spin { to { transform: rotate(360deg); } }
@keyframes v2-sheen { 0%, 55% { left: -60%; } 100% { left: 130%; } }
@keyframes v2-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(255, 79, 154, 0.18); } 50% { box-shadow: 0 0 0 8px rgba(255, 79, 154, 0.05); } }

/* Feature-page / legacy orb hero: tint to new palette */
body.as-v2 .as-hero-orb { background: none; }
body.as-v2 .as-hero-orb::before, body.as-v2 .as-hero-orb::after { opacity: .35; filter: hue-rotate(150deg) saturate(1.4); }

/* ---------- Toolkit ribbon + stack bento ---------- */
body.as-v2 .as-stack-section {
  background:
    radial-gradient(900px 420px at 10% -10%, rgba(255, 79, 154, 0.16), transparent 55%),
    radial-gradient(800px 380px at 90% 0%, rgba(124, 58, 237, 0.20), transparent 50%),
    var(--v2-bg-2);
}
body.as-v2 .as-toolkit-ribbon-fade { display: none; }
body.as-v2 .as-toolkit-pill {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--v2-line-strong);
  box-shadow: none;
  color: var(--v2-text);
}
body.as-v2 .as-toolkit-label { color: var(--v2-text); }
body.as-v2 .as-toolkit-pill--emerald .as-toolkit-ico { background: linear-gradient(140deg, #ff7a59, #ff4f9a); color: #fff; }
body.as-v2 .as-toolkit-pill--pink .as-toolkit-ico { background: linear-gradient(140deg, #ff4f9a, #a855f7); color: #fff; }
body.as-v2 .as-toolkit-pill--gold .as-toolkit-ico { background: linear-gradient(140deg, #a855f7, #6d28d9); color: #fff; }
body.as-v2 .as-toolkit-pill--ink .as-toolkit-ico { background: linear-gradient(140deg, #14b8a6, #0e7490); color: #fff; }
body.as-v2 .as-stack-panel {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02));
  border: 1px solid var(--v2-line);
  color: var(--v2-text);
}
body.as-v2 .as-stack-panel h3 { color: #fff; }
body.as-v2 .as-stack-blurb { color: var(--v2-muted) !important; }
body.as-v2 .as-stack-eyebrow { color: #ffb199 !important; }
body.as-v2 .as-stack-tools li {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: var(--v2-line-strong) !important;
  color: var(--v2-text) !important;
}
body.as-v2 .as-stack-panel--hero {
  background:
    radial-gradient(420px 260px at 85% 0%, rgba(255, 79, 154, 0.35), transparent 70%),
    linear-gradient(160deg, #2a1546, #160c29);
}
body.as-v2 .as-stack-panel-glow { background: radial-gradient(circle, rgba(255, 79, 154, 0.45), transparent 70%) !important; }
body.as-v2 .as-stack-panel--gold .as-stack-panel-glow { background: radial-gradient(circle, rgba(255, 122, 89, 0.45), transparent 70%) !important; }
body.as-v2 .as-stack-panel--ink .as-stack-panel-glow { background: radial-gradient(circle, rgba(94, 234, 212, 0.35), transparent 70%) !important; }
body.as-v2 .as-stack-panel--emerald .as-stack-panel-glow { background: radial-gradient(circle, rgba(167, 139, 250, 0.45), transparent 70%) !important; }
body.as-v2 .as-stack-panel:hover { border-color: rgba(255, 79, 154, 0.45) !important; }
body.as-v2 .as-stack-footnote { color: var(--v2-muted); }
body.as-v2 .as-stack-footnote strong { color: #fff; }

/* ---------- Features page ---------- */
body.as-v2 .as-features-jump-link {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: var(--v2-line-strong) !important;
  color: var(--v2-text) !important;
}
body.as-v2 .as-features-jump-link:hover { border-color: rgba(255, 79, 154, 0.6) !important; }
body.as-v2 .as-features-deep {
  background: none !important;
  border-top-color: var(--v2-line) !important;
  color: var(--v2-text);
}
body.as-v2 .as-features-deep:nth-of-type(even) { background: rgba(255, 255, 255, 0.02) !important; }
body.as-v2 .as-features-deep .as-section-sub { color: var(--v2-muted) !important; }
body.as-v2 .as-features-deep-count { background: rgba(255, 255, 255, 0.06) !important; border-color: var(--v2-line-strong) !important; }
body.as-v2 .as-features-deep-count strong {
  background: var(--v2-glow); -webkit-background-clip: text; background-clip: text;
  color: transparent !important; -webkit-text-fill-color: transparent;
}
body.as-v2 .as-features-deep-count span { color: var(--v2-muted) !important; }
body.as-v2 .as-features-mosaic-card,
body.as-v2 .as-features-mosaic-card--lead {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)) !important;
  border-color: var(--v2-line) !important;
  color: var(--v2-text) !important;
}
body.as-v2 .as-features-mosaic-card--lead {
  background: radial-gradient(360px 200px at 100% 0%, rgba(255, 79, 154, 0.22), transparent 70%), linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)) !important;
}
body.as-v2 .as-features-mosaic-card h3 { color: #fff !important; }
body.as-v2 .as-features-mosaic-card p { color: var(--v2-muted) !important; }
body.as-v2 .as-features-mosaic-ico { background: linear-gradient(140deg, #ff7a59, #ff4f9a) !important; color: #fff !important; box-shadow: 0 10px 20px -12px rgba(255, 79, 154, 0.8) !important; }
body.as-v2 .as-features-proof-card {
  background: linear-gradient(160deg, #2a1546, #160c29) !important;
  border: 1px solid var(--v2-line-strong) !important;
  color: var(--v2-text) !important;
}
body.as-v2 .as-features-proof-card h3 { color: #fff !important; }
body.as-v2 .as-features-proof-card p { color: var(--v2-muted) !important; }
body.as-v2 .as-features-proof-glow { background: radial-gradient(circle, rgba(255, 79, 154, 0.4), transparent 70%) !important; }
body.as-v2 .as-check-list li { color: var(--v2-text); }
body.as-v2 .as-check-list li::before {
  content: ""; width: .45rem; height: .8rem; left: .2rem; top: .28rem;
  border: solid var(--v2-mint); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}

/* ---------- Pricing ---------- */
body.as-v2 .as-pricing-card { display: flex; flex-direction: column; }
body.as-v2 .as-pricing-card > p:last-child { margin-top: auto !important; padding-top: 1.25rem; }
body.as-v2 .as-pricing-card .as-btn { width: 100%; }
body.as-v2 .as-pricing-featured {
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(255, 79, 154, 0.28), transparent 70%),
    linear-gradient(160deg, #2a1546, #160c29) !important;
  border: 1px solid rgba(255, 79, 154, 0.55) !important;
  box-shadow: 0 30px 70px -30px rgba(214, 51, 108, 0.6) !important;
}
body.as-v2 .as-price strong { color: #fff; font-family: var(--v2-display); }
body.as-v2 .as-price span { color: var(--v2-muted); }
body.as-v2 .as-table-wrap { border-color: var(--v2-line) !important; background: rgba(255, 255, 255, 0.03); border-radius: 18px; }
body.as-v2 .as-table th { background: rgba(255, 255, 255, 0.06) !important; color: #ffd2c4 !important; }
body.as-v2 .as-table th, body.as-v2 .as-table td { border-color: var(--v2-line) !important; color: var(--v2-text); }
body.as-v2 .as-table tr:hover td { background: rgba(255, 255, 255, 0.03); }

/* ---------- CTA band ---------- */
body.as-v2 .as-cta-band {
  position: relative; overflow: hidden;
  background:
    radial-gradient(600px 300px at 15% 0%, rgba(255, 122, 89, 0.35), transparent 70%),
    radial-gradient(700px 320px at 90% 100%, rgba(124, 58, 237, 0.45), transparent 70%),
    #1a0f2e;
  border-top: 1px solid var(--v2-line);
  border-bottom: 1px solid var(--v2-line);
  padding: 4rem 0;
}
body.as-v2 .as-cta-band h2 { font-size: clamp(2rem, 6vw, 3.2rem); line-height: 1.04; }
body.as-v2 .as-cta-band p { color: #d9cfe9; }

/* ---------- Auth + forms ---------- */
body.as-v2 .as-auth-card {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  border: 1px solid var(--v2-line-strong);
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9);
  border-radius: 24px;
  position: relative;
}
body.as-v2 .as-auth-card::before {
  content: ""; position: absolute; left: 1.5rem; right: 1.5rem; top: -1px; height: 3px; border-radius: 3px; background: var(--v2-glow);
}
body.as-v2 .as-auth-card h1 { font-size: clamp(2rem, 7vw, 2.6rem); }
body.as-v2 .as-auth-card .sub { color: var(--v2-muted); }
body.as-v2 .as-label { color: var(--v2-text); font-weight: 650; }
body.as-v2 .as-input, body.as-v2 .as-textarea, body.as-v2 .as-select {
  background: rgba(8, 4, 16, 0.6);
  border: 1px solid var(--v2-line-strong);
  color: #fff;
  border-radius: 12px;
  min-height: 3rem;
}
body.as-v2 .as-input::placeholder { color: #8f84a6; }
body.as-v2 .as-input:focus, body.as-v2 .as-textarea:focus, body.as-v2 .as-select:focus {
  border-color: var(--v2-magenta);
  box-shadow: 0 0 0 4px rgba(255, 79, 154, 0.22);
  outline: none;
}
body.as-v2 .as-form .as-btn[type="submit"] { width: 100%; margin-top: .4rem; }
body.as-v2 .as-flash { background: rgba(255, 255, 255, 0.06); border-color: var(--v2-line-strong); color: var(--v2-text); }
body.as-v2 .as-flash-ok, body.as-v2 .as-flash-success { background: rgba(94, 234, 212, 0.10); border-color: rgba(94, 234, 212, 0.45); color: #ccfbf1; }
body.as-v2 .as-flash-err, body.as-v2 .as-flash-error { background: rgba(255, 90, 90, 0.10); border-color: rgba(255, 120, 120, 0.5); color: #ffd4d4; }

/* ---------- Legal ---------- */
body.as-v2 .as-legal-prose { color: #e6defa; }
body.as-v2 .as-legal-prose h2 { color: #fff; font-size: 1.3rem; }
body.as-v2 .as-legal-prose li, body.as-v2 .as-legal-prose p { color: #d9cfe9; }

/* ---------- Footer + cookie banner ---------- */
body.as-v2 .as-foot {
  background: #08040f;
  border-top: 1px solid var(--v2-line);
  color: var(--v2-muted);
  position: relative;
}
body.as-v2 .as-foot::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: var(--v2-glow); opacity: .7; }
body.as-v2 .as-foot strong { color: #fff; }
body.as-v2 .as-foot-links a { color: var(--v2-muted); }
body.as-v2 .as-foot-links a:hover { color: #fff; }
body.as-v2 .as-foot-company { color: var(--v2-muted); }
body.as-v2 .as-foot-company a { color: var(--v2-coral); }
body.as-v2 .as-foot-copy { color: #9d92b3; }
body.as-v2 #as-cookie-banner {
  background: rgba(24, 16, 41, 0.96);
  border: 1px solid var(--v2-line-strong);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
}
body.as-v2 .as-cookie-copy { color: var(--v2-muted); }
body.as-v2 .as-cookie-copy strong { color: #fff; }

/* ---------- Scroll reveal (only when JS adds .v2-reveal-on) ---------- */
.v2-reveal-on .v2-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--as-ease), transform .6s var(--as-ease); }
.v2-reveal-on .v2-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Desktop ---------- */
@media (min-width: 901px) {
  body.as-v2 .as-hero { padding: 4rem 0 3rem; }
  body.as-v2 .as-hero-actions .as-btn { min-width: 12.5rem; padding: 1rem 1.6rem; font-size: 1.05rem; }
}

/* ---------- Phones (top priority) ---------- */
@media (max-width: 900px) {
  body.as-v2 .as-hero-panel { grid-template-columns: 1fr; gap: 1.25rem; }
  body.as-v2 .as-hero-copy { text-align: left; }
  .v2-stage { min-height: 31rem; margin-top: .25rem; }
}
@media (max-width: 640px) {
  body.as-v2 .as-wrap { width: calc(100% - 2rem); }
  body.as-v2 .as-hero { padding-top: 1.4rem; }
  body.as-v2 .as-hero h1 { font-size: clamp(2.5rem, 12.5vw, 3.4rem); }
  body.as-v2 .as-hero-actions { flex-direction: column; }
  body.as-v2 .as-hero-actions .as-btn,
  body.as-v2 .as-stack-footnote .as-btn,
  body.as-v2 .as-panel .as-btn,
  body.as-v2 .as-features-proof-card .as-btn,
  body.as-v2 .as-cta-band .as-btn { width: 100%; }
  body.as-v2 .as-cta-band .as-hero-actions { align-items: stretch; }
  .v2-stage { min-height: 29rem; transform: scale(.92); margin: -.5rem 0 -1.5rem; }
  .v2-chip { font-size: .74rem; padding: .5rem .7rem; }
  .v2-chip--a { left: -2%; top: 6%; }
  .v2-chip--b { right: -3%; }
  .v2-chip--c { left: 0; bottom: 6%; }
  body.as-v2 .as-cta-band { padding: 3rem 0; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-aura { animation-duration: 60s; }
  .v2-phone, .v2-chip { animation-duration: 12s; }
  .v2-reveal-on .v2-reveal { transition: none; opacity: 1; transform: none; }
}

/* keep decorative glows from widening the page on phones */
body.as-v2 .as-stack-panel, body.as-v2 .as-features-proof-card { contain: paint; }
body.as-v2 .as-hero, body.as-v2 .as-stack-section, body.as-v2 .as-cta-band { overflow-x: clip; }
body.as-v2 .as-stack-panel h3, body.as-v2 .as-panel h3, body.as-v2 .as-features-deep-head h2,
body.as-v2 .as-features-proof h2, body.as-v2 .as-section-head h2 { line-height: 1.06; }
@media (max-width: 640px) {
  .v2-chip--c { bottom: -1%; left: -1%; }
  .v2-chip--b { top: 40%; }
}
body.as-v2 .as-table { background: transparent !important; color: var(--v2-text); }
body.as-v2 .as-table td { background: transparent !important; color: #e6defa !important; }
body.as-v2 .as-table td:first-child { color: #fff !important; font-weight: 650; }
body.as-v2 .as-table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.025) !important; }
body.as-v2 .as-plan-matrix th:nth-child(3), body.as-v2 .as-plan-matrix td:nth-child(3) { background: rgba(255, 79, 154, 0.07) !important; }

/* Features hero: big glowing brand tile with orbit rings */
.v2-markhero { position: relative; min-height: 22rem; display: grid; place-items: center; isolation: isolate; }
.v2-markhero .v2-aura { inset: 12%; }
.v2-markhero-tile {
  width: 13.5rem; height: 13.5rem; border-radius: 3.4rem;
  box-shadow: 0 40px 80px -30px rgba(214, 51, 108, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.12);
  animation: v2-float 7s ease-in-out infinite;
}
.v2-markhero-tile img { width: 100%; height: 100%; display: block; }
.v2-orbit {
  position: absolute; border-radius: 50%;
  border: 1.5px dashed rgba(255, 255, 255, 0.18);
  width: 19rem; height: 19rem; animation: v2-spin 40s linear infinite; z-index: -1;
}
.v2-orbit::after {
  content: ""; position: absolute; top: 50%; left: -6px; width: 12px; height: 12px; border-radius: 50%;
  background: #5eead4; box-shadow: 0 0 14px #5eead4;
}
.v2-orbit--2 { width: 25rem; height: 25rem; animation-duration: 60s; animation-direction: reverse; border-color: rgba(255, 255, 255, 0.09); }
.v2-orbit--2::after { background: #ff7a59; box-shadow: 0 0 14px #ff7a59; top: 12%; left: 14%; }
@media (max-width: 900px) {
  .v2-markhero { min-height: 15rem; order: 2; }
  .v2-markhero-tile { width: 8.5rem; height: 8.5rem; border-radius: 2.2rem; }
  .v2-orbit { width: 12.5rem; height: 12.5rem; }
  .v2-orbit--2 { width: 16.5rem; height: 16.5rem; }
}
