:root{
  --bg0:#053c2f;
  --bg1:#0aa77a;
  --bg2:#10c78e;
  --card:#0b1f1a;
  --text:#e8fff7;
  --muted:rgba(232,255,247,.78);
  --line:rgba(232,255,247,.14);
  --shadow:0 18px 50px rgba(0,0,0,.28);
  --radius:18px;
  --radius-sm:14px;
  --max:1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 25% -10%, rgba(16,199,142,.55) 0%, rgba(16,199,142,0) 60%),
    radial-gradient(900px 480px at 85% 15%, rgba(10,167,122,.55) 0%, rgba(10,167,122,0) 62%),
    linear-gradient(180deg, var(--bg0), #041a14 35%, #031611);
}

a{color:inherit}
.container{width:min(var(--max), calc(100% - 40px)); margin:0 auto}
.muted{color:var(--muted)}

.skip-link{
  position:absolute; left:-999px; top:10px;
  background:#fff; color:#000; padding:10px 12px; border-radius:10px;
}
.skip-link:focus{left:12px; z-index:9999}

.site-header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  backdrop-filter:saturate(160%) blur(12px);
  background:rgba(4,26,20,.56);
  border-bottom:1px solid var(--line);
}
#main{padding-top:60px}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.2px}
.brand-mark{
  width:14px; height:14px; border-radius:6px;
  background:linear-gradient(135deg, var(--bg2), var(--bg1));
  box-shadow:0 10px 24px rgba(16,199,142,.25);
}
.brand-name{white-space:nowrap}

.nav{display:flex; gap:18px; flex-wrap:wrap; justify-content:flex-end}
.nav a{
  text-decoration:none;
  padding:8px 10px;
  border-radius:12px;
  color:rgba(232,255,247,.9);
}
.nav a:hover{background:rgba(232,255,247,.08)}

.hero{
  padding:56px 0 34px;
  background:
    radial-gradient(900px 600px at 20% 10%, rgba(16,199,142,.55) 0%, rgba(16,199,142,0) 60%),
    radial-gradient(700px 500px at 85% 25%, rgba(10,167,122,.45) 0%, rgba(10,167,122,0) 62%);
}
.hero-inner{display:grid; grid-template-columns:1.15fr .85fr; gap:34px; align-items:center}
.eyebrow{
  margin:0 0 10px;
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border:1px solid rgba(232,255,247,.2);
  background:rgba(232,255,247,.06);
  border-radius:999px;
  color:rgba(232,255,247,.92);
  font-size:13px;
}
h1{margin:0 0 12px; font-size:48px; line-height:1.06; letter-spacing:-.6px}
.lead{margin:0 0 18px; font-size:18px; color:rgba(232,255,247,.86)}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 14px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 16px;
  border-radius:14px;
  border:1px solid rgba(232,255,247,.18);
  text-decoration:none;
  font-weight:650;
}
.btn-primary{
  background:linear-gradient(135deg, var(--bg2), var(--bg1));
  border-color:rgba(16,199,142,.25);
  color:#062219;
  box-shadow:0 16px 40px rgba(16,199,142,.22);
}
.btn-primary:hover{filter:brightness(1.02)}
.btn-ghost{background:rgba(232,255,247,.06)}
.btn-ghost:hover{background:rgba(232,255,247,.09)}
.hero-points{
  margin:14px 0 0;
  padding:0;
  display:grid; gap:8px;
  list-style:none;
  color:rgba(232,255,247,.86);
}
.hero-points li{
  display:flex; gap:10px; align-items:flex-start;
}
.hero-points li::before{
  content:"";
  width:10px; height:10px; margin-top:7px;
  border-radius:4px;
  background:linear-gradient(135deg, var(--bg2), var(--bg1));
  box-shadow:0 10px 18px rgba(16,199,142,.18);
  flex:0 0 auto;
}

.hero-media{display:flex; justify-content:center}
.phone-frame{
  width:min(360px, 100%);
  padding:14px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(232,255,247,.12), rgba(232,255,247,.06));
  border:1px solid rgba(232,255,247,.18);
  box-shadow:var(--shadow);
}
.hero-shot{
  width:100%;
  height:auto;
  display:block;
  border-radius:22px;
}

.section{padding:56px 0}
.section-solid{
  background:
    radial-gradient(1200px 520px at 12% 0%, rgba(16,199,142,.14) 0%, rgba(16,199,142,0) 55%),
    radial-gradient(1000px 520px at 88% 0%, rgba(10,167,122,.12) 0%, rgba(10,167,122,0) 55%),
    linear-gradient(180deg, #041f19, #041f19);
  border-top:1px solid rgba(232,255,247,.08);
  border-bottom:1px solid rgba(232,255,247,.08);
}
.section-alt{
  background:
    radial-gradient(1200px 520px at 12% 0%, rgba(16,199,142,.16) 0%, rgba(16,199,142,0) 55%),
    radial-gradient(1000px 520px at 88% 0%, rgba(10,167,122,.14) 0%, rgba(10,167,122,0) 55%),
    linear-gradient(180deg, #041f19, #041f19);
  border-top:1px solid rgba(232,255,247,.08);
  border-bottom:1px solid rgba(232,255,247,.08);
}
.section-head{margin-bottom:20px}
.section-head h2{margin:0 0 8px; font-size:30px; letter-spacing:-.3px}
.section-head p{margin:0; color:rgba(232,255,247,.78)}

.grid{display:grid; gap:14px}
.cards{grid-template-columns:repeat(4, minmax(0,1fr))}
.cards-2{grid-template-columns:repeat(3, minmax(0,1fr))}
.card{
  padding:16px 16px 15px;
  border-radius:var(--radius);
  border:1px solid rgba(232,255,247,.14);
  background:rgba(4,26,20,.60);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:rgba(232,255,247,.78)}
.card-emph{
  background:
    radial-gradient(900px 240px at 30% 0%, rgba(16,199,142,.28) 0%, rgba(16,199,142,0) 55%),
    rgba(4,26,20,.62);
  border-color:rgba(16,199,142,.22);
  box-shadow:0 16px 36px rgba(0,0,0,.20);
}

.shots{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.shot{
  padding:0;
  border:1px solid rgba(232,255,247,.14);
  background:rgba(4,26,20,.5);
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.shot:hover{
  transform:translateY(-2px);
  border-color:rgba(16,199,142,.35);
  background:rgba(4,26,20,.62);
}
.shot img{width:100%; height:auto; display:block}

.faq{display:grid; gap:10px}
details{
  border:1px solid rgba(232,255,247,.14);
  background:rgba(4,26,20,.5);
  border-radius:16px;
  padding:0;
}
summary{
  cursor:pointer;
  padding:14px 14px;
  list-style:none;
  font-weight:650;
}
summary::-webkit-details-marker{display:none}
.faq-body{padding:0 14px 14px; color:rgba(232,255,247,.78)}

.contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}
.contact-card{
  border:1px solid rgba(232,255,247,.14);
  background:rgba(4,26,20,.56);
  border-radius:18px;
  padding:14px;
}
.contact-row{
  display:flex; justify-content:space-between; gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(232,255,247,.10);
}
.contact-row:last-child{border-bottom:none}
.label{color:rgba(232,255,247,.66)}
.value a{color:rgba(232,255,247,.92)}

.site-footer{
  border-top:1px solid rgba(232,255,247,.10);
  padding:20px 0;
  background:rgba(4,26,20,.55);
}
.footer-inner{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.brand-footer{opacity:.95}
.footer-right a{
  text-decoration:none;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(232,255,247,.06);
  border:1px solid rgba(232,255,247,.12);
}
.footer-right a:hover{background:rgba(232,255,247,.09)}

.lightbox{
  position:fixed; inset:0;
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.lightbox[aria-hidden="false"]{display:flex}
.lightbox-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(10px);
}
.lightbox-dialog{
  position:relative;
  width:min(1040px, 100%);
  max-height:calc(100vh - 40px);
  border-radius:22px;
  border:1px solid rgba(232,255,247,.18);
  background:rgba(4,26,20,.78);
  box-shadow:var(--shadow);
  padding:14px 44px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox-img{
  max-width:100%;
  max-height:calc(100vh - 120px);
  border-radius:18px;
  display:block;
}
.lightbox-close{
  position:absolute; top:10px; right:10px;
  width:38px; height:38px;
  border-radius:14px;
  border:1px solid rgba(232,255,247,.18);
  background:rgba(232,255,247,.06);
  color:rgba(232,255,247,.9);
  cursor:pointer;
}
.lightbox-close:hover{background:rgba(232,255,247,.10)}
.lightbox-nav{
  position:absolute; top:50%;
  transform:translateY(-50%);
  width:40px; height:56px;
  border-radius:16px;
  border:1px solid rgba(232,255,247,.18);
  background:rgba(232,255,247,.06);
  color:rgba(232,255,247,.92);
  cursor:pointer;
  font-size:22px;
}
.lightbox-nav:hover{background:rgba(232,255,247,.10)}
.lightbox-prev{left:10px}
.lightbox-next{right:10px}

@media (max-width: 1020px){
  .hero-inner{grid-template-columns:1fr; gap:22px}
  h1{font-size:42px}
  .cards{grid-template-columns:repeat(2, minmax(0,1fr))}
  .cards-2{grid-template-columns:repeat(2, minmax(0,1fr))}
  .shots{grid-template-columns:repeat(3, minmax(0,1fr))}
  .contact{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .nav{display:none}
  .hero{padding-top:40px}
  h1{font-size:34px}
  .cards{grid-template-columns:1fr}
  .cards-2{grid-template-columns:1fr}
  .shots{grid-template-columns:repeat(2, minmax(0,1fr))}
  .lightbox-dialog{padding:14px 40px}
}
