:root {
  --ink: #08152f;
  --ink-2: #111b36;
  --muted: #66728f;
  --muted-2: #8791aa;
  --blue: #2f73ff;
  --blue-2: #5790ff;
  --blue-soft: #edf4ff;
  --cloud: #f7f9fd;
  --surface: rgba(255, 255, 255, .88);
  --hairline: #e3e9f4;
  --hairline-2: #d5ddec;
  --shadow: 0 20px 54px rgba(42, 75, 145, .10);
  --shadow-soft: 0 10px 30px rgba(42, 75, 145, .075);
  --radius: 24px;
  --page: 1540px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
::selection { background: #dce9ff; color: #07152f; }

.page { min-height: 70vh; }
.container { width: min(var(--page), calc(100% - 96px)); margin-inline: auto; }
.blue { color: var(--blue); }

/* Browser-like chrome */
.site-chrome {
  height: 80px;
  border-bottom: 1px solid var(--hairline);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 50;
}
.chrome-inner {
  height: 100%;
  width: calc(100% - 72px);
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.traffic { display: flex; gap: 10px; align-items: center; min-width: 190px; }
.traffic span { width: 17px; height: 17px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); }
.traffic .red { background: #ff4d4f; }
.traffic .yellow { background: #ffbd2e; }
.traffic .green { background: #28c840; }
.brand-home {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-weight: 790;
  letter-spacing: .14em;
  font-size: 20px;
  color: #0d1730;
  white-space: nowrap;
}
.brand-mark { width: 30px; height: 30px; object-fit: contain; }
.brand-word-text { line-height: 1; }
.chrome-actions { display: flex; gap: 12px; align-items: center; justify-content: flex-end; min-width: 290px; }
.chrome-link, .session-link {
  padding: 11px 15px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 650;
  color: #263450;
  transition: background .18s ease, transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.chrome-link:hover, .session-link:hover { background: #f5f8fd; transform: translateY(-1px); }
.chrome-link.outline { border: 1px solid var(--hairline-2); background: #fff; box-shadow: 0 2px 7px rgba(28,58,120,.03); }
.session-welcome { font-size: 14px; color: #6a7690; white-space: nowrap; }
.session-welcome strong { color: var(--blue); font-weight: 720; }
.session-logout { border: 0; background: transparent; cursor: pointer; padding-inline: 6px; font-size: 13px; color: #8190aa; }
.session-logout:hover { color: var(--blue); }

/* Hero */
.hero {
  min-height: 770px;
  padding: 76px 0 40px;
  background:
    radial-gradient(760px 440px at 72% 40%, rgba(92,139,255,.08), transparent 70%),
    linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.hero-grid {
  display: grid;
  grid-template-columns: .9fr 1.55fr;
  gap: 64px;
  align-items: center;
}
.hero-copy { padding-left: 105px; }
.eyebrow {
  margin: 0 0 28px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 780;
  letter-spacing: .085em;
  text-transform: uppercase;
}
.eyebrow .bolt { margin-right: 12px; }
h1, h2, h3, p { margin-top: 0; }
.hero h1 {
  font-size: clamp(64px, 5.6vw, 88px);
  line-height: .97;
  letter-spacing: -.055em;
  margin-bottom: 34px;
  max-width: 520px;
  font-weight: 790;
}
.hero h1 .lighter {
  color: var(--blue);
  display: inline-block;
  background: linear-gradient(180deg, #2f73ff 12%, #275de8 105%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero .lead { max-width: 560px; font-size: 20px; line-height: 1.65; color: #596887; margin-bottom: 40px; }
.cta-row { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.button {
  min-height: 54px;
  padding: 0 26px;
  border-radius: 12px;
  border: 1px solid var(--hairline-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  background: rgba(255,255,255,.92);
  font-size: 16px;
  font-weight: 680;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform .18s cubic-bezier(.2,.75,.2,1), box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.35) 48%, transparent 68%);
  transform: translateX(-120%);
  transition: transform .55s ease;
  pointer-events: none;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 13px 26px rgba(50,83,150,.10); border-color: #c7d4ec; }
.button:hover::after { transform: translateX(120%); }
.button:active { transform: translateY(0) scale(.985); }
.button-primary { background: linear-gradient(180deg, #3d7fff 0%, #2067ef 100%); color: #fff; border-color: #2d72fa; box-shadow: 0 12px 24px rgba(47,115,255,.22); }
.button-primary:hover { box-shadow: 0 17px 34px rgba(47,115,255,.28); border-color: #2d72fa; }
.button-arrow { font-size: 22px; font-weight: 400; transition: transform .18s ease; }
.button:hover .button-arrow { transform: translateX(3px); }

.product-stage { perspective: 1200px; padding-right: 45px; }
.product-card {
  background: rgba(255,255,255,.78);
  border: 1px solid #dce6f7;
  border-radius: 19px;
  padding: 12px;
  box-shadow: 0 24px 64px rgba(60,98,165,.12);
  transform-style: preserve-3d;
  transition: transform .18s ease-out, box-shadow .28s ease;
  will-change: transform;
}
.product-card:hover { box-shadow: 0 32px 76px rgba(58,98,180,.16); }
.product-card img { width: 100%; border-radius: 13px; }
.product-glint { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: radial-gradient(320px circle at var(--mx,50%) var(--my,50%), rgba(93,140,255,.13), transparent 60%); opacity: 0; transition: opacity .22s ease; }
.product-card:hover .product-glint { opacity: 1; }

.hero-features { margin-top: 38px; padding: 0 105px; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.feature-card {
  min-height: 132px;
  border: 1px solid var(--hairline);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 28px 30px;
  box-shadow: 0 8px 24px rgba(50,81,145,.035);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.feature-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-soft); border-color: #d2def2; }
.feature-icon { width: 64px; height: 64px; border-radius: 15px; display: grid; place-items: center; background: #f0f5ff; color: var(--blue); flex: 0 0 auto; }
.feature-icon.amber { color: #f5a80d; background: #fff6e1; }
.feature-icon.green { color: #23a951; background: #edf9f1; }
.feature-card strong { font-size: 16px; display: block; margin-bottom: 8px; }
.feature-card p { margin: 0; color: #78849e; line-height: 1.45; font-size: 14px; }

/* Home scroll sections */
.scroll-section { padding: 86px 0 96px; position: relative; }
.scroll-section.soft { background: linear-gradient(180deg,#fff,#fbfdff); }
.story-grid { display: grid; grid-template-columns: 1fr 1.06fr; gap: 88px; align-items: center; }
.story-copy { padding-left: 50px; }
.story-copy h2, .evidence-copy h2, .savings-copy h2 {
  font-size: clamp(52px, 4.4vw, 74px);
  line-height: 1.04;
  letter-spacing: -.055em;
  font-weight: 790;
  margin-bottom: 26px;
}
.story-copy .lead { font-size: 18px; line-height: 1.65; color: #65718d; max-width: 680px; }
.system-list { margin-top: 24px; border-top: 1px solid var(--hairline); }
.system-row { display: grid; grid-template-columns: 245px 1fr; gap: 24px; padding: 14px 14px; border-bottom: 1px solid var(--hairline); align-items: center; }
.system-name { display: flex; align-items: center; gap: 16px; font-weight: 690; }
.row-icon { width: 38px; height: 38px; border-radius: 10px; background: #f1f5fb; color: var(--blue); display: grid; place-items: center; }
.system-row > span:last-child { color: #66728e; font-size: 14px; line-height: 1.45; border-left: 1px solid var(--hairline); padding-left: 30px; }

.zev-info-card {
  min-height: 720px;
  border-radius: 38px;
  border: 1px solid #e1e8f4;
  background: radial-gradient(520px 400px at 85% 70%, rgba(79,128,255,.075), transparent 72%), #fff;
  box-shadow: 0 20px 55px rgba(46,78,140,.06);
  padding: 64px 48px;
  overflow: hidden;
  position: relative;
}
.zev-info-card h3 { font-size: 50px; line-height: 1.02; letter-spacing: -.05em; max-width: 460px; margin-bottom: 22px; }
.zev-info-card > p { color: #6d7994; line-height: 1.6; max-width: 460px; font-size: 16px; }
.zev-proof-list { display: grid; gap: 28px; margin-top: 58px; width: 56%; }
.zev-proof-item { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; }
.zev-proof-icon { width: 48px; height: 48px; border-radius: 50%; background: #f0f5ff; color: var(--blue); display: grid; place-items: center; border: 1px solid #e1eafe; }
.zev-proof-item strong { color: #2455ac; display: block; margin: 1px 0 6px; }
.zev-proof-item > div > span { font-size: 13px; line-height: 1.55; color: #687592; }
.zev-picture { position: absolute; right: 22px; bottom: 60px; width: 42%; border-radius: 50%; mix-blend-mode: multiply; transform: translate3d(0,0,0); transition: transform .28s ease; }
.zev-info-card:hover .zev-picture { transform: translateY(-6px) rotate(1deg); }
.zev-orbits { position: absolute; width: 500px; height: 500px; right: -25px; top: 80px; border-radius: 50%; border: 1px solid #e7eefc; pointer-events: none; }
.zev-orbits::before, .zev-orbits::after { content:""; position:absolute; inset: 50px; border:1px solid #e7eefc; border-radius:50%; }
.zev-orbits::after { inset: 102px; }

.evidence-section { background: linear-gradient(180deg,#fbfcff 0,#f8faff 100%); border-top: 1px solid #f1f4fa; border-bottom: 1px solid #f2f4f8; min-height: 805px; display: flex; align-items: center; }
.evidence-copy { padding: 0 26px; }
.evidence-copy .lead { max-width: 880px; font-size: 20px; line-height: 1.75; color: #6a748b; }
.rail-wrap { margin-top: 94px; position: relative; }
.rail-line { position: absolute; left: 22px; right: 22px; top: 16px; height: 1px; background: #b9cffb; transform-origin: left; transform: scaleX(0); transition: transform 1.1s cubic-bezier(.2,.8,.2,1); }
.is-visible .rail-line { transform: scaleX(1); }
.rail { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6,1fr); gap: 26px; position: relative; }
.rail li { min-width: 0; }
.rail-dot { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #bcd2ff; background: #fff; display: block; margin-bottom: 28px; box-shadow: 0 3px 10px rgba(47,115,255,.12); position: relative; }
.rail-dot::after { content:""; position:absolute; width:14px; height:14px; border-radius:50%; background: var(--blue-2); top:9px; left:9px; box-shadow:0 0 0 5px #f1f6ff; }
.rail li strong { display:block; font-size:22px; margin-bottom:18px; letter-spacing:-.02em; }
.rail li > span:last-child { color:#717b91; line-height:1.6; font-size:16px; max-width:180px; display:block; }

.savings-section { min-height: 800px; display:flex; align-items:center; background: radial-gradient(680px 410px at 51% 68%, rgba(68,125,255,.075), transparent 72%); }
.savings-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:88px; align-items:center; padding: 0 42px; }
.savings-copy .eyebrow { display:flex; align-items:center; gap:14px; }
.savings-copy .lead { max-width:650px; font-size:20px; line-height:1.68; color:#6b7590; }
.savings-panel { border:1px solid #dfe6f3; border-radius:36px; background:rgba(255,255,255,.92); box-shadow:0 24px 60px rgba(54,87,150,.08); padding:50px 44px 38px; }
.savings-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:48px; }
.savings-head strong { font-size:24px; }
.savings-head code { font:500 16px/1.2 inherit; background:#f5f7fb; color:#66718b; border-radius:18px; padding:10px 16px; }
.bar-row { margin-bottom:34px; }
.bar-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#65718c; font-size:17px; margin-bottom:12px; }
.bar-meta strong { color:#0e1933; }
.bar { height:12px; background:#f2f4f8; border-radius:999px; overflow:hidden; }
.bar span { display:block; height:100%; background:#c9cdd7; border-radius:999px; transform-origin:left; transform:scaleX(0); transition:transform 1s ease .15s; }
.is-visible .bar span { transform:scaleX(1); }
.bar span.bluebar { background:linear-gradient(90deg,#3677ff,#4e8cff); }
.quality-gate { border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); padding:28px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gate { border:1px solid #dde6f7; border-radius:18px; padding:20px; background:#fbfdff; min-height:98px; transition:transform .2s ease,border-color .2s ease; }
.gate:hover { transform:translateY(-3px); border-color:#c9d9f8; }
.gate b { display:block; font-size:17px; margin-bottom:8px; }
.gate span { color:#74809a; font-size:14px; }
.delta { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-top:30px; color:#69758e; }
.delta strong { color:var(--blue); font-size:56px; line-height:1; letter-spacing:-.05em; }

.footer { border-top:1px solid var(--hairline); padding:28px 0; background:#fff; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:13px; color:#75819a; }
.footer-links { display:flex; gap:36px; }
.footer-links a:hover { color:var(--blue); }

/* Pricing */
.pricing-main { min-height: calc(100vh - 80px); padding: 38px 0 64px; background: linear-gradient(180deg,#fff 0,#fbfdff 100%); }
.pricing-intro { padding-left: 16px; }
.pricing-intro .eyebrow { margin-bottom: 22px; }
.pricing-intro h1 { font-size: clamp(56px, 5.4vw, 82px); line-height:1.03; letter-spacing:-.055em; max-width:670px; margin-bottom:24px; }
.pricing-intro .lead { font-size:16px; line-height:1.65; color:#707b93; max-width:670px; }
.pricing-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:34px; }
.price-card { min-height:510px; padding:27px 22px 22px; border:1px solid var(--hairline); border-radius:18px; background:rgba(255,255,255,.92); box-shadow:0 8px 24px rgba(46,78,140,.035); display:flex; flex-direction:column; position:relative; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.price-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-soft); border-color:#d0dbef; }
.price-card.featured { border-color:#7ca4ff; box-shadow:0 12px 30px rgba(47,115,255,.10); }
.popular { position:absolute; top:15px; right:16px; background:#eef4ff; color:#2c6cf0; border-radius:14px; padding:7px 11px; font-size:11px; font-weight:760; letter-spacing:.04em; }
.price-name { font-weight:720; margin-bottom:23px; }
.price { font-size:46px; line-height:1; letter-spacing:-.04em; margin-bottom:8px; font-weight:650; }
.price-note { color:#7b869d; font-size:13px; }
.price-credit { color:var(--blue); font-weight:660; font-size:13px; margin:24px 0 22px; }
.price-features { list-style:none; margin:0 0 28px; padding:20px 0 0; border-top:1px solid var(--hairline); display:grid; gap:15px; color:#5d6982; font-size:13px; line-height:1.3; }
.price-features li { position:relative; padding-left:22px; }
.price-features li::before { content:""; position:absolute; left:0; top:2px; width:14px; height:14px; border-radius:50%; background:var(--blue); box-shadow:0 2px 6px rgba(47,115,255,.18); }
.price-features li::after { content:""; position:absolute; left:4.6px; top:4px; width:3.6px; height:6.8px; border:solid #fff; border-width:0 1.6px 1.6px 0; transform:rotate(45deg); }
.price-card .button { width:100%; margin-top:auto; min-height:48px; }
.pricing-note { margin-top:28px; color:#6e7991; font-size:13px; line-height:1.55; max-width:700px; }

/* Auth pages */
.auth-body { background:#fff; min-height:100vh; }
.auth-page { min-height:100vh; background:linear-gradient(135deg,#fbfdff,#f7faff); padding:32px 30px 52px; }
.auth-shell { width:min(1500px,100%); min-height:860px; margin:0 auto; background:#fff; border:1px solid #e4eaf4; border-radius:28px; overflow:hidden; box-shadow:0 24px 62px rgba(62,92,150,.09); position:relative; }
.auth-topbar { height:72px; border-bottom:1px solid #e8edf6; display:flex; align-items:center; justify-content:space-between; padding:0 50px; background:rgba(255,255,255,.94); }
.auth-brand { display:flex; align-items:center; gap:13px; font-weight:790; font-size:21px; letter-spacing:.11em; }
.auth-brand img { width:34px; height:34px; object-fit:contain; }
.auth-topbar .hint { color:#72809c; font-size:14px; }
.auth-topbar .hint a { color:#175fdc; font-weight:670; }
.auth-columns { min-height:calc(860px - 72px); display:grid; grid-template-columns:1fr 1fr; }
.login-columns { grid-template-columns: 1fr 1fr; }
.login-form-side { padding:52px 70px 36px; display:flex; align-items:center; justify-content:center; }
.login-card { width:min(640px,100%); border:1px solid #e4e9f3; border-radius:28px; padding:48px 62px 40px; box-shadow:0 16px 40px rgba(64,92,145,.06); background:#fff; }
.login-card h1 { text-align:center; font-size:62px; letter-spacing:-.055em; line-height:1; margin-bottom:42px; }
.login-card h1 .dot { color:var(--blue); }
.auth-form { display:grid; gap:21px; }
.field { display:grid; gap:9px; }
.field label { font-weight:650; font-size:15px; }
.input-wrap { position:relative; }
.field input { width:100%; height:58px; border:1px solid #d7dfed; border-radius:11px; padding:0 48px 0 50px; color:#14203b; outline:0; background:#fff; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.field input::placeholder { color:#a7b3ca; }
.field input:focus { border-color:#7ca4ff; box-shadow:0 0 0 4px rgba(58,123,255,.09); }
.field-icon { position:absolute; left:17px; top:50%; transform:translateY(-50%); width:20px; height:20px; color:#8294bb; pointer-events:none; }
.eye-button { position:absolute; right:14px; top:50%; transform:translateY(-50%); border:0; background:transparent; cursor:pointer; width:32px; height:32px; display:grid; place-items:center; color:#8294bb; border-radius:8px; }
.eye-button:hover { background:#f4f7fb; color:var(--blue); }
.form-row { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; color:#53617b; }
.remember { display:flex; align-items:center; gap:9px; }
.remember input { accent-color:var(--blue); width:18px; height:18px; }
.form-link { color:#0f6aff; }
.auth-submit { width:100%; height:58px; border:0; border-radius:10px; background:linear-gradient(180deg,#3f82ff,#286df2); color:#fff; font-weight:680; font-size:16px; cursor:pointer; box-shadow:0 13px 25px rgba(46,113,246,.17); transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; position:relative; overflow:hidden; }
.auth-submit:hover { transform:translateY(-2px); box-shadow:0 17px 32px rgba(46,113,246,.24); filter:saturate(1.04); }
.auth-submit:active { transform:translateY(0) scale(.988); }
.auth-submit:disabled { opacity:.58; cursor:not-allowed; transform:none; }
.auth-divider { display:flex; align-items:center; gap:18px; color:#7d889f; font-size:13px; margin:2px 0; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; background:#e0e6f0; flex:1; }
.oauth-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.login-card .oauth-grid { grid-template-columns:1fr; }
.oauth-button { height:58px; border:1px solid #dbe2ee; background:#fff; border-radius:10px; display:flex; align-items:center; justify-content:center; gap:14px; font-weight:650; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.oauth-button:hover { transform:translateY(-2px); border-color:#c9d6eb; box-shadow:0 11px 22px rgba(48,78,136,.07); }
.oauth-logo { width:22px; height:22px; display:block; }
.auth-meta { text-align:center; color:#7b86a0; font-size:13px; margin:4px 0 0; }
.auth-meta a { color:#1267f5; margin-left:7px; }
.auth-note { min-height:20px; font-size:12px; text-align:center; color:#7d889f; margin-top:-2px; }
.auth-note.error { color:#c33a42; }
.auth-note.success { color:#168e49; }
.login-art-side { position:relative; overflow:hidden; background:#eef5ff; }
.login-art-side img { width:100%; height:100%; object-fit:cover; transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.login-art-side:hover img { transform:scale(1.012) translateY(-3px); }
.auth-footer { width:min(1500px,100%); margin:23px auto 0; display:flex; justify-content:center; gap:26px; align-items:center; color:#7c879d; font-size:12px; }
.auth-footer a { color:#5e7ab8; }

/* Signup */
.signup-columns { grid-template-columns:.46fr .54fr; }
.signup-story { padding:68px 70px; background: radial-gradient(520px 540px at 72% 62%, rgba(80,133,255,.11), transparent 68%), linear-gradient(180deg,#fff,#f4f8ff); position:relative; overflow:hidden; }
.signup-story h1 { font-size:54px; line-height:1.05; letter-spacing:-.055em; max-width:520px; margin-bottom:20px; }
.signup-story h1 .grad { background:linear-gradient(90deg,#2f8cff,#7f4aff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.signup-story .lead { color:#61708f; line-height:1.55; font-size:18px; max-width:480px; }
.signup-benefits { display:grid; gap:18px; margin-top:32px; max-width:430px; }
.signup-benefit { display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:center; padding-bottom:14px; border-bottom:1px solid rgba(224,231,243,.8); }
.signup-benefit .mini-icon { width:48px; height:48px; border-radius:13px; background:#edf3ff; color:var(--blue); display:grid; place-items:center; }
.signup-benefit strong { display:block; margin-bottom:4px; }
.signup-benefit span { color:#65728e; font-size:13px; }
.cube { position:absolute; width:34px; height:34px; border-radius:8px; background:linear-gradient(135deg,#f8fbff,#87aaff); opacity:.6; transform:rotate(30deg) skew(-6deg,-6deg); box-shadow:0 14px 26px rgba(61,111,222,.12); }
.cube.c1 { left:90px; bottom:145px; width:52px; height:52px; }
.cube.c2 { right:88px; top:330px; }
.cube.c3 { left:160px; bottom:285px; width:28px; height:28px; opacity:.38; }
.signup-form-side { padding:58px 68px; display:flex; align-items:flex-start; justify-content:center; }
.signup-form-wrap { width:min(690px,100%); }
.signup-title { text-align:center; margin-bottom:40px; }
.signup-title h2 { font-size:47px; letter-spacing:-.045em; margin-bottom:9px; }
.signup-title p { color:#61719a; font-size:16px; }
.form-two { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.signup-terms { display:flex; gap:12px; color:#667594; font-size:12px; line-height:1.5; margin-top:10px; }
.signup-terms a { color:#125fdc; }

/* Account / generic */
.simple-main { min-height:calc(100vh - 80px); padding:80px 0; background:linear-gradient(180deg,#fff,#f8fbff); }
.simple-title { font-size:64px; line-height:1; letter-spacing:-.05em; max-width:900px; }
.simple-lead { color:#687691; font-size:18px; line-height:1.65; max-width:840px; }
.account-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:42px 0; }
.account-panel { border:1px solid var(--hairline); border-radius:20px; padding:28px; background:#fff; }
.account-panel .label { font-size:12px; color:#8691a7; text-transform:uppercase; letter-spacing:.08em; margin-bottom:18px; }
.account-panel .big { font-size:28px; font-weight:720; overflow-wrap:anywhere; }
.account-panel p { color:#758098; font-size:13px; line-height:1.5; margin:14px 0 0; }

/* Reusable motion */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.08s; }
.reveal-delay-2 { transition-delay:.16s; }
.reveal-delay-3 { transition-delay:.24s; }

@media (max-width: 1280px) {
  .container { width:min(1180px,calc(100% - 56px)); }
  .hero-copy { padding-left:30px; }
  .hero-features { padding:0 30px; }
  .hero-grid { grid-template-columns: .92fr 1.38fr; gap:38px; }
  .story-grid { gap:52px; }
  .story-copy { padding-left:20px; }
  .zev-info-card { min-height:650px; }
  .signup-story { padding:58px 48px; }
  .signup-form-side { padding:48px; }
}

@media (max-width: 980px) {
  .site-chrome { position:relative; }
  .chrome-inner { width:calc(100% - 36px); }
  .traffic { min-width:auto; }
  .brand-home { position:static; transform:none; }
  .chrome-actions { min-width:auto; }
  .session-welcome, .session-logout { display:none !important; }
  .hero { padding-top:54px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { padding:0 12px; text-align:center; }
  .hero-copy .lead { margin-inline:auto; }
  .hero .cta-row { justify-content:center; }
  .product-stage { padding:0; width:min(820px,100%); margin-inline:auto; }
  .hero-features { padding:0; grid-template-columns:1fr; }
  .story-grid, .savings-grid { grid-template-columns:1fr; }
  .story-copy { padding:0; }
  .rail { grid-template-columns:repeat(3,1fr); row-gap:58px; }
  .rail-line { display:none; }
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
  .auth-shell { min-height:auto; }
  .auth-columns, .login-columns, .signup-columns { grid-template-columns:1fr; }
  .login-art-side { min-height:620px; order:-1; }
  .signup-story { min-height:620px; }
  .signup-form-side { padding:54px 48px; }
  .auth-topbar { padding:0 28px; }
  .account-grid { grid-template-columns:1fr; }
}

@media (max-width: 680px) {
  .container { width:calc(100% - 32px); }
  .site-chrome { height:70px; }
  .traffic { display:none; }
  .brand-home { font-size:16px; letter-spacing:.09em; }
  .brand-mark { width:26px; height:26px; }
  .chrome-link:not(.outline) { display:none; }
  .chrome-actions { gap:6px; }
  .hero { min-height:auto; padding:50px 0 30px; }
  .hero h1 { font-size:58px; }
  .hero .lead { font-size:17px; }
  .button { width:100%; }
  .feature-card { min-height:110px; padding:20px; }
  .scroll-section { padding:64px 0; }
  .story-copy h2, .evidence-copy h2, .savings-copy h2 { font-size:48px; }
  .system-row { grid-template-columns:1fr; gap:8px; }
  .system-row > span:last-child { border-left:0; padding-left:54px; }
  .zev-info-card { min-height:760px; padding:40px 28px; }
  .zev-info-card h3 { font-size:42px; }
  .zev-proof-list { width:100%; margin-top:32px; }
  .zev-picture { width:58%; bottom:24px; right:12px; }
  .zev-orbits { display:none; }
  .rail { grid-template-columns:repeat(2,1fr); }
  .savings-grid { padding:0; gap:44px; }
  .savings-panel { padding:30px 20px; border-radius:24px; }
  .savings-head { align-items:flex-start; flex-direction:column; margin-bottom:34px; }
  .quality-gate { grid-template-columns:1fr; }
  .delta strong { font-size:46px; }
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-intro h1 { font-size:54px; }
  .auth-page { padding:0; background:#fff; }
  .auth-shell { border-radius:0; border-left:0; border-right:0; }
  .auth-topbar { padding:0 20px; }
  .auth-topbar .hint { font-size:12px; }
  .login-form-side { padding:34px 18px; }
  .login-card { padding:38px 24px 32px; border-radius:22px; }
  .login-card h1 { font-size:52px; }
  .login-art-side { min-height:430px; }
  .signup-story { padding:48px 28px; min-height:570px; }
  .signup-story h1 { font-size:47px; }
  .signup-form-side { padding:44px 22px; }
  .signup-title h2 { font-size:39px; }
  .form-two { grid-template-columns:1fr; }
  .auth-footer { padding:0 20px 22px; flex-wrap:wrap; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
  .footer-links { flex-wrap:wrap; gap:18px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  .rail-line, .bar span { transform:none !important; }
}

/* =========================================================
   V3 POLISH — reference-faithful auth + premium micro-motion
   ========================================================= */

/* Icon normalization: never depend on platform glyph rendering. */
.eyebrow-icon,
.hero-bolt,
.verified-icon {
  display:inline-grid;
  place-items:center;
  vertical-align:middle;
  color:var(--blue);
  flex:0 0 auto;
}
.eyebrow-icon { width:20px; height:20px; margin-right:10px; }
.hero-bolt { width:.72em; height:.72em; margin-left:.08em; transform:translateY(.02em); }
.verified-icon { width:25px; height:25px; }
.eyebrow-icon svg,.hero-bolt svg,.verified-icon svg { width:100%; height:100%; fill:currentColor; }
.feature-icon svg { width:31px; height:31px; }
.row-icon svg,.zev-proof-icon svg,.gate-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Home section icon and card correction. */
.system-row {
  border-radius:12px;
  transition:background .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s ease;
}
.system-row:hover { background:#fbfdff; transform:translateX(3px); }
.row-icon {
  border:1px solid #e5ebf6;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), background .22s ease, color .22s ease, box-shadow .22s ease;
}
.system-row:hover .row-icon { transform:translateY(-1px) rotate(-2deg); background:#eaf2ff; box-shadow:0 7px 16px rgba(47,115,255,.10); }
.zev-proof-icon { overflow:hidden; }
.zev-proof-icon svg { width:23px; height:23px; }
.zev-proof-item { transition:transform .24s cubic-bezier(.2,.8,.2,1); }
.zev-proof-item:hover { transform:translateX(4px); }
.zev-proof-item:hover .zev-proof-icon { background:#e9f1ff; border-color:#cadcff; }
.zev-picture {
  transform:translate3d(var(--zev-x,0),var(--zev-y,0),0);
  transition:transform .26s cubic-bezier(.2,.8,.2,1);
}
.zev-info-card:hover .zev-picture { transform:translate3d(var(--zev-x,0),calc(var(--zev-y,0) - 5px),0) rotate(.7deg); }
.zev-orbits {
  transform:translate3d(var(--orbit-x,0),var(--orbit-y,0),0);
  transition:transform .34s cubic-bezier(.2,.8,.2,1);
  animation:zevOrbitBreath 7s ease-in-out infinite;
}
.gate { display:grid; grid-template-columns:44px 1fr; gap:12px; align-items:center; }
.gate-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:var(--blue); background:#eef4ff; border:1px solid #e0e9fa; }
.gate b { margin-bottom:5px; }

/* Better scroll entrance choreography. */
.motion-item {
  opacity:0;
  transform:translate3d(0,13px,0) scale(.994);
  transition:
    opacity .58s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms),
    transform .58s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms),
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}
.motion-item.motion-visible { opacity:1; transform:translate3d(0,0,0) scale(1); }
.is-visible .rail li:nth-child(1) .rail-dot { animation:railDotIn .55s cubic-bezier(.17,.9,.32,1.25) .14s both; }
.is-visible .rail li:nth-child(2) .rail-dot { animation:railDotIn .55s cubic-bezier(.17,.9,.32,1.25) .24s both; }
.is-visible .rail li:nth-child(3) .rail-dot { animation:railDotIn .55s cubic-bezier(.17,.9,.32,1.25) .34s both; }
.is-visible .rail li:nth-child(4) .rail-dot { animation:railDotIn .55s cubic-bezier(.17,.9,.32,1.25) .44s both; }
.is-visible .rail li:nth-child(5) .rail-dot { animation:railDotIn .55s cubic-bezier(.17,.9,.32,1.25) .54s both; }
.is-visible .rail li:nth-child(6) .rail-dot { animation:railDotIn .55s cubic-bezier(.17,.9,.32,1.25) .64s both; }

/* Product screenshot interaction: smoother and less "tilty". */
.product-card {
  transition:box-shadow .32s ease, border-color .32s ease;
  transform-origin:50% 50%;
}
.product-stage:hover .product-card { border-color:#cfdef5; box-shadow:0 34px 82px rgba(58,98,180,.155); }
.product-glint { opacity:.18; mix-blend-mode:multiply; }
.product-card:hover .product-glint { opacity:.6; }

/* Auth page layout intentionally tracks the supplied reference more closely. */
.auth-page {
  background:linear-gradient(145deg,#ffffff 0%,#fbfdff 46%,#f6f9ff 100%);
  padding:18px 18px 46px;
}
.auth-shell {
  width:min(1540px,100%);
  border-radius:24px;
  border-color:#e6ebf4;
  box-shadow:0 22px 60px rgba(54,84,145,.08);
}
.auth-login-shell,
.auth-signup-shell {
  min-height:800px;
  position:relative;
  overflow:hidden;
}
.auth-floating-brand {
  position:absolute;
  left:42px;
  top:31px;
  z-index:8;
  display:flex;
  align-items:center;
  gap:13px;
  font-size:21px;
  font-weight:800;
  letter-spacing:.115em;
  color:#0b1834;
  transition:transform .2s ease, opacity .2s ease;
}
.auth-floating-brand:hover { transform:translateY(-1px); }
.auth-floating-brand img { width:36px; height:36px; object-fit:contain; }
.auth-switch {
  position:absolute;
  top:36px;
  right:43px;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  color:#73809a;
  font-size:13px;
  white-space:nowrap;
}
.auth-switch a { color:#0d61e8; font-weight:700; position:relative; }
.auth-switch a::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:-3px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
}
.auth-switch a:hover::after { transform:scaleX(1); transform-origin:left; }

.auth-login-shell .login-columns {
  min-height:800px;
  grid-template-columns:1fr 1fr;
}
.auth-login-shell .login-form-side {
  padding:94px 54px 38px;
  background:#fff;
}
.login-card {
  width:min(575px,100%);
  padding:48px 56px 36px;
  border-radius:26px;
  border:1px solid #e0e7f2;
  box-shadow:0 16px 42px rgba(50,83,145,.055);
  background:rgba(255,255,255,.975);
  position:relative;
  overflow:hidden;
}
.login-card::before,
.signup-form-wrap::before {
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border-radius:inherit;
  background:radial-gradient(420px circle at var(--px,50%) var(--py,50%),rgba(91,141,255,.055),transparent 58%);
  opacity:0;
  transition:opacity .25s ease;
}
.login-card:hover::before,.signup-form-wrap:hover::before { opacity:1; }
.login-heading { text-align:center; margin-bottom:36px; position:relative; z-index:1; }
.auth-login-shell .auth-kicker,
.auth-login-shell .login-heading > p:last-child { display:none; }
.login-card h1 {
  font-size:58px;
  line-height:1;
  letter-spacing:-.055em;
  margin:0;
  font-weight:760;
}
.login-card h1 .dot { color:var(--blue); }
.auth-form { position:relative; z-index:1; gap:18px; }
.field { gap:8px; }
.field label { font-size:14px; color:#111d39; font-weight:680; }
.field input {
  height:57px;
  border-radius:11px;
  border-color:#d6dfed;
  background:rgba(255,255,255,.98);
  color:#12203c;
  font-size:14px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}
.field input:hover { border-color:#c6d3e7; background:#fcfdff; }
.field input:focus { border-color:#6e9cff; box-shadow:0 0 0 4px rgba(47,115,255,.085),0 9px 22px rgba(52,90,160,.05); }
.input-wrap.is-focused .field-icon { color:#2f73ff; transform:translateY(-50%) scale(1.04); }
.field-icon { transition:color .2s ease, transform .2s ease; }
.eye-button {
  right:12px;
  width:36px;
  height:36px;
  color:#7f92b9;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.eye-button:hover { transform:translateY(-50%) scale(1.05); }
.eye-button:active { transform:translateY(-50%) scale(.96); }
.eye-button svg { width:19px; height:19px; position:absolute; transition:opacity .16s ease, transform .16s ease; }
.eye-button .eye-open { opacity:1; transform:scale(1); }
.eye-button .eye-closed { opacity:0; transform:scale(.84); }
.eye-button.is-visible .eye-open { opacity:0; transform:scale(.84); }
.eye-button.is-visible .eye-closed { opacity:1; transform:scale(1); }
.form-row { margin-top:-1px; }
.remember { gap:8px; cursor:pointer; user-select:none; }
.remember input { width:17px; height:17px; }
.form-link { font-weight:550; transition:color .18s ease; }
.form-link:hover { color:#004fcf; }
.auth-submit {
  height:57px;
  border-radius:10px;
  background:linear-gradient(180deg,#4384ff 0%,#2f73ff 100%);
  box-shadow:0 12px 27px rgba(47,115,255,.19);
  isolation:isolate;
}
.auth-submit::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.20) 45%,transparent 68%);
  transform:translateX(-125%);
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.auth-submit:hover::before { transform:translateX(125%); }
.auth-submit:hover { transform:translateY(-2px); box-shadow:0 17px 34px rgba(47,115,255,.255); }
.auth-submit:disabled { opacity:.86; filter:saturate(.82); box-shadow:0 9px 19px rgba(47,115,255,.14); }
.oauth-grid { gap:13px; }
.login-card .oauth-grid { grid-template-columns:1fr; }
.oauth-button {
  height:56px;
  border-radius:10px;
  gap:12px;
  background:rgba(255,255,255,.98);
  border-color:#d9e2ef;
  isolation:isolate;
  position:relative;
  overflow:hidden;
}
.oauth-button:hover { transform:translateY(-2px); border-color:#bfd0eb; box-shadow:0 12px 25px rgba(48,78,136,.075); }
.oauth-button:active { transform:translateY(0) scale(.992); }
.oauth-button:disabled { opacity:.78; cursor:not-allowed; transform:none; }
.auth-divider { margin:1px 0; }
.auth-meta {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
  margin:0;
}
.auth-meta a { margin-left:0; font-weight:650; }
.auth-note { min-height:18px; font-size:11px; margin-top:-1px; }
.auth-note.preview { color:#758198; }
.auth-note.error { color:#bd3945; }

.login-art-side {
  background:#eef5ff;
  position:relative;
  min-height:800px;
  overflow:hidden;
  isolation:isolate;
}
.login-art-side::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 18%,transparent 80%,rgba(255,255,255,.08));
}
.login-art-side img {
  width:100%;
  height:100%;
  object-fit:cover;
  will-change:transform;
  transition:none;
}
.auth-art-light {
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  opacity:.75;
  background:radial-gradient(360px circle at var(--art-x,50%) var(--art-y,46%),rgba(255,255,255,.19),transparent 70%);
  mix-blend-mode:screen;
}

.auth-footer {
  width:min(1540px,100%);
  margin:17px auto 0;
  gap:20px;
  font-size:12px;
}
.footer-sep { width:1px; height:15px; background:#cbd4e2; display:inline-block; }

/* Signup: same visual system, more faithful to supplied composition. */
.auth-signup-shell .signup-columns { min-height:800px; grid-template-columns:.46fr .54fr; }
.auth-signup-shell .signup-story {
  min-height:800px;
  padding:116px 72px 64px;
  background:
    radial-gradient(520px 480px at 68% 66%,rgba(72,126,255,.12),transparent 70%),
    linear-gradient(180deg,#fff 0%,#f4f8ff 100%);
}
.signup-story-inner { position:relative; z-index:2; }
.auth-kicker { margin:0 0 16px; color:#2f73ff; font-size:12px; font-weight:800; letter-spacing:.12em; }
.signup-story h1 { font-size:56px; line-height:1.03; max-width:530px; margin-bottom:20px; }
.signup-story .lead { font-size:18px; max-width:480px; }
.signup-benefits { margin-top:32px; gap:12px; }
.signup-benefit { padding:10px 0 14px; border-bottom:1px solid rgba(217,225,239,.8); transition:transform .22s ease; }
.signup-benefit:hover { transform:translateX(4px); }
.signup-benefit .mini-icon {
  width:48px;height:48px;
  border:1px solid #e1e9f7;
  box-shadow:0 6px 14px rgba(47,115,255,.05);
}
.signup-benefit .mini-icon svg { width:23px; height:23px; }
.signup-benefit strong { color:#14203a; }
.cube { animation:cubeFloat 5.5s ease-in-out infinite; }
.cube.c2 { animation-delay:-1.8s; }
.cube.c3 { animation-delay:-3.2s; }
.auth-signup-shell .signup-form-side { min-height:800px; padding:112px 66px 56px; align-items:flex-start; }
.signup-form-wrap {
  width:min(700px,100%);
  position:relative;
  border-radius:24px;
}
.signup-title {
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:15px;
  text-align:left;
  margin-bottom:34px;
}
.signup-title h2 { font-size:43px; line-height:1.06; margin:0 0 8px; }
.signup-title p { margin:0; }
.signup-spark { width:38px; height:38px; color:#2f73ff; flex:0 0 auto; margin-top:4px; }
.signup-spark svg { width:100%; height:100%; }
.auth-signup-shell .auth-form { gap:17px; }
.form-two { gap:16px; }
.submit-arrow { width:20px; height:20px; transition:transform .2s ease; }
.auth-submit:hover .submit-arrow { transform:translateX(3px); }
.signup-terms { align-items:flex-start; gap:10px; margin-top:5px; }
.signup-terms > svg { width:20px; height:20px; flex:0 0 auto; color:#5373b7; }
.signup-footer { gap:24px; }
.footer-chip { display:flex; align-items:center; gap:9px; color:#1b2844; }
.footer-chip svg { width:19px; height:19px; color:#2f73ff; }
.footer-chip img { width:23px; height:23px; object-fit:contain; }

/* Auth load and interaction motion. */
.auth-field-stagger {
  animation:authFieldIn .58s cubic-bezier(.2,.78,.2,1) both;
  animation-delay:calc(110ms + var(--field-delay,0ms));
}
.auth-floating-brand { animation:authTopIn .55s cubic-bezier(.2,.78,.2,1) 30ms both; }
.auth-switch { animation:authTopIn .55s cubic-bezier(.2,.78,.2,1) 80ms both; }
.login-art-side img { animation:authArtIn .85s cubic-bezier(.2,.78,.2,1) 80ms both; }

.micro-ripple {
  position:absolute;
  z-index:0;
  border-radius:999px;
  pointer-events:none;
  background:rgba(255,255,255,.32);
  transform:scale(0);
  opacity:.7;
  animation:microRipple .55s ease-out forwards;
}
.oauth-button .micro-ripple,.button:not(.button-primary) .micro-ripple { background:rgba(47,115,255,.10); }
.auth-submit > *, .oauth-button > * { position:relative; z-index:1; }

@keyframes authFieldIn {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes authTopIn {
  from { opacity:0; transform:translateY(-7px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes authArtIn {
  from { opacity:.82; transform:scale(1.035); filter:saturate(.92) brightness(1.03); }
  to { opacity:1; transform:scale(1.018); filter:none; }
}
@keyframes microRipple {
  to { transform:scale(1); opacity:0; }
}
@keyframes railDotIn {
  from { opacity:0; transform:scale(.55); }
  to { opacity:1; transform:scale(1); }
}
@keyframes zevOrbitBreath {
  0%,100% { opacity:.72; }
  50% { opacity:1; }
}
@keyframes cubeFloat {
  0%,100% { translate:0 0; rotate:0deg; }
  50% { translate:0 -8px; rotate:3deg; }
}

@media (max-width:1280px) {
  .auth-floating-brand { left:34px; }
  .auth-switch { right:34px; }
  .auth-login-shell .login-form-side { padding:92px 42px 34px; }
  .login-card { padding:44px 44px 34px; }
  .auth-signup-shell .signup-story { padding:112px 48px 58px; }
  .auth-signup-shell .signup-form-side { padding:108px 48px 52px; }
  .signup-title h2 { font-size:39px; }
}

@media (max-width:980px) {
  .auth-login-shell,.auth-signup-shell { min-height:auto; }
  .auth-login-shell .login-columns,
  .auth-signup-shell .signup-columns { grid-template-columns:1fr; min-height:auto; }
  .auth-floating-brand { left:28px; top:27px; }
  .auth-switch { right:28px; top:31px; }
  .auth-login-shell .login-form-side { min-height:720px; padding:96px 42px 44px; }
  .login-art-side { min-height:560px; order:2; }
  .auth-signup-shell .signup-story { min-height:650px; padding:105px 54px 58px; }
  .auth-signup-shell .signup-form-side { min-height:auto; padding:72px 48px 64px; }
}

@media (max-width:680px) {
  .auth-page { padding:0 0 28px; }
  .auth-shell { border-radius:0; border-left:0; border-right:0; }
  .auth-floating-brand { left:20px; top:20px; font-size:17px; gap:9px; }
  .auth-floating-brand img { width:30px; height:30px; }
  .auth-switch { top:24px; right:18px; font-size:12px; }
  .auth-switch span { display:none; }
  .auth-login-shell .login-form-side { min-height:auto; padding:85px 18px 38px; }
  .login-card { padding:34px 22px 30px; border-radius:20px; }
  .login-card h1 { font-size:50px; }
  .login-art-side { min-height:420px; }
  .auth-signup-shell .signup-story { min-height:540px; padding:88px 28px 44px; }
  .signup-story h1 { font-size:46px; }
  .auth-signup-shell .signup-form-side { padding:50px 22px; }
  .signup-title { gap:10px; }
  .signup-title h2 { font-size:34px; }
  .signup-spark { width:30px; height:30px; }
  .form-two { grid-template-columns:1fr; }
  .auth-footer { gap:12px; padding:0 14px; }
  .signup-footer .footer-sep { display:none; }
  .signup-footer { flex-direction:column; align-items:center; }
}

@media (prefers-reduced-motion: reduce) {
  .auth-field-stagger,.auth-floating-brand,.auth-switch,.login-art-side img,.cube,.zev-orbits { animation:none !important; }
  .motion-item { opacity:1 !important; transform:none !important; }
}
.auth-compact-shell { min-height:720px; max-width:920px; position:relative; }
.compact-auth-area { min-height:720px; padding:112px 28px 58px; display:grid; place-items:center; }
.compact-auth-area .login-card { width:min(570px,100%); }
.compact-auth-area .eyebrow { margin-bottom:16px; }
.compact-auth-title { text-align:left !important; font-size:50px !important; line-height:1.02 !important; margin:0 0 16px !important; }
.compact-auth-copy { color:#697691; line-height:1.6; margin-bottom:24px; }
@media(max-width:680px){.auth-compact-shell{min-height:100vh}.compact-auth-area{min-height:100vh;padding:94px 18px 42px}.compact-auth-title{font-size:42px !important}}

/* Preserve hover micro-interactions after scroll-entry transforms settle. */
.feature-card.motion-visible:hover { transform:translateY(-5px) scale(1); }
.price-card.motion-visible:hover { transform:translateY(-5px) scale(1); }
.gate.motion-visible:hover { transform:translateY(-3px) scale(1); }
.system-row.motion-visible:hover { transform:translateX(3px) scale(1); }
.zev-proof-item.motion-visible:hover { transform:translateX(4px) scale(1); }


/* =========================================================
   V4 PRECISION FIX — icon geometry, Zev layout, password eye
   ========================================================= */

/* Keep inline SVGs optically centered and never clipped by inherited text rules. */
.row-icon,
.zev-proof-icon,
.feature-icon,
.gate-icon,
.mini-icon,
.field-icon,
.eye-button,
.signup-spark {
  -webkit-font-smoothing: antialiased;
}
.row-icon,
.zev-proof-icon,
.feature-icon,
.gate-icon,
.mini-icon {
  overflow: hidden;
  line-height: 1;
}
.row-icon svg,
.zev-proof-icon svg,
.feature-icon svg,
.gate-icon svg,
.mini-icon svg,
.signup-spark svg,
.field-icon,
.eye-button svg {
  display:block;
  overflow:visible;
  vector-effect:non-scaling-stroke;
}

/* Critical: descriptions apply only to the direct description cell, never the icon span. */
.system-row > span:last-child {
  color:#66728e;
  font-size:14px;
  line-height:1.55;
  border-left:1px solid var(--hairline);
  padding:2px 0 2px 28px;
  min-width:0;
}
.system-name {
  min-width:0;
  line-height:1.32;
  gap:14px;
}
.row-icon {
  width:40px;
  height:40px;
  flex:0 0 40px;
  padding:9px;
  border-radius:11px;
  background:#f3f7fd;
  color:#6780aa;
  border:1px solid #e2eaf6;
}
.row-icon svg { width:100%; height:100%; stroke-width:1.75; }
.system-row:hover .row-icon {
  color:#2f73ff;
  transform:translateY(-1px);
  background:#edf4ff;
  box-shadow:0 8px 18px rgba(47,115,255,.09);
}
.system-row { overflow:visible; }
.system-list { overflow:visible; }

/* Zev evidence card: dedicated visual column, so the mascot never overlaps copy. */
.zev-info-card {
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(230px,.92fr);
  align-items:center;
  gap:22px;
  padding:54px 46px;
  isolation:isolate;
}
.zev-card-copy { position:relative; z-index:4; min-width:0; }
.zev-info-card .zev-card-copy > p:not(.eyebrow) {
  color:#6d7994;
  line-height:1.68;
  max-width:440px;
  font-size:15px;
}
.zev-info-card h3 {
  font-size:46px;
  line-height:1.02;
  letter-spacing:-.048em;
  max-width:430px;
  margin-bottom:20px;
}
.zev-proof-list {
  width:100%;
  max-width:390px;
  gap:24px;
  margin-top:38px;
}
.zev-proof-item {
  grid-template-columns:46px 1fr;
  gap:14px;
  align-items:center;
  min-width:0;
}
.zev-proof-item > .zev-proof-icon {
  width:46px;
  height:46px;
  color:#4d70aa;
  background:#f3f7ff;
  border:1px solid #dfe9fb;
  font-size:0;
  line-height:1;
  flex:0 0 46px;
}
.zev-proof-item > .zev-proof-icon svg { width:22px; height:22px; }
.zev-proof-item > div { min-width:0; }
.zev-proof-item > div > strong {
  color:#1659cb;
  font-size:14px;
  line-height:1.35;
  margin:0 0 5px;
}
.zev-proof-item > div > span {
  display:block;
  font-size:12.5px;
  line-height:1.55;
  color:#687592;
}
.zev-visual {
  position:relative;
  z-index:2;
  min-width:0;
  min-height:490px;
  display:grid;
  place-items:center;
  align-self:stretch;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(290px 250px at 55% 67%,rgba(81,132,255,.105),transparent 72%),
    linear-gradient(180deg,rgba(250,252,255,.22),rgba(246,249,255,.58));
}
.zev-visual::after {
  content:"";
  position:absolute;
  left:14%; right:10%; bottom:36px;
  height:35px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(56,91,159,.10),rgba(56,91,159,0) 70%);
  filter:blur(5px);
  z-index:1;
}
.zev-picture {
  position:relative;
  right:auto;
  bottom:auto;
  width:min(100%,330px);
  max-height:455px;
  object-fit:contain;
  border-radius:28px;
  mix-blend-mode:multiply;
  z-index:3;
  margin-top:54px;
  transform:translate3d(var(--zev-x,0),var(--zev-y,0),0);
  transition:transform .34s cubic-bezier(.2,.8,.2,1),filter .25s ease;
  filter:saturate(.98) contrast(1.01);
}
.zev-info-card:hover .zev-picture {
  transform:translate3d(var(--zev-x,0),calc(var(--zev-y,0) - 4px),0);
}
.zev-orbits {
  position:absolute;
  width:430px;
  height:430px;
  right:-72px;
  top:10px;
  z-index:0;
  border-radius:50%;
  border:1px solid #dfe9fb;
  pointer-events:none;
  opacity:.82;
  transform:translate3d(var(--orbit-x,0),var(--orbit-y,0),0);
}
.zev-orbits::before,.zev-orbits::after {
  content:"";
  position:absolute;
  border:1px solid #e3ebfa;
  border-radius:50%;
}
.zev-orbits::before { inset:48px; }
.zev-orbits::after { inset:98px; }

/* Password visibility semantics:
   closed/slashed eye = hidden, open eye = visible. Input type is the source of truth. */
.eye-button {
  display:grid;
  place-items:center;
  overflow:hidden;
  background:transparent;
}
.eye-button .eye-open,
.eye-button .eye-closed {
  inset:50% auto auto 50%;
  translate:-50% -50%;
  transform-origin:center;
}
.eye-button .eye-open { opacity:0; transform:scale(.86); }
.eye-button .eye-closed { opacity:1; transform:scale(1); }
.eye-button.is-visible .eye-open { opacity:1; transform:scale(1); }
.eye-button.is-visible .eye-closed { opacity:0; transform:scale(.86); }
.eye-button:focus-visible { outline:2px solid rgba(47,115,255,.42); outline-offset:2px; }

/* Make input content and icons safely fit inside the field frame. */
.input-wrap { overflow:visible; }
.field input { padding-right:52px; line-height:1.35; }
.field-icon { width:20px; height:20px; left:16px; }
.input-wrap .field-icon + input { padding-left:48px; }
.eye-button { right:10px; }

/* Consistent icon boxes across proof/gate cards. */
.gate-icon svg { width:21px; height:21px; }
.feature-icon svg { max-width:31px; max-height:31px; }
.signup-benefit .mini-icon svg { display:block; }

/* Premium but restrained motion: no wobble/rotation on information icons. */
.system-row:hover .row-icon { rotate:0deg; }
.zev-proof-item:hover { transform:translateX(3px); }
.zev-proof-item:hover > .zev-proof-icon { color:#2f73ff; background:#edf4ff; }
.zev-visual { transition:box-shadow .3s ease,background .3s ease; }
.zev-info-card:hover .zev-visual { box-shadow:inset 0 0 0 1px rgba(218,229,247,.55); }

@media (max-width:1280px) {
  .zev-info-card { grid-template-columns:minmax(0,1fr) minmax(205px,.86fr); gap:14px; padding:46px 38px; }
  .zev-info-card h3 { font-size:41px; }
  .zev-visual { min-height:450px; }
  .zev-picture { width:min(100%,285px); }
}
@media (max-width:980px) {
  .zev-info-card { grid-template-columns:minmax(0,1fr) minmax(260px,.9fr); min-height:610px; }
  .zev-picture { width:min(100%,310px); }
}
@media (max-width:680px) {
  .system-row > span:last-child { border-left:0; padding-left:54px; }
  .zev-info-card { display:block; min-height:auto; padding:38px 26px 30px; }
  .zev-info-card h3 { font-size:40px; }
  .zev-proof-list { max-width:none; }
  .zev-visual { min-height:360px; margin-top:20px; }
  .zev-picture { width:min(78%,285px); margin-top:24px; }
  .zev-orbits { width:340px; height:340px; right:-80px; top:2px; }
}

.button-arrow-svg,.button-play-svg{width:20px;height:20px;flex:0 0 auto;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.button:hover .button-arrow-svg{transform:translateX(3px)}
.button:hover .button-play-svg{transform:scale(1.06)}

/* =========================================================
   V5 MOTION PASS — premium, restrained, evidence-first
   ========================================================= */
.reveal {
  opacity:0;
  transform:translate3d(0,18px,0);
  filter:blur(5px);
  transition:
    opacity .78s cubic-bezier(.16,1,.3,1),
    transform .78s cubic-bezier(.16,1,.3,1),
    filter .72s cubic-bezier(.16,1,.3,1);
}
.reveal.is-visible { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }

.hero-copy.is-visible .eyebrow { animation:zqHeroIn .62s cubic-bezier(.16,1,.3,1) .02s both; }
.hero-copy.is-visible h1 { animation:zqHeroIn .78s cubic-bezier(.16,1,.3,1) .09s both; }
.hero-copy.is-visible .lead { animation:zqHeroIn .72s cubic-bezier(.16,1,.3,1) .17s both; }
.hero-copy.is-visible .cta-row { animation:zqHeroIn .68s cubic-bezier(.16,1,.3,1) .25s both; }
.product-stage.is-visible { animation:zqProductIn .9s cubic-bezier(.16,1,.3,1) .13s both; }
.hero h1 .lighter {
  background-image:linear-gradient(105deg,#2b6cff 0%,#2f73ff 42%,#6a91ff 52%,#2f73ff 62%,#275de8 100%);
  background-size:220% 100%;
  animation:zqBlueSweep 1.15s cubic-bezier(.2,.75,.2,1) .36s both;
}

.feature-card,.price-card,.gate,.zev-info-card,.savings-panel { position:relative; isolation:isolate; }
.pointer-reactive::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  opacity:0;
  background:radial-gradient(360px circle at var(--px,50%) var(--py,50%),rgba(71,123,255,.07),transparent 62%);
  transition:opacity .28s ease;
}
.pointer-reactive:hover::after { opacity:1; }
.pointer-reactive > * { position:relative; z-index:1; }
.feature-card:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(44,79,145,.085); }
.feature-card:hover .feature-icon { transform:translateY(-2px) scale(1.025); }
.feature-icon { transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .3s ease; }

/* Remove the blue panel behind Zev; use the transparent mascot directly. */
.zev-info-card { background:#fff; }
.zev-visual {
  min-height:490px;
  background:transparent !important;
  border-radius:0;
  overflow:visible;
  box-shadow:none !important;
  transition:none;
}
.zev-info-card:hover .zev-visual { box-shadow:none !important; }
.zev-orbits { display:none !important; }
.zev-visual::after {
  left:18%; right:12%; bottom:34px; height:22px;
  background:radial-gradient(ellipse at center,rgba(25,52,102,.07),rgba(25,52,102,0) 72%);
  filter:blur(7px);
}
.zev-picture {
  width:min(100%,350px);
  max-height:470px;
  margin-top:20px;
  border-radius:0;
  mix-blend-mode:normal;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(44,73,130,.08));
  transition:transform .42s cubic-bezier(.16,1,.3,1),filter .35s ease;
  will-change:transform;
}
.zev-info-card:hover .zev-picture { filter:drop-shadow(0 22px 28px rgba(44,73,130,.105)); }
.zev-info-card.is-visible .zev-visual { animation:zqZevIn .88s cubic-bezier(.16,1,.3,1) .18s both; }

.zev-proof-item { transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease; }
.zev-proof-item:hover { transform:translateX(4px); }
.zev-proof-item > .zev-proof-icon {
  transition:transform .3s cubic-bezier(.16,1,.3,1),background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.zev-proof-item:hover > .zev-proof-icon {
  transform:translateY(-1px) scale(1.025);
  box-shadow:0 9px 20px rgba(47,115,255,.09);
}

.system-row { transition:background .28s ease,transform .32s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,border-color .28s ease; }
.system-row:hover { transform:translateX(4px); background:#fcfdff; box-shadow:0 10px 25px rgba(47,80,145,.035); }
.system-row:hover .row-icon { transform:translateY(-1px) scale(1.025); rotate:0deg; }

.savings-panel.is-visible .bar span {
  transform-origin:left center;
  animation:zqBarGrow .92s cubic-bezier(.16,1,.3,1) .14s both;
}
.savings-panel.is-visible .bar-row:nth-child(3) .bar span { animation-delay:.22s; }
.delta strong { transition:transform .3s cubic-bezier(.16,1,.3,1),text-shadow .3s ease; }
.savings-panel:hover .delta strong { transform:translateY(-2px); text-shadow:0 10px 24px rgba(47,115,255,.12); }

.button,.auth-submit,.oauth-button { --mag-x:0px; --mag-y:0px; }
.button.is-magnetic,.auth-submit.is-magnetic,.oauth-button.is-magnetic {
  transform:translate3d(var(--mag-x),var(--mag-y),0);
  transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.button.is-magnetic:hover { transform:translate3d(var(--mag-x),calc(var(--mag-y) - 2px),0); }
.auth-submit.is-magnetic:hover,.oauth-button.is-magnetic:hover { transform:translate3d(var(--mag-x),calc(var(--mag-y) - 1px),0); }
.button.is-magnetic:active,.auth-submit.is-magnetic:active,.oauth-button.is-magnetic:active { transform:translate3d(var(--mag-x),var(--mag-y),0) scale(.985); }

.product-card { transition:box-shadow .42s ease,border-color .32s ease; }
.product-stage:hover .product-card { box-shadow:0 38px 86px rgba(58,98,180,.14); }
.product-glint { transition:opacity .35s ease; mix-blend-mode:screen; }

@keyframes zqHeroIn {
  from { opacity:0; transform:translate3d(0,15px,0); filter:blur(4px); }
  to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
}
@keyframes zqProductIn {
  from { opacity:0; transform:translate3d(0,18px,0) scale(.985); filter:blur(5px); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); filter:blur(0); }
}
@keyframes zqBlueSweep { from { background-position:100% 50%; } to { background-position:0 50%; } }
@keyframes zqZevIn {
  from { opacity:0; transform:translate3d(12px,14px,0) scale(.975); filter:blur(4px); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); filter:blur(0); }
}
@keyframes zqBarGrow { from { transform:scaleX(.08); opacity:.45; } to { transform:scaleX(1); opacity:1; } }

@media (max-width:1280px) { .zev-picture { width:min(100%,315px); } }
@media (max-width:680px) {
  .zev-visual { min-height:340px; }
  .zev-picture { width:min(82%,292px); margin-top:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-copy.is-visible .eyebrow,.hero-copy.is-visible h1,.hero-copy.is-visible .lead,.hero-copy.is-visible .cta-row,
  .product-stage.is-visible,.hero h1 .lighter,.zev-info-card.is-visible .zev-visual,.savings-panel.is-visible .bar span { animation:none !important; }
  .reveal { filter:none; }
}

/* ==========================================================
   ZEVQORA v6 — cinematic navigation + premium auth ambience
   ========================================================== */
html { scroll-behavior:auto; }
html,body { overflow-x:clip; }

/* The login side keeps the clean reference layout, but no longer feels like a flat white slab. */
.auth-login-shell .login-form-side {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(620px 460px at 4% 94%,rgba(47,115,255,.115),transparent 70%),
    radial-gradient(440px 340px at 94% 12%,rgba(96,151,255,.085),transparent 72%),
    linear-gradient(145deg,#ffffff 0%,#fbfdff 48%,#f6f9ff 100%);
}
.auth-login-shell .login-form-side::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:.52;
  background-image:radial-gradient(circle at 1px 1px,rgba(78,116,182,.13) 1px,transparent 1.15px);
  background-size:25px 25px;
  -webkit-mask-image:linear-gradient(135deg,rgba(0,0,0,.55),transparent 58%);
  mask-image:linear-gradient(135deg,rgba(0,0,0,.55),transparent 58%);
}
.auth-login-shell .login-form-side::after {
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  left:-310px;
  bottom:-330px;
  z-index:-2;
  border-radius:50%;
  border:1px solid rgba(82,132,226,.12);
  box-shadow:0 0 0 72px rgba(82,132,226,.025),0 0 0 148px rgba(82,132,226,.018);
  pointer-events:none;
}
.login-ambient { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.login-orb { position:absolute; display:block; border-radius:50%; border:1px solid rgba(117,157,229,.18); background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(219,233,255,.52)); box-shadow:inset -9px -12px 24px rgba(78,130,229,.06),0 18px 44px rgba(76,120,204,.07); will-change:transform; }
.login-orb-a { width:88px; height:88px; left:7%; top:17%; animation:zqAmbientFloatA 10s cubic-bezier(.45,0,.2,1) infinite alternate; }
.login-orb-b { width:44px; height:44px; right:7%; top:29%; opacity:.62; animation:zqAmbientFloatB 12s cubic-bezier(.45,0,.2,1) infinite alternate; }
.login-orb-c { width:24px; height:24px; left:13%; bottom:14%; opacity:.55; animation:zqAmbientFloatC 9s ease-in-out infinite alternate; }
.login-orbit { position:absolute; display:block; border:1px solid rgba(90,139,230,.095); border-radius:50%; transform:rotate(-18deg); }
.login-orbit-a { width:520px; height:220px; right:-270px; top:9%; animation:zqOrbitDrift 14s ease-in-out infinite alternate; }
.login-orbit-b { width:390px; height:160px; right:-210px; top:18%; opacity:.72; animation:zqOrbitDrift 17s ease-in-out -4s infinite alternate-reverse; }

.auth-login-shell .login-card {
  z-index:2;
  border-color:rgba(208,220,239,.92);
  background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(255,255,255,.855));
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
  box-shadow:0 30px 74px rgba(50,83,145,.105),0 2px 10px rgba(55,85,140,.035),inset 0 1px 0 rgba(255,255,255,.95);
}
.auth-login-shell .login-card::after {
  content:"";
  position:absolute;
  left:11%; right:11%; bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(74,125,224,.27),transparent);
  opacity:.7;
  pointer-events:none;
}
.auth-login-shell .login-heading h1 .dot { display:inline-block; animation:zqDotSettle .72s cubic-bezier(.16,1,.3,1) .42s both; }

/* Right-side artwork gets a slow photographic light pass, not a gimmicky bounce. */
.login-art-side::before {
  content:"";
  position:absolute;
  z-index:4;
  inset:-20%;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 30%,rgba(255,255,255,.16) 45%,rgba(255,255,255,.025) 55%,transparent 68%);
  transform:translateX(-34%);
  animation:zqArtLightPass 9s ease-in-out infinite alternate;
}
.login-art-side { box-shadow:inset 1px 0 0 rgba(207,220,241,.72); }

/* Route transition curtain. It is deliberately brief so navigation still feels immediate. */
.zq-transition-curtain {
  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  background:rgba(250,252,255,.18);
  -webkit-backdrop-filter:blur(0px);
  backdrop-filter:blur(0px);
}
.zq-transition-curtain::before {
  content:"";
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(560px 360px at 72% 45%,rgba(77,132,255,.18),transparent 72%),
    linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.94) 44%,#f7faff 66%,#ffffff 100%);
  transform:translate3d(112%,0,0) skewX(-5deg);
}
.zq-transition-curtain::after {
  content:"";
  position:absolute;
  top:0; bottom:0; width:2px;
  left:50%;
  opacity:0;
  background:linear-gradient(180deg,transparent,rgba(47,115,255,.45),transparent);
  box-shadow:0 0 32px rgba(47,115,255,.28);
}
.zq-transition-curtain.is-active { opacity:1; visibility:visible; }
.zq-transition-curtain.is-active::before { animation:zqCurtainSweep .48s cubic-bezier(.55,.01,.25,1) forwards; }
.zq-transition-curtain.is-active::after { animation:zqCurtainBeam .48s ease-out forwards; }

/* General page navigation: soft camera move + fast white/blue wipe. */
body.zq-page-leaving .site-chrome,
body.zq-page-leaving .page,
body.zq-page-leaving .footer,
body.zq-page-leaving > main:not(.auth-page) {
  animation:zqPageOut .34s cubic-bezier(.4,0,.2,1) forwards;
}
html[data-zq-entry="page"] body { opacity:0; transform:translate3d(0,12px,0) scale(.995); filter:blur(2px); }
html[data-zq-entry="page"].zq-enter-active body { animation:zqPageIn .58s cubic-bezier(.16,1,.3,1) forwards; }

/* Login <-> signup behaves like two scenes sliding past each other on the same canvas. */
body.zq-auth-leave-forward .auth-shell { animation:zqAuthOutLeft .50s cubic-bezier(.55,.01,.25,1) forwards; }
body.zq-auth-leave-back .auth-shell { animation:zqAuthOutRight .50s cubic-bezier(.55,.01,.25,1) forwards; }
body.zq-auth-leave-forward .auth-footer { animation:zqAuthFooterOutLeft .40s ease forwards; }
body.zq-auth-leave-back .auth-footer { animation:zqAuthFooterOutRight .40s ease forwards; }
html[data-zq-entry="auth-forward"] .auth-shell { opacity:0; transform:translate3d(100px,0,0) scale(.985); filter:blur(4px); }
html[data-zq-entry="auth-back"] .auth-shell { opacity:0; transform:translate3d(-100px,0,0) scale(.985); filter:blur(4px); }
html[data-zq-entry="auth-forward"] .auth-footer,
html[data-zq-entry="auth-back"] .auth-footer { opacity:0; }
html[data-zq-entry="auth-forward"].zq-enter-active .auth-shell { animation:zqAuthInRight .72s cubic-bezier(.16,1,.3,1) forwards; }
html[data-zq-entry="auth-back"].zq-enter-active .auth-shell { animation:zqAuthInLeft .72s cubic-bezier(.16,1,.3,1) forwards; }
html[data-zq-entry="auth-forward"].zq-enter-active .auth-footer,
html[data-zq-entry="auth-back"].zq-enter-active .auth-footer { animation:zqAuthFooterIn .55s ease .18s forwards; }

/* The destination section gets one calm acknowledgement after the cinematic scroll. */
.scroll-section.section-arriving { position:relative; }
.scroll-section.section-arriving::after {
  content:"";
  position:absolute;
  inset:10px 18px;
  border-radius:30px;
  pointer-events:none;
  border:1px solid rgba(47,115,255,.0);
  box-shadow:0 0 0 0 rgba(47,115,255,0);
  animation:zqSectionArrival .85s cubic-bezier(.16,1,.3,1) both;
}
.scroll-section.section-arriving .eyebrow { animation:zqArrivalLabel .7s cubic-bezier(.16,1,.3,1) both; }

@keyframes zqAmbientFloatA { from{transform:translate3d(0,0,0)} to{transform:translate3d(10px,-13px,0)} }
@keyframes zqAmbientFloatB { from{transform:translate3d(0,0,0)} to{transform:translate3d(-8px,10px,0)} }
@keyframes zqAmbientFloatC { from{transform:translate3d(0,0,0)} to{transform:translate3d(7px,-8px,0)} }
@keyframes zqOrbitDrift { from{transform:translate3d(0,0,0) rotate(-18deg)} to{transform:translate3d(-14px,10px,0) rotate(-16deg)} }
@keyframes zqArtLightPass { from{transform:translateX(-38%) rotate(.001deg);opacity:.28} to{transform:translateX(25%) rotate(.001deg);opacity:.72} }
@keyframes zqDotSettle { from{opacity:0;transform:translate3d(0,-10px,0) scale(.5)} to{opacity:1;transform:none} }
@keyframes zqCurtainSweep { 0%{transform:translate3d(112%,0,0) skewX(-5deg)} 100%{transform:translate3d(-8%,0,0) skewX(-5deg)} }
@keyframes zqCurtainBeam { 0%{left:105%;opacity:0} 25%{opacity:1} 100%{left:-5%;opacity:0} }
@keyframes zqPageOut { to{opacity:.2;transform:translate3d(-10px,0,0) scale(.992);filter:blur(3px)} }
@keyframes zqPageIn { from{opacity:0;transform:translate3d(0,12px,0) scale(.995);filter:blur(2px)} to{opacity:1;transform:none;filter:none} }
@keyframes zqAuthOutLeft { to{opacity:.08;transform:translate3d(-115px,0,0) scale(.984);filter:blur(5px)} }
@keyframes zqAuthOutRight { to{opacity:.08;transform:translate3d(115px,0,0) scale(.984);filter:blur(5px)} }
@keyframes zqAuthInRight { from{opacity:0;transform:translate3d(100px,0,0) scale(.985);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }
@keyframes zqAuthInLeft { from{opacity:0;transform:translate3d(-100px,0,0) scale(.985);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }
@keyframes zqAuthFooterOutLeft { to{opacity:0;transform:translateX(-24px)} }
@keyframes zqAuthFooterOutRight { to{opacity:0;transform:translateX(24px)} }
@keyframes zqAuthFooterIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
@keyframes zqSectionArrival { 0%{border-color:rgba(47,115,255,0);box-shadow:0 0 0 0 rgba(47,115,255,0)} 36%{border-color:rgba(47,115,255,.13);box-shadow:0 20px 60px rgba(47,115,255,.055)} 100%{border-color:rgba(47,115,255,0);box-shadow:0 0 0 12px rgba(47,115,255,0)} }
@keyframes zqArrivalLabel { 0%{transform:translateY(4px);letter-spacing:.16em;opacity:.55} 100%{transform:none;letter-spacing:var(--arrival-letter,.12em);opacity:1} }

@media (max-width:980px) {
  .login-orbit { display:none; }
  .login-orb-a { left:5%; top:12%; }
  .login-orb-b { right:6%; top:21%; }
}
@media (max-width:680px) {
  .login-orb-a { width:58px;height:58px;opacity:.55; }
  .login-orb-b,.login-orb-c { display:none; }
  .auth-login-shell .login-form-side::before { opacity:.34; }
}
@media (prefers-reduced-motion:reduce) {
  .login-orb,.login-orbit,.login-art-side::before { animation:none !important; }
  body.zq-page-leaving .site-chrome,body.zq-page-leaving .page,body.zq-page-leaving .footer,
  body.zq-auth-leave-forward .auth-shell,body.zq-auth-leave-back .auth-shell { animation:none !important; }
  html[data-zq-entry] body,html[data-zq-entry] .auth-shell,html[data-zq-entry] .auth-footer { opacity:1 !important;transform:none !important;filter:none !important;animation:none !important; }
  .scroll-section.section-arriving::after,.scroll-section.section-arriving .eyebrow { animation:none !important; }
}

/* ==========================================================
   ZEVQORA v7 — auth scene redesign + true cinematic motion
   ========================================================== */

/* Login form side: calmer surface. The visual interest now lives in the Zev scene. */
.auth-login-shell .login-form-side {
  background:
    radial-gradient(520px 380px at 0% 100%,rgba(58,124,255,.075),transparent 72%),
    linear-gradient(145deg,#ffffff 0%,#fbfdff 100%);
}
.auth-login-shell .login-form-side::before,
.auth-login-shell .login-form-side::after,
.auth-login-shell .login-ambient { display:none !important; }
.auth-login-shell .login-card {
  width:min(555px,100%);
  padding:46px 52px 34px;
  border-color:#dfe7f3;
  background:rgba(255,255,255,.965);
  box-shadow:0 28px 72px rgba(48,78,139,.085),0 5px 16px rgba(48,78,139,.035),inset 0 1px 0 #fff;
}
.auth-login-shell .login-card::after {
  left:18%; right:18%;
  background:linear-gradient(90deg,transparent,rgba(47,115,255,.22),transparent);
}

/* The right side is a product scene now, not a full-bleed mascot wallpaper. */
.login-experience {
  position:relative;
  min-height:800px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(520px 520px at 78% 55%,rgba(71,132,255,.14),transparent 69%),
    radial-gradient(360px 300px at 16% 18%,rgba(255,255,255,.96),transparent 68%),
    linear-gradient(145deg,#f8fbff 0%,#eef5ff 54%,#f7faff 100%);
  box-shadow:inset 1px 0 0 rgba(207,220,241,.78);
  perspective:1200px;
}
.login-experience::before {
  content:"";
  position:absolute;
  width:640px;
  height:640px;
  border-radius:50%;
  right:-185px;
  bottom:-210px;
  border:1px solid rgba(89,139,231,.10);
  box-shadow:0 0 0 70px rgba(89,139,231,.022),0 0 0 148px rgba(89,139,231,.014);
  pointer-events:none;
  z-index:0;
}
.login-experience::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.18),transparent 24%,transparent 74%,rgba(255,255,255,.16));
}
.login-experience-grid {
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.34;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(82,124,198,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(82,124,198,.055) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(circle at 70% 58%,#000 0,rgba(0,0,0,.68) 38%,transparent 76%);
  mask-image:radial-gradient(circle at 70% 58%,#000 0,rgba(0,0,0,.68) 38%,transparent 76%);
}
.login-experience-mark {
  position:absolute;
  z-index:0;
  width:340px !important;
  height:340px !important;
  object-fit:contain !important;
  right:6%;
  top:8%;
  opacity:.045;
  filter:saturate(.7);
  transform:rotate(-8deg);
  pointer-events:none;
}
.login-experience-copy {
  position:absolute;
  z-index:4;
  left:7.2%;
  top:15%;
  width:min(390px,47%);
}
.login-experience-kicker {
  margin:0 0 17px;
  color:#2e72f6;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
}
.login-experience-copy h2 {
  margin:0;
  color:#0d1a36;
  font-size:clamp(35px,3.2vw,52px);
  line-height:1.02;
  letter-spacing:-.052em;
  max-width:430px;
}
.login-experience-copy h2 span {
  color:#3678f8;
}
.login-experience-copy > p:last-child {
  margin:18px 0 0;
  max-width:355px;
  color:#62718f;
  font-size:15px;
  line-height:1.65;
}
.login-mascot-frame {
  position:absolute;
  z-index:3;
  right:5.5%;
  bottom:10.5%;
  width:min(390px,47%);
  aspect-ratio:.82;
  border-radius:32px;
  border:1px solid rgba(210,223,244,.95);
  background:rgba(255,255,255,.76);
  box-shadow:0 34px 76px rgba(51,89,156,.16),0 10px 30px rgba(51,89,156,.07),inset 0 1px 0 rgba(255,255,255,.92);
  overflow:hidden;
  transform-style:preserve-3d;
  will-change:transform;
}
.login-mascot-frame::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.22),transparent 32%,transparent 68%,rgba(78,133,240,.05));
}
.login-mascot-image {
  position:absolute;
  inset:-5% -7% -5% -7%;
  width:114% !important;
  height:110% !important;
  max-width:none;
  object-fit:cover;
  object-position:center 61%;
  transform:none !important;
  animation:none !important;
  filter:saturate(.96) contrast(.99);
}
.login-mascot-halo {
  position:absolute;
  width:88%;
  aspect-ratio:1;
  left:6%;
  top:12%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(84,145,255,.18),rgba(84,145,255,.04) 48%,transparent 71%);
  filter:blur(10px);
  z-index:-1;
}
.login-zev-bubble {
  position:absolute;
  z-index:5;
  right:20px;
  top:20px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border:1px solid rgba(214,225,242,.92);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 24px rgba(45,80,141,.08);
  color:#294264;
  font-size:12px;
  font-weight:700;
}
.login-zev-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#2f73ff;
  box-shadow:0 0 0 4px rgba(47,115,255,.10);
}
.login-proof-card {
  position:absolute;
  z-index:5;
  left:7.2%;
  width:min(280px,35%);
  min-height:74px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(212,224,243,.92);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(15px) saturate(1.05);
  backdrop-filter:blur(15px) saturate(1.05);
  box-shadow:0 18px 38px rgba(50,84,146,.08),inset 0 1px 0 rgba(255,255,255,.95);
}
.login-proof-card-a { bottom:23.5%; }
.login-proof-card-b { bottom:12.5%; }
.login-proof-icon {
  width:42px;
  height:42px;
  border:1px solid #dce7fa;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:#2f73ff;
  background:linear-gradient(145deg,#fff,#eef5ff);
}
.login-proof-icon svg { width:21px;height:21px; }
.login-proof-card strong { display:block;color:#14223e;font-size:13px;margin-bottom:4px; }
.login-proof-card small { display:block;color:#71809c;font-size:11px;line-height:1.4; }
.login-experience-rail {
  position:absolute;
  z-index:6;
  left:7.2%;
  right:5.5%;
  bottom:4.1%;
  height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#71809d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.01em;
}
.login-experience-rail span { display:flex;align-items:center;gap:6px;white-space:nowrap; }
.login-experience-rail span i { width:6px;height:6px;border-radius:50%;background:#c1d2ef;box-shadow:0 0 0 3px rgba(193,210,239,.17); }
.login-experience-rail span.active { color:#2469ec; }
.login-experience-rail span.active i { background:#2f73ff;box-shadow:0 0 0 4px rgba(47,115,255,.10); }
.login-experience-rail b { flex:1;height:1px;background:linear-gradient(90deg,#cbdaf4,#e6edf8);min-width:16px; }
.login-experience .auth-art-light {
  z-index:2;
  opacity:.9;
  background:radial-gradient(330px circle at var(--art-x,62%) var(--art-y,48%),rgba(255,255,255,.32),transparent 72%);
}
.login-experience:hover .login-proof-card-a { transform:translate3d(-2px,-2px,0); }
.login-experience:hover .login-proof-card-b { transform:translate3d(2px,-1px,0); }
.login-proof-card { transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .3s ease; }

/* Component-level View Transitions: the login form and Zev scene literally trade sides. */
.auth-floating-brand { view-transition-name:zq-auth-brand; }
.auth-switch { view-transition-name:zq-auth-switch; }
.login-form-side,.signup-form-side { view-transition-name:zq-auth-form; }
.login-art-side,.signup-story { view-transition-name:zq-auth-scene; }
.auth-footer { view-transition-name:zq-auth-footer; }

::view-transition-old(root),::view-transition-new(root) {
  animation:none;
  mix-blend-mode:normal;
}
::view-transition-group(zq-auth-form),::view-transition-group(zq-auth-scene) {
  animation-duration:980ms;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
}
::view-transition-group(zq-auth-brand),::view-transition-group(zq-auth-switch),::view-transition-group(zq-auth-footer) {
  animation-duration:780ms;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
}
::view-transition-old(zq-auth-form),::view-transition-old(zq-auth-scene) {
  animation:zqVtPanelOld .46s cubic-bezier(.4,0,.2,1) both;
}
::view-transition-new(zq-auth-form),::view-transition-new(zq-auth-scene) {
  animation:zqVtPanelNew .72s cubic-bezier(.16,1,.3,1) .16s both;
}
html[data-auth-direction="forward"]::view-transition-group(zq-auth-form) { animation-name:zqVtGroupForward; }
html[data-auth-direction="forward"]::view-transition-group(zq-auth-scene) { animation-name:zqVtGroupBack; }
html[data-auth-direction="back"]::view-transition-group(zq-auth-form) { animation-name:zqVtGroupBack; }
html[data-auth-direction="back"]::view-transition-group(zq-auth-scene) { animation-name:zqVtGroupForward; }
html[data-auth-direction="forward"]::view-transition-old(zq-auth-form),
html[data-auth-direction="forward"]::view-transition-old(zq-auth-scene) { transform-origin:left center; }
html[data-auth-direction="back"]::view-transition-old(zq-auth-form),
html[data-auth-direction="back"]::view-transition-old(zq-auth-scene) { transform-origin:right center; }

@keyframes zqVtPanelOld {
  0% { opacity:1;filter:blur(0); }
  100% { opacity:0;filter:blur(7px);transform:scale(.985); }
}
@keyframes zqVtPanelNew {
  0% { opacity:0;filter:blur(9px);transform:scale(1.018); }
  100% { opacity:1;filter:blur(0);transform:scale(1); }
}
@keyframes zqVtGroupForward {
  0% { filter:drop-shadow(0 0 0 rgba(38,83,163,0)); }
  48% { filter:drop-shadow(-22px 20px 42px rgba(38,83,163,.09)); }
  100% { filter:drop-shadow(0 0 0 rgba(38,83,163,0)); }
}
@keyframes zqVtGroupBack {
  0% { filter:drop-shadow(0 0 0 rgba(38,83,163,0)); }
  48% { filter:drop-shadow(22px 20px 42px rgba(38,83,163,.09)); }
  100% { filter:drop-shadow(0 0 0 rgba(38,83,163,0)); }
}

/* Fallback when View Transitions are unavailable. */
.zq-auth-fallback-out-forward { animation:zqAuthV7OutForward .36s cubic-bezier(.4,0,.2,1) forwards; }
.zq-auth-fallback-out-back { animation:zqAuthV7OutBack .36s cubic-bezier(.4,0,.2,1) forwards; }
.zq-auth-fallback-in-forward { animation:zqAuthV7InForward .72s cubic-bezier(.16,1,.3,1) both; }
.zq-auth-fallback-in-back { animation:zqAuthV7InBack .72s cubic-bezier(.16,1,.3,1) both; }
@keyframes zqAuthV7OutForward { to{opacity:0;transform:translate3d(-16vw,0,0) scale(.975);filter:blur(8px)} }
@keyframes zqAuthV7OutBack { to{opacity:0;transform:translate3d(16vw,0,0) scale(.975);filter:blur(8px)} }
@keyframes zqAuthV7InForward { from{opacity:0;transform:translate3d(16vw,0,0) scale(1.015);filter:blur(8px)} to{opacity:1;transform:none;filter:none} }
@keyframes zqAuthV7InBack { from{opacity:0;transform:translate3d(-16vw,0,0) scale(1.015);filter:blur(8px)} to{opacity:1;transform:none;filter:none} }

/* Stronger but still clean normal-route wipe. */
.zq-transition-curtain { background:rgba(247,250,255,.28); }
.zq-transition-curtain::before {
  background:
    radial-gradient(660px 420px at 76% 44%,rgba(66,125,255,.20),transparent 72%),
    linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.98) 39%,#f2f7ff 64%,#ffffff 100%);
}
.zq-transition-curtain.is-active::before { animation:zqCurtainSweepV7 .66s cubic-bezier(.55,.01,.23,1) forwards; }
.zq-transition-curtain.is-active::after { animation:zqCurtainBeamV7 .66s ease-out forwards; }
@keyframes zqCurtainSweepV7 { 0%{transform:translate3d(112%,0,0) skewX(-5deg)} 100%{transform:translate3d(-14%,0,0) skewX(-5deg)} }
@keyframes zqCurtainBeamV7 { 0%{left:108%;opacity:0} 18%{opacity:1} 100%{left:-8%;opacity:0} }

/* How-it-works travel cue: visible during the scroll, then the rail plays in sequence. */
.zq-scroll-cue {
  --zq-scroll-progress:0;
  position:fixed;
  z-index:2147482500;
  left:50%;
  top:50%;
  width:min(360px,calc(100vw - 40px));
  min-height:76px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  align-items:center;
  padding:13px 16px 18px;
  border:1px solid rgba(211,223,243,.93);
  border-radius:22px;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(22px) saturate(1.08);
  backdrop-filter:blur(22px) saturate(1.08);
  box-shadow:0 30px 80px rgba(42,78,143,.16),inset 0 1px 0 rgba(255,255,255,.95);
  opacity:0;
  transform:translate3d(-50%,-44%,0) scale(.94);
  filter:blur(5px);
  pointer-events:none;
  transition:opacity .25s ease,transform .5s cubic-bezier(.16,1,.3,1),filter .4s ease;
}
.zq-scroll-cue.is-visible { opacity:1;transform:translate3d(-50%,-50%,0) scale(1);filter:none; }
.zq-scroll-cue.is-done { opacity:0;transform:translate3d(-50%,-56%,0) scale(.975);filter:blur(4px); }
.zq-scroll-cue-mark { width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#eef5ff);border:1px solid #deE8f8; }
.zq-scroll-cue-mark img { width:24px;height:24px;object-fit:contain; }
.zq-scroll-cue-copy span { display:block;color:#2f73ff;font-size:9px;font-weight:820;letter-spacing:.15em;margin-bottom:4px; }
.zq-scroll-cue-copy strong { display:block;color:#14213d;font-size:14px;letter-spacing:-.01em; }
.zq-scroll-cue-track { position:absolute;left:16px;right:16px;bottom:9px;height:2px;border-radius:999px;background:#edf2fa;overflow:hidden; }
.zq-scroll-cue-track i { display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(var(--zq-scroll-progress));background:linear-gradient(90deg,#2f73ff,#73a5ff);border-radius:inherit; }
body.zq-scroll-travel .site-chrome { box-shadow:0 10px 35px rgba(49,83,143,.05); }

.evidence-section.section-travel-target { overflow:hidden; }
.evidence-section.section-arriving .evidence-copy > .eyebrow,
.evidence-section.section-arriving .evidence-copy > h2,
.evidence-section.section-arriving .evidence-copy > .lead { animation:zqEvidenceHeadlineIn .78s cubic-bezier(.16,1,.3,1) both; }
.evidence-section.section-arriving .evidence-copy > h2 { animation-delay:.06s; }
.evidence-section.section-arriving .evidence-copy > .lead { animation-delay:.11s; }
.evidence-section.section-arriving .rail-line { transform:scaleX(0);animation:zqEvidenceLineDraw .9s cubic-bezier(.16,1,.3,1) .22s forwards; }
.evidence-section.section-arriving .rail li { opacity:0;animation:zqEvidenceStepIn .62s cubic-bezier(.16,1,.3,1) both; }
.evidence-section.section-arriving .rail li:nth-child(1){animation-delay:.28s}
.evidence-section.section-arriving .rail li:nth-child(2){animation-delay:.36s}
.evidence-section.section-arriving .rail li:nth-child(3){animation-delay:.44s}
.evidence-section.section-arriving .rail li:nth-child(4){animation-delay:.52s}
.evidence-section.section-arriving .rail li:nth-child(5){animation-delay:.60s}
.evidence-section.section-arriving .rail li:nth-child(6){animation-delay:.68s}
@keyframes zqEvidenceHeadlineIn { from{opacity:.15;transform:translate3d(0,22px,0);filter:blur(6px)} to{opacity:1;transform:none;filter:none} }
@keyframes zqEvidenceLineDraw { to{transform:scaleX(1)} }
@keyframes zqEvidenceStepIn { from{opacity:0;transform:translate3d(0,18px,0);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }

/* Responsive auth experience. */
@media (max-width:1280px) {
  .login-experience-copy { left:6%;top:16%;width:44%; }
  .login-experience-copy h2 { font-size:38px; }
  .login-mascot-frame { right:4.5%;width:45%; }
  .login-proof-card { left:6%;width:37%; }
  .login-experience-rail { left:6%;right:4.5%; }
}
@media (max-width:980px) {
  .login-experience { min-height:650px;order:2; }
  .login-experience-copy { left:7%;top:12%;width:46%; }
  .login-experience-copy h2 { font-size:40px; }
  .login-mascot-frame { right:6%;bottom:10%;width:39%; }
  .login-proof-card { left:7%;width:39%; }
  .login-proof-card-a { bottom:25%; }
  .login-proof-card-b { bottom:13%; }
  .login-experience-mark { width:260px !important;height:260px !important; }
}
@media (max-width:680px) {
  .login-experience { min-height:610px; }
  .login-experience-copy { left:24px;right:24px;top:78px;width:auto;text-align:left; }
  .login-experience-copy h2 { font-size:34px;max-width:420px; }
  .login-experience-copy > p:last-child { font-size:13px;max-width:420px; }
  .login-mascot-frame { width:240px;right:20px;bottom:68px;border-radius:24px; }
  .login-proof-card { left:20px;width:205px;grid-template-columns:36px 1fr;padding:10px; }
  .login-proof-card-a { bottom:178px; }
  .login-proof-card-b { bottom:96px; }
  .login-proof-icon { width:36px;height:36px;border-radius:11px; }
  .login-proof-card small { display:none; }
  .login-experience-rail { left:20px;right:20px;bottom:24px;gap:6px; }
  .login-experience-rail span { font-size:9px; }
  .login-experience-mark { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .zq-scroll-cue { display:none !important; }
  .login-mascot-frame { transform:none !important; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation-duration:.01ms !important; }
}

/* v7.1 visual balance: keep Zev prominent; no oversized logo block behind him. */
.login-experience-mark { display:none !important; }
.login-mascot-frame { right:3.8%; bottom:8.2%; width:min(410px,49%); aspect-ratio:.80; }
.login-mascot-image {
  inset:-17% -18% -15% -18%;
  width:136% !important;
  height:132% !important;
  object-position:center 69%;
}
.login-experience-copy { width:min(405px,50%); }
@media (max-width:1280px) {
  .login-mascot-frame { right:3.5%;width:47%; }
  .login-experience-copy { width:48%; }
}
@media (max-width:980px) {
  .login-mascot-frame { right:5%;width:42%; }
}
@media (max-width:680px) {
  .login-mascot-frame { width:260px;right:16px; }
}
/* Crop the source panel enough to remove its original speech bubble; our live UI supplies its own. */
.login-mascot-image {
  inset:-24% -22% -12% -22%;
  width:144% !important;
  height:136% !important;
  object-position:center 78%;
}
.login-mascot-frame::before {
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  right:0;
  width:190px;
  height:62px;
  background:linear-gradient(135deg,rgba(249,252,255,.98),rgba(241,247,255,.96));
  border-bottom-left-radius:28px;
  pointer-events:none;
}
.login-mascot-frame::before {
  left:0;
  right:0;
  width:auto;
  height:58px;
  border-bottom-left-radius:0;
  background:linear-gradient(180deg,rgba(247,251,255,.995),rgba(242,248,255,.97) 72%,rgba(242,248,255,.0));
}
/* Scene choreography on first paint: sequential, short, and non-looping. */
.login-experience-copy { animation:zqSceneCopyIn .78s cubic-bezier(.16,1,.3,1) .16s both; }
.login-mascot-frame { animation:zqMascotReveal .92s cubic-bezier(.16,1,.3,1) .22s both; }
.login-proof-card-a { animation:zqProofCardIn .72s cubic-bezier(.16,1,.3,1) .46s both; }
.login-proof-card-b { animation:zqProofCardIn .72s cubic-bezier(.16,1,.3,1) .56s both; }
.login-experience-rail { animation:zqRailSceneIn .72s cubic-bezier(.16,1,.3,1) .66s both; }
.login-zev-dot { animation:zqZevReadyPulse 2.8s ease-in-out 1s infinite; }
@keyframes zqSceneCopyIn { from{opacity:0;translate:0 18px;filter:blur(5px)} to{opacity:1;translate:0 0;filter:none} }
@keyframes zqMascotReveal { from{opacity:0;clip-path:inset(9% 7% 9% 7% round 36px);filter:blur(7px)} to{opacity:1;clip-path:inset(0 0 0 0 round 32px);filter:none} }
@keyframes zqProofCardIn { from{opacity:0;transform:translate3d(-15px,10px,0);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }
@keyframes zqRailSceneIn { from{opacity:0;translate:0 8px} to{opacity:1;translate:0 0} }
@keyframes zqZevReadyPulse { 0%,100%{box-shadow:0 0 0 4px rgba(47,115,255,.10)} 50%{box-shadow:0 0 0 7px rgba(47,115,255,.035)} }
@media (prefers-reduced-motion:reduce) {
  .login-experience-copy,.login-mascot-frame,.login-proof-card,.login-experience-rail,.login-zev-dot { animation:none !important; }
}
@media (max-width:680px) {
  .login-experience { min-height:790px; }
  .login-experience-copy { top:78px;left:24px;right:24px;width:auto; }
  .login-experience-copy h2 { font-size:34px;line-height:1.03;max-width:340px; }
  .login-experience-copy > p:last-child { max-width:330px; }
  .login-mascot-frame {
    width:286px;
    right:50%;
    bottom:70px;
    translate:50% 0;
    aspect-ratio:.80;
  }
  .login-proof-card { display:none; }
  .login-experience-rail { left:20px;right:20px;bottom:24px; }
}
