/* Fire Moving · inner pages v26 layer (cities, counties, services, guides) · loads after seo.css */
html{touch-action:manipulation}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#FF2A1A;color:#fff;padding:10px 14px;border-radius:10px;font-weight:800;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid rgba(255,42,26,.55);outline-offset:3px;border-radius:6px}

/* hero: text + real photo */
.seo-hero.h26{position:relative;overflow:hidden;padding:44px 20px 48px}
.h26 .seo-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center}
.h26 .h26-photo{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08)}
.h26 .h26-photo img{width:100%;height:100%;object-fit:cover}
.h26 .h26-photo figcaption{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;background:rgba(10,10,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font:700 12px/1 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;border-radius:999px}
.h26 .h26-photo figcaption i{width:8px;height:8px;border-radius:50%;background:#FF2A1A;box-shadow:0 0 10px #FF2A1A}
.h26-trust{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:#CFCFCF}
.h26-trust li{display:block}
.h26-trust li::before{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;margin:-2px 8px 0 0;border-radius:50%;background:#FF2A1A}
.h26-trust b{color:#fff}

/* photo strip */
.strip26{background:#0A0A0A;color:#fff;padding:52px 20px}
.strip26 .seo-wrap{display:grid;gap:22px}
.strip26-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 24px}
.strip26 h2{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(30px,3.6vw,44px);line-height:.95;margin:0}
.strip26 h2 span{color:#FF2A1A}
.strip26-head p{margin:0;color:#BDBDBD;max-width:420px;font-size:15.5px}
.strip26-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.strip26-grid figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;background:#1b1b1b}
.strip26-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.strip26-grid figure:hover img{transform:scale(1.04)}
.strip26-cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}

/* polish existing blocks */
.seo-section h2{text-wrap:balance}
.seo-card{transition:transform .2s ease,box-shadow .2s ease}
.seo-card:hover{transform:translateY(-2px)}
.cta-band{background:linear-gradient(120deg,#FF2A1A,#C8170A)}

@media (max-width:900px){
  .h26 .seo-wrap{grid-template-columns:1fr;gap:26px}
  .h26 .h26-photo{aspect-ratio:16/10;border-radius:18px}
  .strip26-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:0 20px 6px;scroll-padding-inline:20px;scrollbar-width:none}
  .strip26-grid::-webkit-scrollbar{display:none}
  .strip26-grid figure{scroll-snap-align:start}
}
@media (max-width:640px){
  .seo-hero.h26{padding:30px 16px 34px}
  .h26-trust{font-size:13.5px;gap:6px 14px}
  .strip26{padding:40px 16px}
  .strip26-grid{margin-inline:-16px;padding:0 16px 6px;scroll-padding-inline:16px}
}
@media (prefers-reduced-motion:reduce){.strip26-grid img,.seo-card,.skip{transition:none}}
/* North Shore hub: compact town grid */
.ns-towns h3{margin:22px 0 10px;font-size:16px;text-transform:uppercase;letter-spacing:.06em;color:#5F5B54}
.ns-towns .seo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.ns-towns .seo-card{padding:12px 14px}
.ns-towns .seo-card strong{font-size:15px}
.h26-trust a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
.h26-trust a:hover{color:#fff;text-decoration-color:#fff}
