/* WFS content pages (services, service areas) — all scoped under .wfs-page so it
   never affects the Elementor pages. Loaded site-wide; harmless where unused.
   Type scale matched to the site's Elementor kit; mobile-optimised. */
.wfs-page{
  --red-500:#c8102e;--red-600:#a50d25;--red-700:#850a1d;--red-soft:rgba(200,16,46,.12);--red-glow:rgba(200,16,46,.30);
  --char-900:#11161c;--char-800:#171d25;--char-700:#1f2832;
  --gray-100:#f5f7f9;--line:#e1e7ed;
  --ink-900:#131a21;--ink-700:#313d49;--ink-500:#5a6775;--gold:#f4b740;
  --font-head:"Barlow","Segoe UI",system-ui,sans-serif;--font-body:"Inter","Segoe UI",system-ui,sans-serif;--font-display:"Barlow Condensed",system-ui,sans-serif;
  --radius:14px;--radius-lg:22px;--shadow-md:0 16px 40px rgba(17,22,28,.14);
  --container:1180px;--ease:cubic-bezier(.22,1,.36,1);
  font-family:var(--font-body);color:var(--ink-700);line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
.wfs-page *{box-sizing:border-box;max-width:100%}
.wfs-page h1,.wfs-page h2,.wfs-page h3,.wfs-page h4{font-family:var(--font-head);color:var(--ink-900);line-height:1.14;font-weight:800;letter-spacing:-.015em;margin:0}
.wfs-page a{color:inherit;text-decoration:none}
.wfs-page p{margin:0}
.wfs-page .wfs-wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(18px,5vw,56px)}
.wfs-page .wfs-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:#ff5b6e;margin-bottom:14px}
.wfs-page .wfs-eyebrow::before{content:"";width:28px;height:3px;background:var(--red-500);border-radius:2px;flex-shrink:0}
.wfs-page .wfs-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:1.05rem;padding:16px 32px;border-radius:10px;background:var(--red-500);color:#fff;box-shadow:0 12px 26px var(--red-glow);transition:transform .25s var(--ease),background .25s;cursor:pointer;text-align:center}
.wfs-page .wfs-btn:hover{background:var(--red-600);transform:translateY(-3px)}
.wfs-page .wfs-btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);box-shadow:none}
.wfs-page .wfs-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* hero */
.wfs-page .wfs-hero{position:relative;background:var(--char-900) url('/wp-content/uploads/2026/07/Foundation-Hero-1.png') center/cover no-repeat;color:#c3ccd6;overflow:hidden;padding-block:clamp(66px,10vw,134px)}
.wfs-page .wfs-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(17,22,28,.5) 0%,rgba(17,22,28,.22) 45%,rgba(17,22,28,.05) 100%);z-index:1}
.wfs-page .wfs-hero .wfs-wrap{position:relative;z-index:2;max-width:860px}
.wfs-page .wfs-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.125rem);margin:0 0 18px}
.wfs-page .wfs-hero p{font-size:clamp(1.1rem,2.3vw,1.28rem);color:#c4cdd6;max-width:680px;margin-bottom:30px}
.wfs-page .wfs-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:#94a3b1;margin-bottom:12px}
.wfs-page .wfs-breadcrumb a:hover{color:#ff5b6e}
.wfs-page .wfs-breadcrumb span{color:#ff5b6e}

/* body */
.wfs-page .wfs-section{padding-block:clamp(50px,8vw,96px)}
.wfs-page .wfs-bg-soft{background:var(--gray-100)}
.wfs-page .wfs-prose{max-width:900px}
.wfs-page .wfs-prose h2{font-size:clamp(1.75rem,3.6vw,2.75rem);margin:0 0 20px}
.wfs-page .wfs-prose h3{font-size:clamp(1.4rem,2.6vw,1.7rem);margin:40px 0 18px}
.wfs-page .wfs-prose p{color:var(--ink-500);margin-bottom:20px;font-size:1.14rem}
.wfs-page .wfs-prose strong{color:var(--ink-900)}

/* signs / why-choose checklist */
.wfs-page .wfs-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 32px;margin:6px 0 28px;list-style:none;padding:0}
.wfs-page .wfs-checks li{display:flex;gap:13px;align-items:flex-start;font-size:1.08rem;color:var(--ink-700)}
.wfs-page .wfs-checks li::before{content:"\2713";flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--red-soft);color:var(--red-600);display:grid;place-items:center;font-size:14px;font-weight:700;margin-top:2px}

/* CTA band */
.wfs-page .wfs-cta{margin-top:44px;background:linear-gradient(120deg,var(--char-800),var(--char-900));color:#fff;border-radius:var(--radius-lg);padding:clamp(30px,5vw,56px);text-align:center;position:relative;overflow:hidden}
.wfs-page .wfs-cta::after{content:"";position:absolute;left:0;bottom:0;width:30%;height:100%;background:var(--red-500);opacity:.10;clip-path:polygon(0 0,70% 0,0 100%)}
.wfs-page .wfs-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:14px;position:relative;z-index:2}
.wfs-page .wfs-cta p{color:#c4cdd6;margin-bottom:24px;max-width:640px;margin-inline:auto;position:relative;z-index:2;font-size:1.1rem}
.wfs-page .wfs-cta .wfs-btn{position:relative;z-index:2}

/* services grid (hub / home preview) */
.wfs-page .wfs-head{max-width:760px;margin-bottom:clamp(28px,5vw,48px)}
.wfs-page .wfs-head.center{margin-inline:auto;text-align:center}
.wfs-page .wfs-head.center .wfs-eyebrow{justify-content:center}
.wfs-page .wfs-head h2{font-size:clamp(1.75rem,3.6vw,2.75rem);margin:0 0 14px}
.wfs-page .wfs-head p{color:var(--ink-500);font-size:1.14rem}
.wfs-page .wfs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wfs-page .wfs-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;display:block;position:relative;overflow:hidden}
.wfs-page .wfs-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--red-500);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.wfs-page .wfs-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.wfs-page .wfs-card:hover::before{transform:scaleX(1)}
.wfs-page .wfs-card h3{font-size:1.35rem;margin-bottom:11px}
.wfs-page .wfs-card p{color:var(--ink-500);font-size:1.04rem;margin-bottom:16px}
.wfs-page .wfs-card .wfs-more{color:var(--red-500);font-family:var(--font-head);font-weight:700;font-size:1rem}

/* ---------- responsive ---------- */
@media(max-width:1080px){ .wfs-page .wfs-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:820px){
  .wfs-page .wfs-checks{grid-template-columns:1fr}
  .wfs-page .wfs-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .wfs-page{font-size:16.5px}
  .wfs-page .wfs-hero{padding-block:52px}
  .wfs-page .wfs-section{padding-block:46px}
  .wfs-page .wfs-prose p{font-size:1.08rem}
  .wfs-page .wfs-checks li{font-size:1.02rem}
  .wfs-page .wfs-cta{padding:30px 22px;margin-top:36px}
  .wfs-page .wfs-btn{width:100%;justify-content:center}
  .wfs-page .wfs-card{padding:26px 22px}
}

/* Per-page CTA (last-content) background images */
.page-id-187 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Foundation-Repair.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-188 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Basement-Encapsulation.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-189 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Crawl-Space-Repair-Solutions.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-190 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Encapsulated-crawl-space-in-crawl-space-finished-job.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-192 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Retaining-Wall.png');background-size:cover;background-position:center;background-repeat:no-repeat}

/* text legibility over photos */
.wfs-page .wfs-hero h1,.wfs-page .wfs-hero p,.wfs-page .wfs-hero .wfs-eyebrow,.wfs-page .wfs-hero .wfs-breadcrumb{text-shadow:0 2px 16px rgba(0,0,0,.7)}
.wfs-page .wfs-cta h2,.wfs-page .wfs-cta p{text-shadow:0 2px 14px rgba(0,0,0,.85)}

/* ===================================================
   Location-page components (12-page SEO build)
   =================================================== */

/* Why Choose (3-col) */
.wfs-page .wfs-why{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wfs-page .wfs-why-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.wfs-page .wfs-why-item h3{font-size:1.2rem;margin-bottom:10px;color:var(--char-900)}
.wfs-page .wfs-why-item p{color:var(--ink-500);font-size:1.02rem}

/* Benefits (4-col, tighter cards) */
.wfs-page .wfs-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.wfs-page .wfs-benefit{background:var(--gray-100);border-radius:var(--radius);padding:24px 22px}
.wfs-page .wfs-benefit h3{font-size:1.08rem;margin-bottom:8px;color:var(--char-900)}
.wfs-page .wfs-benefit p{color:var(--ink-500);font-size:.98rem}

/* Process steps (4-col numbered) */
.wfs-page .wfs-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px}
.wfs-page .wfs-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px 24px 26px}
.wfs-page .wfs-step__num{position:absolute;top:-20px;left:24px;width:44px;height:44px;border-radius:12px;background:var(--red-500);color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.15rem;display:grid;place-items:center;box-shadow:0 10px 22px var(--red-glow)}
.wfs-page .wfs-step h3{font-size:1.08rem;margin:6px 0 8px;color:var(--char-900)}
.wfs-page .wfs-step p{color:var(--ink-500);font-size:.98rem}

/* Testimonials (3-col mini) */
.wfs-page .wfs-tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.wfs-page .wfs-tst{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.wfs-page .wfs-tst__stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px;display:block}
.wfs-page .wfs-tst p{color:var(--ink-700);font-size:1rem;margin-bottom:14px}
.wfs-page .wfs-tst__name{font-family:var(--font-head);font-weight:700;color:var(--char-900);font-size:.95rem}

/* FAQ — native details/summary, no JS needed */
.wfs-page .wfs-faq{max-width:840px}
.wfs-page .wfs-faq details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;background:#fff;overflow:hidden}
.wfs-page .wfs-faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:var(--font-head);font-weight:700;font-size:1.04rem;color:var(--char-900);display:flex;align-items:center;justify-content:space-between;gap:16px}
.wfs-page .wfs-faq summary::-webkit-details-marker{display:none}
.wfs-page .wfs-faq summary::after{content:"+";flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--gray-100);display:grid;place-items:center;font-size:1.1rem;color:var(--red-500);transition:transform .25s}
.wfs-page .wfs-faq details[open] summary::after{transform:rotate(45deg)}
.wfs-page .wfs-faq details[open]{border-color:var(--red-500)}
.wfs-page .wfs-faq p{padding:0 24px 22px;color:var(--ink-500);font-size:1.02rem}

/* Communities served (chip list) */
.wfs-page .wfs-communities{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.wfs-page .wfs-communities span{font-size:.92rem;background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:999px;color:var(--ink-700);font-family:var(--font-head);font-weight:600}

/* City hero card (Service Areas landing page) */
.wfs-page .wfs-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.wfs-page .wfs-city-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:420px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow-md)}
.wfs-page .wfs-city-card__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s var(--ease)}
.wfs-page .wfs-city-card:hover .wfs-city-card__bg{transform:scale(1.06)}
.wfs-page .wfs-city-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(17,22,28,.92),rgba(17,22,28,.30) 70%)}
.wfs-page .wfs-city-card__body{position:relative;z-index:2;padding:34px}
.wfs-page .wfs-city-card__eyebrow{display:block;color:#ff5b6e;font-family:var(--font-display);font-weight:700;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.wfs-page .wfs-city-card h2{color:#fff;font-size:2rem;margin-bottom:10px}
.wfs-page .wfs-city-card p{color:#cdd5dd;font-size:1rem;margin-bottom:22px;max-width:420px}

/* Small service-link boxes under each city card */
.wfs-page .wfs-city-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.wfs-page .wfs-city-links a{flex:1 1 auto;min-width:132px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 10px;font-family:var(--font-head);font-weight:700;font-size:.88rem;color:var(--ink-700);transition:background .2s,color .2s,border-color .2s,transform .2s}
.wfs-page .wfs-city-links a:hover{background:var(--red-500);color:#fff;border-color:var(--red-500);transform:translateY(-2px)}

@media(max-width:1080px){
  .wfs-page .wfs-benefits{grid-template-columns:repeat(2,1fr)}
  .wfs-page .wfs-steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
}
@media(max-width:820px){
  .wfs-page .wfs-why{grid-template-columns:1fr}
  .wfs-page .wfs-tst-grid{grid-template-columns:1fr}
  .wfs-page .wfs-city-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .wfs-page .wfs-benefits{grid-template-columns:1fr}
  .wfs-page .wfs-steps{grid-template-columns:1fr;row-gap:36px}
  .wfs-page .wfs-faq summary{padding:16px 18px;font-size:.98rem}
  .wfs-page .wfs-city-card{min-height:320px}
  .wfs-page .wfs-city-card__body{padding:24px}
  .wfs-page .wfs-city-card h2{font-size:1.6rem}
}

/* Restored generic Services pages (241-246) — original CTA background images */
.page-id-241 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Foundation-Repair.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-242 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Basement-Encapsulation.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-243 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Crawl-Space-Repair-Solutions.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-244 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Encapsulated-crawl-space-in-crawl-space-finished-job.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-246 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Retaining-Wall.png');background-size:cover;background-position:center;background-repeat:no-repeat}

/* Drainage page under Services (id 245) — dedicated hero banner image, this page only */
.page-id-245 .wfs-page .wfs-hero{background-image:url('/wp-content/uploads/2026/07/Drainage-hero.png')}

/* Crawl Space Encapsulation page under Services (id 244) — dedicated hero banner image */
.page-id-244 .wfs-page .wfs-hero{background-image:url('/wp-content/uploads/2026/07/Encapsulation-hero.png')}

/* Drainage page under Services (id 245) — final Estimate CTA background image, matching the other 6 pages */
.page-id-245 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Foundation-Hero.png');background-size:cover;background-position:center;background-repeat:no-repeat}


/* Foundation service pages (241 generic, 187 Huntsville, 222 Nashville) — explicit hero banner, robust longhand (matches working Encapsulation/Drainage pages) */
.page-id-241 .wfs-page .wfs-hero,.page-id-187 .wfs-page .wfs-hero,.page-id-222 .wfs-page .wfs-hero{background-image:url('/wp-content/uploads/2026/07/Foundation-Hero-1.png');background-size:cover;background-position:center;background-repeat:no-repeat}


/* Nashville service pages (222-227) — final CTA/Estimate background images, matched one-by-one to the Huntsville pages */
.page-id-222 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Foundation-Repair.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-223 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Basement-Encapsulation.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-224 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Crawl-Space-Repair-Solutions.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-225 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Encapsulated-crawl-space-in-crawl-space-finished-job.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-226 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Drainage-hero.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-227 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.26),rgba(17,22,28,.16)),url('/wp-content/uploads/2026/07/Retaining-Wall.png');background-size:cover;background-position:center;background-repeat:no-repeat}


/* Radon Mitigation (id 285) — hero + CTA banner images */
.page-id-285 .wfs-page .wfs-hero{background-image:url('/wp-content/uploads/2026/07/Family.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}
.page-id-285 .wfs-page .wfs-cta{background-image:linear-gradient(120deg,rgba(17,22,28,.6),rgba(17,22,28,.42)),url('/wp-content/uploads/2026/07/Family.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}


/* WFS content-page figures */
.wfs-page .wfs-figure{margin:32px 0}
.wfs-page .wfs-figure img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 16px 40px rgba(17,22,28,.14)}
.wfs-page .wfs-figure figcaption{margin-top:10px;font-size:.9rem;color:#5a6775;text-align:center;font-style:italic}
