/* Septic Cleaning Insurance Group — homepage theme, Stage 3
   Direction: bold photo-led trade-contractor aesthetic (rubbl/allcustomdeck/bathsrus references).
   Fonts: Oswald (display) / Inter (body). Sharp corners, full-bleed hero photo, editorial grids.
   Responsive foundation: mobile-first, breakpoints 640/768/1024/1280 */

:root{
  --bg:#F7F9FB;
  --surface:#ffffff;
  --surface-2:#EEF3F8;
  --ink:#0e1b2c;
  --ink-soft:#3B4B5F;
  --muted:#51627A;
  --border:#DCE4EC;
  --tint:#EAF1FA;
  --navy:#0c2744;
  --navy-ink:#081b30;
  --blue:#1d70d0;
  --blue-soft:#E7F0FD;
  --red:#C23B2E;
  --red-ink:#7a241b;
  --green:#27753D;
  --green-soft:#E7F3EA;
  --amber:#F59E0B;
  --amber-ink:#3a2403;
  --danger:#C0392B;
  --radius:3px;
  --shadow-sm:0 1px 2px rgba(14,27,44,0.06), 0 1px 3px rgba(14,27,44,0.08);
  --shadow-md:0 4px 14px rgba(14,27,44,0.10);
  --container:1320px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
/* Hello Elementor's own content wrapper caps width before our container can act, so neutralize it */
main.site-main, .page-content{ max-width:none !important; }
.scig-home{
  margin:0;
  background:var(--bg);
  color:var(--ink-soft);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
.scig-home h1,
.scig-home h2,
.scig-home h3,
.scig-home h4{
  font-family:'Oswald',system-ui,-apple-system,sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  color:var(--ink);
  text-wrap:balance;
  margin:0;
}
.scig-home img,
.scig-home video,
.scig-home iframe,
.scig-home svg{ max-width:100%; height:auto; }
.scig-home a{ color:inherit; text-decoration:none; }
.scig-home ul{ margin:0; padding:0; list-style:none; }
.scig-home button{ font-family:inherit; }

.scig-container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:clamp(16px,5vw,48px);
}
.scig-grid-2{ display:grid; grid-template-columns:1fr; gap:clamp(20px,4vw,36px); }
.scig-grid-3{ display:grid; grid-template-columns:1fr; gap:18px; }
.scig-grid-4{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (min-width:768px){
  .scig-grid-2{ grid-template-columns:1.1fr 0.9fr; align-items:center; }
  .scig-grid-3{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width:1024px){
  .scig-grid-4{ grid-template-columns:repeat(4,1fr); }
}

/* skip link */
.scig-skip{
  position:absolute; left:-9999px; top:0; background:var(--navy); color:#fff;
  padding:12px 18px; z-index:1000; border-radius:0 0 8px 0;
}
.scig-skip:focus{ left:0; }

/* sticky nav */
.scig-nav{
  position:sticky; top:0; z-index:500;
  background:var(--navy-ink); color:#fff;
  box-shadow:var(--shadow-sm);
  opacity:0; transform:translateY(-12px);
}
.scig-nav.is-visible{ opacity:1; transform:translateY(0); transition:opacity .4s ease, transform .4s ease; }
.scig-nav-inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-block:16px;
}
.scig-brand{ font-family:'Oswald'; font-weight:600; text-transform:uppercase; font-size:clamp(0.95rem,2vw,1.1rem); letter-spacing:0.02em; display:flex; align-items:center; gap:10px; }
.scig-logo-mark{ height:32px; width:43px; flex:none; display:block; }
@media (min-width:768px){ .scig-logo-mark{ height:38px; width:52px; } }
.scig-logo-rule{ width:2px; align-self:stretch; margin-block:3px; background:var(--amber); flex:none; }
.scig-logo-wm{ display:block; line-height:1; }
.scig-logo-wm span{ display:block; font-weight:500; font-size:0.66em; letter-spacing:0.155em; color:var(--amber); margin-top:3px; }
/* footer + light-ground lockup */
.scig-footer .scig-logo-wm span{ color:var(--amber); }
/* Primary nav.
   Originally display:none below 1024px with nothing to replace it, so phone
   and tablet visitors could reach only the logo and the quote CTA. The first
   fix let the links wrap onto their own row, which made every item reachable
   but read as a desktop nav squashed onto a phone. This is a real toggle:
   a hamburger on the right of the bar, and the links as a stacked panel
   underneath it. */
.scig-nav-links{ display:flex; flex-wrap:wrap; gap:8px 22px; font-size:0.9rem; font-weight:500; }

.scig-nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; padding:11px 10px; margin-left:4px;
  background:none; border:1px solid rgba(255,255,255,0.3);
  border-radius:var(--radius); cursor:pointer; order:3;
}
.scig-nav-toggle span{
  display:block; height:2px; width:100%; background:#fff; border-radius:2px;
  transition:transform .2s ease, opacity .15s ease;
}
.scig-nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.scig-nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.scig-nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1023px){
  .scig-nav-inner{ flex-wrap:wrap; row-gap:0; }
  .scig-nav-toggle{ display:flex; }
  .scig-brand{ order:1; margin-right:auto; }
  .scig-nav-cta{ order:2; padding:10px 14px; font-size:0.74rem; }
}
/* Under 768px the sticky bar at the bottom already carries Call and Get a
   Quote and is always on screen, so repeating the CTA in the header only
   crowds the bar and forces the hamburger onto a second row. Brand plus
   hamburger is the whole header on a phone. */
@media (max-width:767px){
  .scig-nav-cta{ display:none; }
}
@media (max-width:1023px){
  /* Collapsed by default; the toggle adds .is-open. Hidden with display:none
     so the links are not reachable by keyboard while the menu is shut. */
  .scig-nav-links{
    display:none; order:4; width:100%; flex-direction:column; flex-wrap:nowrap; gap:0;
    border-top:1px solid rgba(255,255,255,0.14); margin-top:10px;
  }
  .scig-nav-links.is-open{ display:flex; }
  .scig-nav-links a{
    padding:14px 2px; line-height:1.2;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .scig-nav-links a:last-child{ border-bottom:none; }
}
@media (min-width:1024px){ .scig-nav-links{ flex-wrap:nowrap; gap:28px; } }
.scig-nav-links a:hover{ color:var(--amber); }
.scig-nav-cta{
  background:var(--red); color:#fff; font-weight:700; font-size:0.82rem;
  letter-spacing:0.03em; text-transform:uppercase;
  padding:11px 20px; border-radius:var(--radius); white-space:nowrap;
}
.scig-nav-cta:hover{ filter:brightness(1.1); }

/* hero — full-bleed photo */
.scig-hero{
  position:relative; min-height:min(88vh,720px); display:flex; align-items:center;
  padding-block:clamp(100px,14vw,140px) clamp(48px,8vw,72px);
  overflow:hidden; color:#fff;
}
.scig-hero-bg{ position:absolute; inset:0; background-position:center; background-size:cover; }
.scig-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(8,20,35,0.93) 0%, rgba(8,20,35,0.72) 50%, rgba(8,20,35,0.28) 100%);
}
.scig-hero-inner{ position:relative; z-index:2; max-width:680px; }
.scig-kicker{
  display:flex; align-items:center; gap:10px;
  font-size:0.8rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:#FFD38A; margin-bottom:18px;
}
.scig-kicker::before{ content:""; width:28px; height:2px; background:var(--amber); display:inline-block; }
.scig-hero h1{
  color:#fff; font-size:clamp(2.2rem,5.6vw,3.8rem); font-weight:600; line-height:0.98; margin-bottom:20px;
}
.scig-hero h1 .accent{ color:var(--amber); }
.scig-hero p.lead{
  font-size:clamp(1rem,1.6vw,1.15rem); color:#D7E0EA; max-width:48ch; margin-bottom:28px;
  text-transform:none; font-weight:400;
}
.scig-hero-cta-row{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:30px; }
.scig-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--amber); color:var(--amber-ink); font-weight:700;
  padding:18px 30px; border-radius:var(--radius); font-size:1rem;
  text-transform:uppercase; letter-spacing:0.02em;
  box-shadow:0 6px 18px rgba(245,158,11,0.35); border:none; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.scig-btn::after{ content:"→"; font-weight:800; }
.scig-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(245,158,11,0.45); filter:brightness(1.04); }
.scig-btn-outline{
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.55);
  box-shadow:none;
}
.scig-btn-outline::after{ content:""; }
.scig-btn-outline:hover{ background:rgba(255,255,255,0.1); box-shadow:none; }
.scig-btn-back:hover{ background:var(--surface-2); }
.scig-btn.is-pulse{ animation:scigPulse 2.6s ease-in-out infinite; }
@keyframes scigPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(245,158,11,0.35); }
  50%{ box-shadow:0 0 0 10px rgba(245,158,11,0); }
}
@media (prefers-reduced-motion:reduce){
  .scig-btn.is-pulse{ animation:none; }
}

.scig-stat-strip{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
  padding-top:24px; border-top:1px solid rgba(255,255,255,0.25);
}
.scig-stat .num{
  font-family:'Oswald'; font-weight:600; color:#fff;
  font-size:clamp(1.3rem,3vw,1.8rem); font-variant-numeric:tabular-nums;
}
.scig-stat .label{ font-size:0.8rem; color:#B9C7D6; margin-top:2px; }

/* trust badge row */
.scig-badges{
  background:var(--surface); border-block:1px solid var(--border);
  padding-block:22px;
}
.scig-badges ul{
  display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:center;
  font-size:0.86rem; font-weight:600; color:var(--ink-soft);
}
.scig-badges li{ display:flex; align-items:center; gap:8px; }
.scig-badges svg{ width:20px; height:20px; max-width:20px; max-height:20px; color:var(--blue); flex-shrink:0; }

/* sections */
.scig-section{ padding-block:clamp(48px,8vw,88px); }
.scig-section-head{ max-width:62ch; margin-bottom:clamp(28px,5vw,40px); }
.scig-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.8rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--red); margin-bottom:10px;
}
.scig-eyebrow::before{ content:""; width:24px; height:2px; background:var(--red); display:inline-block; }
.scig-section-head{ margin-inline:0; }
.scig-section-head h2{ font-size:clamp(1.7rem,3.6vw,2.5rem); font-weight:600; margin-bottom:12px; }
.scig-section-head p{ color:var(--muted); font-size:1.05rem; text-transform:none; }

.scig-section--tint{ background:var(--surface); border-block:1px solid var(--border); }
.scig-section--white{ background:var(--surface); border-block:1px solid var(--border); }
.scig-section--dark{
  background:linear-gradient(135deg,var(--navy-ink) 0%,var(--navy) 100%);
  color:#D6E4F5;
}
.scig-section--dark .scig-eyebrow{ color:#FFD38A; }
.scig-section--dark .scig-eyebrow::before{ background:var(--amber); }
.scig-section--dark .scig-section-head h2{ color:#fff; }
.scig-section--dark .scig-section-head p{ color:#C3D6EC; }

/* coverage — sharp editorial grid, hard dividers, not a SaaS card grid */
.scig-coverage-list{
  display:grid; grid-template-columns:1fr; gap:0;
  border-top:2px solid var(--ink);
}
@media (min-width:768px){ .scig-coverage-list{ grid-template-columns:repeat(3,1fr); } }
.scig-coverage-item{
  padding:28px 26px; border-bottom:2px solid var(--ink); border-right:1px solid var(--border);
  opacity:0; transform:translateY(14px);
}
.scig-coverage-item.is-visible{ opacity:1; transform:translateY(0); transition:opacity .5s ease, transform .5s ease; }
@media (min-width:768px){ .scig-coverage-item:last-child{ border-right:none; } }
.scig-coverage-num{ font-family:'Oswald'; font-size:0.82rem; color:var(--muted); letter-spacing:0.03em; margin-bottom:14px; }
.scig-coverage-item--featured{ background:var(--green-soft); }
.scig-coverage-item--featured .scig-coverage-num{ color:var(--green); }
.scig-coverage-item h3{ font-size:1.15rem; font-weight:600; margin-bottom:10px; }
.scig-coverage-item p{ font-size:0.92rem; color:var(--muted); margin:0; text-transform:none; }

/* pillars / why us */
.scig-pillars{ display:grid; grid-template-columns:1fr; gap:0; border-top:2px solid var(--ink); }
@media (min-width:768px){ .scig-pillars{ grid-template-columns:repeat(3,1fr); } }
.scig-pillar{
  padding:26px; border-bottom:2px solid var(--ink); border-right:1px solid var(--border);
}
@media (min-width:768px){ .scig-pillar:last-child{ border-right:none; } }
.scig-pillar h4{ font-family:'Oswald'; text-transform:uppercase; font-size:1.02rem; font-weight:600; margin-bottom:8px; color:var(--ink); }
.scig-pillar p{ font-size:0.9rem; color:var(--muted); margin:0; }

/* about / EEAT bio */
.scig-bio{
  background:var(--surface); border:2px solid var(--ink);
  padding:clamp(24px,5vw,40px); display:grid; grid-template-columns:1fr; gap:24px;
}
@media (min-width:768px){ .scig-bio{ grid-template-columns:140px 1fr; } }
.scig-bio-mark{
  width:88px; height:88px; max-width:88px; max-height:88px;
  background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:'Oswald'; font-weight:600; font-size:1.6rem;
}
.scig-bio h3{ font-size:1.25rem; margin-bottom:4px; }
.scig-bio .role{ color:var(--red); font-weight:600; font-size:0.88rem; text-transform:uppercase; letter-spacing:0.03em; margin-bottom:14px; }
.scig-bio p{ font-size:0.95rem; text-transform:none; }

/* quote form */
.scig-form-wrap{
  background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:clamp(20px,5vw,40px); max-width:760px; margin-inline:auto;
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
}
.scig-progress{ display:flex; gap:6px; margin-bottom:22px; }
.scig-progress .seg{ flex:1; height:6px; border-radius:999px; background:var(--border); }
.scig-progress .seg.is-active, .scig-progress .seg.is-done{ background:var(--blue); }
.scig-progress-label{ font-size:0.8rem; color:var(--muted); margin-bottom:18px; }
.scig-step{ display:none; }
.scig-step.is-active{ display:block; animation:scigFadeIn .35s ease; }
@keyframes scigFadeIn{ from{ opacity:0; transform:translateX(8px); } to{ opacity:1; transform:translateX(0); } }
.scig-field{ margin-bottom:18px; }
.scig-field label{ display:block; font-size:0.86rem; font-weight:600; color:var(--ink); margin-bottom:6px; }
.scig-field input[type="text"],
.scig-field input[type="email"],
.scig-field input[type="tel"],
.scig-field input[type="date"],
.scig-field select{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:var(--radius);
  font-size:0.95rem; color:var(--ink); background:#fff; font-family:inherit;
}
.scig-field input:focus, .scig-field select:focus{ outline:2px solid var(--blue); outline-offset:1px; }
.scig-radio-group{ display:grid; grid-template-columns:1fr; gap:8px; }
@media (min-width:640px){ .scig-radio-group.cols-2{ grid-template-columns:1fr 1fr; } }
.scig-radio-option{
  display:flex; align-items:center; gap:10px; border:1px solid var(--border); border-radius:var(--radius);
  padding:11px 14px; cursor:pointer; font-size:0.9rem;
}
.scig-radio-option:has(input:checked){ border-color:var(--blue); background:var(--blue-soft); }
.scig-radio-option input{ width:16px; height:16px; max-width:16px; max-height:16px; accent-color:var(--blue); }
.scig-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.scig-step-nav{ display:flex; justify-content:space-between; gap:12px; margin-top:22px; }
.scig-btn-back{
  background:transparent; border:1px solid var(--border); color:var(--ink-soft);
  padding:13px 22px; border-radius:var(--radius); font-weight:600; font-size:0.92rem; cursor:pointer;
}
.scig-review-list{ font-size:0.88rem; color:var(--ink-soft); margin-bottom:18px; }
.scig-review-list dt{ font-weight:600; color:var(--ink); }
.scig-review-list dd{ margin:0 0 10px; }
.scig-form-msg{ font-size:0.88rem; margin-top:14px; }
.scig-form-msg.is-error{ color:var(--danger); }
.scig-form-msg.is-success{ color:var(--green); }

/* FAQ */
.scig-faq{ max-width:780px; margin-inline:auto; }
.scig-faq-item{ border-bottom:1px solid var(--border); }
.scig-faq-q{
  width:100%; text-align:left; background:none; border:none; padding:18px 4px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-weight:700; font-size:1rem; color:var(--ink); cursor:pointer;
  /* Hello Elementor's style.min.css sets `button{white-space:nowrap}`. Without
     this reset the FAQ question text refuses to wrap, so the button's content
     box grows to the full question width (~615px) inside a 316px column and
     pushes the whole document to ~645px wide. That produced sitewide
     horizontal scroll on every page, since every page has an FAQ. */
  white-space:normal;
  min-width:0;
}
.scig-faq-q > span{ min-width:0; }
.scig-faq-q svg{ width:18px; height:18px; max-width:18px; max-height:18px; flex-shrink:0; transition:transform .25s ease; }
.scig-faq-item.is-open .scig-faq-q svg{ transform:rotate(45deg); }
.scig-faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.scig-faq-item.is-open .scig-faq-a{ max-height:400px; }
.scig-faq-a p{ padding:0 4px 18px; font-size:0.92rem; color:var(--muted); }

/* final CTA band */
.scig-cta-band{ background:var(--navy); color:#fff; padding-block:clamp(40px,7vw,64px); text-align:center; }
.scig-cta-band h2{ color:#fff; font-size:clamp(1.5rem,3.4vw,2.1rem); margin-bottom:12px; }
.scig-cta-band p{ color:#cfe0f5; max-width:56ch; margin:0 auto 24px; }

footer.scig-footer{ background:var(--navy-ink); color:#B9C7D6; padding-block:clamp(40px,6vw,64px) 0; font-size:0.85rem; }
.scig-footer a{ color:#B9C7D6; }
.scig-footer a:hover{ color:#fff; }

/* main footer grid: brand block + link columns */
.scig-footer-grid{ display:grid; grid-template-columns:1fr; gap:36px 28px; }
@media (min-width:640px){ .scig-footer-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .scig-footer-grid{ grid-template-columns:1.5fr 1fr 1fr 1fr; } }
.scig-footer-brand .scig-brand{ margin-bottom:16px; }
.scig-footer-blurb{ max-width:38ch; line-height:1.6; margin-bottom:18px; color:#9FB2C6; }
.scig-footer-npn{ font-size:0.78rem; color:#7D92A8; letter-spacing:0.02em; }
.scig-footer-phone{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
  font-family:'Oswald'; font-weight:600; font-size:1.15rem; color:#fff; letter-spacing:0.01em;
}
.scig-footer-phone:hover{ color:var(--amber); }
.scig-footer-col h4, .scig-footer-col h3{
  font-family:'Oswald'; font-weight:600; text-transform:uppercase; letter-spacing:0.07em;
  font-size:0.82rem; color:#fff; margin-bottom:14px; padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.scig-footer-col ul{ list-style:none; margin:0; padding:0; }
.scig-footer-col li{ margin-bottom:9px; line-height:1.45; }

/* bottom bar */
.scig-footer-bar{
  margin-top:clamp(32px,5vw,48px); padding-block:20px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:center;
  font-size:0.78rem; color:#7D92A8;
}
.scig-footer-bar nav{ display:flex; flex-wrap:wrap; gap:8px 18px; }
.scig-footer-legal{ max-width:none; line-height:1.6; padding-bottom:22px; color:#788CA3; font-size:0.76rem; }
/* guard: wpautop can inject stray <br> between footer links */
.scig-footer-col br, .scig-footer-bar br{ display:none; }

/* Sonic Boom additions: phone links, problem/process/evidence sections, sticky mobile call bar */
.scig-nav-phone{ display:none; font-weight:600; }
@media (min-width:1280px){ .scig-nav-phone{ display:inline; } }
.scig-hero-phone{
  display:inline-flex; align-items:center; gap:8px; color:#D7E0EA; font-size:0.92rem;
  font-weight:500; text-transform:none; margin-top:-8px;
}
.scig-hero-phone:hover{ color:#fff; }
.scig-inline-phone{ color:var(--amber); font-weight:700; text-decoration:underline; }

.scig-problem-list{ display:grid; grid-template-columns:1fr; gap:0; border-top:2px solid var(--ink); }
@media (min-width:640px){ .scig-problem-list{ grid-template-columns:repeat(2,1fr); } }
.scig-problem-item{
  display:flex; gap:16px; align-items:flex-start; padding:22px 24px;
  border-bottom:2px solid var(--ink); border-right:1px solid var(--border);
}
@media (min-width:640px){ .scig-problem-item:nth-child(2n){ border-right:none; } }
.scig-problem-mark{ font-family:'Oswald'; font-weight:600; color:var(--red); font-size:1.1rem; flex-shrink:0; }
.scig-problem-item p{ margin:0; font-size:0.98rem; color:var(--ink-soft); text-transform:none; }

.scig-process-list{ display:grid; grid-template-columns:1fr; gap:28px; }
@media (min-width:768px){ .scig-process-list{ grid-template-columns:repeat(4,1fr); } }
.scig-process-step{ position:relative; padding-top:8px; }
.scig-process-num{
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; max-width:36px; max-height:36px;
  background:var(--navy); color:#fff; font-family:'Oswald'; font-weight:600; font-size:1.05rem;
  margin-bottom:16px;
}
.scig-process-step h4{ font-family:'Oswald'; text-transform:uppercase; font-size:1rem; font-weight:600; margin-bottom:8px; color:var(--ink); }
.scig-process-step p{ font-size:0.9rem; color:var(--muted); margin:0; text-transform:none; }

.scig-evidence-card{ max-width:860px; border:2px solid var(--ink); padding:clamp(24px,5vw,36px); }
.scig-evidence-tag{
  display:inline-block; font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--border); padding:4px 10px; margin-bottom:16px;
}
.scig-evidence-card p{ font-size:1rem; color:var(--ink-soft); text-transform:none; margin:0 0 14px; }
.scig-evidence-list{ margin:0 0 16px; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.scig-evidence-list li{
  font-size:0.96rem; color:var(--ink-soft); text-transform:none; line-height:1.55;
  padding-left:22px; position:relative;
}
.scig-evidence-list li::before{
  content:"—"; position:absolute; left:0; top:0; color:var(--red); font-weight:700;
}
.scig-evidence-note{ font-size:0.85rem !important; color:var(--muted) !important; font-style:italic; margin:0 !important; }
.scig-evidence-note a{ color:var(--blue) !important; text-decoration:underline !important; font-style:normal; }
.scig-evidence-note a:hover{ color:var(--navy) !important; }

.scig-trust-closer{ font-size:0.9rem; color:#B9C7D6; margin-top:18px; text-transform:none; }

/* Sticky mobile action bar: call on the left, quote on the right.
   It used to be a single full-width "Call" link. Phone suits someone ready to
   talk; the quote form suits someone who would rather not ring. Offering only
   one of those on the screens where most traffic lands loses the other. */
.scig-sticky-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:600;
  box-shadow:0 -4px 14px rgba(0,0,0,0.2);
}
.scig-sticky-bar > a{
  flex:1 1 0; display:flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 10px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.02em; font-size:0.88rem; text-align:center; white-space:nowrap;
  /* These read as buttons, not links. The theme underlines anchors, which the
     old full-width bar never showed because it set its own styles. */
  text-decoration:none;
}
.scig-sticky-bar > a:hover,
.scig-sticky-bar > a:focus{ text-decoration:none; }
.scig-sticky-call{ background:var(--red); color:#fff; }
.scig-sticky-quote{ background:var(--amber); color:var(--amber-ink); }
.scig-sticky-bar > a:active{ filter:brightness(0.94); }
@media (max-width:767px){
  .scig-sticky-bar{ display:flex; }
  .scig-home{ padding-bottom:60px; }
}

/* ATG house-style additions: micro-bar, stat bar, carrier marquee, segments, myth callout */
.scig-microbar{ background:var(--navy-ink); color:#B9C7D6; font-size:0.78rem; }
.scig-microbar-inner{ display:flex; align-items:center; justify-content:space-between; padding-block:7px; gap:12px; }
.scig-microbar-inner a{ color:#FFD38A; font-weight:600; }
.scig-microbar-inner a:hover{ color:#fff; }

.scig-statbar{ background:var(--ink); color:#fff; }
.scig-statbar-inner{
  display:grid; grid-template-columns:1fr; gap:14px; padding-block:20px;
  text-align:center;
}
@media (min-width:640px){ .scig-statbar-inner{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .scig-statbar-inner{ grid-template-columns:repeat(4,1fr); } }
.scig-statbar-item{
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-size:0.9rem; font-weight:600; text-transform:uppercase; letter-spacing:0.02em;
}
.scig-statbar-item svg{ color:var(--amber); flex-shrink:0; }

.scig-carriers{ background:var(--surface); border-bottom:1px solid var(--border); padding-block:36px; text-align:center; }
.scig-carriers-label{ font-size:0.85rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--muted); margin-bottom:20px; }
/* Carrier marquee.
   Was a static flex-wrap block: eight names wrapping onto ragged rows, which
   read as a jammed list rather than a carrier panel. Now a continuous
   horizontal scroll. The markup lives in post_content across 68 pages, so the
   track is assembled at runtime by the carrier marquee JS rather than rebuilt
   into every page. */
.scig-carrier-list{
  display:block; overflow:hidden; margin-bottom:4px; padding-block:6px;
  /* fade the leading and trailing edges so names enter and leave cleanly
     instead of being chopped off at a hard container edge */
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.scig-marquee{ display:flex; width:max-content; animation:scigMarquee 46s linear infinite; }
.scig-carrier-list:hover .scig-marquee,
.scig-carrier-list:focus-within .scig-marquee{ animation-play-state:paused; }
.scig-marquee-group{
  display:flex; align-items:center; gap:14px; padding-right:14px;
  font-family:'Oswald'; font-weight:500; font-size:1.02rem; color:var(--ink-soft);
  text-transform:uppercase; letter-spacing:0.02em;
}
.scig-marquee-group span{
  display:block; white-space:nowrap; padding:11px 22px;
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:0 1px 2px rgba(12,39,68,0.05);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.scig-marquee-group span:hover{
  border-color:var(--amber); box-shadow:0 4px 12px rgba(12,39,68,0.10); transform:translateY(-1px);
}
/* two identical groups, so -50% lands exactly one group along and the loop
   repeats with no visible seam */
@keyframes scigMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

@media (prefers-reduced-motion:reduce){
  .scig-marquee{ animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
  .scig-marquee-group{ flex-wrap:wrap; justify-content:center; }
  .scig-marquee-group[aria-hidden="true"]{ display:none; }
  .scig-carrier-list{ -webkit-mask-image:none; mask-image:none; }
}

/* Removed at the client's direction. */
.scig-carriers-note{ display:none; }

.scig-segment-grid{ display:grid; grid-template-columns:1fr; gap:0; border-top:2px solid var(--ink); }
@media (min-width:640px){ .scig-segment-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .scig-segment-grid{ grid-template-columns:repeat(4,1fr); } }
.scig-segment-card{ padding:24px; border-bottom:2px solid var(--ink); border-right:1px solid var(--border); }
@media (min-width:1024px){ .scig-segment-card:last-child{ border-right:none; } }
.scig-segment-card h4, .scig-segment-card h3{ font-size:1rem; margin-bottom:8px; }
.scig-segment-card p{ font-size:0.88rem; color:var(--muted); margin:0; text-transform:none; }

.scig-myth-callout{
  display:flex; gap:16px; align-items:flex-start; background:#FDF3E3;
  border-left:4px solid var(--amber); padding:24px clamp(20px,4vw,32px); max-width:860px;
}
.scig-myth-callout svg{ color:var(--amber-ink); flex-shrink:0; margin-top:2px; }
.scig-myth-callout h4, .scig-myth-callout h3{ font-size:1rem; margin-bottom:8px; color:var(--ink); }
.scig-myth-callout p{ font-size:0.92rem; color:var(--ink-soft); margin:0; text-transform:none; }

/* States hub grid: internal linking to all 28 state pages */
.scig-states-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:2px solid var(--ink); border-left:1px solid var(--border); }
@media (min-width:640px){ .scig-states-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .scig-states-grid{ grid-template-columns:repeat(4,1fr); } }
.scig-state-link{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:16px 18px; border-bottom:1px solid var(--border); border-right:1px solid var(--border);
  font-weight:600; font-size:0.95rem; color:var(--ink); background:#fff;
  transition:background .18s ease, color .18s ease;
}
.scig-state-link svg{ width:15px; height:15px; flex-shrink:0; color:var(--border); transition:color .18s ease, transform .18s ease; }
.scig-state-link:hover{ background:var(--navy); color:#fff; }
.scig-state-link:hover svg{ color:var(--amber); transform:translateX(3px); }
.scig-state-link:focus-visible{ outline:3px solid var(--amber); outline-offset:-3px; }
.scig-state-link.is-current{ background:var(--navy); color:#fff; cursor:default; }
.scig-state-link.is-current svg{ color:var(--amber); }
/* guard: wpautop can inject stray <br> between cells, which become empty grid items */
.scig-states-grid br{ display:none; }
.scig-states-note{ margin-top:20px; font-size:0.9rem; color:var(--muted); }
.scig-states-note a{ color:var(--red); font-weight:700; text-decoration:underline; }

/* breadcrumb trail on state pages */
.scig-crumbs{ font-size:0.82rem; color:var(--muted); padding-block:14px; }
.scig-crumbs a{ color:var(--ink-soft); text-decoration:underline; }
.scig-crumbs a:hover{ color:var(--red); }
.scig-crumbs span[aria-current]{ color:var(--ink); font-weight:600; }

/* Coverage / cost / service pages: direct-answer (BLUF) box.
   Front-loads the definition so AI Overviews and featured snippets have a
   clean, quotable answer at the top of the page. */
.scig-bluf{
  border-left:4px solid var(--navy); background:var(--tint);
  padding:24px clamp(20px,4vw,32px); max-width:70ch;
  font-size:1.06rem; line-height:1.6; color:var(--ink);
}
.scig-bluf strong{ font-weight:700; }
/* green variant: pollution / environmental-liability pages ONLY.
   Green is a reserved meaning accent on this site, never decorative. */
.scig-bluf--env{ border-left-color:var(--green); background:var(--green-soft); }

.scig-evidence-note a{ color:var(--red); text-decoration:underline; }

/* Hide default theme chrome -- our content supplies its own nav/footer/H1 */
.elementor-location-header, .elementor-location-footer, .page-header,
#site-header, #site-footer { display: none !important; }

/* ------------------------------------------------------------------ */
/* Mobile hardening                                                    */
/* ------------------------------------------------------------------ */

/* wpautop inserts <br> between sibling inline elements inside our flex and
   grid rows. Each <br> becomes a stray line box -- and inside a grid, its own
   empty cell -- which is what put blank columns in the radio groups and split
   the hero CTA row. The markup lives in post_content across 77 pages, so the
   <br>s are neutralised here rather than redeployed away. */
.scig-microbar-inner > br,
.scig-hero-cta-row > br,
.scig-radio-group > br,
.scig-step-nav > br,
.scig-sticky-call > br,
.scig-nav-inner > br,
.scig-nav-links > br,
.scig-footer-col > br,
.scig-statbar-inner > br,
.scig-coverage-grid > br,
.scig-segment-grid > br{ display:none; }

/* The brand lockup's second line computed to 10px on phones, below the 12px
   floor where small-caps tracking stops being legible. */
.scig-logo-wm span{ font-size:max(0.66em, 11.5px); }

/* Tap targets. The microbar quote link and the footer link columns were
   16-20px tall, under both the 24px WCAG 2.5.8 minimum and the 44px iOS
   guideline. Padding is used rather than height so nothing reflows. */
@media (max-width:1023px){
  .scig-microbar-inner a{ display:inline-block; padding-block:6px; }
  .scig-footer-col a{ display:inline-block; padding-block:7px; line-height:1.3; }
  .scig-breadcrumbs a{ display:inline-block; padding-block:5px; }
}

/* Belt-and-braces: nothing should be able to scroll the document sideways. */
html, body{ overflow-x:hidden; }

/* wpautop also wraps loose inline children of our flex/grid rows in <p>.
   A <p> is a block box, so the wrapped child drops onto its own line -- this
   is what pushed the header's "Get a Quote" button below the logo on phones.
   display:contents removes the <p>'s box without touching its child, so the
   child participates in the flex/grid row as originally authored. */
.scig-nav-inner > p,
.scig-microbar-inner > p,
.scig-hero-cta-row > p,
.scig-radio-group > p,
.scig-step-nav > p,
.scig-statbar-inner > p,
.scig-nav-links > p{ display:contents; }

.scig-nav-inner > p:empty,
.scig-microbar-inner > p:empty,
.scig-hero-cta-row > p:empty,
.scig-statbar-inner > p:empty{ display:none; }

/* Dracula Dark Mode was deactivated Oct 2026 (unused feature, 504KB of JS
   per page view, and its floating toggle sat on top of the sticky call bar).
   This rule is kept as a no-op safety net in case the plugin is ever
   reactivated, so the toggle can never cover the phone CTA again. */
@media (max-width:767px){
  .dracula-toggle-wrap.floating{ display:none !important; }
}

/* CookieYes floating "revisit consent" badge, bottom-left on every page.
   Hidden at the client's request. Consent must still be withdrawable, so the
   footer carries a "Cookie Settings" link instead -- CookieYes opens its
   preference centre from any element with the .cky-banner-element class. */
.cky-btn-revisit-wrapper{ display:none !important; }

/* HTML sitemap listing. Multi-column so 28 states do not become a 28-line
   scroll, collapsing to one column on phones. */
.scig-sitemap-list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr; gap:2px 28px;
}
@media (min-width:560px){ .scig-sitemap-list{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:900px){ .scig-sitemap-list{ grid-template-columns:repeat(3,1fr); } }
.scig-sitemap-list li{ border-bottom:1px solid var(--border); }
.scig-sitemap-list a{
  display:block; padding:11px 2px; font-size:0.95rem; color:var(--ink);
  text-decoration:none; line-height:1.3;
}
.scig-sitemap-list a:hover{ color:var(--red); }
