:root{
  /* Theme: DARK (default) */
  color-scheme: dark;

  /* Brand palette (base: #0d72c3) */
  --accent:#0d72c3;
  --accent-strong:#4bb1ff;
  --accent-soft:rgba(13,114,195,0.18);
  --accent-secondary:#22d3ee;
  --accent-secondary-soft:rgba(34,211,238,0.16);

  /* Surfaces */
  --bg-body:#050816;
  --bg-elevated:#0c1224;
  --bg-elevated-soft:#11172a;
  --bg-alt:#080d1a;
  --border-subtle:rgba(255,255,255,0.08);

  /* Text */
  --text-main:#f9fafb;
  --text-muted:#a7b0c0;
  --text-soft:#7c8597;

  /* Shape & shadow */
  --radius-lg:18px;
  --radius-xl:24px;
  --shadow-soft:0 18px 45px rgba(0,0,0,0.5);

  /* Typography */
  /* Match app typography stack */
  --font-sans:"Inter",system-ui,Avenir,Helvetica,Arial,sans-serif;
}

/* Theme: LIGHT */
html[data-theme="light"]{
  color-scheme: light;

  --bg-body:#f6f9ff;
  --bg-elevated:#ffffff;
  --bg-elevated-soft:#f1f6ff;
  --bg-alt:#edf3ff;
  --border-subtle:rgba(2,6,23,0.10);

  --text-main:#0b1220;
  --text-muted:#3a475a;
  --text-soft:#5b6b82;

  --shadow-soft:0 16px 40px rgba(2,6,23,0.12);

  /* Slightly shift accents for contrast on light */
  --accent:#0d72c3;
  --accent-strong:#0b5ea4;
  --accent-soft:rgba(13,114,195,0.14);
  --accent-secondary:#0891b2;
  --accent-secondary-soft:rgba(8,145,178,0.12);
}

*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.body{
  margin:0;
  min-height:100vh;
  font-family:var(--font-sans);
  color:var(--text-main);
  background:
    radial-gradient(circle at top, rgba(13,114,195,.22) 0, transparent 55%),
    radial-gradient(circle at bottom, rgba(34,211,238,.16) 0, transparent 60%),
    var(--bg-body);
  background-color:var(--bg-body);
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--text-main)}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:10px}

.container{width:100%;max-width:1120px;margin:0 auto;padding:0 1.5rem}
.section{padding:4.5rem 0}
.section-alt{padding:4.5rem 0;background:linear-gradient(to bottom,rgba(15,23,42,0.72),rgba(15,23,42,0.95))}
.section-heading{text-align:center;max-width:760px;margin:0 auto 2.7rem}
.section-heading h2{font-size:1.95rem;margin:0 0 .75rem}
.section-subtitle{margin:0;font-size:1rem;color:var(--text-muted);line-height:1.6}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 .75rem}

.skip-link{
  position:absolute;left:-999px;top:12px;
  background:rgba(15,23,42,.95);border:1px solid var(--border-subtle);
  padding:.6rem 1rem;border-radius:999px;z-index:1000
}
.skip-link:focus{left:12px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:40;
  backdrop-filter:blur(22px);
  background:linear-gradient(to bottom,rgba(5,8,22,.92),rgba(5,8,22,.86),rgba(5,8,22,.74));
  border-bottom:1px solid rgba(148,163,184,.18);
}
.nav-container{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1.5rem
}
.logo{display:inline-flex;align-items:center;gap:.75rem}
.logo-img{height:40px;display:inline-block;vertical-align:middle}

.nav-links{display:flex;align-items:center;gap:1.35rem}
.nav-link{
  font-size:.92rem;color:var(--text-muted);position:relative;
  padding:.25rem .1rem
}
.nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:2px;border-radius:999px;
  background:linear-gradient(to right,var(--accent),var(--accent-secondary));
  opacity:0;transform:scaleX(.4);transition:all .18s ease-out
}
.nav-link:hover{color:var(--text-main)}
.nav-link:hover::after{opacity:1;transform:scaleX(1)}

.nav-actions{display:flex;align-items:center;gap:.75rem}

/* Language */
.lang-dropdown{position:relative;display:inline-block}
.lang-switch{
  border-radius:999px;border:1px solid rgba(148,163,184,.4);
  background:transparent;color:var(--text-muted);font-size:.82rem;
  padding:.35rem .8rem;cursor:pointer
}
.lang-menu{
  position:absolute;top:110%;right:0;
  background:var(--bg-elevated);border:1px solid var(--border-subtle);
  border-radius:12px;padding:6px 0;display:none;min-width:140px;
  box-shadow:0 12px 28px rgba(0,0,0,.55);z-index:999
}
.lang-menu button{
  width:100%;padding:9px 14px;background:transparent;border:none;text-align:left;
  cursor:pointer;font-size:.84rem;color:var(--text-muted);font-family:var(--font-sans)
}
.lang-menu button:hover{background:rgba(148,163,184,.15);color:var(--text-main)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  border-radius:999px;font-size:.88rem;font-weight:600;
  padding:.48rem 1.1rem;border:1px solid transparent;cursor:pointer;
  transition:transform .1s ease-out,box-shadow .1s ease-out,background .2s ease-out,border-color .2s ease-out;
  white-space:nowrap
}
.btn-lg{padding:.72rem 1.35rem;font-size:.98rem}
.btn-primary{
  background:linear-gradient(to right,var(--accent),var(--accent-secondary));
  color:white;box-shadow:0 18px 40px rgba(15,23,42,.5)
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 22px 55px rgba(15,23,42,.72)}
.btn-ghost{
  background:transparent;border-color:rgba(148,163,184,.5);color:var(--text-main)
}
.btn-ghost:hover{border-color:rgba(248,250,252,.9);background:radial-gradient(circle at top,rgba(148,163,184,.15),transparent)}
.btn-outline{
  background:transparent;border-color:rgba(148,163,184,.6);color:var(--text-main)
}
.btn-outline:hover{border-color:var(--accent);background:rgba(15,23,42,.7)}
.btn-link{background:transparent;border:none;color:var(--text-muted);padding:.45rem .8rem;font-weight:600}
.btn-link:hover{color:var(--text-main)}
.btn-full{width:100%}

/* Mobile nav */
.nav-toggle{
  display:none;background:none;border:none;padding:0;width:32px;height:32px;
  flex-direction:column;justify-content:center;gap:6px;cursor:pointer
}
.nav-toggle-line{display:block;height:2px;border-radius:999px;background:rgba(248,250,252,.9)}
@media(max-width:920px){
  .nav-links,.nav-actions{display:none}
  .nav-links.nav-open,.nav-actions.nav-open{display:flex}
  .nav-container{flex-wrap:wrap;align-items:flex-start}
  .nav-links.nav-open{width:100%;margin-top:.65rem;flex-wrap:wrap}
  .nav-actions.nav-open{width:100%;justify-content:flex-start;flex-wrap:wrap;margin-top:.55rem}
  .nav-toggle{display:inline-flex}
}

/* Hero */
.hero{padding-top:4.6rem;padding-bottom:4.3rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.05fr);gap:3.2rem;align-items:center}
.hero-badge{
  display:inline-block;padding:.42rem 1rem;border-radius:999px;
  background:var(--accent-soft);color:var(--accent-strong);font-size:.82rem;font-weight:700;
  margin-bottom:1.2rem;letter-spacing:.04em
}
.hero-title{font-size:clamp(2.15rem,3.2vw,3rem);line-height:1.08;margin:0 0 1rem}
.hero-subtitle{margin:0 0 1.55rem;color:var(--text-muted);font-size:1rem;line-height:1.7}
.hero-actions{display:flex;gap:.9rem;margin-bottom:1.9rem;flex-wrap:wrap}
.hero-benefits{margin:0 0 1.75rem;display:flex;flex-direction:column;gap:.62rem}
.hero-benefit{display:flex;align-items:flex-start;gap:.65rem;color:var(--text-muted);font-size:.92rem;line-height:1.45}
.hero-bullet{width:7px;height:7px;border-radius:999px;background:var(--accent);flex-shrink:0;margin-top:.45rem}
.hero-builtfor{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:1.4rem}
.builtfor-label{font-size:.84rem;color:var(--text-soft);font-weight:700}
.tag{padding:.26rem .75rem;border-radius:999px;border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.8rem}
.hero-visual{position:relative}
.hero-screenshot-grid{display:grid;gap:1.15rem}
.hero-shot{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.06)}
.hero-shot img{display:block;width:100%;height:auto}
.hero-caption{margin-top:.8rem;font-size:.8rem;color:var(--text-soft);text-align:center}

/* Card grids */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.card{
  border-radius:var(--radius-lg);
  border:1px solid var(--border-subtle);
  background:linear-gradient(150deg,rgba(15,23,42,.95),rgba(15,23,42,.84));
  box-shadow:0 16px 30px rgba(15,23,42,.45);
  padding:1.55rem 1.35rem;
}
.card h3{margin:0 0 .55rem;font-size:1.1rem}
.card p{margin:0;color:var(--text-muted);font-size:.94rem;line-height:1.6}
.card-icon{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent-soft);color:var(--accent);
  font-weight:800;margin-bottom:1rem
}

/* Modules */
.modules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.module{
  border-radius:18px;
  border:1px solid var(--border-subtle);
  background:radial-gradient(circle at top,rgba(15,23,42,.92),#020617);
  padding:1.25rem 1.1rem;
  transition:transform .2s ease,border-color .2s ease
}
.module:hover{transform:translateY(-4px);border-color:rgba(13,114,195,.32)}
.module h3{margin:0 0 .5rem;font-size:1rem}
.module p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.5}
.module-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:14px;
  background:var(--accent-secondary-soft);color:var(--accent-secondary);font-weight:800;
  margin-bottom:.85rem;border:1px solid rgba(34,211,238,.28)
}

/* Steps */
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.step-card{
  border-radius:var(--radius-lg);
  border:1px solid var(--border-subtle);
  padding:1.6rem 1.35rem;
  background:radial-gradient(circle at top,rgba(15,23,42,.9),#020617);
}
.step-number{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:999px;
  border:2px solid var(--accent);font-size:.9rem;margin-bottom:1rem;
  color:var(--accent);font-weight:800
}
.step-card h3{font-size:1.05rem;margin:0 0 .55rem}
.step-card p{margin:0;font-size:.92rem;color:var(--text-muted);line-height:1.55}

/* Pricing (app-like cards) */
.pricing-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}
.pricing-top-title{font-size:2.05rem;letter-spacing:-.02em;margin:0}
.pricing-top-sub{margin:.35rem 0 0;color:var(--text-muted);max-width:65ch;line-height:1.6}

.pricing-shell{
  border-radius:var(--radius-xl);
  border:1px solid var(--border-subtle);
  background:linear-gradient(180deg,rgba(2,6,23,.42),rgba(2,6,23,.18));
  padding:2.35rem 1.55rem
}

.pricing-center{text-align:center;max-width:780px;margin:0 auto 2rem}
.pricing-center-title{font-size:2.45rem;letter-spacing:-.03em;margin:0 0 .7rem}
.pricing-center-sub{margin:0;color:var(--text-muted);font-size:1.05rem;line-height:1.6}

.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.65rem;max-width:980px;margin:0 auto}
.plan-card{
  position:relative;
  border-radius:var(--radius-xl);
  padding:2rem 1.85rem;
  border:1px solid var(--border-subtle);
  background:rgba(2,6,23,.55);
  backdrop-filter:blur(10px);
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
  min-height:430px
}
.plan-card--featured{
  border-color:rgba(13,114,195,.55);
  box-shadow:0 24px 80px rgba(13,114,195,.18),0 22px 60px rgba(0,0,0,.35)
}
.plan-badge{
  position:absolute;
  top:-12px;
  right:24px;
  background:linear-gradient(135deg,var(--accent),var(--accent-secondary));
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  padding:.35rem .78rem;
  border-radius:999px;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(13,114,195,.26)
}

.plan-name{margin:0 0 .8rem;font-size:1.25rem;font-weight:950;display:flex;align-items:center;gap:.35rem}
.plan-sparkle{color:var(--accent-secondary);filter:drop-shadow(0 8px 14px rgba(34,211,238,.12))}

.plan-price-row{display:flex;align-items:baseline;gap:.45rem}
.plan-price{font-size:2.65rem;font-weight:950;letter-spacing:-.03em}
.plan-period{font-size:1rem;color:var(--text-soft);font-weight:800}

.plan-tokens{margin:.55rem 0 0;color:var(--accent-secondary);font-weight:900;font-size:.95rem}

.plan-features{list-style:none;padding:0;margin:1.7rem 0 0;display:flex;flex-direction:column;gap:.85rem}
.plan-features li{display:flex;gap:.75rem;align-items:flex-start;color:var(--text-muted);font-size:.95rem;line-height:1.45}
.plan-features li::before{
  content:"✓";
  width:18px;height:18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  margin-top:2px;
  color:var(--accent-secondary);
  background:rgba(13,114,195,.14);
  border:1px solid rgba(13,114,195,.25);
  flex:0 0 18px
}

.plan-btn{margin-top:auto;display:block;text-align:center;padding:.95rem 1rem;border-radius:14px;font-weight:950;font-size:.95rem;border:1px solid transparent;transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease}
.plan-btn:hover{transform:translateY(-1px)}
.plan-btn--muted{background:rgba(255,255,255,.06);border-color:var(--border-subtle);color:var(--text-muted)}
.plan-btn--muted:hover{background:rgba(255,255,255,.10);color:var(--text-main)}
.plan-btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-secondary));color:#fff;box-shadow:0 18px 40px rgba(13,114,195,.22);border-color:rgba(255,255,255,.18)}
.plan-btn--primary:hover{box-shadow:0 22px 55px rgba(13,114,195,.30)}

.batteries{max-width:980px;margin:2.7rem auto 0}
.batteries-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}
.batteries-head h3{margin:0;font-size:1.45rem}
.batteries-sub{margin:.35rem 0 0;color:var(--text-muted);line-height:1.6}
.batteries-pill{display:flex;align-items:center;gap:.55rem;padding:.55rem .95rem;border-radius:999px;background:rgba(13,114,195,.12);border:1px solid rgba(13,114,195,.22);color:var(--accent-strong);font-weight:950;font-size:.85rem;white-space:nowrap}
.batteries-pill .pill-icon{display:inline-flex;align-items:center;justify-content:center}

.batteries-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.battery-card{
  border-radius:var(--radius-xl);
  border:1px solid var(--border-subtle);
  background:rgba(2,6,23,.45);
  padding:1.6rem 1.25rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transition:border-color .18s ease, transform .18s ease
}
.battery-card:hover{transform:translateY(-2px);border-color:rgba(13,114,195,.35)}
.battery-icon{width:64px;height:64px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid var(--border-subtle);color:var(--accent-secondary);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.battery-name{margin:1rem 0 .15rem;font-weight:950;font-size:1.05rem}
.battery-tokens{margin:.35rem 0 0;font-size:2rem;font-weight:950;letter-spacing:-.02em;color:var(--accent-secondary)}
.battery-price{margin:.35rem 0 0;color:var(--text-muted);font-size:.95rem}
.battery-btn{margin-top:1.25rem;width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border-subtle);background:rgba(255,255,255,.04);font-weight:950;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.battery-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(13,114,195,.30);transform:translateY(-1px)}

/* FAQ */
.faq-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem}
details.faq-item{
  border:1px solid var(--border-subtle);
  border-radius:18px;
  background:rgba(2,6,23,.55);
  overflow:hidden
}
details.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:1.1rem 1.2rem;
  font-weight:800;
  display:flex;align-items:center;justify-content:space-between;gap:1rem
}
details.faq-item summary::-webkit-details-marker{display:none}
.faq-chevron{transition:transform .18s ease;color:var(--text-soft)}
details[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer{padding:0 1.2rem 1.2rem;color:var(--text-muted);line-height:1.65;font-size:.94rem}

/* CTA */
.cta{
  padding:3.2rem 0 4.2rem;
}
.cta-card{
  max-width:980px;margin:0 auto;
  border-radius:28px;
  border:1px solid rgba(13,114,195,.25);
  background:radial-gradient(circle at 20% 0, rgba(13,114,195,.16), transparent 55%),
             radial-gradient(circle at 80% 10%, rgba(34,211,238,.16), transparent 55%),
             rgba(2,6,23,.65);
  box-shadow:0 28px 70px rgba(0,0,0,.6);
  padding:2.25rem 1.7rem;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap
}
.cta-card h2{margin:0;font-size:1.65rem}
.cta-card p{margin:.35rem 0 0;color:var(--text-muted);max-width:54ch;line-height:1.6}
.cta-actions{display:flex;gap:.75rem;flex-wrap:wrap}

/* Footer */
.site-footer{
  border-top:1px solid rgba(148,163,184,.2);
  background:var(--bg-alt);
  margin-top:2.5rem
}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:2.5rem;
  padding:3rem 1.5rem 2rem
}
.footer-logo{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:.8rem}
.footer-logo-img{height:34px;width:auto;display:block}
.footer-logo .logo-mark{
  width:36px;height:36px;border-radius:999px;
  background:radial-gradient(circle at 20% 20%, var(--accent), var(--accent-secondary));
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;font-size:1.1rem
}
.footer-logo .logo-text{font-size:1.1rem;font-weight:900}
.footer-tagline{margin:0;font-size:.92rem;color:var(--text-muted);line-height:1.6;max-width:340px}
.footer-col h4{margin:0 0 .85rem;font-size:.98rem;font-weight:800}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:.55rem}
.footer-col a{color:var(--text-soft);font-size:.9rem}
.footer-col a:hover{color:var(--text-main)}
.footer-bottom{border-top:1px solid rgba(148,163,184,.2);padding:1.2rem 1.5rem}
.footer-links{display:flex;align-items:center;gap:.8rem;justify-content:center;margin-bottom:.6rem}
.footer-links a{color:var(--text-soft);font-size:.86rem}
.footer-links a:hover{color:var(--text-main)}
.footer-copy{margin:0;text-align:center;font-size:.84rem;color:var(--text-soft)}

/* Responsive */
@media(max-width:1040px){
  /* .modules-grid rule removed as default is now 3 */
}
@media(max-width:960px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .hero-visual{order:-1}
  .grid-3{grid-template-columns:minmax(0,1fr)}
  .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plans-grid{grid-template-columns:minmax(0,1fr)}
  .batteries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .batteries-head{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .section,.section-alt{padding:3.5rem 0}
  .hero{padding-top:3rem;padding-bottom:3rem}
  .steps-grid{grid-template-columns:minmax(0,1fr)}
  .pricing-shell{padding:1.6rem 1.1rem}
  .pricing-top{flex-direction:column;align-items:flex-start}
  .pricing-top-title{font-size:1.75rem}
  .pricing-center-title{font-size:1.95rem}
  .batteries-grid{grid-template-columns:minmax(0,1fr)}
  .modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:minmax(0,1fr)}
  .nav-container{padding-inline:1rem}
  .container{padding-inline:1.2rem}
  .cta-card{padding:1.8rem 1.2rem}
}


/* Theme toggle + logo swapping */
.logo-img.light{display:none}
html[data-theme="light"] .logo-img.dark{display:none}
html[data-theme="light"] .logo-img.light{display:inline-block}

.footer-logo-img.light{display:none}
html[data-theme="light"] .footer-logo-img.dark{display:none}
html[data-theme="light"] .footer-logo-img.light{display:inline-block}

.theme-switch{
  padding:.35rem .75rem;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.45);
  background:transparent;
  color:var(--text-main);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  cursor:pointer;
}
.theme-switch:hover{
  border-color:rgba(248,250,252,.9);
  background:radial-gradient(circle at top,rgba(148,163,184,.15),transparent);
}
.theme-icon{width:16px;height:16px;display:inline-block}
.theme-icon-moon{display:none}
html[data-theme="light"] .theme-icon-sun{display:none}
html[data-theme="light"] .theme-icon-moon{display:inline-block}

/* LIGHT theme component overrides */
html[data-theme="light"] body.body{
  background:
    radial-gradient(circle at top, rgba(13,114,195,.14) 0, transparent 55%),
    radial-gradient(circle at bottom, rgba(34,211,238,.12) 0, transparent 60%),
    var(--bg-body);
}

html[data-theme="light"] .site-header{
  background:linear-gradient(to bottom,rgba(246,249,255,.92),rgba(246,249,255,.86),rgba(246,249,255,.74));
  border-bottom:1px solid rgba(2,6,23,.10);
}

html[data-theme="light"] .section-alt{
  background:linear-gradient(to bottom,rgba(237,243,255,.85),rgba(237,243,255,.95));
}

html[data-theme="light"] .card{
  background:linear-gradient(150deg,rgba(255,255,255,.92),rgba(241,246,255,.92));
  box-shadow:var(--shadow-soft);
}

html[data-theme="light"] .pricing-shell{
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(241,246,255,.70));
  box-shadow:var(--shadow-soft);
}

html[data-theme="light"] .module,
html[data-theme="light"] .step-card,
html[data-theme="light"] .plan-card,
html[data-theme="light"] .battery-card,
html[data-theme="light"] details.faq-item,
html[data-theme="light"] .batteries-pill{
  background:radial-gradient(circle at top,rgba(255,255,255,.95),rgba(241,246,255,.90));
  box-shadow:var(--shadow-soft);
}

html[data-theme="light"] .tag{
  background:rgba(255,255,255,.55);
}

html[data-theme="light"] .nav-link{color:var(--text-soft)}
html[data-theme="light"] .nav-link:hover{color:var(--text-main)}

html[data-theme="light"] .site-footer{
  border-top:1px solid rgba(2,6,23,.10);
}
html[data-theme="light"] .footer-bottom{
  border-top:1px solid rgba(2,6,23,.10);
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .module:hover,.btn-primary:hover{transform:none}
}
/* =========================
   Legal pages
   ========================= */

.legal-hero{
  padding: 5.25rem 0 1.75rem;
  position: relative;
  overflow: hidden;
}

.legal-hero::before{
  content: "";
  position: absolute;
  inset: -40% -30% auto -30%;
  height: 520px;
  background:
    radial-gradient(closest-side, rgba(var(--accent-rgb), 0.26), rgba(var(--accent-rgb), 0.00) 70%),
    radial-gradient(closest-side, rgba(var(--accent2-rgb), 0.18), rgba(var(--accent2-rgb), 0.00) 70%);
  filter: blur(8px);
  transform: translateY(-10%);
}

.legal-hero .container{ position: relative; }

.legal-title{
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
}

.legal-meta{
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.95rem;
}

.legal-content{
  padding: 2rem 0 5rem;
}

.legal-card{
  max-width: 920px;
  margin: 0 auto;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: clamp(1.25rem, 2.6vw, 2rem);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(10px);
}

.legal-prose{
  color: var(--text);
}

.legal-prose h2{
  margin: 1.75rem 0 0.75rem;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
}

.legal-prose p{
  margin: 0.75rem 0;
  color: var(--text);
  opacity: 0.92;
}

.legal-prose ul,
.legal-prose ol{
  margin: 0.75rem 0 0.75rem 1.25rem;
  padding: 0;
}

.legal-prose li{ margin: 0.35rem 0; color: var(--text); opacity: 0.92; }

.legal-prose a{ color: var(--accent-strong); text-decoration: none; border-bottom: 1px solid rgba(var(--accent-rgb), 0.35); }
.legal-prose a:hover{ border-bottom-color: rgba(var(--accent-rgb), 0.75); }

.legal-prose .legal-box{
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 14px;
  background: rgba(var(--accent-rgb), 0.08);
  border: 1px solid rgba(var(--accent-rgb), 0.20);
}

.legal-prose code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.92em;
  padding: 0.15em 0.35em;
  border-radius: 8px;
  background: rgba(127, 127, 127, 0.12);
  border: 1px solid rgba(127, 127, 127, 0.18);
}

/* Legal language blocks (Privacy/Terms/Cookies) */
.legal-lang{ display:none; }
.legal-lang.is-active{ display:block; }

/* Powered by slider */
.poweredby{
  margin-top: 28px;
  padding: 18px 0 6px 0;
}

.poweredby-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 18px;
}

.poweredby-label{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: 10px;
}

.poweredby-slider{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 14px 0;
}

.poweredby-slider::before,
.poweredby-slider::after{
  content: "";
  position: absolute;
  top: 0;
  width: 70px;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.poweredby-slider::before{
  left: 0;
  background: linear-gradient(90deg, rgba(10,10,10,.85), rgba(10,10,10,0));
}

.poweredby-slider::after{
  right: 0;
  background: linear-gradient(270deg, rgba(10,10,10,.85), rgba(10,10,10,0));
}

.poweredby-track{
  display: flex;
  gap: 26px;
  align-items: center;
  width: max-content;
  animation: poweredby-marquee 22s linear infinite;
  padding: 0 14px;
}

.poweredby-item{
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 44px;
  opacity: .9;
  transition: transform .2s ease, opacity .2s ease;
  filter: grayscale(100%);
}

.poweredby-item:hover{
  opacity: 1;
  transform: translateY(-1px);
  filter: grayscale(0%);
}

.poweredby-item img{
  max-height: 28px;
  max-width: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
}

@keyframes poweredby-marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce){
  .poweredby-track{ animation: none; }
}

/* Powered by carousel (BOXED) */
.poweredby{
  margin-top: 26px;
  padding: 16px 0 10px 0;
  width: 100%;
}

.poweredby-inner{
  max-width: 1100px;     /* ✅ boxed */
  margin: 0 auto;
  padding: 0 28px;
}

.poweredby-label{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: 10px;
}

/* ✅ boxed container */
.poweredby-carousel{
  position: relative;
  max-width: 980px;      /* ✅ boxed width inside the page */
  margin: 0 auto;        /* center */
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 14px 52px 36px 52px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.poweredby-viewport{
  overflow: hidden;
}

.poweredby-track{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 200% !important;          /* 2 slides */
  transform: translateX(0%);
  transition: transform .55s ease;
  animation: none !important;
}

/* ✅ Each slide is 100% viewport width */
.poweredby-slide{
  width: 100% !important;
  flex: 0 0 100% !important;

  /* ✅ tighter layout (no giant gaps) */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
}

/* ✅ protect against global img{width:100%} */
.poweredby-logo{
  width: auto !important;
  height: auto !important;
  max-height: 34px !important;
  max-width: 170px !important;
  object-fit: contain !important;
  filter: grayscale(100%);
  opacity: .9;
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}

.poweredby-logo:hover{
  filter: grayscale(0%);
  opacity: 1;
  transform: translateY(-1px);
}

/* Nav arrows */
.poweredby-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-55%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.92);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  color: rgba(0,0,0,.65);
}

.poweredby-prev{ left: 10px; }
.poweredby-next{ right: 10px; }

.poweredby-nav:hover{
  background: #ffffff;
  color: rgba(0,0,0,.85);
}

/* Dots */
.poweredby-dots{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  gap: 8px;
  justify-content: center;
}

.poweredby-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,.18);
  cursor: pointer;
}

.poweredby-dot.is-active{
  background: rgba(0,0,0,.55);
}

/* Responsive: 2x2 logos per slide */
@media (max-width: 780px){
  .poweredby-inner{ padding: 0 18px; }
  .poweredby-carousel{ padding: 14px 46px 36px 46px; }

  .poweredby-slide{
    flex-wrap: wrap;
    gap: 14px 18px;
  }

  .poweredby-logo{
    max-height: 30px !important;
    max-width: 150px !important;
  }
}
