
/* Base styles */
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;background:#0b0b0b;color:#e5e7eb}
a{color:#f4c900;text-decoration:none}a:hover{text-decoration:underline}
.wrap{width:92%;max-width:1100px;margin:0 auto}
.site-header{position:sticky;top:0;z-index:90}
.brand{display:flex;gap:10px;align-items:center}
.brand .logo{width:36px;height:36px}
.menu, .primary-menu{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.panel{background:#0f0f0f;border:1px solid #222;border-radius:14px;padding:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:980px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card{background:#0f0f0f;border:1px solid #222;border-radius:14px;padding:14px}
.section{padding:28px 0}
footer{border-top:1px solid #222;margin-top:24px}
.kicker{display:block;margin-bottom:8px}
.breadcrumbs{font-size:13px;color:#94a3b8;margin-bottom:10px}

/* v7.2 UI/UX upgrades */
:root{--maxw:1200px;--btn-radius:14px;--btn-shadow:0 10px 20px rgba(0,0,0,.35);--accent:#f4c900;--accent-ink:#1b1400;--brand-green:#5fb63a;--brand-yellow:#fde047}
.wrap{max-width:var(--maxw)}
h1{font-size:clamp(38px,3.8vw,54px);line-height:1.05;letter-spacing:-.02em}
h2{font-size:clamp(24px,2.2vw,34px);line-height:1.12}
.lead{font-size:clamp(18px,1.3vw,20px);color:#cbd5e1;max-width:68ch}
/* Buttons */
.btn{border-radius:var(--btn-radius);padding:12px 18px;font-weight:800;border:1px solid #2a2a2a;box-shadow:var(--btn-shadow);transform:translateY(0);transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid #fb923c;outline-offset:2px}
.btn-primary{background:#111;color:#fff;border-color:#2a2a2a}
.btn-primary:hover{background:#151515}
.btn-accent{background:var(--accent);color:var(--accent-ink);border-color:#000}
.btn-accent:hover{filter:brightness(0.95)}
.btn-ghost{background:transparent;color:#e5e7eb;border-color:#333}
.btn-ghost:hover{background:#131313}
.btn-lg{padding:14px 22px;font-size:18px;border-width:2px}
.btn-sm{padding:8px 12px;font-size:13px}
.btn::before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(240px 80px at var(--mx,50%) 50%, rgba(255,255,255,.08), transparent 70%);transition:opacity .2s}
.btn:hover::before{opacity:1}
/* Header tiers */
.header-top{background:var(--brand-green);color:#0b0b0b;border-bottom:3px solid var(--brand-yellow)}
.header-top .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.header-links{display:flex;gap:18px;font-weight:700}
.header-cta a{background:var(--brand-yellow);padding:10px 14px;border-radius:10px;border:2px solid #000;color:#000;font-weight:900}
.primary-nav{background:#101010;border-bottom:1px solid #222}
.primary-nav .wrap{display:flex;gap:32px;align-items:center;padding:10px 0}
.primary-menu{display:flex;gap:36px}
.primary-menu>li{position:relative}
.primary-menu>li>a{color:#e5e7eb;font-weight:800}
.dropdown{position:absolute;left:0;top:100%;min-width:260px;background:#0f0f0f;border:1px solid #222;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.15);padding:12px;display:none;z-index:70}
.primary-menu>li:hover .dropdown,.primary-menu>li:focus-within .dropdown{display:block}
.dropdown a{display:block;color:#e5e7eb;padding:8px 12px;border-radius:8px}
.dropdown a:hover{background:#151515}
/* Hero + parallax */
.hero{position:relative;overflow:hidden;border-bottom:1px solid #1f1f1f}
.hero .bg{position:absolute;inset:-10% -10% 0 -10%;background:radial-gradient(1200px 480px at 20% -10%, rgba(244,201,0,.18), transparent 60%);transform:translateY(-10%) scale(1.1);will-change:transform}
.hero .content{position:relative;padding:80px 0}
/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease, transform .5s ease}
.reveal.in{opacity:1;transform:none}
/* Sticky CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;display:none;gap:10px;justify-content:center;padding:10px;background:rgba(15,15,15,.9);backdrop-filter:saturate(150%) blur(6px);z-index:120}
.sticky-cta .btn{box-shadow:none}
@media (max-width:880px){.sticky-cta{display:flex} body{padding-bottom:70px}}
/* Seams */
.section{position:relative}
.section.seam:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(255,255,255,.06));pointer-events:none}
/* Forms */
input,select,textarea{background:#0f0f0f;color:#e5e7eb;border:1px solid #2a2a2a;border-radius:12px;padding:12px}
input:focus,select:focus,textarea:focus{outline:2px solid #f4c900;border-color:#f4c900}
label{display:grid;gap:6px}

/* v7.3 slider/galleries */
.slider{position:relative;overflow:hidden;border-radius:16px;border:1px solid #222;background:#0f0f0f}
.slider-track{display:flex;transition:transform .35s ease}
.slide{min-width:100%;}
.slide img{width:100%;height:420px;object-fit:cover;display:block}
.slider .controls{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 10px;pointer-events:none}
.slider .btn-nav{pointer-events:auto;background:#0b0b0bcc;border:1px solid #222;border-radius:10px;padding:8px 10px}
.slider .dots{position:absolute;inset:auto 0 10px 0;display:flex;justify-content:center;gap:8px}
.slider .dot{width:10px;height:10px;border-radius:50%;background:#444;border:1px solid #222}
.slider .dot.active{background:#f4c900}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid #222}
@media(max-width:980px){.gallery{grid-template-columns:1fr 1fr}.slide img{height:300px}}
@media(max-width:640px){.gallery{grid-template-columns:1fr}}
/* service map */
.service-map{background:#0f0f0f;border:1px solid #222;border-radius:16px;padding:12px}
.service-map svg{width:100%;height:auto;display:block}
.city-dot{transition:transform .15s ease}
.city-dot:hover{transform:scale(1.15)}
.legend{display:flex;gap:10px;align-items:center}
.legend .sw{width:12px;height:12px;border-radius:50%;background:#f4c900;border:1px solid #222}

/* v7.4 content polish */
.checklist li{position:relative;list-style:none;padding-left:26px;margin:8px 0}
.checklist li:before{content:"✔";position:absolute;left:0;top:0;color:#f4c900}
details{background:#0f0f0f;border:1px solid #222;border-radius:12px;padding:10px;margin:8px 0}
details>summary{cursor:pointer;font-weight:700}
