/* Base reset and variables */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
:root{
	--bg:#071e14; /* dark green */
	--bg-alt:#0b2a1c; /* deeper dark green */
	--surface:#ffffff;
	--text:#0e1624;
	--muted:#5b6a82;
	--primary:#155eef;
	--accent:#0aa36c;
	--focus: 2px dashed #155eef;
	--border: rgba(3,6,12,.08);
}
body{font-family:Nunito,Manrope,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg),var(--bg-alt));font-size:1.15rem}

/* Utilities */
.container{width:min(1200px,92%);margin-inline:auto}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:var(--surface);color:var(--text);padding:.5rem .75rem;border-radius:.5rem;outline:var(--focus)}

/* Header removed */

/* Slides */
/* Snap container and stages */
.snap-container{scroll-snap-type:y mandatory;overflow-y:auto;max-height:100vh;position:relative}
.stage{min-height:100svh;display:grid;place-items:center;position:relative;scroll-snap-align:start;padding:3rem 0}
.stage-inner{display:grid;grid-template-columns:1fr;gap:1rem;place-items:center;text-align:center;background-color:#1f2427;border:2px solid #ffffff;border-radius:16px;padding:1.25rem;box-shadow:0 8px 30px rgba(3,6,12,.08);width:80vw;min-height:80vh;background-image:url('assets/pattern-voltage.svg');background-repeat:repeat;background-size:96px auto}
.stage-inner > .stage-illustration{padding:.5rem}
.stage-inner > .stage-header{padding:0 .75rem .5rem}
.stage-title{font-size:clamp(1.725rem,3vw,2.875rem);line-height:1.15;margin:.25rem 0;color:#ffffff;text-shadow:0 2px 4px rgba(0,0,0,.35), 0 8px 20px rgba(0,0,0,.25), 0 0 24px rgba(255,255,255,.05)}
.stage-desc{color:#ffffff;max-width:60ch;text-shadow:0 2px 3px rgba(0,0,0,.3), 0 6px 16px rgba(0,0,0,.22), 0 0 18px rgba(255,255,255,.05);font-size:1.15em;line-height:1.5}
.accent-green{color:#0aa36c}

/* Hero */
/* Buttons */
.btn{display:inline-block;background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.2);padding:.75rem 1rem;border-radius:.75rem;text-decoration:none}
.btn--primary{background:linear-gradient(90deg,var(--primary),#9be7ff);color:#001018;border:none}

/* Parallax */
/* Full-bleed background */
.bg{position:fixed;inset:0;z-index:-2}
.bg picture, .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bg__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,30,20,.2),rgba(11,42,28,.35) 50%,rgba(7,30,20,.5))}
.bg::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:url('assets/e13charge-typography.svg');background-repeat:repeat;background-size:560px auto;opacity:.28;mix-blend-mode:multiply}

/* Illustration sizing */
.stage-illustration{max-width:min(720px,86vw)}
.stage-illustration img{width:90%;height:auto; border-radius: 50px;}
.icon-apple-google {display: flex; width: 70%; justify-content: center; gap: 50%; height: 65%;}
.link-icon {outline: none; height: auto; width: auto;}
.icon-apple, .icon-google {height: auto; width: 70px;}

.scroll-cue{position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%);background:transparent;border:1px solid rgba(255,255,255,.25);color:var(--text);padding:.35rem .6rem;border-radius:999px}

/* Steps */
/* Stage animations */
[data-stage]{opacity:.001;transform:translateY(24px);}
[data-stage].is-active{opacity:1;transform:none;transition:opacity .5s ease-out, transform .5s ease-out}
.stage-illustration{opacity:.001;transform:translateY(16px)}
[data-stage].is-active .stage-illustration{opacity:1;transform:none;transition:opacity .6s ease-out .08s, transform .6s ease-out .08s}
.stage-title{opacity:.001;transform:translateY(10px)}
[data-stage].is-active .stage-title{opacity:1;transform:none;transition:opacity .5s ease-out .6s, transform .5s ease-out 1s}
.stage-desc{opacity:.001;transform:translateY(6px)}
[data-stage].is-active .stage-desc{opacity:1;transform:none;transition:opacity .5s ease-out 1s, transform .5s ease-out 1s}

/* Feature cards */
/* Progress indicator */
.progress{position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:10}
.progress ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.progress button{inline-size:.7rem;block-size:.7rem;border-radius:50%;border:2px solid rgba(14,22,36,.45);background:transparent;cursor:pointer}
.progress [aria-current="true"]{background:var(--primary);border-color:var(--primary)}

/* Safety tips */
/* Scroll hint */
.scroll-hint{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);background:rgba(255,255,255,.8);box-shadow:0 6px 24px rgba(0,0,0,.08);backdrop-filter:blur(6px);padding:.5rem .8rem;border-radius:.6rem;color:var(--text);font-size:.9rem;z-index:10;border:1px solid var(--border)}

/* FAQ */
/* Remove unused sections (kept styles trimmed) */

/* Animation states */
@media (prefers-reduced-motion:no-preference){
	[data-animate].is-visible{animation:riseIn .7s cubic-bezier(.22,1,.36,1) forwards}
	.slide--hero .car{animation:carArrive 1.3s .2s cubic-bezier(.22,1,.36,1) both}
	.slide--hero .charger{animation:chargerPop .9s .5s cubic-bezier(.22,1,.36,1) both}
	.slider-png {animation:coursor .9s .5s cubic-bezier(.22,1,.36,1);}
}

@keyframes riseIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes carArrive{from{transform:translateX(18px) scale(.98);opacity:.001}to{transform:none;opacity:1}}
@keyframes chargerPop{from{transform:translateY(20px) scale(.9);opacity:0}to{transform:none;opacity:1}}

/* Sticky safety panel optional styles could go here */

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:1rem 0;background:rgba(255,255,255,.7);backdrop-filter:blur(6px)}
.footer-inner{display:flex;align-items:center;justify-content:space-between}
.back-to-top{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;font-weight:700;color:#eaf7f0;background:var(--bg);border:1px solid rgba(255,255,255,.08);padding:.65rem 1rem;border-radius:12px;box-shadow:0 8px 18px rgba(0,0,0,.35), 0 2px 0 rgba(255,255,255,.06) inset, 0 -2px 0 rgba(255,255,255,.12) inset;transform:translateY(0);transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;white-space:nowrap; outline: none;}
.back-to-top:hover{filter:saturate(1.05);box-shadow:0 10px 22px rgba(0,0,0,.4), 0 2px 0 rgba(255,255,255,.08) inset, 0 -2px 0 rgba(255,255,255,.16) inset}
.back-to-top:active{transform:translateY(1px);box-shadow:0 6px 14px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.08) inset; outline: none;}
.back-to-top:focus{outline:var(--focus);outline-offset:3px; outline: none;}

/* Responsive */
@media (max-width: 1024px){
	.progress{right:.5rem}
}

@media (max-width: 720px){
	.stage{padding:2.25rem 0}
	.progress{display:none}
}

/* Focus styles */
a,button,[role="button"],summary:focus{outline:var(--focus);outline-offset:3px}


