/* ============================================================
   AmpUp — shared design tokens & component styles
   Layout concept: dark, high-energy "powered-up" brand shell
   (near-black ground, one voltage-green accent) with bright
   white product/solution cards punched into it like lit screens.
   Committed single dark world — matches the brand exactly as
   briefed, carried consistently across every page.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* color */
  --bg:#0A0C0A;
  --bg-soft:#0E120D;
  --surface:#161C15;
  --surface-light:#FFFFFF;
  --fg:#F2F6EF;
  --fg-dark:#0E140D;
  --muted:#93A28C;
  --muted-dark:#5B6A56;
  --accent:#9BEF2B;
  --accent-strong:#C6FF5C;
  --accent-deep:#4F7A12;
  --border:rgba(242,246,239,0.12);
  --border-light:rgba(14,20,13,0.1);

  /* type */
  --font-display:'Sora',sans-serif;
  --font-body:'Inter',sans-serif;

  /* radius */
  --r-lg:22px;
  --r-md:14px;
  --r-sm:9px;
  --r-pill:999px;

  color-scheme:dark;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{overflow-x:hidden;width:100%;}
body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;text-wrap:balance;font-weight:700;letter-spacing:-0.01em;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}

.wrap{max-width:1180px;margin:0 auto;padding-inline:24px;}
@media (max-width:640px){.wrap{padding-inline:18px;}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-display);font-weight:700;font-size:0.95rem;
  padding:13px 24px;border-radius:var(--r-pill);border:1px solid transparent;
  cursor:pointer;transition:transform .15s ease, background-color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(0.97);}
.btn-accent{background:var(--accent);color:#0C1406;}
.btn-accent:hover{background:var(--accent-strong);}
.btn-outline{background:transparent;color:var(--fg);border-color:var(--border);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-dark{background:var(--fg-dark);color:var(--surface-light);}
.btn-dark:hover{background:#000;}
.btn-sm{padding:10px 18px;font-size:0.85rem;}
.btn-block{width:100%;justify-content:center;}

/* ---------- nav ---------- */
.site-header{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  background:rgba(10,12,10,0.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px;}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:800;font-size:1.25rem;}
.brand svg{flex:none;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{font-size:0.95rem;font-weight:600;color:var(--muted);padding:6px 2px;border-bottom:2px solid transparent;transition:color .15s ease, border-color .15s ease;}
.nav-links a:hover{color:var(--fg);}
.nav-links a[aria-current="page"]{color:var(--accent);border-color:var(--accent);}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;color:var(--fg);}
.mobile-panel{display:none;flex-direction:column;gap:4px;padding:10px 0 20px;border-top:1px solid var(--border);}
.mobile-panel a{padding:12px 4px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);}
.mobile-panel a[aria-current="page"]{color:var(--accent);}
body.nav-open .mobile-panel{display:flex;}

@media (max-width:900px){
  .nav-links{display:none;}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
  .nav-cta .btn-outline{display:none;}
}

/* ---------- hero ---------- */
.hero{padding:0 0 52px;}
.hero-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:580px;}
.hero-split .hero-text{min-width:0;display:flex;flex-direction:column;justify-content:center;max-width:520px;margin-left:auto;padding:70px 48px 60px 24px;}
.hero-split .hero-media{min-width:0;position:relative;overflow:hidden;background:#000;min-height:360px;}
.hero-split .hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-split .hero-media::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(10,12,10,0) 24%);pointer-events:none;}
.hero-headline{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.5rem,5.5vw,4.2rem);line-height:0.98;letter-spacing:-0.01em;}
.hero h1 .accent-word{color:var(--accent);}
.hero-lede{margin-top:20px;max-width:46ch;color:var(--muted);font-size:1.08rem;}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
@media (max-width:900px){
  .hero-split{grid-template-columns:minmax(0,1fr);min-height:0;}
  .hero-split .hero-text{max-width:none;margin-left:0;padding:36px 18px 28px;}
  .hero-split .hero-media{min-height:240px;}
  .hero-split .hero-media::before{background:none;}
}

/* device photo */
.device-stage{position:relative;display:flex;align-items:center;justify-content:center;}
.device-glow{position:absolute;inset:6%;background:radial-gradient(circle,rgba(155,239,43,0.22),transparent 70%);filter:blur(16px);}
.device-stage img{position:relative;width:100%;border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:0 30px 60px -22px rgba(0,0,0,0.65);}

/* ---------- stat row ---------- */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-top:56px;}
.stat{background:var(--bg-soft);padding:24px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.stat svg{color:var(--accent);}
.stat span{font-family:var(--font-display);font-weight:700;font-size:0.95rem;}
@media (max-width:720px){.stat-row{grid-template-columns:repeat(2,1fr);}}

/* ---------- split / feature sections ---------- */
.split{padding:70px 0;}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
@media (max-width:860px){.split-grid{grid-template-columns:1fr;gap:32px;}}
.split-grid.reverse .split-media{order:2;}
.split-media{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.split-media img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block;}
.split-media.framed{padding:40px;}
.split-media.framed img{min-height:0;width:auto;max-width:100%;max-height:360px;border-radius:var(--r-md);box-shadow:0 24px 50px -20px rgba(0,0,0,0.6);}
.split h2{font-size:clamp(1.9rem,3.6vw,2.6rem);}
.split h2 .accent-word{color:var(--accent);}
.split p{color:var(--muted);margin-top:16px;max-width:42ch;font-size:1.03rem;}

/* ---------- section heading ---------- */
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h1,.section-head h2{font-size:clamp(2rem,4vw,2.75rem);}
.section-head p{margin-top:12px;color:var(--muted);font-size:1.05rem;}
.page-hero{padding:56px 0 20px;}

/* ---------- product/solution cards (light, punched-in) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
@media (max-width:760px){.card-grid{grid-template-columns:minmax(0,1fr);}}
.product-card{
  background:var(--surface-light);color:var(--fg-dark);
  border-radius:var(--r-lg);padding:30px;
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.5);
  display:flex;flex-direction:column;gap:16px;
  min-width:0;max-width:100%;
}
.product-card .tile{height:240px;min-width:0;border-radius:var(--r-md);background:#F2F4F0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px;}
.product-card .tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
.product-card .tile.tall{height:320px;}
@media (max-width:760px){
  .product-card .tile{height:200px;padding:10px;}
  .product-card .tile.tall{height:260px;}
}
.product-card h3{font-size:1.3rem;color:var(--fg-dark);}
.product-card .desc{color:var(--muted-dark);font-size:0.95rem;}
.feature-list{display:flex;flex-direction:column;gap:9px;}
.feature-list li{display:flex;gap:10px;align-items:flex-start;font-size:0.92rem;color:var(--fg-dark);}
.feature-list svg{flex:none;color:var(--accent-deep);margin-top:2px;}
.product-card .btn{align-self:flex-start;margin-top:4px;}

/* product family cards — richer spec content */
.product-card .eyebrow{font-family:var(--font-display);font-weight:700;font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-deep);}
.product-card .tile-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;}
.product-card .tile-row .tile{height:200px;padding:8px;}
@media (max-width:760px){.product-card .tile-row .tile{height:130px;padding:6px;}}
.size-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.size-chip{background:var(--bg);color:var(--fg);border-radius:var(--r-pill);padding:5px 13px;font-size:0.78rem;font-weight:600;}
.spec-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 16px;padding:16px;background:#F2F4F0;border-radius:var(--r-md);}
.spec-list div{display:flex;flex-direction:column;gap:2px;}
.spec-list dt{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted-dark);font-weight:600;}
.spec-list dd{margin:0;font-size:0.9rem;color:var(--fg-dark);font-weight:600;}
@media (max-width:480px){.spec-list{grid-template-columns:1fr;}}
.product-card.wide{grid-column:1/-1;}
@media (min-width:761px){.card-grid.mixed{grid-template-columns:1fr 1fr;}}

/* swipeable product gallery (station showcase) */
.gallery-wrap{position:relative;}
.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.gallery::-webkit-scrollbar{height:6px;}
.gallery::-webkit-scrollbar-track{background:transparent;}
.gallery::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:99px;}
.gallery-item{flex:0 0 auto;width:148px;margin:0;scroll-snap-align:start;}
.gallery-item .tile{height:190px;margin-bottom:8px;padding:8px;}
@media (max-width:760px){.gallery-item{width:124px;}.gallery-item .tile{height:160px;}}
.gallery-item figcaption{font-size:0.76rem;color:var(--muted-dark);text-align:center;font-weight:600;line-height:1.3;}
.gallery-nav{position:absolute;top:38%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--surface-light);border:1px solid var(--border-light);box-shadow:0 8px 18px -6px rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fg-dark);padding:0;z-index:2;}
.gallery-nav.prev{left:-14px;}
.gallery-nav.next{right:-14px;}
@media (max-width:600px){.gallery-nav{display:none;}}

/* accessories strip */
.accessory-strip{display:flex;flex-direction:column;gap:14px;}
.accessory-strip .tile{aspect-ratio:auto;min-width:0;background:#F2F4F0;border-radius:var(--r-md);padding:4px;overflow:hidden;}
.accessory-strip .tile img{width:100%;height:auto;object-fit:contain;}
.accessory-note{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;}
.accessory-note div{display:flex;flex-direction:column;gap:2px;min-width:150px;}
.accessory-note dt{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted-dark);font-weight:600;}
.accessory-note dd{margin:0;font-size:0.88rem;color:var(--fg-dark);}

/* filter pills */
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.filter-pill{padding:9px 18px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--muted);font-weight:600;font-size:0.88rem;cursor:pointer;background:transparent;}
.filter-pill[aria-pressed="true"]{background:var(--accent);color:#0C1406;border-color:var(--accent);}

/* ---------- solution rows (business page) ---------- */
.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media (max-width:760px){.solution-grid{grid-template-columns:1fr;}}
.solution-card{
  background:var(--surface-light);color:var(--fg-dark);border-radius:var(--r-lg);
  padding:26px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:flex-start;
  box-shadow:0 18px 40px -18px rgba(0,0,0,0.5);
}
.solution-card .icon-tile{width:38px;height:38px;border-radius:var(--r-sm);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none;}
.solution-card .photo-thumb{width:96px;height:96px;border-radius:var(--r-md);object-fit:cover;flex:none;}
.solution-card .title-row{display:flex;align-items:center;gap:10px;}
.solution-card h3{font-size:1.2rem;color:var(--fg-dark);}
.solution-card p{color:var(--muted-dark);font-size:0.93rem;margin-top:6px;}
.solution-card .btn{margin-top:14px;}

/* ---------- about page ---------- */
.value-grid{display:flex;flex-direction:column;gap:22px;margin-top:28px;}
.value-row{display:flex;gap:16px;align-items:flex-start;}
.value-row svg{flex:none;color:var(--accent);margin-top:3px;}
.value-row h4{font-size:1.08rem;}
.value-row p{color:var(--muted);margin-top:4px;font-size:0.95rem;max-width:48ch;}
.pillar-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-top:60px;}
@media (max-width:720px){.pillar-row{grid-template-columns:repeat(2,1fr);}}
.pillar{background:var(--bg-soft);padding:26px 20px;}
.pillar svg{color:var(--accent);}
.pillar span{display:block;font-family:var(--font-display);font-weight:700;margin-top:10px;}
.pillar small{display:block;color:var(--muted);font-size:0.82rem;margin-top:3px;}

/* ---------- contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1.2fr 0.9fr;gap:30px;align-items:start;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:540px){.field-row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:7px;margin-top:18px;}
.field label{font-size:0.85rem;font-weight:600;color:var(--muted);}
.field input,.field select,.field textarea{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);
  padding:12px 14px;color:var(--fg);font-family:var(--font-body);font-size:0.95rem;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.field textarea{resize:vertical;min-height:110px;}
.contact-info-list{display:flex;flex-direction:column;gap:22px;margin-top:22px;}
.contact-info-list li{display:flex;gap:14px;align-items:flex-start;}
.contact-info-list svg{flex:none;color:var(--accent);margin-top:2px;}
.contact-info-list strong{display:block;font-size:0.95rem;}
.contact-info-list span{display:block;color:var(--muted);font-size:0.92rem;margin-top:2px;}
.copy-btn{background:none;border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 9px;font-size:0.75rem;color:var(--muted);margin-left:8px;cursor:pointer;}
.copy-btn:hover{color:var(--accent);border-color:var(--accent);}
.partner-banner{
  margin-top:28px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));
  color:#0C1406;border-radius:var(--r-lg);padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.partner-banner h3{font-size:1.3rem;color:#0C1406;}
.partner-banner p{color:#223311;margin-top:4px;max-width:44ch;}
.form-success{display:none;text-align:center;padding:40px 10px;}
.form-success.show{display:block;}
.form-success svg{color:var(--accent);margin:0 auto 14px;}
.form-success h3{font-size:1.3rem;}
.form-success p{color:var(--muted);margin-top:8px;}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--border);margin-top:90px;padding:48px 0 36px;}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.footer-brand p{color:var(--muted);font-size:0.9rem;margin-top:10px;max-width:34ch;}
.footer-links{display:flex;gap:50px;flex-wrap:wrap;}
.footer-col h5{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:12px;}
.footer-col a{display:block;font-size:0.92rem;padding:5px 0;color:var(--fg);}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:0.82rem;color:var(--muted);}

section{padding-block:70px;}
.section-tight{padding-block:50px;}
