
/* Global CSS — /css/site.css */
:root{--bg:#0b1222;--card:#101829;--text:#f3f7ff;--muted:#b9c6d9;--brand:#60a5fa;--brand-2:#22d3ee;--radius:20px;--max:1200px;--shadow:0 14px 34px rgba(2,6,23,.45)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,sans-serif}
img{max-width:100%;height:auto;border-radius:14px;display:block}
a{color:var(--brand);text-underline-offset:2px}
.container{max-width:var(--max);margin-inline:auto;padding:clamp(16px,4vw,28px)}
section{margin:48px 0}
.card{background:rgba(18,24,38,.92);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);box-shadow:var(--shadow)}
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}
header{position:sticky;top:0;backdrop-filter:saturate(1.2) blur(8px);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-bottom:1px solid rgba(255,255,255,.06);z-index:10}
.nav{display:flex;gap:18px;align-items:center;justify-content:space-between}
.nav a{color:var(--muted);text-decoration:none;font-weight:600;transition:color .15s, transform .15s}
.nav a:hover{color:var(--text);transform:translateY(-1px)}
.brand{display:flex;gap:10px;align-items:center;font-weight:800;color:var(--text)}
.brand .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.badge{display:inline-flex;gap:8px;align-items:center;font-size:.9rem;color:var(--muted);background:rgba(255,255,255,.06);padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1)}
.title{font-size:clamp(28px,6vw,54px);line-height:1.05;margin:10px 0 8px}
.lead{font-size:clamp(16px,2.2vw,20px);color:var(--muted);max-width:65ch}
h2{font-size:clamp(22px,4.2vw,34px);margin:0 0 12px}
.sub{color:var(--muted);margin:0 0 18px}
.small{color:var(--muted);font-size:.9rem}
.tag{display:inline-block;font-size:.8rem;color:#081018;background:linear-gradient(135deg,var(--brand),var(--brand-2));border-radius:999px;padding:4px 10px;font-weight:800}
.btn{appearance:none;border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#081018;box-shadow:var(--shadow)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(34,211,238,.35)}
.btn-outline{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.18)}
.form{display:grid;gap:12px}
.input, select, textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--text)}
.input:focus, textarea:focus, select:focus{outline:2px solid color-mix(in oklab, var(--brand) 70%, white);outline-offset:2px;border-color:transparent}
.help{color:var(--muted);font-size:.9rem}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text);padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:700;transition:transform .15s ease, box-shadow .2s ease}
.chip[aria-pressed="true"]{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#081018}
dialog{border:none;border-radius:16px;padding:0;max-width:min(1000px,90vw);background:var(--card);color:var(--text)}
dialog::backdrop{background:rgba(0,0,0,.6)}
.lb-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.lb-body{padding:14px}
.x{appearance:none;border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}
footer{border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,transparent,rgba(255,255,255,.02));padding-top:28px}
.footer-grid{display:grid;gap:24px;grid-template-columns:2fr 1fr}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}
.mobile-cta{position:fixed;left:0;right:0;bottom:10px;z-index:50;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(680px,92%);margin:0 auto;background:rgba(16,24,41,.7);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:8px;border-radius:999px;box-shadow:var(--shadow)}
.mobile-cta a{text-align:center;text-decoration:none;font-weight:800;padding:12px 14px;border-radius:999px}
.mobile-cta .call{background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.16)}
.mobile-cta .quote{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#081018}
@media (min-width:900px){.mobile-cta{display:none}}
#toTop{position:fixed;right:16px;bottom:80px;z-index:40;opacity:0;pointer-events:none;background:rgba(16,24,41,.75);color:var(--text);border:1px solid rgba(255,255,255,.14);padding:10px 12px;border-radius:999px;cursor:pointer;transition:opacity .2s ease, transform .15s;box-shadow:var(--shadow)}
#toTop.show{opacity:1;pointer-events:auto}
#toTop:hover{transform:translateY(-1px)}

/* Active link highlight (nav + any .links) */
.nav a[aria-current="page"], .links a[aria-current="page"]{color:var(--text);position:relative}
.nav a[aria-current="page"]::after, .links a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:linear-gradient(135deg,var(--brand),var(--brand-2));border-radius:2px}

/* Footer quick links highlight */
footer .footer-grid a[aria-current="page"] { color: var(--text); position: relative; }
footer .footer-grid a[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px;
  background: linear-gradient(135deg, var(--brand), var(--brand-2)); border-radius: 2px;
}

/* Accessibility and polish */
:where(a,button,input,select,textarea,.btn,.chip){outline:none}
:where(a,button,input,select,textarea,.btn,.chip):focus-visible{outline:2px solid color-mix(in oklab, var(--brand) 70%, white);outline-offset:2px}
::selection{background:color-mix(in oklab, var(--brand) 30%, black);color:#fff}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
