/* WordPress adapter: maps core block markup onto site.css components. */
.wp-site-blocks{padding:0}
:root :where(.is-layout-flow)>*{margin-block-start:0}
.wp-site-blocks p{margin:0 0 1em}
.wp-site-blocks .wp-block-heading{margin:0 0 .5em}
.wp-site-blocks .eyebrow{margin-bottom:18px}
.section-head>*:last-child,.cta-copy p,.svc-text p,.work-body p:last-child,.step p,.info-card p,.foot-bottom p,.fact p{margin-bottom:0}
.site-header .wrap.header-row{display:flex;align-items:center;justify-content:space-between;height:76px}
.header-right{display:flex;align-items:center;gap:30px}
.sm-nav{font-size:.9375rem;font-weight:500;gap:30px}
.sm-nav a{color:var(--sm-charcoal);text-decoration:none}
.sm-nav a:hover{color:var(--sm-midnight);text-decoration:underline}
.header-cta .wp-block-button__link{padding:12px 18px}
/* buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;font:500 .9375rem/1 var(--sm-font);letter-spacing:.02em;padding:15px 24px;border-radius:var(--sm-radius);text-decoration:none;border:1.5px solid transparent;transition:background .18s,color .18s,border-color .18s}
.wp-site-blocks .wp-block-button .wp-block-button__link{border-radius:var(--sm-radius)}
.btn-primary .wp-block-button__link{background:var(--sm-midnight);color:#fff}
.btn-primary .wp-block-button__link:hover{background:var(--sm-charcoal);color:#fff}
.btn-secondary .wp-block-button__link{background:transparent;color:var(--sm-midnight);border-color:var(--sm-midnight)}
.btn-secondary .wp-block-button__link:hover{background:var(--sm-light-gray)}
.on-dark .btn-primary .wp-block-button__link{background:var(--sm-off-white);color:var(--sm-midnight)}
.on-dark .btn-primary .wp-block-button__link:hover{background:var(--sm-light-gray)}
.on-dark .btn-secondary .wp-block-button__link{color:var(--sm-off-white);border-color:rgba(209,213,219,.55)}
.on-dark .btn-secondary .wp-block-button__link:hover{background:rgba(209,213,219,.12);color:#fff}
/* hero */
.hero>.wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-top:clamp(72px,10vw,128px);padding-bottom:clamp(72px,10vw,128px)}
.hero .hero-copy .eyebrow{color:var(--sm-light-gray)}
.hero h1{color:#fff}
.hero .lead{margin-bottom:36px}
/* services */
.svc-head{display:flex;align-items:center;gap:14px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--sm-line)}
.svc-head .ico{width:46px;height:46px;border-radius:10px;background:var(--sm-midnight);color:var(--sm-off-white);display:grid;place-items:center}
.svc-head .ico svg{width:24px;height:24px}
.svc-group.alt .svc-head .ico{background:var(--sm-charcoal)}
.svc-head h3{margin:0!important}.svc-head p{margin:2px 0 0!important;font-size:.875rem;color:var(--sm-slate)}
.svc-list{display:grid;gap:4px}
.svc-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:14px 0}
.svc-item+.svc-item{border-top:1px dashed var(--sm-line)}
.svc-item>svg{width:20px;height:20px;color:var(--sm-midnight);margin-top:3px}
.svc-item h4{font-size:1rem;font-weight:600;margin:0 0 2px!important;color:var(--sm-charcoal)}
.svc-item p{font-size:.9375rem;color:var(--sm-slate);line-height:1.55}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s}
.step{padding:0 26px 0 0;position:relative}
.step::before{counter-increment:s;content:"0" counter(s);display:block;font-weight:300;font-size:2.25rem;letter-spacing:.04em;color:var(--sm-midnight);margin-bottom:14px}
.step::after{content:"";position:absolute;top:26px;left:70px;right:22px;height:1px;background:var(--sm-line)}
.step:last-child::after{display:none}
.step h3{font-size:1.0625rem}.step p{font-size:.9375rem;color:var(--sm-slate)}
/* work */
.work-card .tag{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sm-slate);font-weight:600;margin:0}
.work-card h3{margin:8px 0 6px!important;font-size:1.125rem}
/* about */
.about>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,80px);align-items:center}
.about-photo{max-width:none}
.about .dl{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.fact .dt{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sm-slate);font-weight:600}
.fact .dd{margin-top:4px;font-weight:600;color:var(--sm-charcoal)}
/* cta */
.cta>.wrap{position:relative}
.cta .cta-actions{justify-content:flex-end}
/* footer */
.site-footer .foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer .wp-block-heading{color:#fff;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.foot-bottom p{font-size:.8125rem}
/* generic pages */
.prose{max-width:calc(760px + 2*var(--sm-gutter))}
@media (max-width:980px){
  .hero>.wrap,.about>.wrap{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;gap:36px 0}
  .step:nth-child(2)::after{display:none}
  .cta .cta-actions{justify-content:flex-start}
}
@media (max-width:820px){
  .site-header .header-cta{display:none}
  .sm-nav .wp-block-navigation__responsive-container-open{width:44px;height:44px;border:1.5px solid var(--sm-line);border-radius:var(--sm-radius);display:inline-flex;align-items:center;justify-content:center;color:var(--sm-midnight)}
  .sm-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--sm-off-white);padding:24px var(--sm-gutter)}
  .sm-nav .is-menu-open .wp-block-navigation-item a{font-size:1.25rem;padding:10px 0}
}
@media (max-width:640px){
  .steps,.about .dl{grid-template-columns:1fr}
  .step::after{display:none}
  .wp-block-buttons.hero-ctas .wp-block-button,.cta-actions .wp-block-button{flex:1 1 100%}
  .wp-block-buttons.hero-ctas .wp-block-button__link,.cta-actions .wp-block-button__link{width:100%}
}
.site-header .brand{flex:none}
.site-header .brand .sm-mark{flex:none;height:38px;width:auto}
@media (max-width:640px){.site-header .brand .sm-mark{height:32px}}
.wp-site-blocks .site-footer .tagline{margin:20px 0 0}
.site-header:has(.is-menu-open){backdrop-filter:none;-webkit-backdrop-filter:none}
.sm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start;padding-top:56px}
.sm-nav .is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:6px}
.sm-nav .is-menu-open .wp-block-navigation-item a{font-weight:600;color:var(--sm-midnight)}
.sm-nav .is-menu-open .wp-block-navigation-item{align-items:flex-start!important;width:100%;border-bottom:1px solid var(--sm-line)}
.sm-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--sm-off-white)!important}
.sm-nav .wp-block-navigation__responsive-container.is-menu-open{--navigation-layout-justification-setting:flex-start;--navigation-layout-justify:flex-start;--navigation-layout-align:flex-start}
/* photos */
.svc-group>.svc-media{margin-bottom:28px}
.hero>.wrap{z-index:1}
.cta>.wrap{z-index:1}
.page-hero-split .page-hero-copy p:last-child{margin-bottom:0}
/* Contact Form 7 */
.sm-cf7 .form{margin:0}
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 .wpcf7-submit{display:inline-flex;align-items:center;gap:10px;font:500 .9375rem/1 var(--sm-font);padding:15px 24px;border-radius:var(--sm-radius);border:0;background:var(--sm-midnight);color:#fff;cursor:pointer}
.wpcf7 .wpcf7-submit:hover{background:var(--sm-charcoal)}
.wpcf7 .wpcf7-not-valid-tip{font-size:.8125rem;color:#9b2c2c;margin-top:6px}
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 16px;border-radius:var(--sm-radius);border:1.5px solid var(--sm-light-gray);font-size:.9375rem;color:var(--sm-charcoal);background:var(--sm-white)}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--sm-midnight)}
.wpcf7 .wpcf7-spinner{margin:0 0 0 12px;vertical-align:middle}
.site-footer h2.wp-block-heading{font-size:.75rem}
.work-body h3{margin:8px 0 6px}
.wpcf7 input.wpcf7-submit{width:auto;padding:15px 28px}
.wp-site-blocks .site-header .wp-block-button__link{border-radius:var(--sm-radius)!important}
/* v0.3: local SEO sections, landing pages */
.svc-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--sm-line)}
.svc-links a{font-weight:600;font-size:.9375rem;color:var(--sm-midnight);text-decoration:none}
.svc-links a:hover{text-decoration:underline}
.area{background:var(--sm-white);border-top:1px solid var(--sm-line)}
.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.area-copy .svc-links{border-top:0;padding-top:0}
.area-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.area-list li{padding:9px 14px;border:1px solid var(--sm-line);border-radius:999px;font-size:.875rem;font-weight:500;color:var(--sm-charcoal);background:var(--sm-off-white)}
.area-list li:last-child{border-style:dashed;color:var(--sm-slate)}
.crumbs{background:var(--sm-white)}
.crumbs .wrap{padding-top:18px;padding-bottom:0;font-size:.8125rem;color:var(--sm-slate)}
.crumbs a{color:var(--sm-slate)}
.crumbs .breadcrumb_last{color:var(--sm-charcoal)}
.crumbs + .landing-content .page-hero .wrap{padding-top:clamp(32px,5vw,64px)}
.landing-content > *{margin-top:0;margin-bottom:0}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:var(--sm-white);border:1px solid var(--sm-line);border-radius:14px;padding:26px}
.card h3{font-size:1.0625rem;margin:0 0 8px}
.card p{margin:0;font-size:.9375rem;color:var(--sm-slate)}
.card a.more{display:inline-block;margin-top:14px;font-weight:600;font-size:.9375rem;color:var(--sm-midnight)}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--sm-line)}
.checklist li::before{content:"";position:absolute;left:0;top:17px;width:12px;height:12px;border-radius:3px;background:var(--sm-midnight)}
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--sm-line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;color:var(--sm-midnight);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:1.25rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--sm-charcoal)}
.county-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.county-grid .card h3{font-size:1rem}
.alt-bg{background:var(--sm-white);border-top:1px solid var(--sm-line);border-bottom:1px solid var(--sm-line)}
@media (max-width:980px){.cards3,.county-grid{grid-template-columns:1fr 1fr}.area-grid,.split2{grid-template-columns:1fr}}
@media (max-width:640px){.cards3,.cards2,.county-grid{grid-template-columns:1fr}}
.site-footer .foot-top{grid-template-columns:1.3fr 1fr .8fr 1fr}
@media (max-width:980px){.site-footer .foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.site-footer .foot-top{grid-template-columns:1fr}}
.page-hero h1{font-size:clamp(2rem,4.2vw,3rem)}
