:root{
  --bg:#05070d;
  --bg-2:#080b16;
  --cyan:#00d4ff;
  --lime:#9bf00b;
  --magenta:#ff2e9a;
  --ink:#f2f5fa;
  --ink-2:rgba(226,233,245,.62);
  --ink-3:rgba(226,233,245,.38);
  --hair:rgba(255,255,255,.09);
  --glass:rgba(255,255,255,.045);
  --grad:linear-gradient(100deg,var(--cyan) 0%,var(--lime) 52%,var(--magenta) 100%);
  --display:'Michroma',sans-serif;
  --text:'Space Grotesk',system-ui,sans-serif;
  --nav-bg:rgba(8,11,20,.52);
  --marquee-bg:rgba(5,7,13,.4);
  --frame-border:rgba(255,255,255,.12);
  --frame-shadow:0 30px 90px rgba(0,0,0,.55),0 0 80px rgba(0,212,255,.08),0 0 60px rgba(255,46,154,.07);
  --hover-border:rgba(255,255,255,.28);
  --why-hover-border:rgba(255,255,255,.2);
  --icon-bg:rgba(255,255,255,.05);
  --grid-line:rgba(255,255,255,.028);
  --blob-opacity:.8;
  --price-color:var(--lime);
  --price-glow:0 0 24px rgba(155,240,11,.35);
  --panel-border:rgba(255,255,255,.13);
  --modal-bg:rgba(10,13,24,.85);
  --modal-border:rgba(255,255,255,.14);
  --scrim:rgba(3,4,8,.7);
  --final-bg:linear-gradient(160deg,rgba(0,212,255,.09),rgba(255,255,255,.03) 40%,rgba(255,46,154,.09));
  --grad-text:var(--grad);
  --chip-bg:rgba(9,12,22,.5);
  --chip-border:rgba(255,255,255,.22);
  --step-bg:rgba(9,12,22,.72);
  --nav-shadow:0 18px 50px rgba(0,0,0,.45),0 0 40px rgba(0,212,255,.06);
  --card-glow:0 24px 60px rgba(0,0,0,.5),0 0 46px rgba(0,212,255,.07);
  --card-bg:rgba(8,11,20,.38);
  --card-ink:rgba(233,239,249,.82);
}
[data-theme="light"]{
  --bg:#f2f4f8;
  --bg-2:#ffffff;
  --ink:#0b0f1a;
  --ink-2:rgba(11,15,26,.66);
  --ink-3:rgba(11,15,26,.45);
  --hair:rgba(11,15,26,.1);
  --glass:rgba(255,255,255,.62);
  --nav-bg:rgba(255,255,255,.6);
  --marquee-bg:rgba(255,255,255,.5);
  --frame-border:rgba(11,15,26,.1);
  --frame-shadow:0 30px 70px rgba(20,30,60,.18),0 0 80px rgba(0,212,255,.12),0 0 60px rgba(255,46,154,.1);
  --hover-border:rgba(11,15,26,.3);
  --why-hover-border:rgba(11,15,26,.25);
  --icon-bg:rgba(11,15,26,.05);
  --grid-line:rgba(11,15,26,.045);
  --blob-opacity:.5;
  --price-color:#5e9e00;
  --price-glow:none;
  --panel-border:rgba(11,15,26,.12);
  --modal-bg:rgba(255,255,255,.88);
  --modal-border:rgba(11,15,26,.12);
  --scrim:rgba(30,36,50,.35);
  --final-bg:linear-gradient(160deg,rgba(0,212,255,.13),rgba(255,255,255,.55) 40%,rgba(255,46,154,.12));
  --grad-text:linear-gradient(100deg,#0097bd 0%,#5e9e00 52%,#d61f83 100%);
  --chip-bg:rgba(255,255,255,.55);
  --chip-border:rgba(11,15,26,.14);
  --step-bg:rgba(255,255,255,.78);
  --nav-shadow:0 18px 44px rgba(20,30,60,.16),0 0 40px rgba(0,212,255,.1);
  --card-glow:0 24px 50px rgba(20,30,60,.16),0 0 46px rgba(0,212,255,.1);
  --card-bg:rgba(255,255,255,.68);
  --card-ink:rgba(11,15,26,.8);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--text);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .45s ease,color .45s ease;
}
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;cursor:pointer;
  background:var(--glass);border:1px solid var(--hair);
  backdrop-filter:blur(12px);color:var(--ink);
  transition:transform .25s,border-color .3s;
}
.theme-toggle:hover{transform:translateY(-2px);border-color:var(--hover-border)}
.theme-toggle:active{transform:scale(.9)}
.theme-toggle svg{width:18px;height:18px;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.theme-toggle:active svg{transform:rotate(120deg)}
.theme-toggle .sun{display:none}
[data-theme="light"] .theme-toggle .sun{display:block}
[data-theme="light"] .theme-toggle .moon{display:none}
.card,.step,.why,.badge,.final-panel,.hero-frame{transition:background .45s ease,border-color .45s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
::selection{background:rgba(0,212,255,.28)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--cyan),var(--lime),var(--magenta));border-radius:99px;border:3px solid var(--bg)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}

/* ---------- ambient layers ---------- */
.progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:75;
  background:var(--grad);transform-origin:0 50%;transform:scaleX(0);
  box-shadow:0 0 14px rgba(0,212,255,.5);
}
.noise{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}
.blob{position:fixed;border-radius:50%;filter:blur(90px);z-index:0;pointer-events:none;opacity:var(--blob-opacity);will-change:transform,translate}
.blob-a{width:64vmax;height:64vmax;background:radial-gradient(circle at 38% 38%,rgba(0,212,255,.52),transparent 62%);top:-24vmax;left:-20vmax;animation:drift1 22s ease-in-out infinite alternate}
.blob-b{width:56vmax;height:56vmax;background:radial-gradient(circle at 60% 40%,rgba(155,240,11,.4),transparent 62%);top:26%;right:-24vmax;animation:drift2 28s ease-in-out infinite alternate}
.blob-c{width:60vmax;height:60vmax;background:radial-gradient(circle at 50% 50%,rgba(255,46,154,.46),transparent 62%);bottom:-26vmax;left:6%;animation:drift3 34s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(9vmax,7vmax) scale(1.14)}}
@keyframes drift2{to{transform:translate(-10vmax,-8vmax) scale(1.18)}}
@keyframes drift3{to{transform:translate(8vmax,-9vmax) scale(.92)}}
.grid-lines{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 75%);
}

/* ---------- nav ---------- */
nav{
  position:fixed;top:14px;left:14px;right:14px;z-index:50;
  border-radius:20px;
  backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);
  background:var(--nav-bg);
  border:1px solid var(--hair);
  transition:background .4s,box-shadow .4s,border-radius .4s,top .4s;
}
nav.scrolled{top:8px;border-radius:16px;box-shadow:var(--nav-shadow)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px;transition:height .35s}
nav.scrolled .nav-in{height:56px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:26px;width:auto}
.logo-mono{display:none}
[data-theme="light"] .logo-color{display:none}
[data-theme="light"] .logo-mono{display:block}
.brand span{font-family:var(--display);font-size:15px;letter-spacing:.14em}
.brand span em{font-style:normal;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;align-items:center;gap:34px;font-size:14px;color:var(--ink-2)}
.nav-links a{position:relative;padding:6px 0;transition:color .25s}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--grad);transition:width .3s}
.nav-links a:hover::after{width:100%}
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--text);font-weight:600;font-size:14.5px;letter-spacing:.02em;
  padding:13px 26px;border-radius:99px;border:0;cursor:pointer;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;
}
.btn:active{transform:scale(.94)}
.btn-primary{background:var(--grad);color:#04121a;box-shadow:0 0 0 rgba(0,212,255,0)}
.btn-primary::after{
  content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:sheen 4.6s ease-in-out infinite;pointer-events:none;
}
@keyframes sheen{0%,55%{left:-90%}100%{left:190%}}
.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px rgba(0,212,255,.35),0 4px 18px rgba(255,46,154,.25)}
.btn-ghost{background:var(--glass);color:var(--ink);border:1px solid var(--hair);backdrop-filter:blur(12px)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--hover-border)}
.nav-links .btn-nav{padding:10px 20px;font-size:13.5px}

.demo-link{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--lime);text-decoration:none}
.demo-link:hover{text-decoration:underline}
.foot-links{margin-top:12px;font-size:13px}
.foot-links a{color:var(--ink-2);text-decoration:none;margin:0 10px}
.foot-links a:hover{color:var(--ink)}
.foot-links span{color:var(--ink-2);opacity:.5}

/* ---------- hero ---------- */
.hero{position:relative;z-index:1;min-height:100svh;display:flex;align-items:center;padding:130px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.badge{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);
  padding:9px 18px;border-radius:99px;border:1px solid var(--hair);
  background:var(--glass);backdrop-filter:blur(12px);
}
.badge i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);animation:pulse 2.2s infinite}
@keyframes pulse{50%{opacity:.35}}
h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(30px,4.2vw,54px);line-height:1.14;letter-spacing:.01em;
  margin:24px 0 20px;text-wrap:balance;
}
h1 .g{
  background:var(--grad-text);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:gradShift 7s ease-in-out infinite alternate;
}
@keyframes gradShift{to{background-position:100% 0}}
.hero p.lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink-2);max-width:52ch;font-weight:300}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.hero-visual{position:relative;perspective:1100px}
.hero-frame{
  border-radius:26px;overflow:hidden;position:relative;
  border:1px solid var(--frame-border);
  background:var(--glass);
  box-shadow:var(--frame-shadow);
  transform-style:preserve-3d;will-change:transform;
  animation:heroFloat 9s ease-in-out infinite;
}
@keyframes heroFloat{50%{translate:0 -14px}}
.hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.14),transparent 32%);pointer-events:none}
.hero-frame img{width:100%;height:auto;animation:heroZoom 18s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.chip{
  position:absolute;z-index:2;
  padding:10px 18px;border-radius:99px;
  font-size:12.5px;font-weight:600;letter-spacing:.05em;color:var(--ink);
  background:var(--chip-bg);border:1px solid var(--chip-border);
  backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);
  box-shadow:0 14px 34px rgba(0,0,0,.38);
  animation:chipFloat 7s ease-in-out infinite;
}
[data-theme="light"] .chip{box-shadow:0 14px 30px rgba(20,30,60,.18)}
.chip-1{top:7%;left:-16px}
.chip-2{bottom:24%;right:-12px;animation-delay:1.6s}
.chip-3{bottom:-16px;left:12%;animation-delay:3.1s}
@keyframes chipFloat{50%{translate:0 -10px}}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-3);font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.scroll-cue i{width:1px;height:44px;background:linear-gradient(var(--ink-3),transparent);display:block;animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- marquee ---------- */
.marquee{border-block:1px solid var(--hair);padding:20px 0;overflow:hidden;position:relative;z-index:1;background:var(--marquee-bg);backdrop-filter:blur(8px)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 30s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--display);font-size:13px;letter-spacing:.3em;color:var(--ink-3);white-space:nowrap;display:flex;align-items:center;gap:56px}
.marquee-track b{width:6px;height:6px;border-radius:50%;background:var(--grad);display:inline-block}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{position:relative;z-index:1;padding:110px 0;scroll-margin-top:100px}
.eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--grad)}
h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,3.2vw,40px);line-height:1.2;margin:18px 0 16px;text-wrap:balance}
.section-sub{color:var(--ink-2);font-weight:300;max-width:56ch;font-size:16.5px}

/* services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.card{
  position:relative;border-radius:22px;padding:30px 28px 28px;
  background:var(--card-bg);border:1px solid var(--hair);
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .35s;
  will-change:transform;overflow:hidden;
}
.card::before{
  content:"";position:absolute;inset:0;border-radius:22px;padding:1px;
  background:var(--grad);opacity:.32;transition:opacity .35s;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.card::after{content:"";position:absolute;top:-60%;left:-30%;width:60%;height:220%;transform:rotate(20deg) translateX(-140%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);transition:transform .8s ease;pointer-events:none}
.card:hover{transform:translateY(-8px);box-shadow:var(--card-glow)}
.card:active{transform:translateY(-4px) scale(.985)}
.card:hover::before,.card:active::before{opacity:1}
.card:hover::after{transform:rotate(20deg) translateX(340%)}
.card .num{font-family:var(--display);font-size:11px;letter-spacing:.26em;color:var(--ink-3)}
.card .icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin:18px 0 20px;background:var(--icon-bg);border:1px solid var(--hair)}
.card .icon svg{width:22px;height:22px}
.card h3{font-family:var(--display);font-weight:400;font-size:15.5px;line-height:1.45;letter-spacing:.02em}
.card p{color:var(--card-ink);font-size:14.5px;font-weight:300;margin:12px 0 22px;min-height:66px}
.price{display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--hair);padding-top:18px}
.price .from{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.price .val{font-family:var(--display);font-size:19px;color:var(--price-color);text-shadow:var(--price-glow)}
.price .cur{font-size:12px;color:var(--ink-3);letter-spacing:.1em}

/* model — sticky stacking steps */
.steps{display:flex;flex-direction:column;gap:clamp(56px,14vh,130px);margin-top:56px}
.step{
  position:sticky;top:calc(100px + var(--i,0)*18px);
  display:grid;grid-template-columns:auto 1fr;gap:6px 34px;align-items:center;
  padding:clamp(30px,4.5vw,46px) clamp(26px,4.5vw,52px);border-radius:26px;
  background:var(--step-bg);border:1px solid var(--panel-border);
  backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4);
  box-shadow:0 26px 70px rgba(0,0,0,.42);
}
[data-theme="light"] .step{box-shadow:0 26px 60px rgba(20,30,60,.16)}
.step .n{
  grid-row:span 2;font-family:var(--display);font-size:clamp(44px,5.5vw,64px);line-height:1;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.step h3{font-family:var(--display);font-weight:400;font-size:clamp(16px,1.8vw,20px)}
.step p{color:var(--card-ink);font-size:14.5px;font-weight:300;max-width:60ch}

/* why */
.why-list{display:flex;flex-direction:column;gap:18px;margin-top:52px}
.why{
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
  padding:26px 30px;border-radius:20px;background:var(--card-bg);border:1px solid var(--hair);
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  position:relative;overflow:hidden;transition:transform .3s,border-color .3s;
}
.why:hover{transform:translateX(6px);border-color:var(--why-hover-border)}
.why:active{transform:scale(.99)}
.why::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad)}
.why h3{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:.03em;white-space:nowrap}
.why p{color:var(--card-ink);font-size:14.5px;font-weight:300}

/* final cta */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
.final{padding:40px 0 120px}
.final-panel{
  position:relative;border-radius:30px;padding:clamp(44px,7vw,84px) clamp(28px,6vw,72px);
  text-align:center;overflow:hidden;
  background:var(--final-bg);
  border:1px solid var(--panel-border);
  backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
}
.final-panel::before{content:"";position:absolute;inset:-2px;background:radial-gradient(600px 200px at 50% -60px,rgba(155,240,11,.14),transparent 70%);pointer-events:none}
.final-panel::after{
  content:"";position:absolute;inset:0;border-radius:30px;padding:1.5px;
  background:conic-gradient(from var(--ang),var(--cyan),var(--lime),var(--magenta),var(--cyan));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:spinBorder 9s linear infinite;pointer-events:none;opacity:.85;
}
@keyframes spinBorder{to{--ang:360deg}}
.final-panel h2{margin-top:0}
.final-panel p{color:var(--ink-2);font-weight:300;max-width:52ch;margin:0 auto 36px}

/* footer */
footer{border-top:1px solid var(--hair);padding:56px 0 44px;position:relative;z-index:1}
.foot-in{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.foot-in img{height:44px;width:auto}
.foot-in .desc{color:var(--ink-2);font-size:14px;font-weight:300}
.foot-in .domain{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3)}

/* modal */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s}
.modal.open{opacity:1;pointer-events:auto}
.modal-bg{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(10px)}
.modal-card{
  position:relative;max-width:440px;width:100%;border-radius:24px;padding:40px 36px;text-align:center;
  background:var(--modal-bg);border:1px solid var(--modal-border);
  backdrop-filter:blur(24px);transform:translateY(14px) scale(.97);transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.modal.open .modal-card{transform:none}
.modal-card img{height:36px;margin:0 auto 20px}
.modal-card h3{font-family:var(--display);font-weight:400;font-size:17px;margin-bottom:12px}
.modal-card p{color:var(--ink-2);font-size:14.5px;font-weight:300;margin-bottom:26px}

/* reveal */
.reveal{opacity:0;transform:translateY(52px) scale(.97);filter:blur(10px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .9s ease}
.reveal.in{opacity:1;transform:none;filter:blur(0)}

/* responsive */
@media(max-width:1020px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-visual{max-width:640px}
  .hero{min-height:auto;padding-top:150px}
  .scroll-cue{display:none}
}
@media(max-width:720px){
  .nav-links a:not(.btn){display:none}
  .nav-links a.nav-shop{display:inline;font-size:12.5px;padding:6px 2px}
  .nav-in{height:58px;gap:10px}
  nav{top:10px;left:10px;right:10px;border-radius:16px}
  nav.scrolled .nav-in{height:52px}
  .nav-links{gap:12px}
  .nav-links .btn-nav{padding:10px 22px;font-size:12.5px;white-space:nowrap}
  .theme-toggle{width:38px;height:38px;flex:none}
  .badge{font-size:11.5px;letter-spacing:.12em;padding:8px 15px}
  section{padding:78px 0}
  .cards{grid-template-columns:1fr}
  .card p{min-height:0}
  .step{top:calc(88px + var(--i,0)*14px);grid-template-columns:1fr;gap:10px}
  .step .n{grid-row:auto}
  .chip{font-size:11px;padding:8px 14px}
  .chip-1{left:-6px}
  .chip-2{right:-4px}
  .why{grid-template-columns:1fr;gap:8px}
  .why h3{white-space:normal}
}
@media(max-width:520px){
  .brand span{display:none}
  .nav-links{gap:12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;filter:none}
}
