/* SpeediHost design tokens */
:root{
  --canvas:#071413;
  --canvas-2:#0A1A19;
  --panel:#0E2120;
  --panel-2:#132B2A;
  --line:#1D3836;
  --line-strong:#2E5653;
  --accent:#19C37D;
  --accent-hover:#3ADB98;
  --accent-muted:rgba(25,195,125,.2);
  --blue:#2F8FEA;
  --cyan:#7BE8C0;
  --on-accent:#03140D;
  --text-primary:#ECF5F2;
  --text-secondary:#A2B9B4;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(3,10,9,.95),0 3px 12px rgba(3,10,9,.78),0 10px 44px rgba(3,10,9,.8);
  --f-display:"Plus Jakarta Sans",system-ui,sans-serif;
  --f-body:"Inter",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --r:18px;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;animation:pageIn .8s var(--ease-out) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:1.08;letter-spacing:-.018em;word-spacing:.04em;margin:0}
h2{font-size:clamp(1.9rem,1.2rem + 2.6vw,3.2rem)}
h3{font-size:1.15rem;font-weight:500}
p{margin:0}
.mono{font-family:var(--f-mono);font-weight:500}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 16px;border-radius:10px;transition:top .3s var(--ease-out)}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.kicker{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.lede{color:var(--text-secondary);font-size:1.1rem;max-width:56ch;margin-top:16px}
section{position:relative}

/* the one environment layer */
.env{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.env-glow{position:absolute;width:90vmax;height:90vmax;left:-20vmax;top:-30vmax;border-radius:50%;background:radial-gradient(circle,rgba(47,143,234,.13),rgba(47,143,234,0) 60%);animation:drift 80s var(--ease-io) -12s infinite alternate}
.env-grain{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes drift{to{transform:translate(70vw,90vh)}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:999px;font:600 1rem/1 var(--f-body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),transform .3s var(--ease-out),box-shadow .3s var(--ease-out);text-shadow:none}
.btn-accent{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 30px -10px rgba(25,195,125,.8)}
.btn-accent:hover{background:var(--accent-hover);transform:translateY(-2px)}
.btn-ghost{background:rgba(7,19,18,.45);border-color:rgba(234,240,248,.35);color:var(--text-primary);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--text-primary);transform:translateY(-2px)}
.btn-line{border-color:var(--line-strong);color:var(--text-primary)}
.btn-line:hover{border-color:var(--accent);background:var(--accent-muted)}
.btn-sm{padding:10px 18px;font-size:.92rem}
@media (pointer:coarse){.btn{min-height:44px}}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background-color .4s var(--ease-out),box-shadow .4s var(--ease-out)}
.nav.solid{background:rgba(7,19,18,.82);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.nav-in{width:min(1240px,100% - 32px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;height:72px}
.brand img{height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a:not(.btn){text-decoration:none;color:var(--text-secondary);font-weight:500;transition:color .3s var(--ease-out)}
.nav-links a:not(.btn):hover{color:var(--text-primary)}
.menu{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu i{position:absolute;left:11px;right:11px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform .35s var(--ease-out)}
.menu i:first-of-type{top:17px}.menu i:last-of-type{top:25px}
.menu[aria-expanded="true"] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.menu[aria-expanded="true"] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:860px){
  .menu{display:block}
  .nav-links{position:absolute;top:72px;left:16px;right:16px;flex-direction:column;align-items:stretch;gap:0;padding:10px;border-radius:var(--r);background:rgba(10,26,25,.97);border:1px solid var(--line);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}
  .nav-links.open{opacity:1;transform:none;pointer-events:auto}
  .nav-links li a:not(.btn){display:block;padding:14px 12px}
  .nav-cta-li{padding:8px 4px 4px}.nav-cta-li .btn{width:100%}
}

/* ================= HERO ================= */
.hero{height:600vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--canvas)}
.poster{position:absolute;inset:0;background:var(--canvas) center/cover no-repeat}
#hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease-out);will-change:transform;transform:translateZ(0)}
.stage.video-ready #hero{opacity:1}
/* laser-etched logo, locked to the chip's top face in the final frame */
.etch{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .4s var(--ease-out)}
.stage.video-ready .etch{opacity:1}
.stage.video-failed .etch{display:none}
.etch-plane{position:absolute;left:0;top:0;width:1000px;height:1000px;transform-origin:0 0}
.etch-logo{position:absolute;left:200px;top:330px;width:600px;mix-blend-mode:screen;opacity:calc(.82*var(--e,0));clip-path:inset(0 calc((1 - var(--e,0))*100%) 0 0);filter:drop-shadow(0 0 6px rgba(58,219,152,.75)) drop-shadow(0 0 18px rgba(25,195,125,.45))}
.etch-logo img{width:100%;height:auto}
.etch-beam{position:absolute;top:290px;height:185px;width:4px;left:calc(200px + 600px*var(--e,0));border-radius:4px;background:#E6FFF3;box-shadow:0 0 12px 3px rgba(58,219,152,.9),0 0 40px 10px rgba(25,195,125,.5);opacity:calc(var(--e,0)*(1 - var(--e,0))*4)}
.stage.video-failed #hero{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(4,12,11,0) 35%,rgba(4,12,11,.62) 100%),linear-gradient(180deg,rgba(4,12,11,.5),rgba(4,12,11,0) 22%,rgba(4,12,11,0) 75%,rgba(7,19,18,.9))}
.band{position:absolute;top:50%;transform:translateY(-50%);max-width:min(560px,40vw);opacity:0;text-shadow:var(--tshadow);pointer-events:none}
.band.on{pointer-events:auto}
.band.left{left:clamp(24px,6vw,96px);max-width:min(520px,37vw)}
.band.right{right:clamp(24px,6vw,96px)}
.band.settle{left:clamp(24px,6vw,96px);top:auto;bottom:12vh;transform:none;max-width:min(620px,44vw)}
.band::before{content:"";position:absolute;inset:-30% -25%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 60% 58% at 50% 50%,rgba(3,10,9,.82) 0%,rgba(3,10,9,.6) 46%,rgba(3,10,9,0) 78%)}
/* the motherboard is busy edge to edge: a soft side shade keeps each caption column calm */
.band.left::after,.band.settle::after,.band.right::after{content:"";position:absolute;top:-100vh;bottom:-100vh;width:55vw;z-index:-2;pointer-events:none}
.band.left::after,.band.settle::after{left:calc(-1*clamp(24px,6vw,96px));background:linear-gradient(90deg,rgba(3,10,9,.72),rgba(3,10,9,.45) 55%,rgba(3,10,9,0))}
.band.right::after{right:calc(-1*clamp(24px,6vw,96px));background:linear-gradient(270deg,rgba(3,10,9,.72),rgba(3,10,9,.45) 55%,rgba(3,10,9,0))}
.band h1,.band h2{font-size:clamp(2.2rem,1.2rem + 3.3vw,4.4rem);font-weight:700}
.band .sub{margin-top:18px;font-size:clamp(1rem,.9rem + .4vw,1.2rem);color:#D5E2DF;max-width:42ch}
.band .kicker{text-shadow:0 1px 3px rgba(3,10,9,.9)}
.band .cta-row{margin-top:26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* split text */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block}
/* (f) drift-down for band 1: words fall with the dive */
[data-fx="drift"] .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-28px))}
[data-fx="drift"] .sub,[data-fx="drift"] .kicker{opacity:clamp(0,(var(--k,0) - .4)*3,1)}
/* (b) grid snap-align for band 2: characters slide in like light streaks */
[data-fx="snap"] .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
[data-fx="snap"] .sub,[data-fx="snap"] .kicker{opacity:clamp(0,(var(--k,0) - .5)*3,1)}
/* (c) blur-to-sharp for band 3: the haze clears */
[data-fx="blur"] .split{position:relative}
[data-fx="blur"] .soft{position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k,0))}
[data-fx="blur"] .sharp{opacity:var(--k,0)}
[data-fx="blur"] .sub,[data-fx="blur"] .kicker{opacity:clamp(0,(var(--k,0) - .4)*3,1)}
/* (e) word rise into a staged settle for band 4: the arrival */
[data-fx="rise"] .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*30px))}
[data-fx="rise"] .stage2{opacity:clamp(0,(var(--k,0) - .66)*4,1);transform:translateY(calc((1 - clamp(0,(var(--k,0) - .66)*4,1))*12px))}
[data-fx="rise"] .stage3{opacity:clamp(0,(var(--k,0) - .78)*5,1);transform:translateY(calc((1 - clamp(0,(var(--k,0) - .78)*5,1))*12px))}

.ring{position:absolute;left:50%;bottom:28px;width:40px;height:40px;margin-left:-20px;color:var(--cyan);transform:rotate(-90deg);transition:opacity .6s var(--ease-out)}
.ring-fg{stroke-dashoffset:var(--ld,126);transition:stroke-dashoffset .2s linear}
.stage.video-ready .ring,.stage.video-failed .ring{opacity:0}
.cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;transition:opacity .6s var(--ease-out)}
.cue span{width:1px;height:34px;background:linear-gradient(var(--cyan),transparent);animation:cue 2.4s var(--ease-io) -1s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.stage.video-ready .cue,.stage.video-failed .cue{opacity:1}
.stage.scrolled .cue{opacity:0}
@media (max-height:560px){.cue,.ring{display:none}}

.static-hero{display:none}

/* The five static-hero gates (must match GATES in main.js exactly) */
@media (max-width: 720px), (orientation: portrait) and (max-width: 1024px), (orientation: portrait) and (pointer: coarse), (orientation: landscape) and (pointer: coarse) and (max-height: 560px), (prefers-reduced-motion: reduce){
  .hero{height:auto;min-height:100svh;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(4,12,11,.55),rgba(4,12,11,.25) 30%,rgba(7,19,18,.92) 78%,var(--canvas)),url("hero-ending.jpg") 50% 45%/cover no-repeat}
  .stage{display:none}
  .static-hero{display:block;width:min(1180px,100% - 32px);margin:0 auto;padding:140px 0 64px;text-shadow:var(--tshadow)}
  .static-h{font-size:clamp(2.3rem,1.4rem + 4.6vw,4rem)}
  .static-hero .sub{margin:18px 0 28px;color:#D5E2DF;font-size:1.08rem;max-width:44ch}
}
/* phones: frame the etched chip logo fully above the headline */
@media (max-width: 720px){
  /* image at 210% width puts the whole etched logo (video x 524..1187, y 227..523) across the screen */
  .hero{align-items:flex-start;background:linear-gradient(180deg,rgba(4,12,11,.2),rgba(4,12,11,0) 72px,rgba(7,19,18,0) calc(64px + 52vw),rgba(7,19,18,.94) calc(110px + 62vw),var(--canvas) calc(140px + 66vw)),url("hero-ending.jpg") 40% 64px/210% auto no-repeat,var(--canvas)}
  .static-hero{padding-top:calc(96px + 57vw)}
}

/* ================= REVEALS ================= */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.price-grid .reveal:nth-child(2),.feat-grid .reveal:nth-child(3n+2),.step-row .reveal:nth-child(2),.more .reveal:nth-child(2),.promises .reveal:nth-child(2){transition-delay:.1s}
.price-grid .reveal:nth-child(3),.feat-grid .reveal:nth-child(3n+3),.step-row .reveal:nth-child(3),.promises .reveal:nth-child(3){transition-delay:.2s}
.promises .reveal:nth-child(4){transition-delay:.3s}
.price-grid .reveal.done:nth-child(n),.feat-grid .reveal.done:nth-child(n),.step-row .reveal.done:nth-child(n),.more .reveal.done:nth-child(n),.promises .reveal.done:nth-child(n){transition-delay:0s}

/* ================= STATS ================= */
.stats{padding:72px 0 40px;border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}
.stat b{font:700 clamp(2rem,1.4rem + 2vw,3rem)/1 var(--f-display);color:var(--text-primary)}
.stat .unit{font:500 1.1rem var(--f-display);color:var(--accent-hover)}
.stat p{flex-basis:100%;color:var(--text-secondary);font-size:.95rem;margin-top:6px}
@media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:32px}}

/* ================= RACE (interactive moment) ================= */
.race{padding:110px 0 70px}
.race-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.race-box{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:24px;padding:32px;position:relative;overflow:hidden}
.race-box::after{content:"";position:absolute;inset:-1px;border-radius:24px;pointer-events:none;box-shadow:0 0 60px -10px var(--accent);opacity:0;transition:opacity .6s var(--ease-out)}
.race-box.won::after{opacity:.6}
.lane+.lane{margin-top:22px}
.lane-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;margin-bottom:10px;color:var(--text-secondary)}
.lane.fast .lane-head{color:var(--text-primary)}
.lane .t{font-size:.95rem}
.track{height:12px;border-radius:99px;background:#08181A;border:1px solid var(--line);overflow:hidden}
.track i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(var(--p,0));background:#4B5E5E;border-radius:99px}
.lane.fast .track i{background:linear-gradient(90deg,var(--blue),var(--accent))}
.hold{margin-top:30px;width:100%;height:58px;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--text-primary);font:600 1.05rem var(--f-body);position:relative;overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-touch-callout:none}
.hold-fill{position:absolute;inset:0;background:linear-gradient(90deg,#1565B8,#12955F);transform-origin:left;transform:scaleX(var(--h,0))}
.hold-label{position:relative;text-shadow:0 1px 4px rgba(3,10,9,.7)}
.hint{margin-top:12px;font-size:.9rem;color:var(--text-secondary);text-align:center}
.race-result{margin-top:14px;text-align:center;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.race-result b{color:var(--cyan)}
.race-box.won .race-result{opacity:1;transform:none}
.race-box.won .hint{opacity:0}
.note{margin-top:18px;font-size:.82rem;color:var(--text-secondary)}
@media (max-width:860px){.race-grid{grid-template-columns:1fr;gap:32px}.race-box{padding:24px}}

/* ================= PLANS ================= */
.plans{padding:110px 0}
.sec-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:56px}
.sec-head .lede{margin-inline:auto}
.toggle{margin-top:30px;display:inline-flex;padding:5px;border-radius:999px;background:var(--panel);border:1px solid var(--line)}
.toggle button{border:0;background:transparent;color:var(--text-secondary);font:600 .95rem var(--f-body);padding:11px 20px;border-radius:999px;cursor:pointer;transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}
.toggle button[aria-checked="true"]{background:var(--panel-2);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--line-strong)}
.toggle em{font-style:normal;font-size:.78rem;color:var(--cyan);margin-left:6px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.card{background:linear-gradient(170deg,var(--panel-2),var(--panel) 60%);border:1px solid var(--line);border-radius:var(--r)}
.plan{padding:34px 30px;position:relative;transition:border-color .4s var(--ease-out),transform .4s var(--ease-out),opacity .9s var(--ease-out)}
.plan:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.plan.pop{border-color:var(--accent);background:linear-gradient(170deg,#0F3A30,var(--panel) 70%)}
.plan.pop::before{content:"";position:absolute;inset:-1px;border-radius:var(--r);box-shadow:0 20px 70px -24px var(--accent);opacity:.7;pointer-events:none;animation:pulse 6s ease-in-out -2s infinite}
@keyframes pulse{50%{opacity:.25}}
.badge{position:absolute;top:-13px;left:30px;background:linear-gradient(90deg,var(--blue),var(--accent));color:var(--on-accent);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.for{color:var(--text-secondary);font-size:.95rem;margin-top:6px}
.price{display:flex;align-items:baseline;gap:6px;margin-top:24px}
.price .cur{font-weight:600;color:var(--text-secondary)}
.price b{font:700 2.8rem/1 var(--f-display);transition:opacity .25s var(--ease-out)}
.price .per{color:var(--text-secondary)}
.renew{font-size:.88rem;color:var(--cyan);margin-top:8px;min-height:1.4em}
.plan .btn{width:100%;margin-top:24px}
.feat{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:11px}
.feat li{position:relative;padding-left:28px;color:#CBDAD6;font-size:.98rem}
.feat li::before{content:"";position:absolute;left:0;top:.38em;width:16px;height:10px;background:linear-gradient(115deg,transparent 30%,var(--blue) 30% 55%,transparent 55% 65%,var(--accent) 65% 90%,transparent 90%)}
.feat strong{color:var(--text-primary)}
.swap{opacity:0}
.compare{text-align:center;margin-top:34px}
.compare-btn{background:none;border:0;color:var(--accent-hover);font:600 1rem var(--f-body);cursor:pointer;text-decoration:underline;text-underline-offset:5px;padding:10px}
.table-wrap{margin-top:20px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);text-align:left}
table{width:100%;border-collapse:collapse;min-width:560px;font-size:.96rem}
th,td{padding:14px 18px;border-bottom:1px solid var(--line)}
thead th{font-family:var(--f-display);font-weight:500;background:var(--panel)}
tbody th{font-weight:500;color:var(--text-secondary)}
tbody tr:last-child>*{border-bottom:0}
.more{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:56px}
.more-card{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;padding:28px;align-items:start}
.more-card .ico{width:46px;height:46px;fill:none;stroke:var(--blue);stroke-width:2;grid-row:span 3}
.more-card .ico circle{fill:var(--accent);stroke:none}
.more-card p{color:var(--text-secondary);margin-top:6px}
.more-card .from{margin-top:14px;color:var(--text-primary)}
.more-card .from b{font-family:var(--f-display)}
.more-card .btn{justify-self:start;margin-top:14px}
@media (max-width:960px){.price-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto}.plan.pop{order:-1}.more{grid-template-columns:1fr}}

/* ================= WHY ================= */
.why{padding:110px 0;background:linear-gradient(180deg,transparent,var(--canvas-2) 20%,var(--canvas-2) 80%,transparent)}
.why-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
.why-head{position:sticky;top:110px}
.why-img{margin-top:32px;border-radius:var(--r);border:1px solid var(--line);aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}
.promises{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.promise{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:28px;border-radius:var(--r);border:1px solid var(--line);background:rgba(14,31,32,.6);transition:border-color .4s var(--ease-out),opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.promise:hover{border-color:var(--line-strong)}
.pn{font-size:.9rem;color:var(--cyan);padding-top:4px}
.promise h3{font-family:var(--f-body);font-weight:700;font-size:1.2rem;font-style:italic;color:var(--text-secondary)}
.promise p{margin-top:10px;font-size:1.06rem}
@media (max-width:900px){.why-grid{grid-template-columns:1fr;gap:40px}.why-head{position:static}}

/* ================= FEATURES ================= */
.features{padding:90px 0 110px}
.stripes-line{position:absolute;top:0;left:0;width:100%;height:40px;fill:none;stroke:url(#slg);stroke-width:1.5;opacity:.6}
.stripes-line .draw{stroke-dasharray:1300;stroke-dashoffset:calc(1300 - 1300*var(--d,0))}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.f{background:var(--canvas);padding:34px 30px;transition:background-color .4s var(--ease-out),opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.f:hover{background:var(--panel)}
.f svg{width:34px;height:34px;fill:none;stroke:var(--accent-hover);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.f p{color:var(--text-secondary);margin-top:10px}
@media (max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:580px){.feat-grid{grid-template-columns:1fr}}

/* ================= STEPS ================= */
.steps{padding:40px 0 110px}
.step-row{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}
.step-row::before{content:"";position:absolute;top:27px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(115deg,var(--accent) 0 10px,transparent 10px 18px);opacity:.5}
.step{text-align:center;position:relative}
.step-n{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 22px;border-radius:50%;background:var(--canvas);border:1px solid var(--accent);font:700 1.3rem var(--f-display);color:var(--cyan);box-shadow:0 0 0 8px var(--canvas)}
.step p{color:var(--text-secondary);margin:10px auto 0;max-width:30ch}
.pay{list-style:none;padding:0;margin:56px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.pay li{padding:10px 18px;border:1px solid var(--line-strong);border-radius:999px;font-weight:600;font-size:.92rem;color:var(--text-secondary)}
@media (max-width:760px){.step-row{grid-template-columns:1fr;gap:36px}.step-row::before{display:none}}

/* ================= DOMAINS ================= */
.domains{padding:0 0 110px}
.dom-box{display:grid;grid-template-columns:1fr 1.1fr;gap:32px 48px;align-items:center;padding:48px;border-radius:24px;background:radial-gradient(ellipse at 90% 0%,rgba(123,232,192,.12),transparent 55%),linear-gradient(160deg,#0F2E2A,var(--panel));border:1px solid var(--line-strong)}
.dom-field{display:flex;gap:8px;padding:6px;border-radius:999px;background:var(--canvas);border:1px solid var(--line-strong);transition:border-color .3s var(--ease-out)}
.dom-field:focus-within{border-color:var(--accent)}
.dom-field input{flex:1;min-width:0;background:transparent;border:0;color:var(--text-primary);font:500 1.05rem var(--f-body);padding:0 18px;outline:none}
.dom-field input::placeholder{color:#6E8A86}
.dom-msg{margin-top:12px;min-height:1.5em;color:var(--cyan);font-size:.94rem}
.tlds{grid-column:1/-1;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tlds li{display:flex;justify-content:space-between;align-items:baseline;padding:16px 18px;border-radius:14px;background:rgba(7,19,18,.55);border:1px solid var(--line)}
.tlds b{font-family:var(--f-display);font-size:1.1rem}
.tlds span{color:var(--text-secondary);font-size:.9rem}
@media (max-width:900px){.dom-box{grid-template-columns:1fr;padding:30px 22px}.tlds{grid-template-columns:1fr 1fr}.tlds li{flex-direction:column;gap:4px}}
@media (max-width:460px){.dom-field{flex-direction:column;border-radius:20px}.dom-field input{padding:12px 14px}}

/* ================= FAQ ================= */
.faq{padding:40px 0 110px}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq .sec-head{text-align:left;align-items:flex-start;position:sticky;top:110px}
.faq .sec-head .lede{margin-inline:0}
.qs{display:grid;gap:12px}
.q{border:1px solid var(--line);border-radius:14px;background:rgba(14,31,32,.6);transition:border-color .3s var(--ease-out),opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.q[open]{border-color:var(--line-strong)}
.q summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;font-weight:600;font-size:1.06rem;position:relative}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"";position:absolute;right:22px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--accent-hover);border-bottom:2px solid var(--accent-hover);transform:rotate(45deg);transition:transform .35s var(--ease-out)}
.q[open] summary::after{transform:translateY(5px) rotate(-135deg)}
.q p{padding:0 22px 22px;color:var(--text-secondary)}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px}.faq .sec-head{position:static;margin-bottom:0}}

/* ================= FINAL ================= */
.final{padding:0 0 120px}
.final-box{text-align:center;padding:64px 48px;border-radius:28px;border:1px solid var(--accent);background:radial-gradient(ellipse 80% 70% at 50% 0%,rgba(25,195,125,.28),transparent 70%),var(--panel);position:relative;overflow:hidden}
.final-box .lede{margin-inline:auto}
.final-mark{width:64px;margin:0 auto 26px;filter:drop-shadow(0 10px 30px rgba(25,195,125,.55))}
.final-mark rect{fill:url(#fmg)}
.final-mark .bolt{fill:#fff}
.final-box.in .final-mark .bolt{animation:flash 5s var(--ease-io) -1s infinite}
@keyframes flash{0%,70%,100%{opacity:1}76%{opacity:.4}82%{opacity:1}86%{opacity:.6}}
.lead{max-width:640px;margin:36px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.fld{display:flex;flex-direction:column;gap:8px}
.fld.full,.lead .full{grid-column:1/-1}
.fld label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}
.fld input,.fld select{background:var(--canvas);border:1px solid var(--line-strong);border-radius:12px;color:var(--text-primary);font:500 1rem var(--f-body);padding:14px 16px;transition:border-color .3s var(--ease-out)}
.fld input:focus,.fld select:focus{border-color:var(--accent);outline:none}
.fld input[aria-invalid="true"]{border-color:#F07A7A}
.form-note{grid-column:1/-1;text-align:center;font-size:.88rem;color:var(--text-secondary)}
.form-ok{grid-column:1/-1;text-align:center;color:var(--cyan);font-weight:600;min-height:1.4em}
@media (max-width:600px){.final-box{padding:44px 20px}.lead{grid-template-columns:1fr}}

/* ================= FOOTER ================= */
.foot{border-top:1px solid var(--line);padding:64px 0 28px;background:var(--canvas-2)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px}
.foot-brand img{height:32px;width:auto}
.foot-brand p{color:var(--text-secondary);margin-top:16px;max-width:34ch;font-size:.96rem}
.foot h3{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:16px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:var(--text-secondary);font-size:.96rem}
.foot a{text-decoration:none;transition:color .3s var(--ease-out)}
.foot a:hover{color:var(--text-primary)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:.88rem;color:var(--text-secondary)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:420px){.foot-grid{grid-template-columns:1fr}}

/* floating WhatsApp */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1FAF5A;box-shadow:0 10px 30px -8px rgba(0,0,0,.6);transition:transform .35s var(--ease-out),opacity .4s var(--ease-out)}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:30px;height:30px;fill:#fff}
.wa-float.hide{opacity:0;pointer-events:none;transform:scale(.8)}

/* pause loops when tab is hidden */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* reduced motion: final states, nothing moves */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  .reveal{opacity:1;transform:none}
  .stripes-line .draw{stroke-dashoffset:0}
}

/* ================= INNER PAGES ================= */
.inner .nav{background:rgba(7,19,18,.82);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.page-hero{padding:150px 0 56px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 90% at 85% 0%,rgba(25,195,125,.16),transparent 65%),radial-gradient(ellipse 50% 80% at 10% 100%,rgba(47,143,234,.12),transparent 70%)}
.page-hero h1{font-size:clamp(2.2rem,1.4rem + 3vw,3.8rem);max-width:18ch}
.page-hero .lede{margin-top:18px}
.crumbs{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 22px;font-size:.88rem;color:var(--text-secondary)}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--text-primary)}
.meta{margin-top:22px;font-size:.85rem;color:var(--text-secondary)}
.doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;padding:64px 0 110px;align-items:start}
.toc{position:sticky;top:100px;font-size:.92rem}
.toc p{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--text-secondary);text-decoration:none;transition:color .3s var(--ease-out),border-color .3s var(--ease-out)}
.toc a:hover{color:var(--text-primary)}
.toc a.on{color:var(--text-primary);border-left-color:var(--accent)}
.prose{max-width:74ch}
.prose section{scroll-margin-top:96px;padding-bottom:12px}
.prose section+section{margin-top:40px;padding-top:40px;border-top:1px solid var(--line)}
.prose h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);margin-bottom:16px}
.prose h3{font-family:var(--f-body);font-weight:700;font-size:1.08rem;margin:22px 0 8px}
.prose p,.prose li{color:#C9D9D5}
.prose p+p{margin-top:12px}
.prose ul,.prose ol{padding-left:22px;margin:12px 0}
.prose li+li{margin-top:7px}
.prose li::marker{color:var(--accent)}
.prose a{color:var(--accent-hover);text-underline-offset:3px}
.prose strong{color:var(--text-primary)}
.callout{margin:18px 0;padding:18px 20px;border-radius:14px;border:1px solid var(--line-strong);background:rgba(25,195,125,.06);color:var(--text-primary)}
.prose table{min-width:0;margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:table}
.prose th,.prose td{padding:12px 14px;text-align:left}
.prose thead th{background:var(--panel)}
.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px}
.legal-nav a{padding:9px 16px;border:1px solid var(--line-strong);border-radius:999px;text-decoration:none;font-size:.9rem;color:var(--text-secondary);transition:border-color .3s var(--ease-out),color .3s var(--ease-out)}
.legal-nav a:hover,.legal-nav a[aria-current]{border-color:var(--accent);color:var(--text-primary)}
@media (max-width:900px){.doc{grid-template-columns:1fr;gap:28px;padding-top:36px}.toc{position:static;min-width:0}.toc ol{display:flex;flex-wrap:nowrap;gap:8px;border:0;overflow-x:auto;padding-bottom:8px;margin:0 -16px;padding-inline:16px;scrollbar-width:none}.toc ol::-webkit-scrollbar{display:none}.toc li{flex:none}.toc a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;margin:0;white-space:nowrap}.toc a.on{border-color:var(--accent)}}

/* about */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:80px 0}
.about-grid img{border-radius:var(--r);border:1px solid var(--line);width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:45% 30%}
.about-grid .prose p{font-size:1.06rem}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-bottom:90px}
.value{padding:28px 24px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(170deg,var(--panel-2),var(--panel) 60%)}
.value .vn{display:block;font:500 .8rem var(--f-mono);color:var(--cyan);margin-bottom:16px}
.value p{color:var(--text-secondary);margin-top:10px;font-size:.98rem}
@media (max-width:960px){.about-grid{grid-template-columns:1fr;padding:56px 0}.values{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.values{grid-template-columns:1fr}}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:72px 0 110px;align-items:start}
.c-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.c-card{padding:22px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(170deg,var(--panel-2),var(--panel) 60%);text-decoration:none;display:block;transition:border-color .3s var(--ease-out),transform .3s var(--ease-out)}
a.c-card:hover{border-color:var(--accent);transform:translateY(-3px)}
.c-card.wide{grid-column:1/-1;border-color:var(--accent);background:radial-gradient(ellipse at 100% 0%,rgba(25,195,125,.18),transparent 60%),var(--panel)}
.c-card .lbl{font:500 .74rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.c-card b{display:block;margin-top:10px;font-size:1.05rem;word-break:break-word}
.c-card p{margin-top:6px;color:var(--text-secondary);font-size:.92rem}
.c-form{padding:32px;border-radius:24px;border:1px solid var(--line-strong);background:var(--panel)}
.c-form h2{font-size:1.5rem;margin-bottom:6px}
.c-form .lede{margin:0 0 22px;font-size:1rem}
.c-form .lead{margin:0;max-width:none}
.fld textarea{background:var(--canvas);border:1px solid var(--line-strong);border-radius:12px;color:var(--text-primary);font:500 1rem var(--f-body);padding:14px 16px;min-height:130px;resize:vertical;transition:border-color .3s var(--ease-out)}
.fld textarea:focus{border-color:var(--accent);outline:none}
.fld textarea[aria-invalid],.fld input[aria-invalid]{border-color:#F07A7A}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.c-form{padding:24px}}
@media (max-width:460px){.c-cards{grid-template-columns:1fr}}

/* 404 */
.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 16px 60px}
.nf b{display:block;font:700 clamp(5rem,3rem + 10vw,10rem)/1 var(--f-display);background:linear-gradient(90deg,var(--blue),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.nf .lede{margin:16px auto 28px}
.nf .cta-row{justify-content:center}

/* footer with more columns */
.foot-grid.five{grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr}
@media (max-width:1000px){.foot-grid.five{grid-template-columns:1fr 1fr 1fr}.foot-grid.five .foot-brand{grid-column:1/-1}}
@media (max-width:520px){.foot-grid.five{grid-template-columns:1fr 1fr}}
