:root{
  color-scheme: dark;
  --bg:#0b0c12;
  --card:rgba(255,255,255,0.05);
  --border:rgba(255,255,255,0.10);
  --text:#e8ecff;
  --muted:#b0b0d0;
  --accent:#7c7dff;
  --accent2:#00d4ff;
}
*{box-sizing:border-box;}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);position:relative;min-height:100vh;}
img{max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
.top{position:sticky;top:0;backdrop-filter:blur(10px);background:rgba(11,12,18,0.7);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:12px 16px;z-index:10;}
.brand{display:flex;gap:12px;align-items:center;}
.brandHome{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:4px;border-radius:12px;}
.brandHome:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.logo{height:36px;width:auto;display:block;object-fit:contain;}
.brandText{display:flex;flex-direction:column;line-height:1.1;}
.brandText span{color:var(--muted);font-size:12px;}
.nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.nav a{padding:8px 10px;border-radius:10px;border:1px solid transparent;}
.nav a:hover{border-color:var(--border);background:rgba(255,255,255,0.03);}
.nav .cta{border-color:rgba(124,125,255,0.45);background:rgba(124,125,255,0.18);}
.wrap{max-width:1100px;margin:0 auto;padding:24px 16px 64px;}
.hero{display:grid;grid-template-columns:1.2fr 0.8fr;gap:18px;align-items:stretch;margin-top:18px;}
.hero h1{font-size:44px;margin:0 0 8px 0;letter-spacing:-0.02em;}
.muted{color:var(--muted);}
.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 10px;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,0.03);color:var(--text);cursor:pointer;}
.btn:hover{background:rgba(255,255,255,0.06);}
.btn.primary{border-color:rgba(124,125,255,0.55);background:rgba(124,125,255,0.22);}
.pillRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.pill{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(0,0,0,0.18);color:var(--muted);}
.heroCard{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:14px;}
.heroCard h2{margin:0 0 10px 0;font-size:16px;}
.heroCard ul{margin:0;padding-left:18px;}
.heroCard a{display:inline-flex;align-items:center;min-height:44px;padding:6px 8px;border-radius:10px;}
.heroCard a:hover{background:rgba(255,255,255,0.06);}
.heroCard a:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.grid{margin-top:28px;}
.grid h2{margin:0 0 12px 0;}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:14px;}
.card h3{margin:0 0 6px 0;}
.price{font-weight:700;font-size:22px;margin:10px 0 0;}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.thumb{aspect-ratio:1/1;border-radius:14px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(124,125,255,0.25),rgba(0,212,255,0.15));}
.form{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:14px;}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);}
.form input,.form textarea{border:1px solid var(--border);border-radius:12px;background:rgba(0,0,0,0.25);color:var(--text);padding:10px 12px;font-size:14px;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.tiny{font-size:12px;}
.footer{border-top:1px solid var(--border);padding:18px 16px;background:rgba(0,0,0,0.18);}
@media (max-width: 900px){
  .hero{grid-template-columns:1fr;}
  .cards{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(3,1fr);}
  .row{grid-template-columns:1fr;}
}

/* Logo wiring (static marketing site) */
.footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.footerLogo{height:28px;width:auto;opacity:0.9;display:block;object-fit:contain;}

/* Theme toggle: default is dark; allow a light theme via data-theme */
:root{color-scheme: light dark;}
:root[data-theme="light"]{
  --bg:#f7f7fb;
  --card:rgba(0,0,0,0.03);
  --border:rgba(0,0,0,0.10);
  --text:#0b0c12;
  --muted:#3f4058;
  --accent:#3d4bff;
  --accent2:#0077ff;
}

.themeToggle{
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.03);
  color:var(--text);
  cursor:pointer;
}
.themeToggle:hover{background:rgba(255,255,255,0.06);}

/* Section polish: Services + Gallery */
#services .card{transition:transform 140ms ease, border-color 140ms ease, background 140ms ease;}
#services .card:hover{transform:translateY(-2px);border-color:rgba(124,125,255,0.45);background:rgba(255,255,255,0.06);}
#galleryGrid .thumb{box-shadow:0 10px 30px rgba(0,0,0,0.18);}
#galleryGrid .thumb:hover{border-color:rgba(0,212,255,0.40);}

/* Home page layout polish */
.grid{padding-top:8px;}
.grid h2{letter-spacing:-0.01em;}
.card{transition:transform 160ms ease, border-color 160ms ease, background 160ms ease;}
.card:hover{transform:translateY(-2px);border-color:rgba(124,125,255,0.45);background:rgba(255,255,255,0.06);}
#galleryGrid .thumb{box-shadow:0 10px 30px rgba(0,0,0,0.18);}
#galleryGrid .thumb:hover{border-color:rgba(0,212,255,0.40);}

/* Touch interaction improvements */
:root{--touchTargetMin:44px;}
html{-webkit-text-size-adjust:100%;}
body{-webkit-tap-highlight-color:transparent;}
.btn, .nav a, button{touch-action:manipulation; min-height:var(--touchTargetMin);}
.nav a, .btn, button{padding-top:10px; padding-bottom:10px;}
section[id]{scroll-margin-top:72px;}
/* Reviews section: keep buttons looking consistent inside cards */
#reviews .heroActions{margin-top:10px}
#reviews .card .btn{width:100%}
@media (hover:none){
  .card:hover{transform:none;}
  .nav a:hover{background:transparent;}
}

/* Mobile readability */
@media (max-width: 600px){
  body{line-height:1.5;}
  .wrap{padding:18px 14px 56px;}
  .top{padding:10px 12px;}
  .hero{gap:14px;}
  .hero h1{font-size:34px;}
  .heroActions{gap:10px;}
  .heroActions .btn{flex:1 1 220px; min-height:44px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .form input,.form textarea{font-size:16px;}
}

/* Gallery captions (real images + placeholder fallback) */
#galleryGrid .thumb{position:relative; overflow:hidden; margin:0; isolation:isolate;}
#galleryGrid .thumbMedia{position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg,rgba(124,125,255,0.25),rgba(0,212,255,0.15));}
#galleryGrid .thumbImg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.001); filter:saturate(1.05) contrast(1.02);}
#galleryGrid .thumbImg{background:linear-gradient(135deg,rgba(124,125,255,0.20),rgba(0,212,255,0.10));}
#galleryGrid .thumbCaption{position:absolute; left:8px; right:8px; bottom:8px; padding:6px 8px; border-radius:10px; font-size:12px; line-height:1.2; color:var(--text); background:rgba(0,0,0,0.45); backdrop-filter:blur(8px);}
:root[data-theme="light"] #galleryGrid .thumbCaption{background:rgba(0,0,0,0.30);}
#galleryGrid .thumb:focus-visible{outline:2px solid var(--accent2); outline-offset:3px;}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

/* Page background video (layout-preserving) */
.siteBackgroundMedia{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.siteBackgroundVideo{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(1.05) contrast(1.03);}
.siteBackgroundOverlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(6,8,14,0.86),rgba(8,10,16,0.78) 40%,rgba(6,8,14,0.90));}
.top,.wrap,.footer{position:relative;z-index:1;}
@media (prefers-reduced-motion: reduce){
  .siteBackgroundMedia{display:none;}
}
