/* ===== Wow Custom Boxes — Location (local SEO) pages ===== */

/* hero */
.loc-hero{background:linear-gradient(135deg,var(--navy-950),var(--navy-700));border-radius:var(--r-xl);padding:54px 56px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.loc-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:rgba(238,106,28,.16);}
.loc-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);color:#ffd9bf;border:1px solid rgba(255,255,255,.18);padding:7px 15px;border-radius:999px;font-family:var(--head);font-weight:600;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;position:relative;z-index:2;}
.loc-hero h1{color:#fff;font-size:clamp(32px,4.4vw,52px);line-height:1.05;margin-bottom:16px;position:relative;z-index:2;}
.loc-hero h1 .accent{color:var(--orange);}
.loc-hero p{color:#cfdaf0;font-size:16.5px;max-width:640px;margin-bottom:26px;position:relative;z-index:2;}
.loc-hero-acts{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:2;}
.loc-hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.4);}
.loc-hero .btn-outline:hover{background:#fff;color:var(--navy);}

/* states grid */
.state-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.state-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;display:flex;flex-direction:column;transition:.24s;}
.state-card:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-4px);}
.state-card .sc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.state-card .sc-ico{width:50px;height:50px;border-radius:14px;background:var(--orange-50);color:var(--orange);display:grid;place-items:center;font-size:25px;}
.state-card .sc-count{font-family:var(--head);font-weight:600;font-size:12.5px;color:var(--muted);background:var(--sky-50);border:1px solid var(--line);border-radius:999px;padding:5px 12px;}
.state-card h3{font-size:22px;margin-bottom:12px;}
.state-card .sc-cities{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px;}
.state-card .sc-cities span{font-size:12.5px;color:var(--body);background:var(--sky-50);border:1px solid var(--line);border-radius:8px;padding:4px 10px;}
.state-card .sc-cities .more{color:var(--orange);font-weight:600;background:var(--orange-50);border-color:transparent;}
.state-card .sc-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:600;font-size:14px;color:var(--navy);}
.state-card:hover .sc-link{color:var(--orange);}
.state-card .sc-link i{transition:.2s;}
.state-card:hover .sc-link i{transform:translateX(4px);}

/* cities grid */
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.city-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;transition:.22s;}
.city-card:hover{border-color:var(--orange);box-shadow:var(--shadow-sm);transform:translateY(-3px);}
.city-card .cc-ico{width:40px;height:40px;border-radius:11px;background:var(--orange-50);color:var(--orange);display:grid;place-items:center;font-size:20px;flex-shrink:0;}
.city-card .cc-name{font-family:var(--head);font-weight:600;font-size:15.5px;color:var(--ink);}
.city-card .cc-arrow{margin-left:auto;color:var(--muted);transition:.2s;}
.city-card:hover .cc-arrow{color:var(--orange);transform:translateX(3px);}

/* services grid (city) */
.loc-serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.loc-serv{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;transition:.24s;}
.loc-serv:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.loc-serv .ls-ico{width:58px;height:58px;border-radius:15px;background:var(--orange-50);color:var(--orange);display:grid;place-items:center;font-size:27px;margin-bottom:18px;}
.loc-serv h3{font-size:19px;margin-bottom:9px;}
.loc-serv p{font-size:14px;color:var(--body);}

/* why + form split (city) */
.loc-split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;}
.loc-split .eyebrow{margin-bottom:16px;}
.loc-split h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:24px;}
.loc-why{display:grid;gap:20px;}
.loc-why .lw{display:flex;gap:16px;}
.loc-why .lw i{width:48px;height:48px;border-radius:13px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:23px;flex-shrink:0;box-shadow:0 10px 22px rgba(23,58,134,.22);}
.loc-why .lw h4{font-size:16.5px;margin-bottom:5px;}
.loc-why .lw p{font-size:14px;color:var(--body);}

.loc-form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:32px;box-shadow:var(--shadow-sm);}
.loc-form-card h3{font-size:23px;text-align:center;margin-bottom:6px;}
.loc-form-card .sub{text-align:center;font-size:13px;color:var(--muted);margin-bottom:22px;}

/* prose */
.loc-prose p{font-size:16px;line-height:1.8;color:var(--body);margin-bottom:16px;}
.loc-prose h2,.loc-prose h3{color:var(--ink);margin:24px 0 12px;}

@media(max-width:1024px){
  .state-grid,.loc-serv-grid{grid-template-columns:repeat(2,1fr);}
  .city-grid{grid-template-columns:repeat(3,1fr);}
  .loc-split{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:640px){
  .state-grid,.loc-serv-grid,.city-grid{grid-template-columns:1fr;}
  .loc-hero{padding:40px 28px;}
}
