:root{
  --navy:#0e1a2b; --navy2:#14263d; --accent:#f97316; --accent2:#ea580c;
  --ink:#16202e; --muted:#5b6b7f; --line:#e3e9f0; --bg:#f6f8fb; --card:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;z-index:50;background:rgba(14,26,43,.97);color:#fff}
.site-inner{display:flex;align-items:center;gap:18px;padding:12px 0;flex-wrap:wrap}
.logo{font-weight:800;font-size:20px;letter-spacing:.3px;text-decoration:none;color:#fff;display:flex;align-items:center;gap:10px}
.logo-img{width:40px;height:40px;border-radius:8px;flex-shrink:0}
.logo span{color:var(--accent)}
nav.main{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}
nav.main a{color:#dbe4ee;text-decoration:none;font-size:15px;font-weight:600}
nav.main a:hover,nav.main a.active{color:#fff}
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 55%,#1d3553 100%);color:#fff;padding:60px 0 52px}
.hero h1{font-size:clamp(26px,4vw,42px);margin:0 0 12px;line-height:1.15}
.hero p{color:#c9d6e4;font-size:18px;max-width:760px;margin:0 0 24px}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:16px}
.btn:hover{background:var(--accent2)}
.btn.ghost{background:transparent;border:1.5px solid #51647c;color:#fff;margin-left:10px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.badge{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:6px 12px;border-radius:999px;font-size:13.5px;color:#dbe4ee}
section{padding:52px 0}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(22px,3vw,30px);margin:0 0 8px}
h3{font-size:17px}
.lead{color:var(--muted);max-width:780px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:22px 0}
.toolbar input,.toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:15px;background:#fff}
.toolbar input{min-width:210px}
.count{color:var(--muted);font-size:14px;margin-left:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:0 10px 26px rgba(16,32,54,.10);transform:translateY(-2px)}
.ph{aspect-ratio:4/3;background:linear-gradient(135deg,#dfe7f0,#c9d5e3);display:flex;align-items:center;justify-content:center;color:#6a7c92;font-size:13px;font-weight:600}
.cardbody{padding:14px 16px 16px}
.card h3{margin:0 0 6px;font-size:17px}
.meta{color:var(--muted);font-size:14px}
.price{margin-top:10px;font-weight:800;color:var(--accent2)}
.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:26px}
.feature{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.feature h3{margin:0 0 6px}
.feature p{margin:0;color:var(--muted)}
.contactgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;margin-top:24px}
@media (max-width:760px){.contactgrid{grid-template-columns:1fr}}
.contactcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.contactcard a{color:var(--accent2);font-weight:700;text-decoration:none}
footer.site{background:var(--navy);color:#b9c6d6;padding:34px 0;font-size:14px}
footer.site a{color:#dbe4ee;text-decoration:none}
footer .cols{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
.crumbs{font-size:13.5px;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted);text-decoration:none}
table.specs{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0}
table.specs th,table.specs td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:15px}
table.specs th{width:38%;color:var(--muted);font-weight:600;background:#fafcfe}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:12px 14px;font-size:14.5px}
.detailsbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 18px;margin:10px 0}
details{border-bottom:1px solid var(--line)}
details:last-child{border-bottom:0}
summary{cursor:pointer;padding:12px 0;font-weight:700}
.list{columns:3;column-gap:26px;font-size:14.5px;padding:2px 0 14px}
@media (max-width:900px){.list{columns:2}}
@media (max-width:560px){.list{columns:1}}
.list a{text-decoration:none;color:var(--ink);display:block;padding:3px 0}
.list a:hover{color:var(--accent2)}
.pill{display:inline-block;background:#eef3f9;border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin:2px 4px 2px 0;font-size:13px}
.areahero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:44px 0 38px}
.areahero h1{margin:0;font-size:clamp(22px,3.4vw,34px)}
.areahero p{color:#c9d6e4;max-width:880px;margin:10px 0 0}

.ph{position:relative}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* FAQ blocks */
.faq{max-width:820px}
.faq details{border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:10px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:600;font-size:16px}
.faq details p{margin:10px 0 0;color:var(--muted,#5b6b7d);line-height:1.55}

/* inventory search */
.search{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 22px}
.search input{flex:1;min-width:260px;max-width:460px;padding:12px 14px;font-size:16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.qcount{color:var(--muted,#5b6b7d);font-size:14px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* hours */
.hours{font-size:14px;line-height:1.6}
