:root{
  --bg: #0f1724; /* dark bg for system default but we'll start light */
  --surface: #ffffff;
  --muted: #6b7280;
  --text: #0f1724;
  --accent: linear-gradient(135deg,#7C3AED 0%,#06B6D4 100%);
  --radius: 12px;
  --glass: rgba(255,255,255,0.06);
  --shadow: 0 8px 30px rgba(2,6,23,0.08);
  --container: 1100px;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Dark theme variables (will be toggled via [data-theme="dark"] on <html>) */
:root[data-theme='dark']{
  --bg: #0b1220;
  --surface: #071223;
  --muted: #94a3b8;
  --text: #e6eef8;
  --glass: rgba(255,255,255,0.03);
  --shadow: 0 10px 40px rgba(2,6,23,0.6);
}

/* Light theme override */
:root[data-theme='light']{
  --bg: #f8fafc;
  --surface: #ffffff;
  --muted: #6b7280;
  --text: #0f1724;
  --glass: rgba(2,6,23,0.02);
  --shadow: 0 8px 30px rgba(15,23,36,0.06);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  font-size:16px;
  transition:background .25s ease,color .25s ease;
}

/* Utility */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:2rem;}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:.5rem;left:1rem;top:1rem;background:var(--surface);color:var(--text);z-index:9999;border-radius:6px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(0deg, rgba(0,0,0,0.04), transparent);backdrop-filter:blur(6px);border-bottom:1px solid rgba(0,0,0,0.04)}
.header-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:0.75rem 0}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text);font-weight:700}
.brand .logo{border-radius:6px}
.nav{display:flex;align-items:center;gap:1rem}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:1rem}
.nav-list a{color:var(--muted);text-decoration:none;padding:.4rem .6rem;border-radius:6px}
.nav-list a:hover, .nav-list a:focus{background:var(--glass);color:var(--text)}
.nav-toggle{display:none;background:none;border:0;color:var(--muted);padding:.35rem;border-radius:6px}
.header-cta{display:flex;gap:.5rem;align-items:center}

/* Buttons */
.btn{font-weight:600;border-radius:10px;padding:.6rem .9rem;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.btn.primary{background:var(--accent);color:#fff;border:0;box-shadow:var(--shadow)}
.btn.ghost{background:transparent;border:1px solid rgba(0,0,0,0.06);color:var(--text)}
.btn.outline{background:transparent;border:1px dashed rgba(0,0,0,0.06);color:var(--text)}

/* Hero */
.hero{padding:4rem 0}
.hero-grid{display:grid;grid-template-columns:1fr 460px;gap:2rem;align-items:center}
.hero h1{font-size:clamp(2rem,3.6vw,3rem);margin:.1rem 0}
.lead{color:var(--muted);max-width:60ch}
.hero-actions .btn{margin-right:.5rem}
.hero-stats{display:flex;gap:1.25rem;list-style:none;padding:0;margin:1.25rem 0 0 0;color:var(--muted)}
.mock-window{background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.8));border-radius:14px;padding:14px;box-shadow:var(--shadow);overflow:hidden}
:root[data-theme='dark'] .mock-window{background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02))}

/* Simple mock UI styling */
.mock-topbar{display:flex;gap:8px;padding:6px}
.mock-topbar span{width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,0.12)}
.mock-body{display:flex;gap:12px;padding:8px}
.mock-left{flex:1;display:flex;flex-direction:column;gap:8px}
.card{background:rgba(0,0,0,0.03);padding:12px;border-radius:10px}
.card.small{padding:8px}
.mock-right{width:50%;display:flex;flex-direction:column;gap:8px}
.chart{height:90px;background:linear-gradient(90deg,#dbeafe 0%, #e0f2fe 100%);border-radius:8px}
.stats{display:flex;justify-content:space-between;padding:6px;background:rgba(0,0,0,0.02);border-radius:8px}

/* Sections */
.section{padding:4rem 0}
.section-title{font-size:1.5rem;margin:0 0 .5rem}
.section-sub{color:var(--muted);margin:0 0 1.5rem}

/* Cards grid */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.feature-card{background:var(--surface);padding:1.25rem;border-radius:12px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,0.03)}
.feature-card .icon{font-size:1.5rem;margin-bottom:.5rem}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.shot img{width:100%;height:auto;border-radius:10px;display:block;box-shadow:var(--shadow)}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.plan{background:var(--surface);padding:1.25rem;border-radius:12px;box-shadow:var(--shadow);position:relative;border:1px solid rgba(0,0,0,0.03)}
.plan .price{font-size:1.25rem;font-weight:700;margin:.5rem 0}
.plan ul{padding-left:1rem;color:var(--muted)}
.plan.recommended{transform:translateY(-6px);border:1px solid rgba(124,58,237,0.12)}
.plan .ribbon{position:absolute;top:-12px;left:12px;background:linear-gradient(90deg,#7C3AED,#06B6D4);color:#fff;padding:.35rem .6rem;border-radius:8px;font-size:.8rem}

/* Testimonials */
.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.testi{background:var(--surface);padding:1rem;border-radius:12px;box-shadow:var(--shadow)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:1.5rem}
.contact-form{background:var(--surface);padding:1rem;border-radius:12px;box-shadow:var(--shadow)}
.form-row{margin-bottom:.75rem;display:flex;flex-direction:column}
.form-row label{font-weight:600;margin-bottom:.35rem}
.form-row input, .form-row textarea{padding:.6rem;border-radius:8px;border:1px solid rgba(0,0,0,0.06);background:transparent;color:var(--text)}
.form-row .error{color:#ef4444;font-size:.9rem;height:1.2rem;margin-top:.25rem}

/* Footer */
.site-footer{padding:1.25rem 0;border-top:1px solid rgba(0,0,0,0.04);background:transparent}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}

/* Responsive */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:1.25rem}
  .mock-right{display:none}
  .nav-list{display:none;position:absolute;right:14px;top:64px;background:var(--surface);padding:.75rem;border-radius:10px;box-shadow:var(--shadow);flex-direction:column}
  .nav-toggle{display:inline-flex}
  .header-inner{align-items:center}
  .contact-grid{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}
}

/* Animations */
.animate{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
.animate.in-view{opacity:1;transform:none}
