
:root { --primary:#2563EB; --accent:#06B6D4; --grad-a:#0EA5E9; --grad-b:#8B5CF6; --dark:#0F172A; --light:#F8FAFC; --text:#0B1220; --ring: rgba(59,130,246,.35); }
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65;letter-spacing:.1px}
.container{width:min(1120px,92%);margin-inline:auto}
header.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid #e9eef5}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;gap:.75rem}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{height:44px}
.brand .wordmark{font-weight:900;color:var(--dark);letter-spacing:.25px}
nav.primary-nav ul{display:flex;gap:.75rem;list-style:none;margin:0;padding:0}
nav.primary-nav a{color:#0b1324;text-decoration:none;font-weight:700;padding:.45rem .6rem;border-radius:.6rem}
nav.primary-nav a:hover,nav.primary-nav a:focus{background:var(--light);outline:2px solid transparent}
button.menu-toggle{display:none;background:none;border:none;padding:.55rem;font-size:1.25rem}
@media (max-width:880px){nav.primary-nav{display:none}button.menu-toggle{display:block}.mobile-nav.open{display:block}.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav a{display:block;padding:.85rem 0;border-bottom:1px solid #eef3f8;text-decoration:none;color:var(--dark)}}
.mobile-nav{display:none;padding:0 0 1rem 0}
.hero{background:linear-gradient(120deg,var(--grad-a),var(--grad-b));color:#fff;padding:5rem 0 3.5rem;border-bottom:1px solid #eef3f8}
.hero h1{font-size:clamp(2rem,4.6vw,3.2rem);margin:0 0 .6rem;line-height:1.1}
.hero p{font-size:clamp(1rem,2.2vw,1.3rem);opacity:.98}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:#fff;color:var(--primary);border-radius:.8rem;font-weight:900;padding:.85rem 1.1rem;text-decoration:none;border:2px solid transparent;box-shadow:0 6px 18px rgba(2,6,23,.08)}
.btn:hover{transform:translateY(-1px)}
.btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.section{padding:3.2rem 0}
.section h2{font-size:clamp(1.5rem,3.5vw,2.1rem);margin:0 0 .9rem;color:var(--dark)}
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(12,1fr)}
.card{background:#fff;border:1px solid #ecf1f7;border-radius:1rem;padding:1.1rem;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.pillars .card h3{margin-top:.25rem;color:var(--primary)}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.kv .value{background:var(--light);border:1px dashed #dfe8f2;border-radius:.9rem;padding:.85rem}
@media (max-width:820px){.kv{grid-template-columns:1fr}}
.callout{background:var(--light);border-left:6px solid var(--primary);padding:1.1rem;border-radius:.7rem}
.locations .item{background:#fff;border:1px solid #e8eef5;border-radius:.9rem;padding:.85rem}
footer{border-top:1px solid #e8eef5;background:#f9fbff;color:#334155;padding:1.35rem 0}
footer .small{font-size:.95rem}
.badge{display:inline-block;padding:.28rem .55rem;border-radius:.5rem;font-size:.9rem;background:rgba(14,165,233,.12);color:#0c4a6e;font-weight:800}
ul.clean{list-style:none;padding:0;margin:.25rem 0}
ul.clean li{padding:.28rem 0}
input,textarea{outline:none}
input:focus,textarea:focus{box-shadow:0 0 0 4px var(--ring);border-color:var(--primary)!important}
.phone-link{white-space:nowrap}
.address-link{white-space:nowrap}
