
:root {
  --primary:#16a34a;
  --primary-dark:#166534;
  --accent:#f97316;
  --bg:#020617;
  --card:#020617;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --border:#1f2937;
}
*{box-sizing:border-box;}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#111827 0,#020617 55%,#000 100%);color:var(--text);line-height:1.7;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:1120px;margin:0 auto;padding:0 1.25rem;}
.site-header{position:sticky;top:0;z-index:40;background:rgba(15,23,42,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.25rem;}
.logo{display:flex;align-items:center;gap:.5rem;color:var(--text);font-weight:700;text-decoration:none;}
.logo-mark{width:32px;height:32px;border-radius:999px;background:radial-gradient(circle at 30% 0,#4ade80,#16a34a);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#052e16;}
.logo-text{text-transform:uppercase;font-size:.8rem;letter-spacing:.14em;}
.main-nav{display:flex;gap:.9rem;font-size:.9rem;}
.main-nav a{padding:.3rem .75rem;border-radius:999px;color:var(--muted);}
.main-nav a:hover{background:rgba(148,163,184,.2);color:var(--text);text-decoration:none;}
.phone-top{font-size:.9rem;font-weight:600;color:var(--text);}
.btn-primary{background:linear-gradient(to right,#16a34a,#22c55e);color:#ecfeff!important;padding:.42rem 1rem;border-radius:999px;border:none;font-size:.86rem;font-weight:600;box-shadow:0 14px 32px rgba(34,197,94,.4);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;}
.btn-primary:hover{background:linear-gradient(to right,#15803d,#4ade80);}
.btn-ghost{padding:.35rem .85rem;border-radius:999px;border:1px dashed rgba(148,163,184,.6);font-size:.82rem;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;}
.hero{padding:3rem 0 2.3rem;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr)minmax(0,1.2fr);gap:2rem;align-items:center;}
.hero h1{font-size:2.4rem;margin:0 0 .6rem;}
.hero p{color:var(--muted);max-width:34rem;font-size:.98rem;}
.badge-soft{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .7rem;border-radius:999px;border:1px solid rgba(148,163,184,.5);font-size:.78rem;color:var(--muted);}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 1.5rem;}
.tag{font-size:.78rem;padding:.25rem .7rem;border-radius:999px;background:#020617;border:1px solid #1f2937;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:.7rem;}
.card{background:radial-gradient(circle at top,#020617 0,#020617 55%,#000 100%);border-radius:18px;padding:1.4rem;border:1px solid rgba(148,163,184,.35);box-shadow:0 16px 40px rgba(15,23,42,.9);}
.hero-card{display:grid;gap:.9rem;}
.hero-row{display:flex;justify-content:space-between;font-size:.86rem;color:var(--muted);}
.section{padding:2.5rem 0;}
.section h2{font-size:1.7rem;margin:0 0 .3rem;}
.section-intro{color:var(--muted);max-width:42rem;font-size:.95rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;}
.service-card p{color:var(--muted);font-size:.93rem;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;}
.gallery-item{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.25);background:#020617;}
.gallery-img{display:block;width:100%;height:170px;object-fit:cover;background:radial-gradient(circle at top,#1f2937,#020617);}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:.6rem .7rem;background:linear-gradient(to top,rgba(15,23,42,.96),rgba(15,23,42,0));font-size:.8rem;}
.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);font-size:.78rem;color:var(--muted);}
.page-header{padding:2.3rem 0 1.4rem;}
.breadcrumbs{font-size:.8rem;color:var(--muted);margin-bottom:.6rem;}
.breadcrumbs a{color:var(--muted);}
.page-header h1{margin:0 0 .5rem;}
.page-header p{color:var(--muted);max-width:40rem;font-size:.95rem;}
.two-column{display:grid;grid-template-columns:minmax(0,1.6fr)minmax(0,1.1fr);gap:2rem;}
.contact-form{display:grid;gap:.85rem;}
.contact-form label{font-size:.86rem;font-weight:500;}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:.55rem .7rem;border-radius:12px;border:1px solid var(--border);background:#020617;color:var(--text);font-size:.9rem;}
.contact-form textarea{min-height:120px;resize:vertical;}
.locations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;}
.location-card p{margin:.15rem 0;font-size:.88rem;color:var(--muted);}
.site-footer{margin-top:3rem;border-top:1px solid var(--border);background:#020617;}
.site-footer .container{padding:2.1rem 1.25rem;}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr)minmax(0,1fr)minmax(0,1.8fr);gap:1.8rem;font-size:.9rem;align-items:flex-start;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer li{margin-bottom:.25rem;}
.footer-locations{columns:2;column-gap:1.5rem;}
.footer-locations li{font-size:.82rem;}
.footer-bottom{border-top:1px solid var(--border);font-size:.78rem;color:var(--muted);}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.25rem;}
@media(max-width:900px){
  .hero-grid,.grid-3,.gallery-grid,.two-column,.locations-grid,.footer-grid{grid-template-columns:minmax(0,1fr);}
  .nav-inner{flex-direction:column;align-items:flex-start;gap:.6rem;}
  .hero{padding-top:2.1rem;}
  .gallery-img{height:190px;}
  .footer-locations{columns:1;}
}
