/*
Theme Name: New Beginnings Property Inspection
Theme URI: https://www.newbeginningspropertyinspection.com/
Author: Custom Theme
Description: A fast, accessible, conversion-focused property inspection theme for New Beginnings Property Inspection, LLC.
Version: 2.2.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: nbpi
*/

:root {
  --nb-yellow:#ffc627;
  --nb-yellow-dark:#e5a900;
  --nb-ink:#111214;
  --nb-copy:#4d535c;
  --nb-soft:#f6f7f9;
  --nb-white:#fff;
  --nb-line:#e4e7ec;
  --nb-success:#16794b;
  --nb-radius:22px;
  --nb-shadow:0 18px 55px rgba(17,18,20,.10);
  --nb-container:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:118px}
body{max-width:100%;margin:0;overflow-x:hidden;color:var(--nb-ink);background:#fff;font-family:"Roboto",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4{margin:0 0 18px;font-family:"Raleway",Arial,sans-serif;line-height:1.13;letter-spacing:-.025em}
h1{font-size:clamp(2.65rem,6vw,5.15rem)}
h2{font-size:clamp(2.05rem,4vw,3.65rem)}
h3{font-size:clamp(1.15rem,2vw,1.45rem)}
p{margin:0 0 18px;color:var(--nb-copy)}
.container{width:min(calc(100% - 40px),var(--nb-container));margin-inline:auto}
.section{position:relative;padding:clamp(72px,9vw,120px) 0;overflow:hidden}
.section--soft{background:var(--nb-soft)}
.section--yellow{background:linear-gradient(135deg,#fff9e9 0%,#fff 55%,#fff4c7 100%)}
.section-heading{max-width:730px;margin:0 auto 50px;text-align:center}
.section-heading p{font-size:1.08rem}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:#765800;font-family:"Raleway",sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{width:27px;height:3px;border-radius:5px;background:var(--nb-yellow);content:""}
.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border:2px solid transparent;border-radius:12px;background:var(--nb-yellow);color:var(--nb-ink);font-family:"Raleway",sans-serif;font-weight:800;line-height:1.2;box-shadow:0 9px 25px rgba(229,169,0,.22);transition:.22s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);background:#ffd652;box-shadow:0 13px 30px rgba(229,169,0,.3)}
.btn--outline{border-color:rgba(17,18,20,.16);background:#fff;box-shadow:none}
.btn--dark{background:var(--nb-ink);color:#fff;box-shadow:0 12px 30px rgba(17,18,20,.2)}
.btn--dark:hover,.btn--dark:focus-visible{background:#2b2d30}
.skip-link{position:fixed;z-index:9999;top:8px;left:8px;transform:translateY(-140%);padding:10px 15px;border-radius:8px;background:#fff;color:#000;font-weight:700}
.skip-link:focus{transform:none}

/* Header */
.topbar{background:#111214;color:#fff;font-size:.88rem}
.topbar__inner{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:20px}
.topbar__contacts,.topbar__socials{display:flex;align-items:center;gap:18px}
.topbar a{display:inline-flex;align-items:center;gap:8px;color:#fff;opacity:.9}
.topbar__contacts svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.topbar a:hover{color:var(--nb-yellow);opacity:1}
.social-icon{display:grid!important;width:28px;height:28px;place-items:center;border-radius:8px;background:#fff;color:#111!important;font-size:0!important;opacity:1!important}
.social-icon svg{width:15px;height:15px;fill:currentColor}
.social-icon--facebook{background:#1877f2!important;color:#fff!important}
.social-icon--instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)!important;color:#fff!important}
.social-icon--linkedin{background:#0a66c2!important;color:#fff!important}
.social-icon--google{background:#fff!important;color:#4285f4!important}
.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(17,18,20,.08);backdrop-filter:blur(14px)}
.admin-bar .site-header{top:32px}
.navbar{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex:0 0 auto;align-items:center}
.brand img{width:118px;max-height:72px;object-fit:contain}
.brand__text{font-family:"Raleway",sans-serif;font-size:1.05rem;font-weight:900;line-height:1.05}
.primary-nav{margin:auto}
.primary-nav>ul{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.nav-link,.menu-toggle-sub{display:flex;min-height:44px;align-items:center;gap:5px;padding:10px 11px;border:0;background:none;color:#25282c;font-family:"Raleway",sans-serif;font-size:.85rem;font-weight:750;white-space:nowrap}
.nav-link:hover,.nav-link:focus-visible,.menu-toggle-sub:hover{color:#8c6800}
.nav-item{position:relative}
.nav-caret{width:16px;height:16px;transition:transform .2s}
.nav-item:hover .nav-caret,.nav-item:focus-within .nav-caret{transform:rotate(180deg)}
.mega-menu{position:absolute;top:calc(100% + 14px);left:50%;width:min(900px,calc(100vw - 48px));padding:22px;border:1px solid var(--nb-line);border-radius:18px;background:#fff;box-shadow:var(--nb-shadow);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:.2s}
.nav-item--areas .mega-menu{left:auto;right:0;width:430px;transform:translate(0,10px)}
.nav-item:hover>.mega-menu,.nav-item:focus-within>.mega-menu,.nav-item.is-open>.mega-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-item--areas:hover>.mega-menu,.nav-item--areas:focus-within>.mega-menu,.nav-item--areas.is-open>.mega-menu{transform:translate(0,0)}
.mega-menu__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.mega-menu__grid--areas{grid-template-columns:1fr 1fr}
.mega-link{display:flex;min-height:58px;align-items:center;gap:11px;padding:9px;border-radius:12px;font-size:.82rem;font-weight:700;line-height:1.25}
.mega-link:hover,.mega-link:focus-visible{background:#fff8df;color:#6f5200}
.icon-3d{position:relative;display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:linear-gradient(145deg,#fff,#e8edf5);box-shadow:inset 3px 3px 6px rgba(255,255,255,.9),inset -4px -4px 8px rgba(73,87,112,.14),0 7px 14px rgba(31,42,61,.14)}
.icon-3d::after{position:absolute;top:4px;right:6px;left:6px;height:9px;border-radius:9px;background:linear-gradient(180deg,rgba(255,255,255,.9),transparent);content:"";pointer-events:none}
.icon-3d svg{position:relative;z-index:1;width:21px;height:21px;color:#2d6cdf;stroke:currentColor;stroke-width:2;fill:none;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}
.icon-3d .nbpi-icon--roof,.icon-3d .nbpi-icon--thermal{color:#e24a3b}
.icon-3d .nbpi-icon--foundation,.icon-3d .nbpi-icon--commercial{color:#536579}
.icon-3d .nbpi-icon--seller,.icon-3d .nbpi-icon--report{color:#805ad5}
.icon-3d .nbpi-icon--maintenance,.icon-3d .nbpi-icon--warranty,.icon-3d .nbpi-icon--clock{color:#e78b16}
.icon-3d .nbpi-icon--new-home,.icon-3d .nbpi-icon--investment,.icon-3d .nbpi-icon--shield{color:#15956b}
.icon-3d .nbpi-icon--multi{color:#635bce}
.icon-3d .nbpi-icon--radon{color:#7a4bc4}
.icon-3d .nbpi-icon--mold,.icon-3d .nbpi-icon--pest{color:#46923c}
.icon-3d .nbpi-icon--water,.icon-3d .nbpi-icon--air{color:#168fc5}
.icon-3d .nbpi-icon--pin{color:#dc3f4f}
.icon-3d .nbpi-icon--home{color:#d97b29}
.header-cta{flex:0 0 auto}
.menu-toggle{display:none;width:46px;height:46px;padding:10px;border:1px solid var(--nb-line);border-radius:12px;background:#fff}
.menu-toggle span{display:block;width:23px;height:2px;margin:5px auto;border-radius:2px;background:#111;transition:.2s}

/* Hero */
.hero{min-height:690px;padding:clamp(80px,10vw,130px) 0 85px;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.15) 78%),var(--hero-image) center/cover no-repeat}
.hero::after{position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#fff);content:""}
.hero__content{position:relative;z-index:2;max-width:735px}
.hero h1 span{position:relative;display:inline;color:#9a7100}
.hero h1 span::after{position:absolute;z-index:-1;right:-3px;bottom:3px;left:-3px;height:17px;border-radius:8px;background:rgba(255,198,39,.38);content:""}
.hero__lead{max-width:650px;font-size:clamp(1.05rem,1.8vw,1.27rem)}
.hero__actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:31px}
.hero__trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding:0;list-style:none;color:#30343a;font-size:.9rem;font-weight:700}
.hero__trust li::before{display:inline-grid;width:22px;height:22px;margin-right:7px;place-items:center;border-radius:50%;background:#e7f7ef;color:var(--nb-success);content:”\2713”}

/* Cards & grids */
.review-shell{padding:34px;border:1px solid var(--nb-line);border-radius:var(--nb-radius);background:#fff;box-shadow:var(--nb-shadow)}
.review-summary{display:flex;align-items:center;justify-content:center;gap:18px;margin:-14px 0 32px}
.review-score,.review-count{display:flex;min-width:190px;align-items:center;justify-content:center;gap:10px;padding:15px 20px;border:1px solid var(--nb-line);border-radius:15px;background:#fff;box-shadow:0 8px 28px rgba(17,18,20,.07)}
.review-score strong,.review-count strong{font:900 1.75rem "Raleway",sans-serif}
.review-score span,.review-count span{color:#636970;font-size:.85rem;font-weight:700;line-height:1.2}
.review-stars{color:#f4b400;font-size:1.05rem;letter-spacing:1px}
.review-placeholder{display:grid;min-height:210px;place-items:center;padding:35px;border:2px dashed #d7dbe1;border-radius:16px;text-align:center}
.review-placeholder strong{display:block;margin-bottom:8px;font:800 1.25rem "Raleway",sans-serif}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(45px,7vw,90px)}
.about-media{position:relative}
.about-media img{width:100%;min-height:500px;border-radius:30px;object-fit:cover;box-shadow:var(--nb-shadow)}
.about-media::before{position:absolute;z-index:-1;right:-24px;bottom:-24px;width:75%;height:75%;border-radius:28px;background:var(--nb-yellow);content:""}
.about-note{position:absolute;right:-18px;bottom:30px;max-width:220px;padding:18px;border-radius:15px;background:#fff;box-shadow:var(--nb-shadow);font-size:.88rem;font-weight:700}
.about-profile{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:13px 16px;border:1px solid var(--nb-line);border-radius:16px;background:#fff}
.about-profile img{width:64px;height:64px;flex:0 0 64px;border:3px solid var(--nb-yellow);border-radius:50%;object-fit:cover}
.about-profile strong{display:block;font:800 1rem "Raleway",sans-serif}
.about-profile span{display:block;color:#686e76;font-size:.87rem}
.about-copy p{margin-bottom:14px}
.about-copy p:first-child{font-size:1.08rem;color:#30343a}
.checks{display:grid;gap:9px;margin:25px 0;padding:0;list-style:none}
.checks li{position:relative;padding-left:31px;color:#30343a}
.checks li::before{position:absolute;top:2px;left:0;color:var(--nb-success);font-weight:900;content:"âœ“"}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cert-card{display:flex;min-height:335px;flex-direction:column;align-items:center;justify-content:center;padding:22px;border:1px solid var(--nb-line);border-radius:18px;background:#fff;text-align:center;transition:.25s}
.cert-card:hover{transform:translateY(-6px);box-shadow:var(--nb-shadow)}
.cert-card__media{display:grid;width:100%;height:205px;margin-bottom:18px;place-items:center;border-radius:12px;background:#fbfbfc}
.cert-card img{width:100%;height:195px;object-fit:contain}
.cert-card h3{margin-bottom:6px;font-size:1rem}
.cert-card p{margin:0;font-size:.84rem}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{position:relative;display:flex;min-height:265px;flex-direction:column;padding:27px;border:1px solid var(--nb-line);border-radius:18px;background:#fff;transition:.25s}
.service-card::after{position:absolute;right:0;bottom:0;width:75px;height:75px;border-radius:75px 0 18px;background:linear-gradient(135deg,transparent 45%,rgba(255,198,39,.2));content:""}
.service-card:hover{transform:translateY(-5px);border-color:#f1cf63;box-shadow:var(--nb-shadow)}
.service-card .icon-3d{width:54px;height:54px;margin-bottom:21px;border-radius:15px}
.service-card .icon-3d svg{width:27px;height:27px}
.service-card p{font-size:.94rem}
.service-card__link{margin-top:auto;color:#725600;font-weight:800}
.systems-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.system-card{padding:23px 17px;border-radius:16px;background:#fff;text-align:center;box-shadow:0 6px 24px rgba(17,18,20,.06)}
.system-card .icon-3d{margin:0 auto 15px}
.system-card h3{margin:0;font-size:1rem}
.split-feature{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,7vw,85px)}
.split-feature__media{position:relative;min-height:520px;border-radius:28px;background:var(--feature-image) center/cover no-repeat;box-shadow:var(--nb-shadow)}
.feature-list{display:grid;gap:13px;margin-top:25px}
.feature-item{display:flex;gap:14px;padding:16px;border:1px solid var(--nb-line);border-radius:14px;background:#fff}
.feature-item h3{margin:2px 0 4px;font-size:1rem}
.feature-item p{margin:0;font-size:.9rem}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step}
.process-card{position:relative;padding:31px 22px;border-radius:18px;background:#fff;counter-increment:step;box-shadow:0 8px 30px rgba(17,18,20,.07)}
.process-card::before{display:grid;width:44px;height:44px;margin-bottom:20px;place-items:center;border-radius:13px;background:var(--nb-yellow);font:900 1rem "Raleway",sans-serif;content:"0" counter(step)}
.process-card h3{font-size:1.05rem}
.area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.area-card{display:flex;min-height:170px;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px solid var(--nb-line);border-radius:18px;background:#fff;text-align:center;transition:.2s}
.area-card:hover{transform:translateY(-4px);border-color:#ebc443;box-shadow:0 15px 35px rgba(17,18,20,.08)}
.area-card .icon-3d{margin-bottom:14px}
.area-card h3{margin:0 0 4px;font-size:1.03rem}
.area-card small{color:#747980}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px}
.stats-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{padding:28px 20px;border:1px solid var(--nb-line);border-radius:18px;background:#fff}
.stat strong{display:block;color:#8b6800;font:900 clamp(2rem,4vw,3.2rem) "Raleway",sans-serif}
.stat span{display:block;color:#4d535c;font-size:.9rem;font-weight:700}
.convenience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.convenience{
  position:relative;overflow:hidden;padding:28px;border-radius:18px;color:#fff;
  background:
    linear-gradient(#3C3B6E,#3C3B6E) 0 0/38% 54% no-repeat,
    repeating-linear-gradient(180deg,#B22234 0,#B22234 7.69%,#fff 7.69%,#fff 15.38%)
}
.convenience::after{position:absolute;inset:0;background:rgba(0,0,0,.76);content:"";z-index:1}
.convenience>*{position:relative;z-index:2}
.convenience h3{color:#fff}
.convenience p{margin:0;color:#cbd0d6}
.convenience .icon-3d{margin-bottom:18px}
.badge-wall{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:18px}
.badge-wall__featured{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:24px}
.badge-wall__rest{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.badge-item{display:grid;min-height:145px;flex:0 0 calc(16.6667% - 12px);place-items:center;padding:12px;border:1px solid var(--nb-line);border-radius:14px;background:#fff}
.badge-item img{width:110px;height:100px;object-fit:contain;filter:saturate(.95)}
.badge-item--featured{flex:0 0 calc(23% - 16px)!important;min-height:210px!important;padding:20px!important;border:2.5px solid var(--nb-yellow)!important;border-radius:18px!important;box-shadow:0 6px 28px rgba(255,198,39,.2)!important}
.badge-item--featured img{width:160px!important;height:145px!important}
.final-cta{padding:clamp(65px,8vw,105px) 0}
.final-cta__box{position:relative;overflow:hidden;padding:clamp(38px,7vw,78px);border-radius:30px;background:linear-gradient(130deg,#ffc627,#ffe796);box-shadow:var(--nb-shadow)}
.final-cta__box::after{position:absolute;right:-70px;bottom:-130px;width:360px;height:360px;border:65px solid rgba(255,255,255,.35);border-radius:50%;content:""}
.final-cta__content{position:relative;z-index:2;max-width:740px}
.final-cta p{color:#38352c;font-size:1.08rem}
/* Eyebrow on yellow CTA box */
.final-cta__box .eyebrow{color:rgba(17,18,20,.6)}
.final-cta__box .eyebrow::before{background:var(--nb-ink);opacity:.35}
/* Slogan bigger, heading tighter */
.cta-slogan{font-size:clamp(1.35rem,2.5vw,3rem)!important}
.final-cta__content h2{font-size:clamp(1.55rem,3.2vw,2.5rem)!important}

/* Footer */
.site-footer{background:#0e0f11;color:#c2c7d0}
.footer-top{padding:72px 0 56px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-top__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:48px;align-items:start}
.footer-col--brand .footer-logo{width:130px;margin-bottom:18px;filter:brightness(0) invert(1) opacity(.9)}
.footer-brand-name{display:block;font-size:1.1rem;font-weight:800;color:#fff;line-height:1.3;margin-bottom:18px;letter-spacing:-.02em}
.footer-tagline{font-size:.88rem;line-height:1.65;color:#9aa0ac;margin:0 0 18px}
.footer-trust-badges{display:flex;flex-wrap:nowrap;gap:6px;margin-bottom:20px}
.ftb{font-size:.7rem;font-weight:700;background:rgba(255,198,39,.12);color:var(--nb-yellow);border:1px solid rgba(255,198,39,.2);border-radius:20px;padding:3px 8px;white-space:nowrap}
.footer-socials{display:flex;gap:12px}
.footer-socials a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);color:#c2c7d0;transition:background .2s,color .2s}
.footer-socials a:hover{background:var(--nb-yellow);color:#111}
.footer-socials a svg{width:17px;height:17px}
.footer-col__title{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 18px}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin-bottom:9px}
.footer-links a{font-size:.88rem;color:#9aa0ac;text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--nb-yellow)}
.footer-contact-list{list-style:none;margin:0 0 20px;padding:0}
.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#9aa0ac;margin-bottom:12px}
.footer-contact-list li svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:var(--nb-yellow)}
.footer-contact-list a{color:#9aa0ac;text-decoration:none;transition:color .2s}
.footer-contact-list a:hover{color:var(--nb-yellow)}
.footer-hours{margin-bottom:20px}
.footer-hours strong{display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.footer-hours ul{list-style:none;margin:0;padding:0}
.footer-hours li{display:flex;justify-content:space-between;font-size:.83rem;color:#9aa0ac;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-hours li:last-child{border-bottom:none}
.footer-cta{display:inline-block;margin-top:4px;background:var(--nb-yellow);color:#111;font-size:.88rem;font-weight:700;padding:11px 22px;border-radius:8px;text-decoration:none;transition:background .2s,transform .15s}
.footer-cta:hover{background:#e5a900;transform:translateY(-1px)}
.footer-bottom{background:#0a0b0d;padding:20px 0}
.footer-bottom__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{margin:0;font-size:.8rem;color:#666c76}
.footer-bottom-links{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.footer-bottom-links a{font-size:.8rem;color:#666c76;text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:var(--nb-yellow)}
.footer-license{font-size:.78rem;color:#555b63;margin:0}
@media(max-width:960px){.footer-top__grid{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:560px){.footer-top__grid{grid-template-columns:1fr}.footer-bottom__inner{flex-direction:column;text-align:center}.footer-bottom-links{justify-content:center}}
.floating-call{position:fixed;z-index:90;right:18px;bottom:18px;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--nb-yellow);box-shadow:0 12px 30px rgba(0,0,0,.22);color:var(--nb-ink);text-decoration:none}
.floating-call svg{width:24px;height:24px;fill:var(--nb-ink)}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media(max-width:1050px){
  .menu-toggle{display:block}.header-cta{display:none}.primary-nav{position:fixed;z-index:120;top:0;right:0;width:min(440px,100vw);max-width:100%;height:100dvh;margin:0;padding:82px 24px 30px;background:#fff;box-shadow:-20px 0 50px rgba(17,18,20,.15);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;visibility:hidden;pointer-events:none;transform:translateX(105%);transition:transform .28s ease,visibility .28s ease}
  .primary-nav.is-open{visibility:visible;pointer-events:auto;transform:none}.primary-nav>ul{display:block;width:100%;max-width:390px;margin:0 auto}.nav-link,.menu-toggle-sub{width:100%;min-height:56px;justify-content:space-between;padding:14px 12px;border-bottom:1px solid var(--nb-line);font-size:1rem}.nav-item{position:static}
  .mega-menu,.nav-item--areas .mega-menu{position:static;width:100%;max-height:0;padding:0;border:0;box-shadow:none;opacity:1;visibility:visible;overflow:hidden;transform:none!important;transition:max-height .28s}
  .nav-item.is-open>.mega-menu{max-height:1000px;padding:12px 0}.mega-menu__grid,.mega-menu__grid--areas{grid-template-columns:1fr 1fr}
  .menu-toggle.is-active{position:fixed;z-index:130;top:56px;right:24px}.menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-active span:nth-child(2){opacity:0}.menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .cert-grid,.services-grid{grid-template-columns:repeat(2,1fr)}.systems-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.area-grid{grid-template-columns:repeat(3,1fr)}.badge-item{flex-basis:calc(33.3333% - 12px)}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:760px){
  .container{width:min(calc(100% - 28px),var(--nb-container))}.section{padding:68px 0}.topbar__inner{min-height:38px}.topbar__contacts a:first-child span{display:none}.topbar__contacts{gap:12px}.topbar__contacts a:last-child{font-size:.8rem}.topbar__socials{gap:7px}.navbar{min-height:72px}.brand img{width:93px;max-height:62px}.admin-bar .site-header{top:46px}.primary-nav{width:100%;max-width:100%;padding:92px 20px 30px}.primary-nav>ul{max-width:none}.menu-toggle.is-active{top:50px;right:20px}
  .hero{min-height:670px;padding:85px 0 75px;background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 64%,rgba(255,255,255,.45) 100%),var(--hero-image) center/cover no-repeat}.hero__actions .btn{width:100%}.hero__trust{display:grid;gap:10px}
  .about-grid,.split-feature,.why-grid{grid-template-columns:1fr}.about-media{order:2}.about-media img{min-height:400px}.about-note{right:14px;left:14px;max-width:none}.split-feature__media{min-height:390px}.cert-grid,.services-grid,.systems-grid,.process-grid,.area-grid,.convenience-grid{grid-template-columns:1fr}.service-card{min-height:auto}.area-card{min-height:135px}.stats-panel{grid-template-columns:1fr 1fr}.badge-item{flex-basis:calc(50% - 9px)}
  .footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{display:block}.footer-bottom p+p{margin-top:7px}.floating-call{display:grid}.mega-menu__grid,.mega-menu__grid--areas{grid-template-columns:1fr}.mega-link{min-width:0}.mega-link span{min-width:0;overflow-wrap:anywhere}.review-shell{padding:18px}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-score,.review-count{min-width:0;padding:12px 9px}.review-score strong,.review-count strong{font-size:1.4rem}.final-cta .btn{max-width:100%;white-space:normal;text-align:center}
}
@media(max-width:420px){.topbar__inner{gap:8px}.topbar__contacts{min-width:0;gap:8px}.topbar__contacts a:last-child{font-size:.74rem}.social-icon{width:26px;height:26px}.stats-panel{grid-template-columns:1fr}.badge-wall{gap:10px}.badge-item{min-height:125px;flex-basis:calc(50% - 5px)}.badge-item img{height:95px}}

/* ============================================================
   v2.0.0 Global Component Additions
   ============================================================ */

/* Global SVG constraint â€” prevent unconstrained SVGs from going full-size */
svg.nbpi-icon { display: block; width: 24px; height: 24px; flex-shrink: 0; }
.icon-3d svg.nbpi-icon { width: 21px; height: 21px; }
.icon-3d--lg svg.nbpi-icon { width: 26px; height: 26px; }
.icon-3d--xl svg.nbpi-icon { width: 34px; height: 34px; }
.mega-menu__all-link svg.nbpi-icon { width: 21px; height: 21px; }
.topbar svg.nbpi-icon { width: 16px; height: 16px; }
.btn svg.nbpi-icon { width: 20px; height: 20px; }
.convenience-item__icon svg.nbpi-icon { width: 26px; height: 26px; }

/* Mega-menu all-link */
.mega-menu__all-link { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: #f8f9fa; margin-bottom: 12px; font-size: .88rem; color: var(--nb-ink); text-decoration: none; border: 1px solid #f0f0f0; }
.mega-menu__all-link:hover { background: #fff9e6; border-color: var(--nb-yellow); }
.mega-menu__all-link strong { display: block; font-size: .9rem; font-weight: 700; }
.mega-menu__all-link span { font-size: .8rem; color: var(--nb-muted,#4d535c); }

/* Orphan card centering â€” all grid sections */
.areas-cards-grid,
.all-services-grid,
.specialty-grid,
.systems-grid,
.cert-cards-grid,
.persona-grid,
.findings-grid,
.expect-grid { justify-content: center; }

/* Areas cards â€” flex-based for proper orphan centering */
.areas-cards-grid { display: flex; flex-wrap: wrap; gap: 24px; }
.area-big-card { flex: 0 1 calc(33.333% - 16px); min-width: 260px; }
@media (max-width: 860px) { .area-big-card { flex: 0 1 calc(50% - 12px); } }
@media (max-width: 540px) { .area-big-card { flex: 0 1 100%; } }

/* Area grid â€” flex for centering */
.area-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.area-card { flex: 0 1 calc(20% - 13px); min-width: 140px; }
@media (max-width: 900px) { .area-card { flex: 0 1 calc(33.333% - 11px); } }
@media (max-width: 540px) { .area-card { flex: 0 1 calc(50% - 8px); } }

/* Breadcrumb â€” targets actual PHP output (.breadcrumb nav > ol) */
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0;margin:0 0 20px}
.breadcrumb li{font-size:.82rem;font-weight:600}
.breadcrumb a{opacity:.7;transition:opacity .2s;text-decoration:none}
.breadcrumb a:hover{opacity:1}
.breadcrumb__sep{opacity:.4;font-size:.8rem}
/* Dark hero sections â€” breadcrumb inherits white */
.services-hero .breadcrumb,.area-hero .breadcrumb,.svc-hero .breadcrumb,.service-hero .breadcrumb{color:#fff}
/* Light hero sections â€” breadcrumb dark */
.cert-hero .breadcrumb,.about-hero .breadcrumb{color:var(--nb-copy)}
/* Legacy class kept for any old references */
.nbpi-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:18px;font-size:.82rem;font-weight:600;list-style:none;padding:0}
.nbpi-breadcrumb li{display:flex;align-items:center;gap:6px}
.nbpi-breadcrumb a{color:rgba(255,255,255,.65);transition:color .2s}
.nbpi-breadcrumb a:hover{color:#fff}
.nbpi-breadcrumb [aria-current="page"]{color:var(--nb-yellow)}
.nbpi-breadcrumb__sep{color:rgba(255,255,255,.35);font-size:.75rem}

/* Eyebrow light variant */
.eyebrow--light{color:rgba(255,255,255,.75)}
.eyebrow--light::before{background:var(--nb-yellow)}

/* Checks list */
.checks li{padding-left:28px}
.checks li::before{content:'\2713';color:var(--nb-yellow);font-weight:800;position:absolute;left:0;top:1px}

/* btn--outline variants */
.btn--outline-light{border-color:rgba(255,255,255,.55);background:transparent;color:#fff;box-shadow:none}
.btn--outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn--outline-dark{border-color:rgba(17,18,20,.22);background:transparent;color:var(--nb-ink);box-shadow:none}
.btn--outline-dark:hover{background:var(--nb-ink);color:#fff}

/* icon-3d size variants */
.icon-3d--lg{width:56px;height:56px;border-radius:16px}
.icon-3d--lg svg{width:28px;height:28px}
.icon-3d--xl{width:72px;height:72px;border-radius:20px;margin-bottom:14px}
.icon-3d--xl svg{width:34px;height:34px}

/* Mega-menu header row */
.mega-menu__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--nb-line)}
.mega-menu__header strong{font-size:.8rem;font-weight:800;color:var(--nb-ink);text-transform:uppercase;letter-spacing:.07em}
.mega-menu__header a{font-size:.8rem;font-weight:700;color:var(--nb-yellow)}

/* Nav active */
.nav-link--active,.nav-link--active:hover{color:var(--nb-yellow)!important}

/* Contact form â€” supports both .form-group/.form-grid (old CSS) and .form-field/.form-row (PHP output) */
/* .nbpi-form-wrap is the outer container with the card styling */
/* .nbpi-contact-form is the <form> tag inside â€” no extra background/shadow */
.nbpi-form-wrap{background:#fff;border-radius:22px;padding:28px 24px;box-shadow:0 12px 48px rgba(0,0,0,.1)}
.nbpi-contact-form{background:transparent;border-radius:0;padding:0;box-shadow:none}
.nbpi-form-wrap h3,.nbpi-contact-form h3{margin-bottom:6px;font-size:1.3rem}
.form-sub{color:var(--nb-copy);font-size:.9rem;margin-bottom:24px}
.form-grid,.form-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
.form-row--2{grid-template-columns:1fr 1fr}
.form-row--1{grid-template-columns:1fr}
.form-group,.form-field{display:flex;flex-direction:column;gap:5px}
.form-group--full{grid-column:1/-1}
.form-group label,.form-field label{font-size:.88rem;font-weight:600;color:var(--nb-ink);display:block;margin-bottom:4px}
.form-group label .req,.form-field label span[aria-hidden]{color:#e53e3e;margin-left:2px}
.form-group input,.form-group select,.form-group textarea,
.form-field input,.form-field select,.form-field textarea{border:2px solid #e8e8e8;border-radius:10px;padding:11px 14px;font-size:.95rem;font-family:inherit;color:var(--nb-ink);background:#fafafa;transition:border-color .2s;width:100%;box-sizing:border-box}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--nb-yellow);outline:none;background:#fff}
.form-group textarea,.form-field textarea{resize:vertical;min-height:110px}
.form-submit{margin-top:8px}
.form-submit .btn{width:100%;justify-content:center;font-size:1rem}
.form-notice{padding:12px 16px;border-radius:10px;font-size:.9rem;font-weight:600;margin-top:12px;text-align:center}
.form-notice--success{background:#d4edda;color:#155724}
.form-notice--error{background:#f8d7da;color:#721c24}

/* FAQ accordion */
.faq-list{max-width:800px;margin:40px auto 0}
.faq-list--wide{max-width:900px}
.faq-item{border:1px solid #e8e8e8;border-radius:12px;overflow:hidden;margin-bottom:12px}
.faq-question{width:100%;background:#fff;border:none;cursor:pointer;padding:20px 24px;font-size:1rem;font-weight:600;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--nb-ink);transition:background .2s;font-family:"Raleway",sans-serif}
.faq-question:hover{background:#f8f9fa}
.faq-question[aria-expanded="true"]{background:#fff9e6}
.faq-caret{width:20px;height:20px;flex-shrink:0;transition:transform .25s;stroke:currentColor;fill:none}
.faq-question[aria-expanded="true"] .faq-caret{transform:rotate(180deg)}
.faq-answer{padding:0 24px 20px;font-size:.95rem;color:var(--nb-copy)}

/* Final CTA dark variant on area/service pages */
.final-cta__box{position:relative;overflow:hidden;padding:clamp(38px,7vw,78px);border-radius:30px;box-shadow:var(--nb-shadow)}
.final-cta__content h2{color:inherit}
.final-cta__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.final-cta .btn--dark{background:#fff;color:var(--nb-ink)}
.final-cta .btn--dark:hover{background:#f0f0f0}
.final-cta .btn--outline-dark{border-color:rgba(17,18,20,.35);color:var(--nb-ink)}
.final-cta .btn--outline-dark:hover{background:var(--nb-ink);color:#fff}

@media(max-width:760px){
  .form-grid,.form-row,.form-row--2{grid-template-columns:1fr}
  .nbpi-contact-form{padding:24px 20px}
  .final-cta__btns .btn{width:100%;text-align:center}
}


/* ============================================================
   County List + City Pills (global — used on multiple pages)
   ============================================================ */
.county-list{margin-top:48px}
.county-list__item{padding:32px 0;border-bottom:1px solid #ebebeb}
.county-list__item:first-child{border-top:1px solid #ebebeb}
.county-list__heading{font-size:1.6rem;font-weight:800;color:var(--nb-ink);margin:0 0 20px;text-align:center}
.county-list__cities{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.city-pill{display:inline-flex;align-items:center;background:var(--nb-yellow);color:var(--nb-ink);font-size:.9rem;font-weight:700;padding:10px 24px;border-radius:8px;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}
.city-pill:hover{background:#e8b400;transform:translateY(-2px)}
/* Compact variant for inner pages */
.county-list--compact .county-list__item{padding:22px 0}
.county-list--compact .county-list__heading{font-size:1.25rem;margin:0 0 14px}
.county-list--compact .city-pill{font-size:.85rem;padding:8px 18px}
@media(max-width:600px){.county-list__heading{font-size:1.3rem}.city-pill{font-size:.85rem;padding:9px 18px}}


/* Indiana county map */
.indiana-map-wrap{background:#fff;border:2px solid #f0f0f0;border-radius:18px;padding:22px 18px;text-align:center;margin-bottom:20px}
.indiana-map-title{font-size:.95rem;font-weight:700;margin:0 0 12px;color:var(--nb-ink,#111)}
.indiana-map-svg{max-width:280px;width:100%;height:auto;display:block;margin:0 auto}
.indiana-map-note{font-size:.78rem;color:var(--nb-muted,#888);margin:10px 0 0;line-height:1.5}

/* Small-phone safety (<=400px): let content wrap instead of overflowing */
.footer-top__grid > *, .differentiators-grid > * { min-width: 0; }
.footer-trust-badges { flex-wrap: wrap; }
.contact-hero__contact-list > * { min-width: 0; }
.contact-hero__contact-list a { overflow-wrap: anywhere; word-break: break-word; }
.footer-contact-list a { overflow-wrap: anywhere; word-break: break-word; }
.footer-contact-list li, .footer-contact-list li > * { min-width: 0; }
