/* ==========================================================================
   ARC Inspection Group — Core Stylesheet
   Elementor-free. Plain CSS, no build step, no framework.
   Convert to WordPress: enqueue this file in functions.php.
   ========================================================================== */

:root{
  --coral:#EA5A34; --coral-2:#ff7a52; --coral-dark:#cf4a2b; --coral-soft:#FFF0EB;
  --navy:#0E1B33; --navy-2:#152847;
  --ink:#2b3852; --slate:#586074; --muted:#7c8aa0;
  --line:#e9edf3; --line-2:#eef2f7;
  --bg:#ffffff; --cream:#FBF7F2; --soft:#f5f8fc;
  --green:#18a06b; --amber:#e8a13a; --gold:#f5b301;
  --shadow-sm:0 4px 14px rgba(14,27,51,.06);
  --shadow:0 16px 40px rgba(14,27,51,.09);
  --shadow-lg:0 30px 70px rgba(14,27,51,.16);
  --maxw:1200px;
  --radius:16px;
}

/* ---------- reset ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.62;font-size:17px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:'Sora',system-ui,sans-serif;color:var(--navy);line-height:1.12;letter-spacing:-.025em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
svg{display:block}
ul{list-style:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--coral);color:#fff;padding:12px 20px;z-index:200;font-family:'Sora';font-weight:600;border-radius:0 0 8px 0}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.section{padding:88px 0}
.section-sm{padding:64px 0}
.center{text-align:center}
.bg-soft{background:var(--soft)}
.bg-cream{background:var(--cream)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-family:'Sora';border-radius:12px;padding:14px 26px;font-size:15.5px;cursor:pointer;border:none;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s,color .18s;white-space:nowrap;text-align:center}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.btn-primary{background:var(--coral);color:#fff;box-shadow:0 10px 24px rgba(234,90,52,.32)}
.btn-primary:hover{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 14px 30px rgba(234,90,52,.42)}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.28)}
.btn-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn-outline:hover{border-color:var(--coral);color:var(--coral)}
.btn-lg{padding:17px 32px;font-size:16.5px;border-radius:14px}
.btn-block{width:100%}

/* ---------- typography helpers ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Sora';font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--coral);border-radius:2px;display:inline-block}
.eyebrow.no-rule::before{display:none}
.sec-head{max-width:700px;margin:0 auto 52px}
.sec-head.center{text-align:center}
.sec-head h1,.sec-head h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;margin:14px 0}
.sec-head p{color:var(--muted);font-size:18px}
.lede{color:var(--slate);font-size:18.5px;line-height:1.6}

/* icon tile */
.tile{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0eb,#ffe2d8);border:1px solid #ffd9cc;flex:0 0 auto}
.tile svg{width:26px;height:26px;stroke:var(--coral);fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.tile.dark{background:linear-gradient(145deg,rgba(234,90,52,.18),rgba(234,90,52,.08));border-color:rgba(234,90,52,.25)}
.tile.dark svg{stroke:var(--coral-2)}

/* ---------- top bar ---------- */
.topbar{background:var(--navy);color:#c3cee0;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:20px;flex-wrap:wrap}
.topbar a{color:#c3cee0;display:inline-flex;align-items:center;gap:7px;font-weight:500}
.topbar a:hover{color:#fff}
.topbar svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
.topbar .tb-right{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.tb-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);padding:5px 13px;border-radius:8px;font-weight:600;color:#e7edf7}
.tb-badge svg{stroke:var(--coral-2);width:14px;height:14px}
@media(max-width:860px){.topbar .tb-left{display:none}.topbar .wrap{justify-content:center}}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.logo{display:flex;align-items:center;gap:12px}
.logo .mark svg{width:42px;height:42px}
.logo .lg-1{font-family:'Sora';font-weight:800;font-size:23px;color:var(--navy);line-height:1;letter-spacing:.02em;display:block}
.logo .lg-1 b{color:var(--coral)}
.logo .lg-2{font-size:9.5px;letter-spacing:.3em;color:var(--slate);font-weight:600;margin-top:3px;display:block}
.main-nav{display:flex;gap:26px;align-items:center;font-weight:600;font-family:'Sora';font-size:15px;color:var(--navy)}
.main-nav a{padding:8px 0;position:relative}
.main-nav a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--coral);border-radius:2px;transition:width .22s}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--coral)}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{width:100%}
.header-cta{display:flex;align-items:center;gap:14px}
.header-phone{font-family:'Sora';font-weight:800;color:var(--navy);font-size:16px;display:flex;align-items:center;gap:8px}
.header-phone svg{width:17px;height:17px;stroke:var(--coral);fill:none;stroke-width:1.9}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.nav-toggle svg{width:22px;height:22px;stroke:var(--navy);fill:none;stroke-width:2}
@media(max-width:1024px){
  .main-nav{position:fixed;inset:78px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 26px 22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}
  .main-nav.open{display:flex}
  .main-nav a{padding:14px 0;border-bottom:1px solid var(--line-2);font-size:16.5px}
  .nav-toggle{display:flex}
  .header-phone span{display:none}
}
@media(max-width:560px){.header-cta .btn{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;background:radial-gradient(1200px 600px at 78% -10%,#22375f 0%,transparent 60%),radial-gradient(900px 500px at 8% 110%,#1c2f52 0%,transparent 55%),linear-gradient(135deg,#0E1B33 0%,#13284a 100%);background-color:#0E1B33;color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 70% 30%,rgba(234,90,52,.2),transparent 62%);pointer-events:none}
.hero .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 60% 40%,#000,transparent 75%);mask-image:radial-gradient(circle at 60% 40%,#000,transparent 75%)}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;padding:78px 26px 88px}
.hero h1{color:#fff;font-size:clamp(34px,4.6vw,56px);font-weight:800;margin-bottom:20px;letter-spacing:-.03em}
.hero h1 .hl{color:#ff9f7e}
.hero .sub{font-size:18.5px;color:#c3cfe1;max-width:520px;margin-bottom:30px}
.hero .sub strong{color:#fff;font-weight:600}
.hero-badges{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}
.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:8px 15px;border-radius:999px;font-size:13px;font-weight:600;color:#e9eff8}
.chip svg{width:15px;height:15px;stroke:var(--coral-2);fill:none;stroke-width:1.9}
.chip.star svg{stroke:var(--gold);fill:var(--gold)}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
.hero-stats{display:flex;gap:30px;margin-top:38px;flex-wrap:wrap}
.hero-stats b{font-family:'Sora';font-size:29px;color:#fff;font-weight:800;display:block;letter-spacing:-.02em}
.hero-stats span{font-size:13px;color:#aeb9cd}
@media(max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:46px}}

/* ---------- report card graphic ---------- */
.report{width:100%;max-width:410px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);color:var(--ink);overflow:hidden;position:relative}
.report-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-2);background:var(--soft)}
.report-file{display:flex;align-items:center;gap:11px;min-width:0}
.report-file .fico{width:38px;height:38px;border-radius:10px;background:var(--coral-soft);display:grid;place-items:center;flex:0 0 auto}
.report-file .fico svg{width:19px;height:19px;stroke:var(--coral);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.report-file b{font-family:'Sora';font-size:14px;color:var(--navy);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report-file span{font-size:11.5px;color:var(--muted)}
.pill-live{display:inline-flex;align-items:center;gap:6px;background:#e7f8f0;color:var(--green);font-weight:700;font-size:11.5px;padding:5px 11px;border-radius:999px;font-family:'Sora';flex:0 0 auto}
.pill-live i{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(24,160,107,.5)}70%{box-shadow:0 0 0 7px rgba(24,160,107,0)}100%{box-shadow:0 0 0 0 rgba(24,160,107,0)}}
.report-body{padding:20px}
.report-top{display:flex;gap:14px;margin-bottom:16px}
.thermal{flex:1;height:96px;border-radius:12px;background:linear-gradient(135deg,#3b1d6e,#c0246b 42%,#f26f2c 72%,#f7d34a);position:relative}
.thermal::after{content:"THERMAL";position:absolute;left:10px;bottom:8px;font-family:'Sora';font-size:9.5px;letter-spacing:.14em;color:rgba(255,255,255,.92);font-weight:700}
.score{width:96px;height:96px;border-radius:12px;background:var(--soft);display:grid;place-items:center;position:relative;flex:0 0 auto}
.score svg{width:76px;height:76px;transform:rotate(-90deg)}
.score .lab{position:absolute;text-align:center;width:100%}
.score .lab b{font-family:'Sora';font-size:21px;color:var(--navy);display:block;line-height:1}
.score .lab span{font-size:9px;color:var(--muted);letter-spacing:.02em}
.rrow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px dashed var(--line)}
.rrow:last-child{border-bottom:none}
.rrow .ck{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto}
.rrow .ck svg{width:13px;height:13px;stroke-width:2.4;fill:none}
.ck.ok{background:#e7f8f0}.ck.ok svg{stroke:var(--green)}
.ck.warn{background:#fdf1df}.ck.warn svg{stroke:var(--amber)}
.rrow .rn{font-size:13.5px;font-weight:600;color:var(--ink);flex:1;font-family:'Sora'}
.rrow .rs{font-size:11.5px;font-weight:600;color:var(--muted)}
.rrow .rs.g{color:var(--green)}.rrow .rs.a{color:var(--amber)}
.report-foot{padding:14px 20px;border-top:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between;background:var(--soft)}
.report-foot .rate{display:flex;align-items:center;gap:8px}
.stars{display:flex;gap:2px}
.stars svg{width:15px;height:15px;fill:var(--gold);stroke:none}
.report-foot .rate b{font-family:'Sora';font-size:14px;color:var(--navy)}
.report-foot .trec{font-size:11px;color:var(--muted);font-weight:600;font-family:'Sora'}

/* ---------- credentials strip ---------- */
.creds-strip{background:#fff;border-bottom:1px solid var(--line)}
.creds-strip .wrap{padding:24px 26px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.creds-strip .lab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;font-family:'Sora'}
.cert{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.cert svg{width:22px;height:22px;stroke:var(--navy);fill:none;stroke-width:1.7}
.cert b{font-family:'Sora';font-size:13.5px;color:var(--navy);display:block;line-height:1.2}
.cert span{font-size:11px;color:var(--muted);font-weight:500}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;position:relative;transition:transform .18s,box-shadow .18s;overflow:hidden}
.step::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--coral);transition:width .3s}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.step:hover::before{width:100%}
.step .num{position:absolute;top:24px;right:26px;font-family:'Sora';font-weight:800;font-size:42px;color:#f0f3f8;line-height:1}
.step h3{font-size:20px;margin:20px 0 8px}
.step p{color:var(--muted);font-size:15.5px}
@media(max-width:800px){.steps{grid-template-columns:1fr}}

/* ---------- services grid ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column}
.svc:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#f2d3ca}
.svc h3{font-size:18.5px;margin:18px 0 8px}
.svc p{color:var(--muted);font-size:14.5px;margin-bottom:16px;flex:1}
.svc .more{color:var(--coral);font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:6px;font-family:'Sora'}
.svc .more svg{width:15px;height:15px;stroke:var(--coral);fill:none;stroke-width:2.1;transition:transform .2s}
.svc:hover .more svg{transform:translateX(4px)}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* ---------- why band (navy) ---------- */
.why{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;top:-120px;right:-120px;width:420px;height:420px;background:radial-gradient(circle,rgba(234,90,52,.22),transparent 65%)}
.why .wrap{position:relative;z-index:2}
.why .sec-head h2{color:#fff}
.why .sec-head p{color:#b9c5da}
.whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.whyitem{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);padding:28px;transition:.2s}
.whyitem:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}
.whyitem h3{color:#fff;font-size:17.5px;margin:18px 0 8px}
.whyitem p{color:#9fb0c8;font-size:14.5px}
@media(max-width:900px){.whygrid{grid-template-columns:1fr}}

/* ---------- packages ---------- */
.pkg-wrap{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:900px;margin:0 auto}
.pkg{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 32px;position:relative;display:flex;flex-direction:column}
.pkg.featured{border:2px solid var(--coral);box-shadow:var(--shadow-lg)}
.pkg .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--coral);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.06em;padding:6px 16px;border-radius:999px;text-transform:uppercase;font-family:'Sora';white-space:nowrap}
.pkg .pk-name{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:'Sora'}
.pkg .price{font-family:'Sora';font-weight:800;color:var(--navy);font-size:40px;margin:8px 0 2px;letter-spacing:-.02em}
.pkg .price span{font-size:15px;color:var(--muted);font-weight:500;letter-spacing:0}
.pkg .desc{color:var(--muted);font-size:14.5px;margin-bottom:20px;min-height:44px}
.pkg ul{margin-bottom:26px;flex:1}
.pkg li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14.5px;color:var(--ink)}
.pkg li .ck{width:20px;height:20px;border-radius:6px;background:#e7f8f0;display:grid;place-items:center;flex:0 0 auto;margin-top:2px}
.pkg li .ck svg{width:12px;height:12px;stroke:var(--green);stroke-width:2.6;fill:none}
.pkg li.plus{font-weight:700;color:var(--navy);font-family:'Sora'}
.pkg li.plus .ck{background:var(--coral-soft)}
.pkg li.plus .ck svg{stroke:var(--coral)}
@media(max-width:760px){.pkg-wrap{grid-template-columns:1fr}}

/* ---------- reviews ---------- */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.rev .stars{margin-bottom:14px}
.rev .stars svg{width:17px;height:17px}
.rev p{font-size:15px;color:var(--ink);margin-bottom:18px;line-height:1.65}
.rev .who{display:flex;align-items:center;gap:12px}
.rev .av{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-family:'Sora';flex:0 0 auto}
.rev .who b{display:block;color:var(--navy);font-size:15px;font-family:'Sora'}
.rev .who span{color:var(--muted);font-size:13px}
@media(max-width:900px){.rev-grid{grid-template-columns:1fr}}
.google-badge{display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 24px;box-shadow:var(--shadow);margin-top:36px}
.google-badge .g b{font-family:'Sora';font-size:26px;color:var(--navy);line-height:1}
.google-badge .stars svg{width:17px;height:17px}
.google-word span:nth-child(1){color:#4285F4}.google-word span:nth-child(2){color:#EA4335}
.google-word span:nth-child(3){color:#FBBC05}.google-word span:nth-child(4){color:#4285F4}
.google-word span:nth-child(5){color:#34A853}.google-word span:nth-child(6){color:#EA4335}
.google-word{font-family:'Sora';font-weight:700;font-size:16px}

/* ---------- lead band ---------- */
.leadband{background:linear-gradient(115deg,#EA5A34,#cf4a2b);color:#fff;position:relative;overflow:hidden}
.leadband::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 25% 50%,#000,transparent 70%);mask-image:radial-gradient(circle at 25% 50%,#000,transparent 70%)}
.leadband .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.leadband h2{color:#fff;font-size:clamp(28px,3.4vw,40px);margin-bottom:14px}
.leadband .lb-intro{color:#ffe4da;font-size:18px;margin-bottom:22px}
.lead-list li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:16px;padding:5px 0}
.lead-list .ck{width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:0 0 auto}
.lead-list .ck svg{width:14px;height:14px;stroke:#fff;stroke-width:2.6;fill:none}
@media(max-width:820px){.leadband .wrap{grid-template-columns:1fr;gap:32px}}

/* ---------- forms ---------- */
.form-card{background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow-lg)}
.form-card h2,.form-card h3{color:var(--navy);font-size:22px;margin-bottom:6px}
.form-card .fp{color:var(--muted);font-size:14px;margin-bottom:18px}
.form-card .fp b{color:var(--coral)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label.field{display:block;margin-bottom:12px}
label.field .lbl{display:block;font-size:13px;font-weight:600;color:var(--slate);margin-bottom:5px;font-family:'Sora'}
input,select,textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:.15s}
input::placeholder,textarea::placeholder{color:#9aa7bb}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(234,90,52,.12)}
textarea{min-height:110px;resize:vertical}
.form-card .assure{text-align:center;color:var(--muted);font-size:12.5px;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px}
.form-card .assure svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:1.8}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:820px;margin:0 auto}
.faq{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;background:#fff;transition:.2s}
.faq[open]{border-color:#f2d3c8;box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;padding:20px 24px;font-family:'Sora';font-weight:700;color:var(--navy);font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .aw{width:26px;height:26px;flex:0 0 auto;border-radius:8px;background:var(--cream);display:grid;place-items:center;transition:.25s}
.faq summary .aw svg{width:15px;height:15px;stroke:var(--coral);stroke-width:2.2;fill:none;transition:transform .25s}
.faq[open] summary .aw{background:var(--coral)}
.faq[open] summary .aw svg{stroke:#fff;transform:rotate(180deg)}
.faq .faq-body{padding:0 24px 22px;color:var(--muted);font-size:15px;line-height:1.7}

/* ---------- service areas ---------- */
.areas{background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden}
.areas::before{content:"";position:absolute;bottom:-140px;left:50%;transform:translateX(-50%);width:600px;height:300px;background:radial-gradient(circle,rgba(234,90,52,.2),transparent 65%)}
.areas .wrap{position:relative;z-index:2}
.areas h2{color:#fff}
.areas .sec-head p{color:#b9c5da}
.area-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}
.area-tags a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#dfe6f2;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;transition:.15s}
.area-tags a:hover{background:var(--coral);border-color:var(--coral);color:#fff;transform:translateY(-2px)}

/* ---------- footer ---------- */
.site-footer{background:#0e1a30;color:#aeb9cd;padding:64px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px}
.site-footer h2{color:#fff;font-size:13px;margin-bottom:16px;letter-spacing:.1em;text-transform:uppercase;font-family:'Sora'}
.site-footer a{color:#aeb9cd;display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14.5px}
.site-footer a:hover{color:#fff}
.site-footer a svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 auto}
.foot-logo{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.foot-logo .mark svg{width:40px;height:40px}
.foot-logo .lg-1{font-family:'Sora';font-weight:800;font-size:21px;color:#fff;display:block;line-height:1}
.foot-logo .lg-1 b{color:var(--coral)}
.foot-logo .lg-2{font-size:9px;letter-spacing:.3em;color:#7c8aa0;font-weight:600;margin-top:2px;display:block}
.foot-about{font-size:14.5px;max-width:290px;line-height:1.7}
.creds{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.creds span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:5px 11px;border-radius:6px;font-size:11.5px;color:#cad4e4;font-family:'Sora'}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13.5px}
.foot-bottom a{display:inline}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;place-items:center;padding:0}
.social a:hover{background:var(--coral)}
.social svg{width:17px;height:17px;stroke:none;fill:currentColor}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- sticky mobile bar ---------- */
.mobbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 14px;gap:10px;box-shadow:0 -6px 20px rgba(14,27,51,.1)}
.mobbar .btn{flex:1}
@media(max-width:760px){.mobbar{display:flex}body{padding-bottom:76px}}

/* ---------- page hero (inner pages) ---------- */
.page-hero{background:radial-gradient(900px 460px at 75% -20%,#22375f,transparent 60%),linear-gradient(135deg,#0E1B33,#13284a);background-color:#0E1B33;color:#fff;padding:64px 0 60px;position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:clamp(30px,4vw,46px);font-weight:800;margin:14px 0 14px;max-width:820px}
.page-hero p{color:#c3cfe1;font-size:18.5px;max-width:660px}
.page-hero .hero-actions{margin-top:26px}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:#8fa0ba;flex-wrap:wrap}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{color:#5f7396}
.breadcrumb .sep{color:#5f7396}

/* ---------- prose (article content) ---------- */
.prose{max-width:780px}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin:38px 0 14px}
.prose h3{font-size:20px;margin:28px 0 10px}
.prose p{margin-bottom:16px;color:var(--slate);font-size:16.5px}
.prose ul{margin:0 0 18px}
.prose ul li{position:relative;padding-left:30px;margin-bottom:10px;color:var(--slate)}
.prose ul li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border-radius:5px;background:var(--coral-soft)}
.prose ul li::after{content:"";position:absolute;left:5px;top:13px;width:6px;height:3px;border-left:2px solid var(--coral);border-bottom:2px solid var(--coral);transform:rotate(-45deg)}
.prose strong{color:var(--navy)}
.prose a{color:var(--coral);font-weight:600;text-decoration:underline}

/* two-column content + sidebar */
.with-side{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}
.sidebar{position:sticky;top:100px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);margin-bottom:20px}
.side-card h2,.side-card h3{font-size:19px;margin-bottom:12px}
.side-card p{color:var(--muted);font-size:14.5px;margin-bottom:16px}
.side-list li{display:flex;gap:10px;padding:7px 0;font-size:14.5px;align-items:flex-start}
.side-list svg{width:18px;height:18px;stroke:var(--coral);fill:none;stroke-width:2.2;flex:0 0 auto;margin-top:3px}
@media(max-width:980px){.with-side{grid-template-columns:1fr;gap:32px}.sidebar{position:static}}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Google rating summary card ---------- */
.rating-card{display:flex;flex-direction:column;background:linear-gradient(160deg,#fff,#fbf7f2);border-color:#f2ddd3}
.rating-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.rating-num{font-family:'Sora';font-weight:800;font-size:44px;color:var(--navy);line-height:1}
.rating-sub{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.rating-lead{font-size:14px !important;color:var(--muted) !important;margin-bottom:10px !important;font-weight:600}
.rating-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;flex:1;align-content:flex-start}
.rating-tags li{background:var(--coral-soft);color:var(--coral-dark);border:1px solid #ffd9cc;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;font-family:'Sora'}

/* ============================================================
   ADDITIVE COMPONENTS — blog, article, pricing table, 404,
   inspector-network form. Uses existing tokens only; nothing
   above this line is modified.
   ============================================================ */

/* --- Blog index --- */
.cat-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto 44px}
.cat-tags a{background:#fff;border:1px solid var(--line);color:var(--slate);padding:9px 18px;
  border-radius:999px;font:500 14.5px/1 Inter,sans-serif;text-decoration:none;transition:.15s}
.cat-tags a:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-2px)}
.cat-tags a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}

.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dfe6f0}
.post .thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy),var(--navy-2));
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.post .thumb::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 78% 18%,rgba(234,90,52,.55),transparent 58%)}
.post .thumb svg{width:44px;height:44px;fill:none;stroke:rgba(255,255,255,.75);stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.post .thumb img{width:100%;height:100%;object-fit:cover}
.post .pbody{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.post-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.post-cat{font:600 11.5px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:var(--coral);background:var(--coral-soft);padding:6px 10px;border-radius:999px}
.post-date{font-size:13px;color:var(--muted)}
.post h3{font:700 19px/1.35 Sora,sans-serif;color:var(--navy);margin:0 0 10px}
.post h3 a{color:inherit;text-decoration:none}
.post h3 a:hover{color:var(--coral)}
.post p{font-size:15px;line-height:1.65;color:var(--slate);margin:0 0 18px}
.post .more,.post-feature .more{margin-top:auto;color:var(--coral);font-weight:700;font-size:14.5px;
  display:inline-flex;align-items:center;gap:6px;font-family:'Sora',sans-serif;text-decoration:none}
.post .more svg,.post-feature .more svg{width:15px;height:15px;flex:none;stroke:var(--coral);fill:none;
  stroke-width:2.1;transition:transform .2s}
.post:hover .more svg{transform:translateX(4px)}

.post-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);margin-bottom:40px}
.post-feature .thumb{position:relative;aspect-ratio:auto;min-height:320px;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.post-feature .thumb::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 78% 18%,rgba(234,90,52,.55),transparent 58%)}
.post-feature .thumb svg{width:62px;height:62px;flex:none;fill:none;stroke:rgba(255,255,255,.75);
  stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.post-feature .thumb img{width:100%;height:100%;object-fit:cover}
.post-feature .pbody{padding:38px 40px}
.post-feature h2{font:800 30px/1.25 Sora,sans-serif;color:var(--navy);margin:0 0 14px}
.post-feature h2 a{color:inherit;text-decoration:none}
.post-feature h2 a:hover{color:var(--coral)}
.post-feature p{font-size:16.5px;margin-bottom:22px}

.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:48px;flex-wrap:wrap}
.pagination a,.pagination span{min-width:42px;height:42px;display:inline-flex;align-items:center;
  justify-content:center;padding:0 14px;border:1px solid var(--line);border-radius:10px;
  font:600 15px/1 Inter,sans-serif;color:var(--ink);text-decoration:none;background:#fff}
.pagination a:hover{border-color:var(--coral);color:var(--coral)}
.pagination .current{background:var(--navy);border-color:var(--navy);color:#fff}

/* --- Single article --- */
.article-head{max-width:820px;margin:0 auto}
.article-body{max-width:820px;margin:0 auto}
.article-body img{width:100%;height:auto;border-radius:var(--radius);margin:26px 0}
.byline{display:flex;align-items:center;gap:14px;padding:18px 0;margin:26px 0 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline .av{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font:700 15px/1 Sora,sans-serif;flex:none}
.byline b{display:block;font:600 15.5px/1.3 Inter,sans-serif;color:var(--navy)}
.byline span span{font-size:13.5px;color:var(--muted)}
.toc{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin:30px 0}
.toc h2{font:700 15px/1 Sora,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy);margin:0 0 14px}
.toc ol{margin:0;padding-left:20px}
.toc li{margin-bottom:8px;font-size:15.5px}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--coral);text-decoration:underline}
.share{display:flex;align-items:center;gap:10px;margin:34px 0 0;flex-wrap:wrap}
.share span{font:600 14px/1 Inter,sans-serif;color:var(--muted)}
.share a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:flex;
  align-items:center;justify-content:center;color:var(--slate)}
.share a:hover{border-color:var(--coral);color:var(--coral)}
.share svg{width:17px;height:17px;fill:currentColor}

/* --- Pricing / cost table --- */
.ptable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);background:#fff}
.ptable{width:100%;border-collapse:collapse;min-width:560px}
.ptable caption{text-align:left;padding:20px 24px 0;font:600 14px/1.5 Inter,sans-serif;color:var(--muted)}
.ptable th,.ptable td{padding:16px 24px;text-align:left;border-bottom:1px solid var(--line-2);font-size:15.5px}
.ptable thead th{background:var(--navy);color:#fff;font:600 14px/1.3 Sora,sans-serif;
  letter-spacing:.04em;text-transform:uppercase;border-bottom:none}
.ptable tbody tr:last-child td{border-bottom:none}
.ptable tbody tr:nth-child(even){background:#fbfcfe}
.ptable td b{color:var(--navy);font-weight:700}
.ptable .hi{color:var(--coral);font-weight:700}

.factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.factor{background:#fff;border:1px solid var(--line);border-left:3px solid var(--coral);
  border-radius:12px;padding:24px 24px 22px;box-shadow:var(--shadow-sm)}
.factor h3{font:700 17.5px/1.35 Sora,sans-serif;color:var(--navy);margin:0 0 8px}
.factor p{font-size:15px;line-height:1.65;color:var(--slate);margin:0}

/* --- Inspector network --- */
.net-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.net{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;
  box-shadow:var(--shadow-sm)}
.net h3{font:700 18.5px/1.35 Sora,sans-serif;color:var(--navy);margin:12px 0 8px}
.net p{font-size:15px;line-height:1.68;color:var(--slate);margin:0}
.form-card .field-note{font-size:13px;color:var(--muted);margin:-6px 0 14px}
.form-card textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  font:400 15.5px/1.6 Inter,sans-serif;color:var(--ink);background:#fff;resize:vertical;min-height:110px}
.form-card textarea:focus{outline:2px solid var(--coral);outline-offset:1px;border-color:var(--coral)}
.form-card input[type=file]{width:100%;font-size:14.5px;color:var(--slate);padding:10px 0}

/* --- 404 --- */
.err{text-align:center;padding:96px 0 84px}
.err .code{font:800 clamp(88px,16vw,168px)/.9 Sora,sans-serif;color:var(--navy);
  letter-spacing:-.04em;margin:0 0 6px;opacity:.12}
.err h1{font:800 clamp(28px,4.4vw,42px)/1.2 Sora,sans-serif;color:var(--navy);margin:-40px 0 16px;position:relative}
.err p{max-width:560px;margin:0 auto 30px;font-size:17px;line-height:1.7;color:var(--slate)}
.err-links{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:900px;
  margin:44px auto 0;text-align:left}
.err-links a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  text-decoration:none;box-shadow:var(--shadow-sm);transition:.2s}
.err-links a:hover{border-color:var(--coral);transform:translateY(-3px)}
.err-links b{display:block;font:700 16px/1.3 Sora,sans-serif;color:var(--navy);margin-bottom:4px}
.err-links span{font-size:14px;color:var(--slate)}

/* --- Legal pages --- */
.legal{max-width:820px;margin:0 auto}
.legal .updated{display:inline-block;background:var(--soft);border:1px solid var(--line);
  border-radius:999px;padding:8px 16px;font-size:14px;color:var(--slate);margin-bottom:8px}

@media(max-width:1000px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .factor-grid,.net-grid{grid-template-columns:1fr 1fr}
  .post-feature{grid-template-columns:1fr}
  .post-feature .thumb{min-height:220px}
  .post-feature .pbody{padding:30px 28px}
  .err-links{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .post-grid{grid-template-columns:1fr}
  .factor-grid,.net-grid{grid-template-columns:1fr}
  .err-links{grid-template-columns:1fr}
  .ptable th,.ptable td{padding:14px 16px;font-size:14.5px}
}

/* --- .area-tags on a light background ---------------------------------
   .area-tags is styled for the dark .areas / .why sections (near-white text
   on a translucent white fill). Dropped into a white .side-card those pills
   render at roughly 1.2:1 contrast — effectively invisible, and a WCAG
   failure. Any .area-tags inside a light card gets the readable treatment.  */
.side-card .area-tags a,
.area-tags.on-light a,
.bg-soft .area-tags a,
.bg-cream .area-tags a{
  background:#fff;border:1px solid var(--line);color:var(--slate)
}
.side-card .area-tags a:hover,
.area-tags.on-light a:hover,
.bg-soft .area-tags a:hover,
.bg-cream .area-tags a:hover{
  border-color:var(--coral);color:var(--coral);background:#fff
}
.side-list a{color:var(--ink)}
.side-list a:hover{color:var(--coral)}

/* --- Services bar -----------------------------------------------------
   A persistent, always-visible row of all nine services under the header.

   Desktop: visible. For an inspection company the visitor's first question is
   "which inspection do I need?", and a visible answer beats one hidden behind
   a hover. Navy rather than the old black so it sits inside the palette.

   The row breaks out of the 1200px .wrap — nine labels need the full viewport.
   It is allowed to wrap to a second line rather than overflow, so it degrades
   tidily at awkward widths instead of clipping.

   Below 1024px it is hidden and the same nine links render inside the mobile
   menu instead; nine items cannot survive as a horizontal scroll strip on a
   phone, which is where bars like this usually die.                          */
.svcbar{background:var(--navy);border-top:1px solid rgba(255,255,255,.07);position:relative;z-index:55}
.svcbar .wrap{max-width:none;display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:0;min-height:46px;padding:0 22px}
.svcbar a{position:relative;display:inline-flex;align-items:center;white-space:nowrap;
  color:#dbe3f0;font:600 13.5px/46px 'Sora',system-ui,sans-serif;
  padding:0 14px;transition:color .16s}
.svcbar a + a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:14px;background:rgba(255,255,255,.16)}
.svcbar a:hover{color:#fff}
.svcbar a[aria-current="page"]{color:var(--coral-2)}
.svcbar a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;
  background:var(--coral);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform .18s}
.svcbar a:hover::after,.svcbar a[aria-current="page"]::after{transform:scaleX(1)}
@media(max-width:1400px){ .svcbar a{padding:0 11px;font-size:13px} .svcbar a::after{left:11px;right:11px} }
@media(max-width:1340px){ .svcbar a{padding:0 9px;font-size:12.4px} .svcbar a::after{left:9px;right:9px} }
@media(max-width:1024px){ .svcbar{display:none} }

/* Services group inside the mobile menu */
.nav-svc-head{display:none;padding:16px 0 6px;font:700 11.5px/1 'Sora',system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2)}
.main-nav .nav-svc{display:none}
@media(max-width:1024px){
  .nav-svc-head{display:block}
  .main-nav .nav-svc{display:block;padding-left:14px;font-size:15.5px;color:var(--slate)}
  .main-nav .nav-svc[aria-current="page"]{color:var(--coral)}
}
