/* MIKODES landing kit — dark, product accent from the logo (--c), real screens in CSS device frames.
   Motion is progressive: without JS or with prefers-reduced-motion everything is visible and still. */
:root {
  --bg: #04070c;
  --bg-2: #08101a;
  --line: rgba(var(--c-rgb), .16);
  --line-2: #1d2c38;
  --text: #e8f4fa;
  --text-2: #b9cad6;
  --muted: #8ea3b3;
  --bg-rgb: 4 7 12;
  --surf: 8 16 26;
  --surf-solid: #0a1520;
  --fg: 255 255 255;
  --well: #03070c;
  --display: var(--sans);
  --c: #5ce1ff;          /* product accent for text on dark — set per product by build.py */
  --c-rgb: 92, 225, 255;
  --on-c: #031018;       /* text on an accent button */
  --amber: #ffbd59;
  --ok: #5cf2c0;
  --red: #ff7385;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  --sans: "Space Grotesk", system-ui, sans-serif;
  --ease: cubic-bezier(.2, .7, .2, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; scroll-padding-top: 84px; }
body {
  margin: 0; background: var(--bg); color: var(--text); font: 17px/1.55 var(--sans);
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
  background-image:
    radial-gradient(1200px 700px at 75% -10%, rgba(var(--c-rgb), .13), transparent 60%),
    linear-gradient(rgba(var(--c-rgb), .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--c-rgb), .035) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
}
::selection { background: rgba(var(--c-rgb), .35); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
h1, h2 { margin: 0; letter-spacing: -.03em; line-height: 1.02; font-weight: 700; font-family: var(--display); }
h2 { font-size: clamp(30px, 4.2vw, 52px); }
h2 span { color: var(--c); }
.kicker { font: 600 12px/1 var(--mono); letter-spacing: .22em; text-transform: uppercase; color: var(--c); margin: 0 0 22px; }
.kicker::before { content: ""; display: inline-block; width: 18px; height: 1px; margin-right: 10px; vertical-align: middle; background: var(--c); }
.sub { color: var(--muted); margin: 14px 0 0; font-size: 18px; }
main > section { width: min(1180px, 100% - 32px); margin: 0 auto; position: relative; }
:focus-visible { outline: 2px solid var(--c); outline-offset: 3px; border-radius: 8px; }

/* reveal on scroll (only when app.js marks <html class="js">) */
.js [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--d, 0s); }
.js [data-reveal].in { opacity: 1; transform: none; }

/* scroll progress */
.progress { position: fixed; inset: 0 0 auto; height: 2px; z-index: 30; pointer-events: none; }
.progress i { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0));
  background: linear-gradient(90deg, rgba(var(--c-rgb), .2), var(--c)); box-shadow: 0 0 12px var(--c); }

/* nav */
.nav { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; gap: 18px;
  padding: 14px max(16px, calc((100% - 1180px) / 2)); border-bottom: 1px solid transparent; transition: padding .3s, border-color .3s; }
.nav::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgb(var(--bg-rgb) / .55); transition: background .3s;
  backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4); }
.scrolled .nav { padding-top: 9px; padding-bottom: 9px; border-bottom-color: var(--line); }
.scrolled .nav::before { background: rgb(var(--bg-rgb) / .82); }
.nav nav { display: flex; align-items: center; gap: 22px; font-size: 15px; color: var(--muted); margin-left: auto; }
.nav nav a { position: relative; transition: color .2s; }
.nav nav a:not(.tg):not(.navbuy)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: var(--c);
  transform: scaleX(0); transition: transform .3s var(--ease); }
.nav nav a:hover { color: var(--text); }
.nav nav a:hover::after { transform: scaleX(1); }
.nav-end { display: flex; align-items: center; gap: 10px; }
.menu-btn { display: none; width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(var(--c-rgb), .35); background: transparent;
  color: var(--text); cursor: pointer; place-items: center; }
.menu-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

/* buttons */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 26px;
  border-radius: 999px; font-weight: 700; background: var(--c); color: var(--on-c); overflow: hidden; isolation: isolate; white-space: nowrap;
  box-shadow: 0 0 0 1px var(--c), 0 10px 40px rgba(var(--c-rgb), .35); transition: transform .2s var(--ease), box-shadow .2s; }
.btn::after { content: ""; position: absolute; inset: 0; z-index: -1; transform: translateX(-120%);
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .45) 50%, transparent 70%); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--c), 0 16px 56px rgba(var(--c-rgb), .55); }
.btn:hover::after { transform: translateX(120%); transition: transform .8s var(--ease); }
.btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.btn svg polygon { fill: currentColor; }
.btn-ghost { background: rgba(var(--c-rgb), .04); color: var(--text); box-shadow: inset 0 0 0 1px rgba(var(--c-rgb), .4); backdrop-filter: blur(6px); }
.btn-ghost::after { background: linear-gradient(100deg, transparent 30%, rgba(var(--c-rgb), .18) 50%, transparent 70%); }
.btn-ghost:hover { box-shadow: inset 0 0 0 1px var(--c), 0 10px 40px rgba(var(--c-rgb), .15); }
.btn-ghost svg { color: var(--c); }
.btn-sm { height: 40px; padding: 0 18px; font-size: 14px; gap: 8px; }
.btn.btn-sm:not(.btn-ghost) { color: var(--on-c); }
.pulse-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.pulse-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor; animation: ping 1.8s ease-out infinite; }
.cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.cta.center { justify-content: center; }
.fine { margin: 16px 0 0; font-size: 14px; color: var(--muted); max-width: 560px; }

/* hero */
.hero { display: grid; grid-template-columns: .92fr 1.08fr; gap: 48px; align-items: center; min-height: calc(100vh - 70px); padding: 60px 0; }
.aurora { position: absolute; inset: -80px -30vw 0; z-index: -1; pointer-events: none; overflow: hidden; }
.aurora i { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .5; }
.aurora i:nth-child(1) { width: 520px; height: 520px; right: 12%; top: 4%; background: rgba(var(--c-rgb), .35); animation: drift 18s ease-in-out infinite; }
.aurora i:nth-child(2) { width: 380px; height: 380px; right: 38%; top: 46%; background: rgba(53, 0, 168, .45); animation: drift 22s ease-in-out -6s infinite reverse; }
.aurora i:nth-child(3) { width: 300px; height: 300px; right: 2%; top: 60%; background: rgba(0, 180, 255, .22); animation: drift 26s ease-in-out -12s infinite; }
h1 { font-size: clamp(44px, 6.2vw, 90px); max-width: 11ch; }
h1 span { display: block; background: linear-gradient(100deg, var(--c) 0%, #fff 45%, var(--c) 60%, var(--c) 100%); background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 30px rgba(var(--c-rgb), .45));
  animation: shimmer 7s ease-in-out infinite; }
.lead { font-size: clamp(18px, 1.6vw, 21px); color: var(--text-2); max-width: 560px; margin: 28px 0 0; }

.hero-visual { position: relative; min-height: 560px; display: grid; place-items: center; perspective: 1600px; }
.hero-visual .stage { position: relative; width: 100%; display: grid; place-items: center; transform-style: preserve-3d;
  transform: rotateX(calc(var(--ry, 0deg) + var(--lift, 0deg))) rotateY(var(--rx, 0deg)); transition: transform .5s var(--ease); }
.glow { position: absolute; inset: 6% 2%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--c-rgb), .32), transparent 70%);
  filter: blur(14px); animation: breathe 6s ease-in-out infinite; }
.hero-visual.combo .stage, .hero-visual.mac .stage { width: calc(100% + max(0px, (100vw - 1180px) / 2 - 24px)); justify-self: start; }
.hero-visual.combo .stage { padding-right: 10%; }
.hero-visual.combo .mac { width: 100%; }
.hero-visual.combo .iphone.d2 { position: absolute; right: 0; bottom: -10%; width: 25%; transform: translateZ(60px); animation: float 6s ease-in-out infinite; }
.hero-visual.mac .mac { width: 100%; }
.hero-visual.phone .iphone { width: min(300px, 62%); animation: float 6s ease-in-out infinite; }
.hero-visual.phones .iphone.d1 { width: min(290px, 52%); z-index: 2; animation: float 6s ease-in-out infinite; margin-left: -18%; }
.hero-visual.phones .iphone.d2 { position: absolute; width: min(250px, 44%); right: 6%; top: 8%; z-index: 1; transform: rotate(7deg) translateZ(-40px);
  filter: brightness(.72) saturate(.9); animation: float2 7s ease-in-out -2s infinite; }

/* hero earnings chip */
.earn-chip { display: flex; width: fit-content; align-items: center; gap: 10px; margin: 0 0 26px; padding: 5px 14px 5px 5px; border-radius: 999px; font-size: 14px;
  color: var(--text-2); background: rgba(var(--c-rgb), .08); border: 1px solid rgba(var(--c-rgb), .35); backdrop-filter: blur(8px); transition: border-color .2s, background .2s; }
.earn-chip:hover { border-color: var(--c); background: rgba(var(--c-rgb), .14); }
.earn-chip .ec-tag { padding: 5px 11px; border-radius: 999px; background: var(--c); color: var(--on-c); font: 700 12px var(--sans); }
.earn-chip b { color: var(--c); }
.earn-chip svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.earn-chip:hover svg { transform: translateX(3px); }
@media (max-width: 480px) { .earn-chip { flex-wrap: wrap; border-radius: 18px; padding: 6px 12px 6px 6px; font-size: 13px; } }

/* stacked hero: headline centred, big MacBook + iPhone below across the full width */
.hero.stacked { grid-template-columns: 1fr; min-height: 0; padding: 80px 0 100px; gap: 64px; text-align: center; }
.hero.stacked h1 { max-width: 15ch; margin: 0 auto; }
.hero.stacked .lead, .hero.stacked .fine { margin-left: auto; margin-right: auto; max-width: 680px; }
.hero.stacked .cta { justify-content: center; }
.hero.stacked .earn-chip { margin-left: auto; margin-right: auto; }
.hero.stacked .kicker::before { display: none; }
.hero.stacked .hero-visual { min-height: 0; perspective: 2200px; }
.hero.stacked .hero-visual .stage { width: min(1100px, 100%); padding-right: 0; justify-self: center; transform-origin: 50% 100%; }
.js .hero.stacked .hero-visual .stage { --lift: 16deg; }
.hero.stacked.flat .hero-visual .stage { --lift: 0deg; }
.hero.stacked .iphone.d2 { width: 21%; right: -2%; bottom: -7%; }
.hero.stacked .glow { inset: 10% 10% -10%; }
.hero.stacked .pill.p0 { left: -11%; top: 26%; }
.hero.stacked .pill.p1 { left: auto; right: -9%; top: 6%; }
.hero.stacked .pill.p2 { left: -7%; bottom: 14%; }
@media (max-width: 1360px) { .hero.stacked .pill { display: none; } }
.hero.stacked .hero-badge { bottom: -52px; }

/* floating glass pills (titles of real features) */
.pills { position: absolute; inset: 0; pointer-events: none; }
.pill { position: absolute; display: inline-flex; align-items: center; gap: 8px; max-width: 250px; padding: 9px 14px 9px 10px; border-radius: 14px;
  font: 600 13px/1.25 var(--sans); color: var(--text); background: rgb(var(--surf) / .66); border: 1px solid rgba(var(--c-rgb), .3);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 16px 40px rgba(0, 0, 0, .45); animation: float 7s ease-in-out infinite; }
.pill svg { width: 18px; height: 18px; flex: none; padding: 3px; border-radius: 6px; background: var(--c); stroke: var(--on-c); fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.pill.p0 { left: -6%; top: 8%; }
.pill.p1 { right: -4%; top: 40%; animation-delay: -2.3s; }
.pill.p2 { left: 2%; bottom: 6%; animation-delay: -4.6s; }
.hero-visual.combo .pill.p1 { right: auto; left: -8%; top: 52%; }
.hero-badge { position: absolute; left: 50%; bottom: -26px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 9px;
  padding: 8px 14px; border-radius: 999px; font: 12px var(--mono); letter-spacing: .06em; color: var(--ok); white-space: nowrap;
  background: rgb(var(--bg-rgb) / .8); border: 1px solid rgba(92, 242, 192, .35); backdrop-filter: blur(8px); }
.hero-badge:hover { border-color: var(--ok); }

.hero-copy > * { animation: rise .9s var(--ease) both; }
.hero-copy > :nth-child(2) { animation-delay: .08s; } .hero-copy > :nth-child(3) { animation-delay: .16s; }
.hero-copy > :nth-child(4) { animation-delay: .24s; } .hero-copy > :nth-child(5) { animation-delay: .32s; }
.hero-visual { animation: rise 1.1s var(--ease) .2s both; }
@keyframes rise { from { opacity: 0; transform: translateY(24px); } }

/* ── device frames ─────────────────────────────────────────────────────────
   Sizes are in cqw (container query units) so every frame scales as one piece, from the hero down to a phone. */
figure { margin: 0; }
.glare { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; z-index: 3;
  background: linear-gradient(118deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .025) 26%, transparent 38%); }
.shot-in { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.shot-in img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }

/* MacBook Pro 14" */
.mac { position: relative; width: 100%; container-type: inline-size; }
.mac::after { content: ""; position: absolute; left: 4%; right: 4%; bottom: -3.5cqw; height: 5cqw; z-index: -1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .75), transparent); filter: blur(6px); }
.mac-lid { position: relative; margin: 0 6.2%; padding: 1.25cqw 1.25cqw 1.9cqw; border-radius: 2.6cqw 2.6cqw .8cqw .8cqw; background: #050506;
  box-shadow: inset 0 0 0 .18cqw #2c2e33, inset 0 0 0 .35cqw #0b0b0d, 0 0 0 .12cqw #54575e, 0 40px 90px rgba(0, 0, 0, .55), 0 0 80px rgba(var(--c-rgb), .12); }
.mac-lid::before { content: ""; position: absolute; top: 1.2cqw; left: 50%; width: 10%; height: 2.3cqw; transform: translateX(-50%); z-index: 4;
  border-radius: 0 0 .9cqw .9cqw; background: #050506; }
.mac-lid::after { content: ""; position: absolute; top: 1.95cqw; left: 50%; width: .75cqw; height: .75cqw; margin-left: -.375cqw; z-index: 5; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #2a3b52, #0a0f16 60%); }
.mac-screen { position: relative; display: flex; flex-direction: column; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 1.3cqw 1.3cqw 0 0; background: #000; }
.safari { flex: none; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 3.6cqw; padding: 0 1.6cqw;
  background: #1d1f23; border-bottom: .1cqw solid #000; font: 500 1.25cqw/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", var(--sans); color: #c9cdd3; }
.safari .tl { display: flex; gap: .7cqw; }
.safari .tl i { width: 1.1cqw; height: 1.1cqw; border-radius: 50%; background: #ff5f57; }
.safari .tl i:nth-child(2) { background: #febc2e; } .safari .tl i:nth-child(3) { background: #28c840; }
.safari .url { display: inline-flex; align-items: center; gap: .6cqw; min-width: 34cqw; justify-content: center; height: 2.3cqw; padding: 0 2cqw;
  border-radius: .8cqw; background: #2c2f35; white-space: nowrap; }
.safari .url svg { width: 1.1cqw; height: 1.1cqw; fill: none; stroke: currentColor; stroke-width: 2.5; opacity: .7; }
.safari.light { background: #ececef; border-bottom-color: #d5d5da; color: #3a3d44; }
.safari.light .url { background: #fff; box-shadow: 0 0 0 .08cqw #d5d5da; }
.mac-base { position: relative; height: 2.3cqw; border-radius: .3cqw .3cqw 2cqw 2cqw / .3cqw .3cqw 1.8cqw 1.8cqw;
  background: linear-gradient(180deg, #d9dce1 0%, #c3c7cd 22%, #a9aeb6 55%, #7d828a 82%, #50545b 100%);
  box-shadow: inset 0 .12cqw 0 rgba(255, 255, 255, .8), inset 0 -.2cqw .3cqw rgba(0, 0, 0, .35); }
.mac-base::before { content: ""; position: absolute; left: 6.2%; right: 6.2%; top: -.55cqw; height: .55cqw; border-radius: .3cqw .3cqw 0 0;
  background: linear-gradient(#2a2c30, #6b6f76); }
.mac-base i { position: absolute; left: 50%; top: 0; width: 15%; height: 45%; transform: translateX(-50%); border-radius: 0 0 1cqw 1cqw;
  background: linear-gradient(180deg, #8d9199, #b7bbc2); box-shadow: inset 0 .1cqw .2cqw rgba(0, 0, 0, .35); }

.menubar { flex: none; display: flex; justify-content: space-between; align-items: center; height: 2.3cqw; padding: 0 1.6cqw;
  background: #0b0c0e; color: #e6e8eb; font: 500 1.05cqw/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", var(--sans); }
.menubar span { display: flex; align-items: center; gap: 1.5cqw; }
.menubar svg { width: 1.3cqw; height: 1.3cqw; fill: currentColor; }
.menubar b { font-weight: 700; }

/* iPhone 15 Pro */
.iphone { position: relative; width: 280px; container-type: inline-size; }
.ip-body { position: relative; padding: 3.2cqw; border-radius: 16.5cqw; border: 1.1cqw solid transparent;
  background: linear-gradient(#050506, #050506) padding-box,
    linear-gradient(140deg, #a7abb3 0%, #5b5f67 14%, #2b2e33 30%, #6d717a 48%, #2a2d32 66%, #585c64 84%, #b3b7be 100%) border-box;
  box-shadow: 0 0 0 .3cqw #16171a, 0 50px 90px rgba(0, 0, 0, .6), 0 0 70px rgba(var(--c-rgb), .16); }
.ip-body::before, .ip-body::after { content: ""; position: absolute; width: 1.1cqw; border-radius: .6cqw; background: linear-gradient(90deg, #3c3f45, #8b8f97 60%, #4a4d53); }
.ip-body::before { left: -2.1cqw; top: 24%; height: 9%; box-shadow: 0 -8.5cqw 0 -.05cqw #6f737b; }
.ip-body::after { right: -2.1cqw; top: 30%; height: 14%; }
.ip-screen { position: relative; display: flex; flex-direction: column; aspect-ratio: 390 / 844; overflow: hidden; border-radius: 12.4cqw; background: #000; }
.sbar { flex: none; position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; height: 12.6cqw;
  padding: 1.6cqw 7.5cqw 0 9.5cqw; color: #fff; font: 600 4.4cqw/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", var(--sans); letter-spacing: -.01em; }
.sbar span { display: flex; align-items: center; gap: 1.5cqw; }
.sbar svg { height: 3.3cqw; width: auto; fill: currentColor; stroke: currentColor; }
.sbar .sig, .sbar .wifi { stroke: none; }
.sbar.light { color: #000; }
.island { position: absolute; z-index: 3; top: 3.1cqw; left: 50%; width: 31cqw; height: 9.2cqw; transform: translateX(-50%); border-radius: 99px; background: #000;
  box-shadow: inset -2.2cqw 0 0 -1.2cqw #111c2a; }
.home { position: absolute; z-index: 3; left: 50%; bottom: 2.4cqw; width: 36%; height: 1.4cqw; transform: translateX(-50%); border-radius: 99px; background: rgba(255, 255, 255, .8); }
.home.dark { background: rgba(0, 0, 0, .75); }
.iphone .glare { border-radius: 12.4cqw; }

/* glass window for odd crops */
.panel { position: relative; width: 100%; border-radius: 16px; overflow: hidden; background: #070d14; border: 1px solid rgba(var(--c-rgb), .3);
  box-shadow: 0 50px 90px rgba(0, 0, 0, .6), 0 0 70px rgba(var(--c-rgb), .14), inset 0 1px 0 rgb(var(--fg) / .08); }
.panel .pbar { display: flex; gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--line); background: rgb(var(--fg) / .02); }
.panel .pbar i { width: 10px; height: 10px; border-radius: 50%; background: var(--line-2); }
.panel .pbar i:first-child { background: #ff5f57; } .panel .pbar i:nth-child(2) { background: #febc2e; } .panel .pbar i:nth-child(3) { background: #28c840; }
.panel img { width: 100%; }
.panel .glare { top: 31px; }
.slide .panel { max-width: 860px; }
.showcase .panel { transition: transform .6s var(--ease); }
.showcase:hover .panel { transform: translateY(-6px); }
.hero-visual.mac .panel, .hero-visual.combo .panel { width: 100%; }

/* loop */
.loop ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); position: relative;
  border: 1px solid var(--line); border-radius: 22px; background: rgb(var(--surf) / .6); overflow: hidden; counter-reset: s; backdrop-filter: blur(6px); }
.loop ol::after { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 100%; transform-origin: 0 50%; transform: scaleX(0);
  background: linear-gradient(90deg, transparent, var(--c)); transition: transform 2.2s var(--ease) .3s; }
.loop.in ol::after, html:not(.js) .loop ol::after { transform: scaleX(1); }
.loop li { padding: 28px 26px; border-right: 1px solid var(--line); counter-increment: s; transition: background .3s; }
.loop li:hover { background: rgba(var(--c-rgb), .05); }
.loop li:last-child { border-right: 0; background: rgba(var(--c-rgb), .07); }
.loop li::before { content: "0" counter(s); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; font: 600 12px var(--mono);
  color: var(--c); border: 1px solid rgba(var(--c-rgb), .35); background: rgba(var(--c-rgb), .07); margin-bottom: 16px; }
.loop b { display: block; font-size: 23px; margin-bottom: 6px; }
.loop span { color: var(--muted); font-size: 15px; }

/* features */
.feat { padding: 140px 0 0; }
.says { display: flex; flex-wrap: wrap; gap: 10px; margin: 34px 0 0; }
.says span { font: 14px var(--mono); padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(var(--c-rgb), .3);
  background: rgba(var(--c-rgb), .06); color: var(--text-2); }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 40px; }
.card { --mx: 50%; --my: 0%; position: relative; display: flex; flex-direction: column; padding: 18px 18px 22px; border-radius: 22px;
  border: 1px solid var(--line); background: linear-gradient(180deg, rgb(var(--surf) / .9), rgb(var(--surf) / .9));
  transition: border-color .3s, transform .4s var(--ease), box-shadow .3s, opacity .8s var(--ease); }
.card::before, .ring::before, .pcard::before, .dcol::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0;
  transition: opacity .3s; background: radial-gradient(360px circle at var(--mx) var(--my), rgba(var(--c-rgb), .12), transparent 60%); }
.card:hover::before, .ring:hover::before, .pcard:hover::before, .dcol:hover::before { opacity: 1; }
.card:hover { border-color: rgba(var(--c-rgb), .5); transform: translateY(-6px); box-shadow: 0 30px 60px rgba(0, 0, 0, .45), 0 0 40px rgba(var(--c-rgb), .08); }
.card h3 { margin: 20px 4px 8px; font-size: 22px; letter-spacing: -.02em; }
.card p { margin: 0 4px; color: var(--text-2); font-size: 15.5px; }
.card p b { color: var(--text); }
.card small { margin: auto 4px 0; padding-top: 16px; font: 12px var(--mono); color: var(--ok); letter-spacing: .02em; }
.card small::before { content: "✓ "; }
.note { margin: 22px 0 0; font: 12px var(--mono); color: var(--muted); text-align: center; }
.card .shot { height: 196px; border-radius: 14px; overflow: hidden; border: 1px solid rgba(var(--c-rgb), .14); background: var(--well); }
.card .shot img { width: 100%; height: 100%; object-fit: cover; object-position: top left; transition: transform 1.6s var(--ease), object-position 3s var(--ease); }
.card:hover .shot img { transform: scale(1.04); object-position: bottom left; }
.card .ic { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: rgba(var(--c-rgb), .1);
  border: 1px solid rgba(var(--c-rgb), .3); color: var(--c); }
.card .ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.card.icon h3 { margin-top: 18px; }

.mock { --text: #e8f4fa; --text-2: #b9cad6; --muted: #8ea3b3; --fg: 255 255 255; --line-2: #2a3a47; color: var(--text);
  height: 196px; border-radius: 14px; padding: 14px; background: var(--well); border: 1px solid rgba(var(--c-rgb), .14);
  font-size: 13px; display: flex; flex-direction: column; gap: 8px; overflow: hidden;
  background-image: radial-gradient(400px 160px at 80% 0, rgba(var(--c-rgb), .09), transparent 70%); }
.mock > * { transition: transform .4s var(--ease); }
.card:hover .mock > *:nth-child(odd) { transform: translateX(3px); }
.mock s { text-decoration: none; }
.mock em { font-style: normal; color: var(--muted); }
.mock .row { display: grid; grid-template-columns: 10px minmax(0, auto) 1fr auto; align-items: center; gap: 8px; padding: 8px 10px;
  border-radius: 10px; background: rgba(255, 255, 255, .025); white-space: nowrap; }
.mock .row em { overflow: hidden; text-overflow: ellipsis; }
.mock .row b { overflow: hidden; text-overflow: ellipsis; max-width: 120px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line-2); }
.dot.vip { background: var(--amber); box-shadow: 0 0 8px var(--amber); animation: blink 2.4s ease-in-out infinite; }
.dot.bad { background: var(--red); }
.tag { font: 600 10px var(--mono); text-transform: uppercase; letter-spacing: .08em; padding: 3px 7px; border-radius: 6px;
  border: 1px solid var(--line-2); color: var(--muted); }
.tag.call { color: var(--on-c); background: var(--c); border-color: var(--c); }
.tag.phish { color: var(--red); border-color: rgba(255, 115, 133, .5); }
.mock .plan { padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(var(--c-rgb), .3); background: rgba(var(--c-rgb), .06);
  display: flex; justify-content: space-between; gap: 10px; }
.mock .btns { display: flex; gap: 8px; }
.mock .btns s { font: 600 12px var(--mono); padding: 6px 12px; border-radius: 8px; border: 1px solid var(--line-2); color: var(--muted); }
.mock .btns s.ok { background: var(--c); color: var(--on-c); border-color: var(--c); }
.chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; }
.chips span { font: 11px var(--mono); padding: 3px 7px; border-radius: 6px; background: rgb(var(--fg) / .04); color: var(--text-2); }
.bar { height: 8px; border-radius: 99px; background: rgb(var(--fg) / .06); overflow: hidden; margin-top: 18px; }
.bar i { display: block; height: 100%; width: 72%; border-radius: 99px; background: linear-gradient(90deg, rgba(var(--c-rgb), .4), var(--c));
  box-shadow: 0 0 12px var(--c); animation: fill 4s ease-in-out infinite alternate; }
.mock .meta { display: flex; justify-content: space-between; font: 12px var(--mono); color: var(--muted); margin-top: 6px; }
.mock .meta .c { color: var(--c); }
.mock .slot { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 5px 10px; border-radius: 9px;
  background: rgba(255, 255, 255, .025); }
.mock .slot time { font: 600 12px var(--mono); color: var(--c); }
.mock .slot.moved em { color: var(--amber); }
.mock .slot.free { border: 1px dashed rgba(92, 242, 192, .4); color: var(--ok); }
.mock .slot.prop em { color: var(--c); }
.mock .slot em { font: 11px var(--mono); }
.mock.cal { gap: 6px; }
.mock.sms { gap: 6px; justify-content: flex-end; }
.mock.sms p { margin: 0; padding: 6px 11px; border-radius: 14px; max-width: 80%; line-height: 1.35; font-size: 13px; }
.mock.sms .me { align-self: flex-end; background: var(--c); color: var(--on-c); border-bottom-right-radius: 4px; font-weight: 500; }
.mock.sms .vox { align-self: flex-start; background: rgb(var(--fg) / .07); border-bottom-left-radius: 4px; }

/* interactive tour */
.tour { padding: 150px 0 0; }
.tour-head { text-align: center; max-width: 760px; margin: 0 auto; }
.tour-body { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: center; margin-top: 56px; }
.tabs { display: flex; flex-direction: column; gap: 6px; }
.tabs button { position: relative; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; padding: 14px 16px; text-align: left;
  border-radius: 14px; border: 1px solid transparent; background: none; color: var(--muted); font: 500 15.5px/1.3 var(--sans); cursor: pointer;
  overflow: hidden; transition: background .3s, color .3s, border-color .3s; }
.tabs button:hover { color: var(--text); background: rgba(var(--c-rgb), .04); }
.tabs button[aria-selected="true"] { color: var(--text); border-color: rgba(var(--c-rgb), .35); background: rgba(var(--c-rgb), .08); }
.tabs .n { font: 600 12px var(--mono); color: var(--c); }
.tabs .tbar { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: var(--c); }
.tabs button[aria-selected="true"] .tbar { animation: tabfill var(--tour-ms, 5500ms) linear forwards; }
.tour.paused .tabs .tbar { animation-play-state: paused; }
.tour-stage { position: relative; display: grid; place-items: center; min-height: 520px; }
.tour-stage::before { content: ""; position: absolute; inset: 10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--c-rgb), .22), transparent 70%); filter: blur(20px); }
.slide { grid-area: 1 / 1; width: 100%; display: grid; place-items: center; opacity: 0; transform: translateY(16px) scale(.97); pointer-events: none;
  transition: opacity .6s var(--ease), transform .7s var(--ease); cursor: zoom-in; }
.slide.on { opacity: 1; transform: none; pointer-events: auto; }
.slide .iphone { width: min(300px, 62%); }
html:not(.js) .slide { grid-area: auto; opacity: 1; transform: none; margin-bottom: 30px; }
.tour > .cta { margin-top: 50px; }

/* screenshots in device frames */
.show { padding: 140px 0 0; text-align: center; }
.show + .show { padding-top: 110px; }
.showcase { position: relative; display: block; margin: 50px auto 0; }
.showcase.duo { padding-right: 9%; }
.showcase.duo .iphone.d2 { position: absolute; right: 0; bottom: -6%; width: 19%; transition: transform .6s var(--ease); }
.showcase .mac { transition: transform .6s var(--ease); }
.showcase:hover .mac { transform: translateY(-6px); }
.showcase:hover .iphone.d2 { transform: translateY(-14px) rotate(-2deg); }
.showcase.single .iphone { margin: 0 auto; width: min(300px, 70%); }
.frame-cta { position: absolute; right: 12%; bottom: 10%; padding: 10px 18px; border-radius: 999px; font-weight: 700; font-size: 15px;
  background: rgb(var(--bg-rgb) / .8); border: 1px solid var(--c); color: var(--c); backdrop-filter: blur(8px); transition: transform .3s var(--ease), background .3s, color .3s; }
.showcase:hover .frame-cta { background: var(--c); color: var(--on-c); transform: translateY(-3px); }
.showcase.duo .frame-cta { right: 26%; }
.showcase.single .frame-cta { right: 50%; transform: translateX(50%); bottom: 6%; white-space: nowrap; }
.showcase.single:hover .frame-cta { transform: translateX(50%) translateY(-3px); }

/* operator */
.biz { padding: 150px 0 0; display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.biz ul { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 14px; }
.biz li { padding-left: 30px; position: relative; font-size: 18px; }
.biz li::before { content: ""; position: absolute; left: 0; top: 9px; width: 12px; height: 12px; border-radius: 3px;
  background: var(--c); box-shadow: 0 0 12px var(--c); }
.stats { display: flex; flex-wrap: wrap; gap: 28px 40px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--line); }
.stats > div { min-width: 120px; flex: 1; }
.stats b { display: block; font: 700 30px var(--mono); color: var(--c); font-variant-numeric: tabular-nums; text-shadow: 0 0 24px rgba(var(--c-rgb), .4); }
.stats span { color: var(--muted); font-size: 14px; }
.biz.noimg { grid-template-columns: 1fr; }
.biz .showcase { margin: 0; }

/* business plan */
.plan { padding: 150px 0 0; }
.plan-head { max-width: 780px; }
.psteps { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; position: relative; }
.psteps::before { content: ""; position: absolute; left: 4%; right: 4%; top: 27px; height: 2px; z-index: -1;
  background: linear-gradient(90deg, rgba(var(--c-rgb), .1), var(--c), rgba(var(--c-rgb), .1)); }
.psteps li { display: flex; flex-direction: column; gap: 8px; padding: 0 6px; }
.psteps .pn { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; margin-bottom: 10px; font: 700 16px var(--mono);
  color: var(--on-c); background: var(--c); box-shadow: 0 0 0 6px var(--bg), 0 12px 40px rgba(var(--c-rgb), .45); }
.psteps li:last-child .pn { background: linear-gradient(135deg, var(--c), #fff); }
.psteps b { font-size: 21px; letter-spacing: -.01em; }
.psteps span:last-child { color: var(--muted); font-size: 15.5px; }
.pgrid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; margin-top: 48px; }
.pcard2 { padding: 28px; border-radius: 22px; border: 1px solid var(--line); background: rgb(var(--surf) / .65); }
.who, .rev { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.who li { display: flex; gap: 12px; align-items: center; font-size: 17px; }
.who svg, .rev svg, .pcost svg { width: 36px; height: 36px; flex: none; padding: 8px; border-radius: 11px; fill: none; stroke: var(--c); stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round; background: rgba(var(--c-rgb), .1); border: 1px solid rgba(var(--c-rgb), .25); }
.rev li { display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; align-items: center; }
.rev svg { grid-row: span 2; }
.rev b { font-size: 17px; }
.rev span { color: var(--muted); font-size: 14.5px; }
.pcost { display: flex; gap: 12px; align-items: center; margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 15px; }
.pcost b { color: var(--text); margin-right: 6px; }

/* earnings calculator */
.calc { padding: 150px 0 0; }
.calc-head { text-align: center; max-width: 780px; margin: 0 auto; }
.calc-box { display: grid; grid-template-columns: 1.1fr .9fr; margin-top: 48px; border-radius: 30px; overflow: hidden;
  border: 1px solid rgba(var(--c-rgb), .3); background: rgb(var(--surf) / .75); box-shadow: 0 40px 120px rgba(0, 0, 0, .5), 0 0 90px rgba(var(--c-rgb), .08); }
.cin { padding: 34px; display: grid; gap: 22px; align-content: start; }
.scen { display: inline-flex; padding: 4px; border-radius: 999px; background: rgb(var(--fg) / .04); border: 1px solid var(--line); justify-self: start; }
.scen button { border: 0; background: none; color: var(--muted); font: 600 14px var(--sans); padding: 9px 16px; border-radius: 999px; cursor: pointer; transition: background .2s, color .2s; }
.scen button[aria-pressed="true"] { background: var(--c); color: var(--on-c); box-shadow: 0 6px 24px rgba(var(--c-rgb), .4); }
.crow { display: grid; grid-template-columns: 1fr auto; gap: 10px 16px; align-items: end; }
.cl { font-size: 15.5px; color: var(--text-2); }
.cl small { display: block; margin-top: 3px; font: 11.5px var(--mono); color: var(--muted); }
.crow output { font: 700 17px var(--mono); color: var(--text); font-variant-numeric: tabular-nums; }
.crow input { grid-column: 1 / -1; width: 100%; height: 6px; margin: 4px 0 0; appearance: none; -webkit-appearance: none; border-radius: 99px; cursor: pointer;
  background: linear-gradient(90deg, var(--c) var(--f, 50%), rgb(var(--fg) / .1) var(--f, 50%)); }
.crow input::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 5px solid var(--c);
  box-shadow: 0 0 0 6px rgba(var(--c-rgb), .18), 0 4px 14px rgba(0, 0, 0, .5); transition: transform .15s; }
.crow input::-webkit-slider-thumb:hover { transform: scale(1.15); }
.crow input::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 5px solid var(--c); }
.cout { position: relative; padding: 34px; display: flex; flex-direction: column; overflow: hidden;
  background: linear-gradient(160deg, rgba(var(--c-rgb), .16), rgba(var(--c-rgb), .03) 60%); border-left: 1px solid var(--line); }
.cout::before { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--c-rgb), .35), transparent); animation: breathe 6s ease-in-out infinite; }
.big { position: relative; margin: 0; font: 700 clamp(44px, 5.4vw, 72px)/1 var(--sans); letter-spacing: -.04em; color: var(--c);
  text-shadow: 0 0 50px rgba(var(--c-rgb), .5); font-variant-numeric: tabular-nums; }
.yr { margin: 10px 0 0; color: var(--muted); font-size: 16px; }
.yr span { color: var(--text); font-weight: 700; font-family: var(--mono); }
.bars { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; }
.bars li { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; font-size: 14.5px; }
.bars .bv { font: 600 14px var(--mono); }
.bars i { grid-column: 1 / -1; height: 8px; border-radius: 99px; background: rgb(var(--fg) / .07); overflow: hidden; }
.bars i b { display: block; height: 100%; width: var(--w, 0%); border-radius: inherit; background: linear-gradient(90deg, rgba(var(--c-rgb), .5), var(--c));
  box-shadow: 0 0 12px rgba(var(--c-rgb), .6); transition: width .5s var(--ease); }
.net { display: flex; justify-content: space-between; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14.5px; }
.net b { font-family: var(--mono); color: var(--text); }
.net.tot { margin-top: 10px; padding-top: 10px; font-size: 16px; color: var(--text); }
.net.tot b { color: var(--ok); font-size: 18px; }
.cout .cta { margin-top: auto; padding-top: 26px; }
.calc .note { max-width: 760px; margin: 18px auto 0; }

/* rings */
.rings { padding: 150px 0 0; text-align: center; }
.ring-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 44px; }
.ring { position: relative; padding: 30px 24px; border-radius: 20px; border: 1px solid var(--line); background: rgb(var(--surf) / .6); text-align: left;
  transition: border-color .3s, transform .4s var(--ease), opacity .8s var(--ease); }
.ring:hover { transform: translateY(-4px); border-color: rgba(var(--c-rgb), .4); }
.ring b { display: block; font: 700 22px var(--mono); letter-spacing: .15em; margin-bottom: 8px; }
.ring span { color: var(--muted); }
.ring.ok b { color: var(--ok); } .ring.warn b { color: var(--amber); } .ring.no b { color: var(--red); } .ring.info b { color: var(--c); }

/* documentation */
.docs { padding: 150px 0 0; }
.docs-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; }
.docs-head > div { max-width: 720px; }
.dgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: 44px; }
.dcol { position: relative; padding: 22px; border-radius: 20px; border: 1px solid var(--line); background: rgb(var(--surf) / .6); }
.dcol ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.dcol a { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; margin: 0 -10px; border-radius: 10px; font-size: 15.5px;
  color: var(--text-2); transition: background .2s, color .2s; }
.dcol a:hover { background: rgba(var(--c-rgb), .08); color: var(--c); }
.dcol a svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; opacity: .4; transition: transform .2s, opacity .2s; }
.dcol a:hover svg { opacity: 1; transform: translateX(3px); }

/* buy source code */
.buy-sec { padding: 150px 0 0; }
.buy-card { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; padding: 48px; border-radius: 30px; overflow: hidden;
  border: 1px solid rgba(var(--c-rgb), .3); background: linear-gradient(135deg, rgba(var(--c-rgb), .1), rgb(var(--surf) / .85) 45%, rgba(53, 0, 168, .16)); }
.buy-card::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--a, 0deg), transparent 0 70%, var(--c) 85%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: spinA 6s linear infinite; }
.inc { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 14px; }
.inc li { display: flex; gap: 12px; align-items: flex-start; font-size: 17.5px; }
.inc svg, .bbtns svg { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--c); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.bbtns .btn:not(.btn-ghost) svg { stroke: var(--on-c); margin: 0; }
.bbtns .btn-ghost svg { margin: 0; }
.buy-box { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 34px 26px; border-radius: 24px;
  background: rgb(var(--bg-rgb) / .72); border: 1px solid var(--line); backdrop-filter: blur(10px); }
.buy-box img { width: 72px; height: 72px; filter: drop-shadow(0 10px 30px rgba(var(--c-rgb), .4)); animation: float 6s ease-in-out infinite; }
.buy-box .label { margin: 18px 0 6px; justify-content: center; }
.price { margin: 0; font: 700 34px var(--sans); letter-spacing: -.02em; }
.price.ask { font-size: 28px; color: var(--c); }
.bbtns { display: grid; gap: 10px; width: 100%; margin-top: 24px; }
.bbtns .btn { width: 100%; }
.bnote { margin: 16px 0 0; font-size: 13.5px; color: var(--muted); }

/* final */
.final { padding: 170px 0 120px; text-align: center; }
.final-orb { position: absolute; left: 50%; top: 52%; width: 620px; height: 620px; transform: translate(-50%, -50%); z-index: -1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--c-rgb), .22), transparent 70%); animation: breathe 6s ease-in-out infinite; }
.final h2 { font-size: clamp(36px, 5.5vw, 72px); }
.status { display: inline-flex; align-items: center; gap: 10px; margin: 40px 0 0; font: 13px var(--mono); color: var(--muted);
  padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); }
.status i { width: 8px; height: 8px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 10px var(--amber); flex: none; animation: blink 2.4s ease-in-out infinite; }

/* lockup: NAME by MIKODES */
.lockup { display: flex; align-items: center; gap: 12px; flex: none; }
.vlogo { width: 44px; height: 44px; transition: transform .5s var(--ease); }
.lockup:hover .vlogo { transform: rotate(-8deg) scale(1.06); }
.lk { display: flex; flex-direction: column; line-height: 1.1; }
.lk b { font: 700 19px var(--mono); letter-spacing: .3em; color: var(--c); }
.lk b.long { letter-spacing: .06em; font-size: 17px; }
.lk .by { display: flex; align-items: center; gap: 5px; margin-top: 4px; font: 12px var(--mono); letter-spacing: .12em; color: var(--muted); }
.mkm { width: 15px; height: 15px; border-radius: 4px; flex: none; }
.nav .tg { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(var(--c-rgb), .35); transition: border-color .2s, color .2s; }
.nav .tg:hover { border-color: var(--c); color: var(--c); }
.nav svg, .ccard svg, .fm svg, .go { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.nav .btn svg { width: 15px; height: 15px; }
.navbuy { font-size: 14px; color: var(--text) !important; padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(var(--c-rgb), .35);
  transition: background .2s, border-color .2s; }
.navbuy:hover { background: rgba(var(--c-rgb), .1); border-color: var(--c); }

/* contact */
.contact { padding: 40px 0 0; }
.label { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font: 600 12px var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.label svg { color: var(--c); }
.cgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 36px; }
.ccard { padding: 26px; border-radius: 22px; border: 1px solid var(--line); background: rgb(var(--surf) / .7); transition: border-color .3s; }
.ccard:hover { border-color: rgba(var(--c-rgb), .4); }
.copy { display: flex; gap: 10px; }
.copy input { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--well);
  color: var(--text); font: 16px var(--mono); }
.copy button { display: inline-flex; align-items: center; gap: 8px; height: 50px; padding: 0 18px; border-radius: 12px; cursor: pointer;
  border: 1px solid var(--line-2); background: var(--surf-solid); color: var(--text); font: 600 15px var(--sans); transition: border-color .2s; }
.copy button:hover { border-color: var(--c); }
.copy button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.ccard .btn { margin-top: 16px; }
.ccard .btn svg { stroke: var(--on-c); }
.cnote { margin: 16px 0 0; color: var(--muted); }

/* other products */
.more { padding: 130px 0 120px; }
.others { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pcard { --mx: 50%; --my: 50%; position: relative; display: flex; align-items: center; gap: 14px; height: 100%; padding: 18px; border-radius: 18px;
  border: 1px solid var(--line); background: rgb(var(--surf) / .7); transition: border-color .2s, transform .3s var(--ease); }
a.pcard:hover { border-color: rgba(var(--c-rgb), .5); transform: translateY(-3px); }
.pcard.here { border-color: var(--c); box-shadow: 0 0 30px rgba(var(--c-rgb), .12); }
.pm { width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; font: 700 20px var(--sans); flex: none; }
.pcard img.pm { border-radius: 0; }
.pm.mk { background: none; }
.pm.mk .mkm { width: 48px; height: 48px; border-radius: 13px; }
.pcard b { display: block; font-size: 16px; }
.pcard .s { display: block; color: var(--muted); font-size: 14px; }
.st { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; font: 10.5px var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.st i { width: 6px; height: 6px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 6px var(--ok); }
.st.here { color: var(--c); } .st.here i { background: var(--c); box-shadow: 0 0 6px var(--c); }
.go { position: absolute; right: 14px; bottom: 14px; width: 15px; height: 15px; color: var(--muted); transition: transform .2s, color .2s; }
a.pcard:hover .go { color: var(--c); transform: translate(2px, -2px); }

/* footer */
.foot { border-top: 1px solid var(--line); background: var(--well); padding: 60px max(16px, calc((100% - 1180px) / 2)) 30px; }
.fgrid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.fbrand p { color: var(--muted); font-size: 15px; margin: 18px 0; max-width: 420px; }
.fm { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 15px; }
.fm:hover, .foot ul a:hover { color: var(--c); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; font-size: 15px; }
.fbot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--line);
  font: 12px var(--mono); color: var(--muted); }
.fbot p { margin: 0; } .fbot b { color: var(--text); }

/* sticky mobile action bar */
.mbar { display: none; }

/* lightbox */
.lightbox { max-width: min(1400px, 94vw); max-height: 92vh; padding: 0; border: 1px solid rgba(var(--c-rgb), .35); border-radius: 16px; background: #000;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .8); overflow: hidden; }
.lightbox::backdrop { background: rgba(2, 4, 8, .82); backdrop-filter: blur(8px); }
.lightbox[open] { animation: pop .35s var(--ease); }
.lightbox img { max-height: 92vh; width: auto; margin: 0 auto; }
.lb-x { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .25);
  background: rgba(0, 0, 0, .6); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }

@keyframes ping { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(3.2); opacity: 0; } }
@keyframes drift { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(-60px, 40px) scale(1.1); } 66% { transform: translate(40px, -30px) scale(.92); } }
@keyframes shimmer { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
@keyframes breathe { 50% { opacity: .65; transform: scale(1.04); } }
@keyframes float { 50% { translate: 0 -12px; } }
@keyframes float2 { 50% { translate: 0 10px; } }
@keyframes blink { 50% { opacity: .35; } }
@keyframes fill { from { width: 35%; } to { width: 88%; } }
@keyframes tabfill { to { transform: scaleX(1); } }
@keyframes pop { from { opacity: 0; transform: scale(.96); } }
@property --a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes spinA { to { --a: 360deg; } }

/* ── responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .nav nav { gap: 16px; font-size: 14px; }
  .pill.p0 { left: 0; } .pill.p1 { right: 0; }
}
@media (max-width: 1000px) {
  .cards { grid-template-columns: 1fr 1fr; }
  .others { grid-template-columns: repeat(2, 1fr); }
  .fgrid { grid-template-columns: 1fr 1fr; } .fbrand { grid-column: 1 / -1; }
  .tour-body { grid-template-columns: 1fr; gap: 28px; }
  .calc-box { grid-template-columns: 1fr; }
  .cout { border-left: 0; border-top: 1px solid var(--line); }
  .psteps { grid-template-columns: 1fr 1fr; row-gap: 30px; }
  .psteps::before { display: none; }
  .pgrid { grid-template-columns: 1fr; }
  .tabs { flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
  .tabs::-webkit-scrollbar { display: none; }
  .tabs button { flex: none; scroll-snap-align: start; max-width: 240px; }
  .tour-stage { min-height: 0; align-items: start; }
  .slide { place-items: start center; }
  .slide .iphone { width: min(230px, 62%); }
  .buy-card { grid-template-columns: 1fr; padding: 34px; }
}
@media (max-width: 900px) {
  .nav nav { position: fixed; inset: 64px 12px auto; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border-radius: 18px;
    background: rgb(var(--surf) / .96); border: 1px solid var(--line); backdrop-filter: blur(16px); box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
    opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .25s, transform .25s var(--ease); font-size: 17px; }
  .nav nav a { padding: 13px 12px; border-radius: 10px; }
  .nav nav a::after { display: none; }
  .nav nav a:hover { background: rgba(var(--c-rgb), .07); }
  .nav nav .navbuy { border: 0; padding: 13px 12px; font-size: inherit; color: var(--c) !important; }
  .nav nav .tg { width: auto; height: auto; border: 0; border-radius: 10px; justify-content: start; }
  .nav nav .tg::after { content: "Telegram"; position: static; display: inline; height: auto; background: none; transform: none; margin-left: 10px; }
  .nav nav .tg { display: flex; align-items: center; }
  .menu-open .nav nav { opacity: 1; transform: none; pointer-events: auto; }
  .menu-btn { display: grid; }
  .hero { grid-template-columns: 1fr; min-height: 0; padding: 44px 0 50px; gap: 44px; }
  .hero-visual { min-height: 0; }
  .pill { display: none; }
  .loop ol { grid-template-columns: 1fr 1fr; }
  .loop li:nth-child(2n) { border-right: 0; }
  .loop li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .biz { grid-template-columns: 1fr; gap: 40px; padding-top: 110px; }
  .show, .rings, .tour, .docs, .buy-sec, .plan, .calc { padding-top: 110px; }
  .ring-row { grid-template-columns: 1fr; }
  .final { padding: 120px 0 90px; }
  .final-orb { width: 420px; height: 420px; }
  .mbar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 25; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px;
    border-radius: 999px; background: rgb(var(--surf) / .9); border: 1px solid var(--line); backdrop-filter: blur(14px); box-shadow: 0 20px 60px rgba(0, 0, 0, .6);
    transform: translateY(140%); transition: transform .4s var(--ease); }
  .show-mbar .mbar { transform: none; }
  .mbar .btn { width: 100%; padding: 0 12px; }
  .foot { padding-bottom: 100px; }
}
@media (max-width: 640px) {
  .feat { padding-top: 110px; }
  .cards { grid-template-columns: 1fr; }
  .says span { font-size: 12.5px; padding: 7px 11px; }
  .cgrid { grid-template-columns: 1fr; }
  .others { grid-template-columns: 1fr 1fr; gap: 10px; }
  .pcard { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
  .pm { width: 40px; height: 40px; font-size: 17px; border-radius: 11px; }
  .pm.mk .mkm { width: 40px; height: 40px; border-radius: 11px; }
  .pcard b { font-size: 14.5px; }
  .pcard .s { font-size: 12.5px; }
  .copy button span { display: none; }
  .fgrid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .more { padding: 100px 0 90px; }
  .nav .lk .by { font-size: 10.5px; }
  .nav-end > .btn { display: none; }
  .showcase.duo { padding-right: 0; }
  .hero-visual.combo .stage { padding-right: 16%; }
  .hero-visual.combo .iphone.d2 { right: 0; width: 27%; bottom: -10%; }
  .showcase.duo .iphone.d2 { width: 26%; right: -2%; }
  .frame-cta, .showcase.duo .frame-cta { right: 50%; transform: translateX(50%); bottom: -54px; white-space: nowrap; }
  .showcase:hover .frame-cta { transform: translateX(50%); }
  .showcase { margin-bottom: 60px; }
  .buy-card { padding: 26px 20px; border-radius: 24px; }
  .psteps { grid-template-columns: 1fr; }
  .cin, .cout { padding: 24px 20px; }
  .scen { justify-self: stretch; } .scen button { flex: 1; padding: 9px 6px; font-size: 13px; }
  .pcard2 { padding: 22px 18px; }
  .docs-head .btn { width: 100%; }
}
@media (max-width: 480px) {
  body { font-size: 16px; }
  .loop li { padding: 22px 18px; }
  .loop b { font-size: 20px; }
  .cta .btn { width: 100%; }
  .stats { gap: 20px 24px; }
  .stats b { font-size: 24px; }
  .status { border-radius: 14px; text-align: left; }
  .hero-visual.phones .iphone.d1 { margin-left: -30%; }
  .loop ol { grid-template-columns: 1fr; }
  .loop li { border-right: 0; border-bottom: 1px solid var(--line); }
  .loop li:last-child { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .js .hero.stacked .hero-visual .stage { --lift: 0deg; }
  html { scroll-behavior: auto; }
}

/* ════════════════════════════════════════════════════════════════════════════
   Four shells — the owner saw every landing as "too AI and all alike" (2026-09-28).
   What stays shared is craft: device frames, rhythm, the sections. What changes is the look.
     terminal  AXIS · SOLSCOPE · THESIS · PARACHUTE      black instrument, square, IBM Plex, ticker
     paper     Receipts · Verified Calls · Prediction · CryptoMeter   editorial, serif headlines, rules
     pop       TIDE · Campaign Kit · PIT                  cream, ink borders, hard shadows, stickers
     swiss     SLUICE · Token Forge · Stablecoin          white, zero radius, left-aligned, numbered
   ════════════════════════════════════════════════════════════════════════════ */

.ticker { display: none; }

/* ── shared by the three light shells ─────────────────────────────────────── */
[data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"] {
  --fg: 0 0 0; --well: #fff; --surf-solid: #fff;
  --ok: #0c8457; --amber: #a86400; --red: #c43343;
}
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) body { background-image: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"], [data-theme="terminal"]) :is(.aurora, .glow, .final-orb, .cout::before, .tour-stage::before) { display: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"], [data-theme="terminal"]) h1 span {
  background: none; -webkit-text-fill-color: currentColor; color: var(--c); filter: none; animation: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) :is(.stats b, .big) { text-shadow: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .btn { box-shadow: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .btn:hover { box-shadow: 0 10px 30px rgba(0, 0, 0, .14); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .btn-ghost { background: transparent; box-shadow: inset 0 0 0 1.5px var(--text); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .btn-ghost svg { color: var(--text); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .btn::after { display: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) :is(.mac-lid) { box-shadow: inset 0 0 0 .18cqw #2c2e33, inset 0 0 0 .35cqw #0b0b0d, 0 0 0 .12cqw #54575e, 0 30px 60px rgba(0, 0, 0, .22); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .ip-body { box-shadow: 0 0 0 .3cqw #16171a, 0 30px 60px rgba(0, 0, 0, .25); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .mac::after { background: radial-gradient(closest-side, rgba(0, 0, 0, .28), transparent); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .panel { box-shadow: 0 30px 60px rgba(0, 0, 0, .18); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) :is(.card, .ring, .pcard, .dcol)::before { display: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .card:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, .08); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .buy-card { background: rgb(var(--surf)); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .buy-card::before { display: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .buy-box { background: var(--bg); backdrop-filter: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .cout { background: rgba(var(--c-rgb), .06); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .calc-box { box-shadow: 0 30px 80px rgba(0, 0, 0, .08); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .bars i b { box-shadow: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .hero-badge { background: #fff; color: var(--ok); border-color: rgba(12, 132, 87, .35); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .pill { background: #fff; backdrop-filter: none; box-shadow: 0 10px 30px rgba(0, 0, 0, .1); border-color: var(--line-2); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .foot { background: rgb(var(--surf)); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .lb-x { background: #fff; color: #111; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .crow input { background: linear-gradient(90deg, var(--c) var(--f, 50%), rgba(0, 0, 0, .1) var(--f, 50%)); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .progress i { box-shadow: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .nav nav { color: var(--text-2); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .lead { color: var(--text-2); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .psteps .pn { box-shadow: 0 0 0 6px var(--bg); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .psteps li:last-child .pn { background: var(--text); color: var(--bg); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .biz li::before { box-shadow: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .status i { box-shadow: none; }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .mbar { background: rgb(var(--surf) / .95); }
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) ::selection { background: rgba(var(--c-rgb), .2); }
@media (max-width: 900px) {
  :is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .nav nav { background: rgb(var(--surf)); box-shadow: 0 30px 60px rgba(0, 0, 0, .15); }
}

/* ── TERMINAL — a black instrument ─────────────────────────────────────────── */
[data-theme="terminal"] {
  --bg: #0a0a0b; --bg-rgb: 10 10 11; --surf: 18 18 20; --surf-solid: #141416; --well: #070708; --fg: 255 255 255;
  --line: rgba(255, 255, 255, .09); --line-2: #28282c;
  --text: #ededed; --text-2: #b6b6bb; --muted: #86868d;
  --sans: "IBM Plex Sans", system-ui, sans-serif; --mono: "IBM Plex Mono", ui-monospace, monospace; --display: var(--sans);
}
[data-theme="terminal"] body { background-image: linear-gradient(90deg, transparent calc(50% - 590px), rgba(255, 255, 255, .04) calc(50% - 590px), rgba(255, 255, 255, .04) calc(50% - 589px), transparent calc(50% - 589px), transparent calc(50% + 589px), rgba(255, 255, 255, .04) calc(50% + 589px), rgba(255, 255, 255, .04) calc(50% + 590px), transparent calc(50% + 590px)); background-size: auto; }
[data-theme="terminal"] h1, [data-theme="terminal"] h2 { font-weight: 600; letter-spacing: -.035em; }
[data-theme="terminal"] h1 { font-size: clamp(42px, 5.6vw, 80px); }
[data-theme="terminal"] .kicker { font: 500 12px/1 var(--mono); letter-spacing: .08em; }
[data-theme="terminal"] .kicker::before { width: 8px; height: 8px; background: var(--c); margin-right: 10px; vertical-align: 0; }
[data-theme="terminal"] :is(.card, .ring, .pcard, .ccard, .dcol, .pcard2, .calc-box, .buy-card, .buy-box, .loop ol, .panel, .copy input, .copy button, .lightbox) { border-radius: 3px; }
[data-theme="terminal"] :is(.tabs button, .scen, .scen button, .navbuy, .nav .tg, .menu-btn, .says span, .earn-chip, .earn-chip .ec-tag, .hero-badge, .status, .pill, .frame-cta, .mock, .card .shot) { border-radius: 2px; }
[data-theme="terminal"] .btn { height: 46px; border-radius: 2px; font: 600 13.5px var(--mono); letter-spacing: .02em; box-shadow: none; }
[data-theme="terminal"] .btn:hover { box-shadow: 0 0 0 1px var(--c); }
[data-theme="terminal"] .btn-ghost { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); background: transparent; }
[data-theme="terminal"] .btn-ghost svg { color: var(--text); }
[data-theme="terminal"] .btn::after { display: none; }
[data-theme="terminal"] .card { background: rgb(var(--surf)); }
[data-theme="terminal"] :is(.card, .ring, .pcard, .dcol)::before { display: none; }
[data-theme="terminal"] .card:hover { transform: none; box-shadow: none; border-color: rgba(var(--c-rgb), .6); }
[data-theme="terminal"] :is(.stats b, .big) { text-shadow: none; }
[data-theme="terminal"] .mac-lid { box-shadow: inset 0 0 0 .18cqw #2c2e33, inset 0 0 0 .35cqw #0b0b0d, 0 0 0 .12cqw #54575e, 0 40px 90px rgba(0, 0, 0, .7); }
[data-theme="terminal"] .ip-body { box-shadow: 0 0 0 .3cqw #16171a, 0 40px 80px rgba(0, 0, 0, .7); }
[data-theme="terminal"] .pill, [data-theme="terminal"] .pills { display: none; }
[data-theme="terminal"] .buy-card { background: rgb(var(--surf)); }
[data-theme="terminal"] .buy-card::before { display: none; }
[data-theme="terminal"] .cout { background: rgba(var(--c-rgb), .05); }
[data-theme="terminal"] .psteps .pn { border-radius: 2px; box-shadow: 0 0 0 6px var(--bg); font-size: 14px; }
[data-theme="terminal"] .psteps::before { background: var(--line-2); }
[data-theme="terminal"] .loop li::before { border-radius: 2px; }
[data-theme="terminal"] .progress i { box-shadow: none; }
/* left-aligned hero, devices full width and straight */
[data-theme="terminal"] .hero.stacked { text-align: left; padding-top: 70px; }
[data-theme="terminal"] .hero.stacked h1 { margin: 0; max-width: 16ch; }
[data-theme="terminal"] .hero.stacked :is(.lead, .fine) { margin-left: 0; }
[data-theme="terminal"] .hero.stacked .cta { justify-content: flex-start; }
[data-theme="terminal"] .hero.stacked .earn-chip, [data-theme="swiss"] .hero.stacked .earn-chip { margin-left: 0; }
[data-theme="terminal"] .hero.stacked .kicker::before { display: inline-block; }
[data-theme="terminal"] .hero-visual .stage { transform: none !important; }
[data-theme="terminal"] .hero.stacked .hero-badge { left: 0; transform: none; }
/* ticker */
[data-theme="terminal"] .ticker { display: block; position: relative; overflow: hidden; border-bottom: 1px solid var(--line);
  background: #0d0d0f; font: 12px/1 var(--mono); color: var(--muted); white-space: nowrap; }
[data-theme="terminal"] .ticker > div { display: inline-flex; animation: tick 60s linear infinite; }
[data-theme="terminal"] .ticker span { display: inline-flex; gap: 8px; padding: 10px 26px; border-right: 1px solid var(--line); }
[data-theme="terminal"] .ticker b { color: var(--c); font-weight: 600; }
@keyframes tick { to { transform: translateX(-50%); } }

/* ── PAPER — editorial, serif headlines ────────────────────────────────────── */
[data-theme="paper"] {
  --bg: #f4f1ea; --bg-rgb: 244 241 234; --surf: 252 250 245; --line: rgba(22, 19, 15, .14); --line-2: #d8d1c3;
  --text: #16130f; --text-2: #3d3831; --muted: #6f685d;
  --display: "Instrument Serif", Georgia, serif; --sans: "Inter Tight", system-ui, sans-serif; --mono: "JetBrains Mono", ui-monospace, monospace;
}
[data-theme="paper"] body { font-size: 17.5px; }
[data-theme="paper"] h1, [data-theme="paper"] h2 { font-weight: 400; letter-spacing: -.015em; line-height: .96; }
[data-theme="paper"] h1 { font-size: clamp(58px, 8.4vw, 124px); max-width: 13ch; }
[data-theme="paper"] h2 { font-size: clamp(40px, 5.4vw, 72px); }
[data-theme="paper"] :is(h1, h2) span { font-style: italic; color: var(--c); }
[data-theme="paper"] .kicker { display: block; color: var(--text); font: 600 11.5px/1 var(--mono); letter-spacing: .16em; padding-top: 16px; border-top: 1.5px solid var(--text); }
[data-theme="paper"] .kicker::before { display: none; }
[data-theme="paper"] .hero .kicker { display: block; border-top: 0; padding-top: 0; color: var(--c); }
[data-theme="paper"] .calc-head .kicker, [data-theme="paper"] .tour-head .kicker { display: inline-block; }
[data-theme="paper"] :is(.card, .ring, .pcard, .ccard, .dcol, .pcard2, .calc-box, .buy-card, .loop ol) { border-radius: 6px; border-color: var(--line); background: rgb(var(--surf)); }
[data-theme="paper"] .card:hover { transform: translateY(-3px); border-color: var(--text); }
[data-theme="paper"] .btn { border-radius: 4px; height: 50px; }
[data-theme="paper"] .btn.live, [data-theme="paper"] .cta > .btn:first-child:not(.btn-ghost) { background: var(--text); color: var(--bg); }
[data-theme="paper"] .btn.live .pulse-dot { color: #3ddc97; }
[data-theme="paper"] .big, [data-theme="paper"] .stats b, [data-theme="paper"] .price { font-family: var(--display); font-weight: 400; letter-spacing: -.02em; }
[data-theme="paper"] .big { font-size: clamp(64px, 7vw, 96px); }
[data-theme="paper"] .stats b { font-size: 44px; }
[data-theme="paper"] .psteps .pn { border-radius: 50%; font-family: var(--display); font-size: 26px; font-weight: 400; }
[data-theme="paper"] .psteps::before { background: var(--text); height: 1px; opacity: .3; }
[data-theme="paper"] .loop li::before { border-radius: 50%; }
[data-theme="paper"] .earn-chip { border-radius: 4px; background: #fff; }
[data-theme="paper"] .earn-chip .ec-tag { border-radius: 3px; }
[data-theme="paper"] .pill { border-radius: 4px; }
[data-theme="paper"] .hero-visual .stage { --lift: 0deg !important; }
[data-theme="paper"] .final h2 { font-style: italic; }
[data-theme="paper"] .dcol a { color: var(--text-2); }

/* ── POP — cream, ink borders, hard shadows, stickers ──────────────────────── */
[data-theme="pop"] {
  --bg: #fff6e9; --bg-rgb: 255 246 233; --surf: 255 255 255; --line: #111; --line-2: #111;
  --text: #111; --text-2: #2a2a2a; --muted: #5d5850;
  --display: "Bricolage Grotesque", system-ui, sans-serif; --sans: "Bricolage Grotesque", system-ui, sans-serif; --mono: "DM Mono", ui-monospace, monospace;
  --ink: #111; --hard: 5px 5px 0 #111;
}
[data-theme="pop"] body { background-image: radial-gradient(rgba(0, 0, 0, .09) 1px, transparent 1.4px); background-size: 22px 22px; }
[data-theme="pop"] h1, [data-theme="pop"] h2 { font-weight: 800; letter-spacing: -.045em; }
[data-theme="pop"] h1 { font-size: clamp(48px, 7vw, 100px); }
[data-theme="pop"] :is(h1, h2) span { display: inline; color: var(--on-v); background: var(--v); padding: 0 .14em; border-radius: .18em;
  box-decoration-break: clone; -webkit-box-decoration-break: clone; -webkit-text-fill-color: var(--on-v); }
[data-theme="pop"] h1 span { display: inline; }
[data-theme="pop"] .kicker { display: inline-block; padding: 7px 12px; border: 2px solid var(--ink); border-radius: 999px; background: #fff; color: var(--ink);
  font: 500 12px/1 var(--mono); letter-spacing: .06em; box-shadow: 3px 3px 0 var(--ink); }
[data-theme="pop"] .kicker::before { display: none; }
[data-theme="pop"] :is(.card, .ring, .pcard, .ccard, .dcol, .pcard2, .calc-box, .buy-card, .loop ol, .buy-box, .panel) {
  border: 2px solid var(--ink); border-radius: 22px; box-shadow: var(--hard); background: #fff; }
[data-theme="pop"] .card:hover, [data-theme="pop"] a.pcard:hover { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--ink); }
[data-theme="pop"] .btn { border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); border-radius: 14px; transition: transform .15s, box-shadow .15s; }
[data-theme="pop"] .btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); }
[data-theme="pop"] .btn:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--ink); }
[data-theme="pop"] .btn-ghost { background: #fff; box-shadow: 4px 4px 0 var(--ink); }
[data-theme="pop"] .btn.btn-sm { box-shadow: 3px 3px 0 var(--ink); }
[data-theme="pop"] .navbuy, [data-theme="pop"] .nav .tg, [data-theme="pop"] .menu-btn { border: 2px solid var(--ink) !important; }
/* the hero stage sits on a vivid slab */
[data-theme="pop"] .hero.stacked .hero-visual { padding: 56px 0 0; }
[data-theme="pop"] .hero-visual::before { content: ""; position: absolute; inset: 0 -3% 18% -3%; border: 2px solid var(--ink); border-radius: 36px;
  background: var(--v); box-shadow: 8px 8px 0 var(--ink);
  background-image: radial-gradient(rgba(255, 255, 255, .28) 1.5px, transparent 2px); background-size: 18px 18px; }
[data-theme="pop"] .hero:not(.stacked) .hero-visual::before { inset: 6% 4%; }
[data-theme="pop"] .pill { background: #fff; border: 2px solid var(--ink); border-radius: 12px; box-shadow: 3px 3px 0 var(--ink); color: var(--ink); animation: none; font-weight: 600; }
[data-theme="pop"] .pill.p0 { transform: rotate(-4deg); } [data-theme="pop"] .pill.p1 { transform: rotate(3deg); } [data-theme="pop"] .pill.p2 { transform: rotate(-2deg); }
[data-theme="pop"] .pill svg { border-radius: 6px; }
[data-theme="pop"] .hero-badge { border: 2px solid var(--ink); color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
[data-theme="pop"] .hero .kicker { display: table; margin-left: auto; margin-right: auto; }
[data-theme="pop"] .earn-chip { border: 2px solid var(--ink); background: #fff; box-shadow: 3px 3px 0 var(--ink); transform: rotate(-1.5deg); }
[data-theme="pop"] .earn-chip .ec-tag { background: var(--v); color: var(--on-v); }
[data-theme="pop"] .psteps .pn { border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); border-radius: 16px; background: var(--v); color: var(--on-v); }
[data-theme="pop"] .psteps li:nth-child(even) .pn { transform: rotate(4deg); }
[data-theme="pop"] .psteps::before { background: var(--ink); height: 2px; }
[data-theme="pop"] .loop li { border-color: var(--ink); }
[data-theme="pop"] .loop li:last-child { background: var(--v); color: var(--on-v); }
[data-theme="pop"] .loop li:last-child span { color: var(--on-v); opacity: .85; }
[data-theme="pop"] .loop li::before { border: 2px solid var(--ink); color: var(--ink); background: #fff; }
[data-theme="pop"] .cout { background: var(--v); color: var(--on-v); border-left: 2px solid var(--ink); }
[data-theme="pop"] .cout :is(.big, .label, .yr, .yr span, .bars li, .net, .net b) { color: var(--on-v); }
[data-theme="pop"] .cout .net { border-color: rgba(0, 0, 0, .25); }
[data-theme="pop"] .cout .bars i { background: rgba(0, 0, 0, .15); }
[data-theme="pop"] .cout .bars i b { background: var(--on-v); }
[data-theme="pop"] .cout .btn:not(.btn-ghost) { background: #111; color: #fff; }
[data-theme="pop"] .scen { border: 2px solid var(--ink); background: #fff; }
[data-theme="pop"] .scen button[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: none; }
[data-theme="pop"] .crow input::-webkit-slider-thumb { border-color: var(--ink); box-shadow: 2px 2px 0 var(--ink); }
[data-theme="pop"] .crow input { height: 8px; border: 2px solid var(--ink); box-sizing: content-box; }
[data-theme="pop"] :is(.who, .rev, .pcost) svg { border: 2px solid var(--ink); background: var(--v); stroke: var(--on-v); }
[data-theme="pop"] .final h2 span, [data-theme="pop"] .final h2 { color: var(--ink); }
[data-theme="pop"] .tabs button[aria-selected="true"] { border: 2px solid var(--ink); background: #fff; box-shadow: 3px 3px 0 var(--ink); }
[data-theme="pop"] .mock { border-radius: 14px; }
[data-theme="pop"] .foot { border-top: 2px solid var(--ink); }
[data-theme="pop"] .hero-visual .stage { --lift: 0deg !important; }

/* ── SWISS — white, square, left-aligned, numbered ─────────────────────────── */
[data-theme="swiss"] {
  --bg: #fafaf8; --bg-rgb: 250 250 248; --surf: 255 255 255; --line: rgba(0, 0, 0, .12); --line-2: #d6d6d2;
  --text: #0c0d0f; --text-2: #2c2f33; --muted: #6a6d72;
  --display: "Inter Tight", system-ui, sans-serif; --sans: "Inter Tight", system-ui, sans-serif; --mono: "IBM Plex Mono", ui-monospace, monospace;
}
[data-theme="swiss"] h1, [data-theme="swiss"] h2 { font-weight: 800; letter-spacing: -.055em; line-height: .92; }
[data-theme="swiss"] h1 { font-size: clamp(52px, 8vw, 120px); max-width: 12ch; }
[data-theme="swiss"] h2 { font-size: clamp(36px, 5vw, 66px); }
[data-theme="swiss"] main { counter-reset: sec; }
[data-theme="swiss"] main > section:not(.hero):not(.loop) { counter-increment: sec; }
[data-theme="swiss"] .kicker { display: flex; justify-content: space-between; color: var(--text); font: 500 12px/1 var(--mono); letter-spacing: .1em;
  padding-top: 14px; border-top: 2px solid var(--text); }
[data-theme="swiss"] .kicker::before { content: counter(sec, decimal-leading-zero); order: 2; width: auto; height: auto; margin: 0; background: none; color: var(--c); }
[data-theme="swiss"] .hero .kicker { border-top: 0; padding-top: 0; justify-content: flex-start; color: var(--c); }
[data-theme="swiss"] .hero .kicker::before { display: none; }
[data-theme="swiss"] :is(.card, .ring, .pcard, .ccard, .dcol, .pcard2, .calc-box, .buy-card, .buy-box, .loop ol, .panel, .copy input, .copy button, .mock,
  .card .shot, .tabs button, .scen, .scen button, .navbuy, .nav .tg, .menu-btn, .says span, .earn-chip, .earn-chip .ec-tag, .hero-badge, .status, .pill,
  .frame-cta, .lightbox, .psteps .pn, .loop li::before, .who svg, .rev svg, .pcost svg) { border-radius: 0 !important; }
[data-theme="swiss"] .btn { border-radius: 0; height: 54px; font-weight: 700; letter-spacing: -.01em; }
[data-theme="swiss"] .btn svg { width: 18px; height: 18px; }
[data-theme="swiss"] .cards, [data-theme="swiss"] .ring-row, [data-theme="swiss"] .dgrid, [data-theme="swiss"] .pgrid, [data-theme="swiss"] .others { gap: 0; }
[data-theme="swiss"] :is(.cards .card, .ring-row .ring, .dgrid .dcol, .pgrid .pcard2) { margin: 0 -1px -1px 0; box-shadow: none; }
[data-theme="swiss"] .card:hover, [data-theme="swiss"] .ring:hover { transform: none; background: rgba(var(--c-rgb), .04); }
[data-theme="swiss"] .card { background: #fff; }
[data-theme="swiss"] .others li { margin: 0 -1px -1px 0; }
[data-theme="swiss"] a.pcard:hover { transform: none; background: rgba(var(--c-rgb), .05); }
[data-theme="swiss"] .big { font-weight: 900; letter-spacing: -.06em; font-size: clamp(56px, 7vw, 96px); }
[data-theme="swiss"] .stats b { font-family: var(--sans); font-weight: 900; font-size: 44px; letter-spacing: -.05em; }
[data-theme="swiss"] .psteps .pn { background: var(--text); color: var(--bg); font-family: var(--mono); }
[data-theme="swiss"] .psteps li:last-child .pn { background: var(--c); color: var(--on-c); }
[data-theme="swiss"] .psteps::before { background: var(--text); height: 2px; }
[data-theme="swiss"] .pill, [data-theme="swiss"] .pills { display: none; }
[data-theme="swiss"] .hero-visual .stage { transform: none !important; }
/* left-aligned hero: headline left, lead + actions in a column beside it */
[data-theme="swiss"] .hero.stacked { text-align: left; padding-top: 70px; }
[data-theme="swiss"] .hero.stacked .hero-copy { display: grid; grid-template-columns: 1.25fr 1fr; column-gap: 56px; align-items: end; }
[data-theme="swiss"] .hero.stacked .hero-copy > :is(.earn-chip, .kicker, h1) { grid-column: 1; }
[data-theme="swiss"] .hero.stacked .hero-copy > :is(.lead, .cta, .fine) { grid-column: 2; margin-left: 0; }
[data-theme="swiss"] .hero.stacked .hero-copy > .lead { grid-row: 3; align-self: end; margin: 0 0 8px; font-size: 19px; }
[data-theme="swiss"] .hero.stacked .hero-copy > .cta { grid-column: 1 / -1; justify-content: flex-start; margin-top: 44px; padding-top: 28px; border-top: 2px solid var(--text); }
[data-theme="swiss"] .hero.stacked .hero-copy > .fine { grid-column: 1 / -1; }
[data-theme="swiss"] .hero.stacked .earn-chip { justify-self: start; }
[data-theme="swiss"] .hero.stacked h1 { margin: 0; }
[data-theme="swiss"] .hero.stacked .hero-badge { left: 0; transform: none; }
[data-theme="swiss"] .tour-head, [data-theme="swiss"] .calc-head { text-align: left; margin: 0; max-width: none; }
[data-theme="swiss"] .show { text-align: left; }
[data-theme="swiss"] .rings { text-align: left; }
[data-theme="swiss"] .final { text-align: left; }
[data-theme="swiss"] .final .cta.center, [data-theme="swiss"] .tour > .cta.center { justify-content: flex-start; }
[data-theme="swiss"] .loop ol { border: 2px solid var(--text); }
[data-theme="swiss"] .loop li { border-color: var(--text); }
[data-theme="swiss"] .loop li:last-child { background: var(--text); color: var(--bg); }
[data-theme="swiss"] .loop li:last-child span { color: #b9bbbf; }
@media (max-width: 900px) {
  [data-theme="swiss"] .hero.stacked .hero-copy { display: block; }
  [data-theme="swiss"] .hero.stacked .hero-copy > .lead { margin: 24px 0 0; }
}

/* dark-mode mocks keep their own tokens even on light pages */
:is([data-theme="paper"], [data-theme="pop"], [data-theme="swiss"], [data-theme="bento"]) .mock { background-color: #0b0f14; border-color: rgba(0, 0, 0, .2); }

/* ════════════════════════════════════════════════════════════════════════════
   BENTO — the look the owner picked (2026-09-28): clean #fafafa page, white tiles with hairline borders,
   black primary, Geist + Geist Mono, big tight headlines with a grey second line, the product accent used
   sparingly (live dot, tints, bars). Every section is a composition of tiles.
   ════════════════════════════════════════════════════════════════════════════ */
[data-theme="bento"] {
  --bg: #fafafa; --bg-rgb: 250 250 250; --surf: 255 255 255; --surf-solid: #fff; --well: #fff; --fg: 0 0 0;
  --line: #ececec; --line-2: #e2e2e2; --text: #111; --text-2: #3f3f46; --muted: #71717a; --grey: #a1a1aa;
  --ok: #16a34a; --amber: #b45309; --red: #dc2626;
  --display: "Geist", system-ui, sans-serif; --sans: "Geist", system-ui, sans-serif; --mono: "Geist Mono", ui-monospace, monospace;
  --r: 22px; --tile: #fff;
}
[data-theme="bento"] body { background: var(--bg); background-image: none; font-size: 16.5px; letter-spacing: -.005em; }
[data-theme="bento"] :is(.aurora, .glow, .final-orb, .cout::before, .tour-stage::before, .pills, .hero-badge) { display: none !important; }
[data-theme="bento"] main > section { width: min(1240px, 100% - 48px); }
[data-theme="bento"] h1, [data-theme="bento"] h2 { font-weight: 700; letter-spacing: -.045em; line-height: 1; }
[data-theme="bento"] h2 { font-size: clamp(34px, 4.2vw, 56px); max-width: 18ch; }
[data-theme="bento"] :is(h1, h2) span { color: var(--grey); background: none; -webkit-text-fill-color: currentColor; filter: none; animation: none; display: inline; }
[data-theme="bento"] h2 br { display: none; }
[data-theme="bento"] h2 span::before { content: " "; }
[data-theme="bento"] .sub { color: var(--muted); font-size: 17px; max-width: 560px; }
[data-theme="bento"] .kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; padding: 6px 12px; border-radius: 99px;
  background: #fff; border: 1px solid var(--line); color: var(--text-2); font: 500 12px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
[data-theme="bento"] .kicker::before { width: 6px; height: 6px; margin: 0; border-radius: 50%; background: var(--c); }
[data-theme="bento"] ::selection { background: rgba(var(--c-rgb), .18); }
[data-theme="bento"] :focus-visible { outline-color: var(--text); }

/* nav */
[data-theme="bento"] .nav { padding: 16px max(24px, calc((100% - 1240px) / 2)); border-bottom: 1px solid var(--line); }
[data-theme="bento"] .nav::before { background: rgba(255, 255, 255, .85); }
[data-theme="bento"] .scrolled .nav { border-bottom-color: var(--line); }
[data-theme="bento"] .scrolled .nav::before { background: rgba(255, 255, 255, .92); }
[data-theme="bento"] .nav nav { color: var(--text-2); font-size: 14.5px; gap: 26px; margin: 0 auto; }
[data-theme="bento"] .nav nav a::after { display: none; }
[data-theme="bento"] .nav nav a:hover { color: var(--text); }
[data-theme="bento"] .nav .tg { display: none; }
[data-theme="bento"] .navbuy { border: 1px solid var(--line-2); border-radius: 10px; padding: 8px 14px; background: #fff; font-weight: 600; }
[data-theme="bento"] .lk b { font: 700 18px var(--sans); letter-spacing: -.02em; color: var(--text); }
[data-theme="bento"] .lk .by { font: 500 11.5px var(--mono); letter-spacing: 0; color: var(--muted); }
[data-theme="bento"] .vlogo { width: 38px; height: 38px; border-radius: 10px; }

/* buttons */
[data-theme="bento"] .btn { height: 48px; padding: 0 20px; border-radius: 12px; font-weight: 600; background: #111; color: #fff; box-shadow: none; }
[data-theme="bento"] .btn::after { display: none; }
[data-theme="bento"] .btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0, 0, 0, .14); }
[data-theme="bento"] .btn svg { color: currentColor; stroke: currentColor; }
[data-theme="bento"] .btn-ghost { background: #fff; color: var(--text); box-shadow: inset 0 0 0 1px var(--line-2); }
[data-theme="bento"] .btn-ghost:hover { box-shadow: inset 0 0 0 1px #c4c4c8, 0 8px 24px rgba(0, 0, 0, .06); }
[data-theme="bento"] .btn-ghost svg { color: var(--text); }
[data-theme="bento"] .btn.btn-sm { height: 40px; border-radius: 10px; padding: 0 16px; color: #fff; }
[data-theme="bento"] .btn.btn-sm.btn-ghost { color: var(--text); }
[data-theme="bento"] .pulse-dot { color: #4ade80; }
[data-theme="bento"] .btn-ghost .pulse-dot { color: var(--ok); }

/* ── hero ─────────────────────────────────────────────────────────────────── */
.bento-hero { display: grid; grid-template-columns: .82fr 1.18fr; gap: 48px; align-items: start; min-height: 0; padding: 64px 0 36px; }
.live-pill { display: inline-flex; align-items: center; gap: 9px; padding: 7px 13px; border-radius: 99px; font: 500 13px var(--mono);
  color: #15803d; background: #f0fdf4; border: 1px solid #bbf7d0; transition: border-color .2s; }
.live-pill:hover { border-color: #4ade80; }
.live-pill i { width: 7px; height: 7px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 4px #dcfce7; animation: blink 2s ease-in-out infinite; }
.live-pill.nodemo { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.live-pill.nodemo i { background: #2563eb; box-shadow: 0 0 0 4px #dbeafe; }
.bento-hero h1 { font-size: clamp(42px, 4.4vw, 64px); margin-top: 24px; max-width: 13ch; }
.bento-hero .lead { margin-top: 22px; font-size: 18px; color: var(--text-2); max-width: 520px; }
.lbs { display: grid; gap: 10px; margin-top: 30px; max-width: 360px; }
.lb { display: flex; justify-content: space-between; align-items: center; height: 54px; padding: 0 20px; border-radius: 14px; font-weight: 600;
  background: #fff; border: 1px solid var(--line-2); transition: transform .2s var(--ease), box-shadow .2s, border-color .2s; }
.lb:hover { transform: translateY(-1px); border-color: #c4c4c8; box-shadow: 0 10px 30px rgba(0, 0, 0, .06); }
.lb.dark { background: #111; color: #fff; border-color: #111; }
.lb.dark:hover { box-shadow: 0 12px 30px rgba(0, 0, 0, .18); }
.lb svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.lb:hover svg { transform: translateX(3px); }
.bento-hero .fine { margin-top: 14px; font-size: 13.5px; color: var(--muted); max-width: 420px; }
.checks { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 26px 0 0; padding: 0; font: 500 12.5px var(--mono); color: var(--muted); }
.checks li { display: flex; align-items: center; gap: 6px; }
.checks svg { width: 14px; height: 14px; fill: none; stroke: var(--ok); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

.bh-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.t { position: relative; overflow: hidden; border-radius: var(--r); background: var(--tile); border: 1px solid var(--line); padding: 20px;
  transition: transform .3s var(--ease), box-shadow .3s; }
.t small { display: block; font: 500 11.5px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.t.scr { grid-column: span 6; padding: 26px 26px 0; border: 0; background: radial-gradient(90% 80% at 50% 0%, rgba(var(--c-rgb), .35), transparent 70%), #0b0d12;
  height: 400px; display: flex; align-items: flex-start; justify-content: center; }
.t.scr .mac { width: 96%; }
.t.scr .iphone { width: 220px; }
.t.earn, .t.cap, .t.ph { grid-column: span 2; height: 236px; }
.t.earn { background: #111; color: #fff; border-color: #111; display: flex; flex-direction: column; }
.t.earn small { color: #a1a1aa; }
.t.earn b { font-size: clamp(34px, 3.2vw, 46px); letter-spacing: -.05em; margin-top: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.t.earn span { color: #a1a1aa; font-size: 13.5px; margin-top: 6px; }
.t.earn em { margin-top: auto; font-style: normal; font: 500 12.5px var(--mono); color: #fff; opacity: .7; transition: opacity .2s; }
.t.earn:hover em { opacity: 1; }
.t.earn:hover, .t.cap:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0, 0, 0, .1); }
.t.cap b { display: block; font-size: clamp(38px, 3.6vw, 54px); letter-spacing: -.05em; margin-top: 16px; font-weight: 700; }
.t.cap b.long { font-size: clamp(28px, 2.6vw, 38px); }
.t.cap.alt { background: rgba(var(--c-rgb), .07); }
.t.ph { padding: 0; background: linear-gradient(180deg, rgba(var(--c-rgb), .16), rgba(var(--c-rgb), .04)); display: flex; justify-content: center; }
.t.ph .iphone { width: 132px; margin-top: 22px; transition: transform .5s var(--ease); }
.t.ph:hover .iphone { transform: translateY(-8px); }

/* built on */
.stack { display: flex; align-items: center; gap: 28px; padding: 26px 0 0 !important; border-top: 1px solid var(--line); margin-top: 40px !important; }
.stack p { margin: 0; font: 500 12px var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.stack ul { list-style: none; margin: 0; padding: 0; display: flex; flex: 1; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.stack li { font-weight: 600; font-size: 16px; color: var(--grey); letter-spacing: -.01em; }

/* ── section heads: left headline, right intro ───────────────────────────── */
[data-theme="bento"] :is(.feat, section.plan, .calc, .tour, .show, .rings, .docs, .biz, .buy-sec, .more, .contact) { padding-top: 120px; }
[data-theme="bento"] :is(.plan-head, .calc-head, .tour-head) { text-align: left; max-width: none; margin: 0; display: grid; grid-template-columns: 1.1fr .9fr; column-gap: 40px; align-items: end; }
[data-theme="bento"] :is(.plan-head, .calc-head, .tour-head) .kicker { grid-column: 1 / -1; justify-self: start; }
[data-theme="bento"] :is(.plan-head, .calc-head, .tour-head) .sub { margin: 0; justify-self: end; }
[data-theme="bento"] .feat > div:first-child { display: block; }

/* steps strip */
[data-theme="bento"] .loop { padding-top: 44px; }
[data-theme="bento"] .loop ol { gap: 12px; border: 0; background: none; overflow: visible; backdrop-filter: none; }
[data-theme="bento"] .loop ol::after { display: none; }
[data-theme="bento"] .loop li, [data-theme="bento"] .loop li:last-child { border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 22px; }
[data-theme="bento"] .loop li:last-child { background: #111; color: #fff; border-color: #111; }
[data-theme="bento"] .loop li:last-child span { color: #a1a1aa; }
[data-theme="bento"] .loop li::before { width: auto; height: auto; border: 0; background: none; font: 500 12px var(--mono); color: var(--muted); display: block; margin-bottom: 26px; place-items: initial; }
[data-theme="bento"] .loop li:last-child::before { color: #a1a1aa; }
[data-theme="bento"] .loop b { font-size: 20px; letter-spacing: -.02em; }

/* business plan */
[data-theme="bento"] .psteps { grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 40px; }
[data-theme="bento"] .psteps::before { display: none; }
[data-theme="bento"] .psteps li { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 22px; min-height: 210px; }
[data-theme="bento"] .psteps .pn { width: 38px; height: 38px; border-radius: 11px; font: 600 13px var(--mono); background: #f4f4f5; color: var(--text); box-shadow: none; margin-bottom: auto; }
[data-theme="bento"] .psteps li:last-child { background: #111; color: #fff; border-color: #111; }
[data-theme="bento"] .psteps li:last-child .pn { background: var(--c); color: var(--on-c); }
[data-theme="bento"] .psteps li:last-child span:last-child { color: #a1a1aa; }
[data-theme="bento"] .psteps b { margin-top: 38px; font-size: 20px; }
[data-theme="bento"] .pgrid { gap: 12px; margin-top: 12px; grid-template-columns: .8fr 1.2fr; }
[data-theme="bento"] .pcard2 { background: #fff; border-color: var(--line); border-radius: var(--r); }
[data-theme="bento"] :is(.who, .rev, .pcost) svg { border-radius: 10px; background: #f4f4f5; border: 0; stroke: var(--text); }
[data-theme="bento"] .rev li { padding: 12px 0; border-bottom: 1px dashed var(--line-2); }
[data-theme="bento"] .rev li:last-child { border: 0; }
[data-theme="bento"] .pcost { border-top: 1px solid var(--line); }

/* calculator */
[data-theme="bento"] .calc-box { margin-top: 40px; grid-template-columns: 1.1fr .9fr; gap: 12px; background: none; border: 0; box-shadow: none; overflow: visible; }
[data-theme="bento"] .cin { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 30px; }
[data-theme="bento"] .cout { background: #111; color: #fff; border: 0; border-radius: var(--r); padding: 30px; }
[data-theme="bento"] .cout .label { color: #a1a1aa; }
[data-theme="bento"] .big { color: #fff; text-shadow: none; font-weight: 700; letter-spacing: -.055em; font-size: clamp(56px, 6vw, 84px); }
[data-theme="bento"] .yr { color: #a1a1aa; } [data-theme="bento"] .yr span { color: #fff; }
[data-theme="bento"] .bars li { color: #d4d4d8; }
[data-theme="bento"] .bars i { background: rgba(255, 255, 255, .1); }
[data-theme="bento"] .bars i b { background: var(--c); box-shadow: none; }
[data-theme="bento"] .net { border-color: rgba(255, 255, 255, .12); color: #a1a1aa; }
[data-theme="bento"] .net b { color: #fff; }
[data-theme="bento"] .net.tot { color: #fff; } [data-theme="bento"] .net.tot b { color: #4ade80; }
[data-theme="bento"] .cout .btn { background: #fff; color: #111; }
[data-theme="bento"] .cout .btn-ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
[data-theme="bento"] .cout .btn-ghost svg, [data-theme="bento"] .cout .btn-ghost .pulse-dot { color: #fff; }
[data-theme="bento"] .scen { background: #f4f4f5; border: 0; }
[data-theme="bento"] .scen button[aria-pressed="true"] { background: #fff; color: var(--text); box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
[data-theme="bento"] .crow output { color: var(--text); }
[data-theme="bento"] .cl { color: var(--text-2); }
[data-theme="bento"] .crow input { background: linear-gradient(90deg, #111 var(--f, 50%), #e4e4e7 var(--f, 50%)); height: 4px; }
[data-theme="bento"] .crow input::-webkit-slider-thumb { background: #fff; border: 1px solid #d4d4d8; width: 22px; height: 22px; box-shadow: 0 2px 6px rgba(0, 0, 0, .18); }
[data-theme="bento"] .calc .note { text-align: left; margin: 14px 0 0; max-width: none; }

/* how you earn */
[data-theme="bento"] .biz { gap: 12px; grid-template-columns: 1fr 1fr; align-items: stretch; }
[data-theme="bento"] .biz-copy { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 34px; }
[data-theme="bento"] .biz li { font-size: 16px; color: var(--text-2); }
[data-theme="bento"] .biz li::before { background: var(--c); box-shadow: none; border-radius: 50%; width: 8px; height: 8px; top: 9px; }
[data-theme="bento"] .stats { border-top: 1px solid var(--line); }
[data-theme="bento"] .stats b { color: var(--text); text-shadow: none; font-family: var(--sans); font-weight: 700; letter-spacing: -.04em; font-size: 34px; }
[data-theme="bento"] .biz .showcase { border-radius: var(--r); background: radial-gradient(90% 80% at 50% 0%, rgba(var(--c-rgb), .3), transparent 70%), #0b0d12;
  padding: 40px 34px 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
[data-theme="bento"] .biz .showcase > figure { width: 100%; flex: none; }
[data-theme="bento"] .biz .showcase .frame-cta { bottom: 20px; }

/* features */
[data-theme="bento"] .says span { background: #fff; border-color: var(--line-2); color: var(--text-2); }
[data-theme="bento"] .cards { grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 40px; }
[data-theme="bento"] .card { grid-column: span 2; background: #fff; border-color: var(--line); border-radius: var(--r); padding: 14px 14px 22px; }
[data-theme="bento"] .card:nth-child(1), [data-theme="bento"] .card:nth-child(2) { grid-column: span 3; }
[data-theme="bento"] .card:nth-child(6):last-child { grid-column: span 6; display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 26px; align-items: center; }
[data-theme="bento"] .card:nth-child(6):last-child > :first-child { grid-row: span 3; }
[data-theme="bento"] .card:nth-child(6):last-child h3 { margin-top: 0; align-self: end; }
[data-theme="bento"] .card:nth-child(6):last-child small { align-self: start; }
[data-theme="bento"] .card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0, 0, 0, .07); border-color: #dcdce0; }
[data-theme="bento"] .card h3 { font-size: 19px; margin: 18px 6px 6px; }
[data-theme="bento"] .card p { color: var(--muted); font-size: 15px; margin: 0 6px; }
[data-theme="bento"] .card p b { color: var(--text); }
[data-theme="bento"] .card small { color: var(--ok); margin: auto 6px 0; }
[data-theme="bento"] .card:nth-child(-n+2) .mock, [data-theme="bento"] .card:nth-child(-n+2) .shot { height: 240px; }
[data-theme="bento"] .mock { border-radius: 14px; border: 0; background-color: #0b0d12; }
[data-theme="bento"] .card .shot { border-radius: 14px; border: 0; background: #0b0d12; }
[data-theme="bento"] .card .ic { background: #f4f4f5; border: 0; color: var(--text); border-radius: 12px; }
[data-theme="bento"] .note { color: var(--muted); }

/* tour */
[data-theme="bento"] .tour-body { margin-top: 40px; grid-template-columns: 300px 1fr; gap: 12px; align-items: stretch; }
[data-theme="bento"] .tabs { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 10px; gap: 2px; }
[data-theme="bento"] .tabs button { border-radius: 12px; color: var(--muted); font-size: 15px; }
[data-theme="bento"] .tabs button:hover { background: #f4f4f5; color: var(--text); }
[data-theme="bento"] .tabs button[aria-selected="true"] { background: #f4f4f5; border-color: transparent; color: var(--text); }
[data-theme="bento"] .tabs .n { color: var(--grey); }
[data-theme="bento"] .tabs .tbar { background: #111; height: 2px; left: 12px; right: 12px; width: auto; }
[data-theme="bento"] .tour-stage { border-radius: var(--r); min-height: 560px; padding: 40px 30px;
  background: radial-gradient(80% 70% at 50% 0%, rgba(var(--c-rgb), .3), transparent 70%), #0b0d12; }
[data-theme="bento"] .tour > .cta { justify-content: flex-start; margin-top: 16px; }

/* big showcase */
[data-theme="bento"] .show { text-align: left; }
[data-theme="bento"] .showcase { margin-top: 40px; border-radius: 28px; padding: 60px 70px 0; overflow: hidden;
  background: radial-gradient(70% 70% at 50% 0%, rgba(var(--c-rgb), .32), transparent 70%), #0b0d12; }
[data-theme="bento"] .showcase.duo { padding-right: 70px; }
[data-theme="bento"] .showcase.duo .iphone.d2 { right: 40px; bottom: -60px; width: 17%; }
[data-theme="bento"] .frame-cta { background: #fff; color: #111; border: 0; font-size: 14px; bottom: 26px; right: 26px; }
[data-theme="bento"] .showcase:hover .frame-cta { background: #fff; color: #111; }
[data-theme="bento"] .mac-lid { box-shadow: inset 0 0 0 .18cqw #2c2e33, inset 0 0 0 .35cqw #0b0b0d, 0 0 0 .12cqw #54575e, 0 30px 70px rgba(0, 0, 0, .5); }

/* trust */
[data-theme="bento"] .rings { text-align: left; }
[data-theme="bento"] .ring-row { gap: 12px; margin-top: 40px; }
[data-theme="bento"] .ring { background: #fff; border-color: var(--line); border-radius: var(--r); padding: 26px; }
[data-theme="bento"] .ring::before { display: none; }
[data-theme="bento"] .ring b { font: 600 13px var(--mono); letter-spacing: .06em; text-transform: uppercase; display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
[data-theme="bento"] .ring b::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
[data-theme="bento"] .ring span { color: var(--text-2); }
[data-theme="bento"] .rings > .sub { max-width: none; font-size: 14px; }

/* docs */
[data-theme="bento"] .dgrid { gap: 12px; margin-top: 40px; }
[data-theme="bento"] .dcol { background: #fff; border-color: var(--line); border-radius: var(--r); }
[data-theme="bento"] .dcol::before { display: none; }
[data-theme="bento"] .dcol a { color: var(--text-2); }
[data-theme="bento"] .dcol a:hover { background: #f4f4f5; color: var(--text); }
[data-theme="bento"] .docs-head .btn { background: #111; color: #fff; }

/* buy */
[data-theme="bento"] .buy-card { background: #111; color: #fff; border: 0; border-radius: 28px; padding: 44px; }
[data-theme="bento"] .buy-card::before { display: none; }
[data-theme="bento"] .buy-card .kicker { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .14); color: #d4d4d8; }
[data-theme="bento"] .buy-card h2 span { color: #71717a; }
[data-theme="bento"] .inc li { color: #e4e4e7; }
[data-theme="bento"] .inc svg { stroke: #4ade80; }
[data-theme="bento"] .buy-box { background: #fff; color: var(--text); border: 0; border-radius: 20px; }
[data-theme="bento"] .buy-box img { animation: none; filter: none; border-radius: 16px; }
[data-theme="bento"] .price.ask { color: var(--text); }
[data-theme="bento"] .bbtns .btn:not(.btn-ghost) svg { stroke: #fff; }

/* final */
[data-theme="bento"] .final { padding: 120px 0 40px; }
[data-theme="bento"] .final h2 { font-size: clamp(40px, 5vw, 68px); margin: 0 auto; max-width: 16ch; }
[data-theme="bento"] .status { background: #fff; border-color: var(--line); }

/* contact + products + footer */
[data-theme="bento"] .contact .kicker, [data-theme="bento"] .more .kicker { margin-bottom: 20px; }
[data-theme="bento"] .cgrid { gap: 12px; }
[data-theme="bento"] .ccard { background: #fff; border-color: var(--line); border-radius: var(--r); }
[data-theme="bento"] .copy input { border-color: var(--line-2); background: #fafafa; border-radius: 12px; }
[data-theme="bento"] .copy button { border-color: var(--line-2); background: #fff; border-radius: 12px; }
[data-theme="bento"] .ccard .btn svg { stroke: #fff; }
[data-theme="bento"] .others { gap: 12px; }
[data-theme="bento"] .pcard { background: #fff; border-color: var(--line); border-radius: 18px; }
[data-theme="bento"] .pcard::before { display: none; }
[data-theme="bento"] a.pcard:hover { border-color: #d4d4d8; box-shadow: 0 12px 30px rgba(0, 0, 0, .06); }
[data-theme="bento"] .pcard.here { border-color: #111; box-shadow: none; }
[data-theme="bento"] .st.here { color: var(--text); } [data-theme="bento"] .st.here i { background: #111; box-shadow: none; }
[data-theme="bento"] .pcard img.pm { border-radius: 12px; }
[data-theme="bento"] .foot { background: #fff; border-top: 1px solid var(--line); padding-left: max(24px, calc((100% - 1240px) / 2)); padding-right: max(24px, calc((100% - 1240px) / 2)); }
[data-theme="bento"] .fm:hover, [data-theme="bento"] .foot ul a:hover { color: var(--text); }
[data-theme="bento"] .foot ul { color: var(--text-2); }
[data-theme="bento"] .mbar { background: rgba(255, 255, 255, .95); border-color: var(--line); border-radius: 16px; }
[data-theme="bento"] .progress i { background: #111; box-shadow: none; }
[data-theme="bento"] .lightbox { border-color: var(--line); }

/* earn chip is replaced by the live pill + earnings tile in the bento hero */
[data-theme="bento"] .earn-chip { display: none; }

@media (max-width: 1100px) {
  .bento-hero { grid-template-columns: 1fr; }
  .bento-hero h1 { max-width: 18ch; }
}
@media (max-width: 900px) {
  [data-theme="bento"] :is(.plan-head, .calc-head, .tour-head) { grid-template-columns: 1fr; }
  [data-theme="bento"] :is(.plan-head, .calc-head, .tour-head) .sub { justify-self: start; margin-top: 14px; }
  [data-theme="bento"] .psteps { grid-template-columns: 1fr 1fr; }
  [data-theme="bento"] .calc-box, [data-theme="bento"] .pgrid, [data-theme="bento"] .biz { grid-template-columns: 1fr; }
  [data-theme="bento"] .tour-body { grid-template-columns: 1fr; }
  [data-theme="bento"] .tabs { flex-direction: row; }
  [data-theme="bento"] .tour-stage { min-height: 0; padding: 24px 16px; }
  [data-theme="bento"] .cards { grid-template-columns: 1fr 1fr; }
  [data-theme="bento"] .card, [data-theme="bento"] .card:nth-child(1), [data-theme="bento"] .card:nth-child(2) { grid-column: span 1; }
  [data-theme="bento"] .card:nth-child(6):last-child { grid-column: span 2; display: flex; }
  [data-theme="bento"] .card:nth-child(6):last-child > :is(h3, p, small, .mock, .shot, .ic) { align-self: stretch; }
  [data-theme="bento"] .showcase { padding: 30px 24px 0; }
  [data-theme="bento"] .nav nav { margin: 0; background: #fff; box-shadow: 0 30px 60px rgba(0, 0, 0, .12); }
  [data-theme="bento"] :is(.feat, section.plan, .calc, .tour, .show, .rings, .docs, .biz, .buy-sec, .more, .contact) { padding-top: 90px; }
  .stack { flex-direction: column; align-items: flex-start; gap: 14px; }
  .stack .mq { align-self: stretch; }
}
@media (max-width: 640px) {
  [data-theme="bento"] main > section { width: calc(100% - 32px); }
  .bento-hero { padding-top: 36px; }
  .lbs { max-width: none; }
  .bh-grid { grid-template-columns: 1fr 1fr; }
  .t.scr { grid-column: span 2; height: 230px; padding: 16px 16px 0; }
  .t.earn { grid-column: span 2; height: auto; min-height: 180px; }
  .t.cap, .t.ph { grid-column: span 1; height: 200px; }
  .t.ph .iphone { width: 104px; }
  [data-theme="bento"] .psteps { grid-template-columns: 1fr; }
  [data-theme="bento"] .psteps li { min-height: 0; }
  [data-theme="bento"] .cards { grid-template-columns: 1fr; }
  [data-theme="bento"] .card:nth-child(6):last-child { grid-column: span 1; display: flex; }
  [data-theme="bento"] .buy-card { padding: 26px 20px; }
  [data-theme="bento"] .showcase.duo .iphone.d2 { right: 10px; bottom: -30px; width: 24%; }
}

/* ════════ Bento v2 — more of the product's own colour, motion and devices (owner 2026-09-28) ════════ */
[data-theme="bento"] body { background:
  radial-gradient(1100px 520px at 85% -8%, rgba(var(--v-rgb), .16), transparent 62%),
  radial-gradient(900px 480px at -10% 30%, rgba(var(--v-rgb), .06), transparent 60%), var(--bg); }
/* headline accent: the product colour as a slow gradient */
[data-theme="bento"] :is(h1, h2) span { background: linear-gradient(100deg, var(--c) 10%, var(--v) 50%, var(--c) 90%); background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: shimmer 9s ease-in-out infinite; }
[data-theme="bento"] .buy-card h2 span { background: linear-gradient(100deg, var(--v), #fff 60%, var(--v)); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; }
/* primary actions in the product colour */
[data-theme="bento"] .lb.dark, [data-theme="bento"] .btn:not(.btn-ghost) { background: var(--c); border-color: var(--c); color: var(--on-c); }
[data-theme="bento"] .lb.dark:hover, [data-theme="bento"] .btn:not(.btn-ghost):hover { box-shadow: 0 14px 34px rgba(var(--c-rgb), .35); }
[data-theme="bento"] .cout .btn:not(.btn-ghost), [data-theme="bento"] .buy-box .btn:not(.btn-ghost) { background: var(--c); color: var(--on-c); }
[data-theme="bento"] .kicker { background: rgba(var(--v-rgb), .08); border-color: rgba(var(--v-rgb), .25); color: var(--c); }
[data-theme="bento"] .buy-card .kicker { background: rgba(var(--v-rgb), .16); color: #fff; }
[data-theme="bento"] .navbuy:hover { border-color: var(--c); color: var(--c) !important; }
[data-theme="bento"] .progress i { background: linear-gradient(90deg, var(--c), var(--v)); }
/* dark tiles glow in the product colour */
[data-theme="bento"] .t.scr, [data-theme="bento"] .tour-stage, [data-theme="bento"] .showcase, [data-theme="bento"] .biz .showcase {
  background: radial-gradient(80% 75% at 50% 0%, rgba(var(--v-rgb), .45), transparent 70%), radial-gradient(60% 60% at 100% 100%, rgba(var(--v-rgb), .18), transparent 70%), #0a0b10; }
[data-theme="bento"] .t.earn, [data-theme="bento"] .cout, [data-theme="bento"] .buy-card {
  background: radial-gradient(120% 90% at 100% 0%, rgba(var(--v-rgb), .5), transparent 58%), #0f1014; }
[data-theme="bento"] .t.ph { background: linear-gradient(160deg, rgba(var(--v-rgb), .35), rgba(var(--v-rgb), .08)); border-color: rgba(var(--v-rgb), .25); }
[data-theme="bento"] .t.cap b { background: linear-gradient(180deg, var(--text) 30%, var(--c)); -webkit-background-clip: text; background-clip: text; color: transparent; }
[data-theme="bento"] .t.cap.alt { background: rgba(var(--v-rgb), .1); border-color: rgba(var(--v-rgb), .25); }
/* the last step of each strip is the payday — in colour */
[data-theme="bento"] .loop li:last-child, [data-theme="bento"] .psteps li:last-child {
  background: linear-gradient(145deg, var(--v), var(--c)); border-color: transparent; color: var(--on-v); }
[data-theme="bento"] :is(.loop, .psteps) li:last-child span:last-child, [data-theme="bento"] .loop li:last-child::before { color: var(--on-v); opacity: .82; }
[data-theme="bento"] .psteps li:last-child .pn { background: rgba(255, 255, 255, .22); color: var(--on-v); }
[data-theme="bento"] .psteps .pn { background: rgba(var(--v-rgb), .12); color: var(--c); }
[data-theme="bento"] :is(.who, .rev, .pcost) svg { background: rgba(var(--v-rgb), .12); stroke: var(--c); }
[data-theme="bento"] .bars i b { background: linear-gradient(90deg, var(--c), var(--v)); }
[data-theme="bento"] .crow input { background: linear-gradient(90deg, var(--c) var(--f, 50%), #e4e4e7 var(--f, 50%)); }
[data-theme="bento"] .crow input::-webkit-slider-thumb { border: 5px solid var(--c); }
[data-theme="bento"] .tabs .tbar { background: linear-gradient(90deg, var(--c), var(--v)); }
[data-theme="bento"] .tabs button[aria-selected="true"] { background: rgba(var(--v-rgb), .1); }
[data-theme="bento"] .tabs button[aria-selected="true"] .n { color: var(--c); }
[data-theme="bento"] .biz li::before, [data-theme="bento"] .ring.info b { color: var(--c); }
[data-theme="bento"] .stats b { background: linear-gradient(180deg, var(--text) 30%, var(--c)); -webkit-background-clip: text; background-clip: text; color: transparent; }
[data-theme="bento"] .pcard.here { border-color: var(--c); box-shadow: 0 0 0 3px rgba(var(--v-rgb), .15); }
[data-theme="bento"] .st.here, [data-theme="bento"] .st.here i { color: var(--c); } [data-theme="bento"] .st.here i { background: var(--c); }
[data-theme="bento"] .card small, [data-theme="bento"] .checks svg { color: var(--c); stroke: var(--c); }
[data-theme="bento"] .card small { color: var(--c); }

/* pointer spotlight in the product colour on every light tile */
[data-theme="bento"] :is(.card, .ring, .pcard, .dcol, .pcard2, .psteps li, .ccard, .t:not(.scr))::before { display: block; content: ""; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none; opacity: 0; transition: opacity .3s; z-index: 0;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(var(--v-rgb), .14), transparent 60%); }
[data-theme="bento"] :is(.card, .ring, .pcard, .dcol, .pcard2, .psteps li, .ccard, .t):hover::before { opacity: 1; }
[data-theme="bento"] :is(.pcard2, .psteps li, .ccard, .ring) { position: relative; }
[data-theme="bento"] :is(.card, .ring, .psteps li, .t) { transition: transform .25s var(--ease), box-shadow .3s, border-color .3s; will-change: transform; }

/* earnings tile: a light that runs round its edge */
.t.earn::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--a, 0deg), transparent 0 62%, rgba(var(--v-rgb), .95) 80%, transparent 96%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: spinA 5s linear infinite; }
.t.earn > * { position: relative; z-index: 1; }

/* hero entrance + floating devices */
.bh-grid > .t { animation: rise .9s var(--ease) both; }
.bh-grid > .t:nth-child(1) { animation-delay: .1s; } .bh-grid > .t:nth-child(2) { animation-delay: .25s; }
.bh-grid > .t:nth-child(3) { animation-delay: .35s; } .bh-grid > .t:nth-child(4) { animation-delay: .45s; }
.bh-copy > * { animation: rise .8s var(--ease) both; }
.bh-copy > :nth-child(2) { animation-delay: .06s; } .bh-copy > :nth-child(3) { animation-delay: .12s; } .bh-copy > :nth-child(4) { animation-delay: .18s; }
.bh-copy > :nth-child(5) { animation-delay: .24s; } .bh-copy > :nth-child(6) { animation-delay: .3s; }
.t.scr > figure { animation: float 7s ease-in-out infinite; }
.t.ph .iphone { animation: float2 6s ease-in-out -1s infinite; }
.t.scr::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .07) 45%, transparent 60%);
  background-size: 250% 100%; animation: sweep 6s ease-in-out infinite; }
@keyframes sweep { 0% { background-position: 120% 0; } 60%, 100% { background-position: -40% 0; } }

/* built-on marquee */
.stack .mq { flex: 1; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.stack .mq ul { flex-wrap: nowrap; justify-content: flex-start; gap: 56px; width: max-content; animation: tick 40s linear infinite; }
.stack li { white-space: nowrap; }
.stack li::before { content: "◆"; margin-right: 14px; font-size: 9px; vertical-align: 3px; color: var(--v); }
@keyframes tick { to { transform: translateX(-50%); } }

/* ── device gallery: MacBooks and iPhones on one stage ─────────────────── */
.gallery { padding-top: 120px; }
.gal-head { display: grid; grid-template-columns: 1.1fr .9fr; column-gap: 40px; align-items: end; }
.gal-head .kicker { grid-column: 1 / -1; justify-self: start; }
.gal-head .sub { margin: 0; justify-self: end; }
.gal { position: relative; margin-top: 40px; height: 660px; border-radius: 32px; overflow: hidden; perspective: 2000px;
  background: radial-gradient(70% 70% at 50% 10%, rgba(var(--v-rgb), .5), transparent 65%), radial-gradient(40% 50% at 0% 100%, rgba(var(--v-rgb), .25), transparent 70%),
    radial-gradient(40% 50% at 100% 100%, rgba(var(--v-rgb), .2), transparent 70%), #08090d; }
.gal::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 56px 56px; -webkit-mask: radial-gradient(ellipse at 50% 60%, #000 20%, transparent 70%); mask: radial-gradient(ellipse at 50% 60%, #000 20%, transparent 70%); }
.gal > figure { position: absolute; }
.gal .g-main { width: 62%; left: 19%; top: 70px; z-index: 3; animation: float 8s ease-in-out infinite; }
.gal .g-back { width: 44%; left: -6%; top: 150px; z-index: 1; transform: rotateY(24deg) scale(.95); filter: brightness(.6) saturate(.9); animation: float2 9s ease-in-out -3s infinite; }
.gal .g-back.r { left: auto; right: -6%; transform: rotateY(-24deg) scale(.95); }
.gal .g-ph { width: 190px; z-index: 4; }
.gal .g0 { right: 8%; top: 230px; animation: float 6s ease-in-out -1s infinite; }
.gal .g1 { left: 7%; top: 290px; transform: rotate(-6deg); animation: float2 7s ease-in-out -2s infinite; }
.gal .g2 { right: 24%; top: 330px; width: 160px; transform: rotate(5deg); z-index: 5; animation: float 7.5s ease-in-out -4s infinite; }
.gal.phones-only { height: 640px; }
.gal.phones-only .g0 { left: 50%; right: auto; top: 50px; width: 250px; margin-left: -125px; }
.gal.phones-only .g1 { left: 22%; top: 110px; width: 220px; }
.gal.phones-only .g2 { right: 22%; top: 110px; width: 220px; }

@media (max-width: 900px) {
  .gal-head { grid-template-columns: 1fr; } .gal-head .sub { justify-self: start; margin-top: 14px; }
  .gal { height: 440px; }
  .gal .g-back { display: none; }
  .gal .g-main { width: 86%; left: 7%; top: 40px; }
  .gal .g-ph { width: 120px; } .gal .g0 { right: 4%; top: 170px; } .gal .g1 { left: 3%; top: 200px; } .gal .g2 { display: none; }
  .gal.phones-only .g0 { width: 170px; margin-left: -85px; } .gal.phones-only .g1, .gal.phones-only .g2 { width: 140px; top: 90px; }
  .gal.phones-only .g1 { left: 2%; } .gal.phones-only .g2 { display: block; right: 2%; }
}
@media (prefers-reduced-motion: reduce) {
  [data-theme="bento"] :is(h1, h2) span { animation: none; }
}
