/* SurveyAll Phase 2E-3: Damp, water ingress and specific defect pathways.
   Extends the approved Phase 1.8 / Phase 2E visual system without changing the homepage hero. */
.sa2e-specialist-breadcrumb { background:#f5f8fa; border-bottom:1px solid #e0e7eb; }
.sa2e-specialist-breadcrumb .sa2e-shell { min-height:46px; display:flex; gap:9px; align-items:center; color:#6b7d8c; font:500 12px/1.2 Inter,Arial,sans-serif; }
.sa2e-specialist-breadcrumb a { color:#345b70; text-decoration:none; }
.sa2e-specialist-breadcrumb a:hover { color:#0a8067; }

.sa2e-specialist-hero { overflow:hidden; position:relative; color:#fff; background:linear-gradient(115deg,#032a45 0%,#064663 100%); }
.sa2e-specialist-hero::after { content:""; position:absolute; width:620px; height:620px; border-radius:50%; right:-170px; top:-260px; background:radial-gradient(circle,rgba(41,186,173,.22),rgba(41,186,173,0) 69%); pointer-events:none; }
.sa2e-specialist-hero-grid { position:relative; z-index:1; min-height:555px; display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.8fr); align-items:center; gap:60px; padding-block:68px; }
.sa2e-specialist-copy .sa2e-kicker { color:#79ddd4; }
.sa2e-specialist-copy h1 { max-width:760px; margin:0; color:#fff; font:650 clamp(43px,5vw,70px)/1.03 Inter,Arial,sans-serif; letter-spacing:-.045em; }
.sa2e-specialist-lead { max-width:760px; margin:20px 0 0; color:#e8f2f7; font:400 18px/1.64 Inter,Arial,sans-serif; }
.sa2e-specialist-actions { margin-top:28px; display:flex; flex-wrap:wrap; gap:11px; }
.sa2e-specialist-primary,.sa2e-specialist-secondary { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 18px; border-radius:11px; text-decoration:none; font:700 13px/1.2 Inter,Arial,sans-serif; }
.sa2e-specialist-primary { color:#fff; background:#0c9b79; box-shadow:0 10px 22px rgba(0,0,0,.13); }
.sa2e-specialist-primary:hover { color:#fff; background:#0a896c; }
.sa2e-specialist-secondary { color:#fff; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.sa2e-specialist-secondary:hover { color:#fff; background:rgba(255,255,255,.13); }
.sa2e-specialist-proof { margin-top:24px; display:flex; flex-wrap:wrap; gap:10px; }
.sa2e-specialist-proof span { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.2); color:#dcecf3; font:500 11px/1.2 Inter,Arial,sans-serif; }
.sa2e-specialist-proof i { color:#73d9d0; }

.sa2e-specialist-visual { padding:26px; border-radius:22px; background:rgba(255,255,255,.97); color:#163a51; box-shadow:0 24px 60px rgba(0,0,0,.2); }
.sa2e-specialist-visual-stage { min-height:230px; border-radius:15px; overflow:hidden; position:relative; background:linear-gradient(145deg,#e8f7f5,#dcecf3); box-shadow:inset 0 0 0 1px rgba(18,79,95,.08); }
.sa2e-specialist-visual-copy { padding:21px 5px 2px; }
.sa2e-specialist-tag { color:#0b8069; font:700 11px/1.3 Inter,Arial,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.sa2e-specialist-visual-copy h2 { margin:8px 0 12px; color:#15344e; font:700 24px/1.22 'Libre Baskerville',Georgia,serif; }
.sa2e-specialist-visual-copy ul { margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.sa2e-specialist-visual-copy li { position:relative; padding-left:19px; color:#5d7183; font:500 12.5px/1.45 Inter,Arial,sans-serif; }
.sa2e-specialist-visual-copy li::before { content:""; width:7px; height:7px; border-radius:50%; background:#0b8c71; position:absolute; left:0; top:.5em; }

/* Damp / mould visual */
.sa2e-moisture-stage { display:grid; grid-template-columns:1fr 1fr; }
.sa2e-moisture-wall { position:relative; background:linear-gradient(90deg,#f4efe4,#e7e0d3); border-right:1px solid rgba(30,77,91,.12); }
.sa2e-moisture-wall::before { content:""; position:absolute; inset:auto 0 0 0; height:46%; background:radial-gradient(circle at 24% 88%,rgba(66,148,126,.7),transparent 22%),radial-gradient(circle at 72% 82%,rgba(57,137,118,.5),transparent 26%),linear-gradient(180deg,rgba(48,125,111,0),rgba(48,125,111,.33)); }
.sa2e-moisture-wall::after { content:""; position:absolute; left:18%; top:23%; width:13px; height:13px; border-radius:50%; background:#245b4c; box-shadow:22px 14px 0 2px #2e6b58,44px -3px 0 1px #316c5a,69px 18px 0 2px #255c4d,92px 5px 0 1px #316c5a; opacity:.62; }
.sa2e-moisture-air { position:relative; background:linear-gradient(180deg,#dff5f4,#d1e8ef); }
.sa2e-moisture-air .drop { position:absolute; color:#0b8c8a; opacity:.78; font-size:30px; }
.sa2e-moisture-air .drop.d1{left:26%;top:18%}.sa2e-moisture-air .drop.d2{left:56%;top:35%;font-size:22px}.sa2e-moisture-air .drop.d3{left:37%;top:58%;font-size:18px}
.sa2e-moisture-air .vent { position:absolute; right:12%; bottom:14%; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#0c8d79; box-shadow:0 7px 20px rgba(0,0,0,.08); font-size:25px; }
.sa2e-moisture-label { position:absolute; left:14px; bottom:13px; padding:6px 9px; border-radius:999px; background:rgba(4,49,69,.78); color:#fff; font:700 10px/1 Inter,Arial,sans-serif; }

/* Water ingress visual */
.sa2e-water-stage { padding:24px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:center; background:linear-gradient(145deg,#e7f4f8,#d9eef0); }
.sa2e-water-node { position:relative; min-height:155px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; border-radius:15px; background:#fff; border:1px solid #d7e5e9; text-align:center; color:#17445a; }
.sa2e-water-node i { width:55px; height:55px; display:grid; place-items:center; border-radius:50%; background:#e5f5f3; color:#087f6b; font-size:23px; }
.sa2e-water-node strong { font:700 12px/1.3 Inter,Arial,sans-serif; }
.sa2e-water-node:not(:last-child)::after { content:"\f061"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; right:-23px; top:50%; transform:translateY(-50%); color:#0b8d79; z-index:2; }

/* Specific defect visual */
.sa2e-defect-stage { display:grid; place-items:center; background:linear-gradient(145deg,#f5efe7,#e6f0f0); }
.sa2e-defect-house { width:min(78%,320px); height:165px; position:relative; border-radius:8px 8px 4px 4px; background:#f4d7bc; border:3px solid #b96f46; box-shadow:0 16px 35px rgba(45,66,75,.12); }
.sa2e-defect-house::before { content:""; position:absolute; left:-18px; right:-18px; top:-55px; height:78px; background:#8c4f38; clip-path:polygon(50% 0,100% 72%,92% 100%,8% 100%,0 72%); }
.sa2e-defect-house .window { position:absolute; width:42px; height:53px; background:#d9edf1; border:4px solid #fff; box-shadow:0 0 0 2px #98644b; }
.sa2e-defect-house .w1{left:30px;top:34px}.sa2e-defect-house .w2{right:30px;top:34px}
.sa2e-defect-house .door { position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:45px; height:72px; background:#1e6282; border:4px solid #fff; box-shadow:0 0 0 2px #98644b; }
.sa2e-defect-focus { position:absolute; width:100px; height:100px; border:7px solid #0a8d77; border-radius:50%; right:8%; bottom:8%; box-shadow:0 0 0 7px rgba(255,255,255,.76); }
.sa2e-defect-focus::after { content:""; position:absolute; width:50px; height:9px; border-radius:8px; background:#0a8d77; right:-38px; bottom:-17px; transform:rotate(43deg); transform-origin:left center; }
.sa2e-defect-mark { position:absolute; right:22%; bottom:26%; width:42px; height:5px; background:#8a402f; transform:rotate(-45deg); box-shadow:11px 9px 0 #8a402f; }

.sa2e-specialist-intro { padding:62px 0; background:#fff; }
.sa2e-specialist-intro-grid { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1fr); gap:70px; align-items:start; }
.sa2e-specialist-intro h2,.sa2e-specialist-useful h2,.sa2e-specialist-compare h2,.sa2e-specialist-local h2 { margin:0; color:#15344e; font:700 clamp(31px,3.4vw,48px)/1.14 'Libre Baskerville',Georgia,serif; letter-spacing:-.03em; }
.sa2e-specialist-intro-grid > div:last-child p { margin:0 0 14px; color:#526b7e; font:400 15px/1.72 Inter,Arial,sans-serif; }

.sa2e-specialist-assess { padding:62px 0 70px; background:#f6f8fa; border-block:1px solid #e4eaee; }
.sa2e-specialist-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.sa2e-specialist-card-grid article { min-height:245px; padding:24px 22px; border-radius:15px; border:1px solid #dfe7eb; background:#fff; box-shadow:0 7px 20px rgba(15,47,67,.045); }
.sa2e-specialist-card-grid article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#e8f5f2; color:#087e67; font:700 12px/1 Inter,Arial,sans-serif; }
.sa2e-specialist-card-grid h3 { margin:20px 0 8px; color:#17394f; font:700 18px/1.3 'Libre Baskerville',Georgia,serif; }
.sa2e-specialist-card-grid p { margin:0; color:#607487; font:400 13px/1.62 Inter,Arial,sans-serif; }

.sa2e-specialist-useful { padding:70px 0; background:#fff; }
.sa2e-specialist-useful-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.58fr); gap:58px; align-items:start; }
.sa2e-specialist-useful-copy ul,.sa2e-specialist-compare-grid ul { margin:24px 0 0; padding:0; list-style:none; display:grid; gap:11px; }
.sa2e-specialist-useful-copy li,.sa2e-specialist-compare-grid li { position:relative; padding-left:27px; color:#526b7e; font:400 14px/1.55 Inter,Arial,sans-serif; }
.sa2e-specialist-useful-copy li::before,.sa2e-specialist-compare-grid li::before { content:"✓"; position:absolute; left:0; top:0; color:#078467; font-weight:800; }
.sa2e-specialist-note { padding:28px; border-radius:16px; color:#fff; background:linear-gradient(145deg,#073753,#0b5065); box-shadow:0 17px 38px rgba(12,45,65,.13); }
.sa2e-specialist-note > i { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; color:#032f45; background:#79ded4; font-size:21px; }
.sa2e-specialist-note h3 { margin:19px 0 9px; color:#fff; font:700 21px/1.3 'Libre Baskerville',Georgia,serif; }
.sa2e-specialist-note p { margin:0; color:#dfedf3; font:400 13px/1.65 Inter,Arial,sans-serif; }

.sa2e-specialist-report { padding:66px 0; background:#f7f9fb; border-block:1px solid #e2e8ec; }
.sa2e-specialist-report-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.sa2e-specialist-report-grid > div { padding:24px 20px; border-radius:14px; background:#fff; border:1px solid #e0e7eb; }
.sa2e-specialist-report-grid i { color:#0a8067; font-size:27px; }
.sa2e-specialist-report-grid h3 { margin:17px 0 7px; color:#173a50; font:700 16px/1.3 Inter,Arial,sans-serif; }
.sa2e-specialist-report-grid p { margin:0; color:#617587; font:400 12.5px/1.6 Inter,Arial,sans-serif; }

.sa2e-specialist-compare { padding:72px 0; background:#fff; }
.sa2e-specialist-compare-grid-wrap { display:grid; grid-template-columns:minmax(300px,.65fr) minmax(0,1fr); gap:55px; align-items:start; }
.sa2e-specialist-compare-grid-wrap > div:first-child > p:last-child { color:#5a7183; font:400 14px/1.67 Inter,Arial,sans-serif; margin:16px 0 0; }
.sa2e-specialist-compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.sa2e-specialist-compare-grid article { padding:24px; border-radius:15px; border:1px solid #dce6ea; background:#fbfcfd; }
.sa2e-specialist-compare-grid article:last-child { background:#f2f7f8; }
.sa2e-specialist-compare-grid h3 { margin:0; color:#17394f; font:700 18px/1.3 'Libre Baskerville',Georgia,serif; }
.sa2e-specialist-compare-grid ul { margin-top:16px; }
.sa2e-specialist-compare-grid li { font-size:12.5px; }

.sa2e-specialist-faq { padding:66px 0; background:#f6f8fa; border-top:1px solid #e3e9ed; }
.sa2e-specialist-faq-list { max-width:920px; margin:0 auto; display:grid; gap:9px; }
.sa2e-specialist-faq-list details { border:1px solid #dde6ea; border-radius:12px; background:#fff; overflow:hidden; }
.sa2e-specialist-faq-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; color:#17394f; font:700 14px/1.4 Inter,Arial,sans-serif; }
.sa2e-specialist-faq-list summary::-webkit-details-marker { display:none; }
.sa2e-specialist-faq-list summary i { color:#0a8067; transition:transform .2s ease; }
.sa2e-specialist-faq-list details[open] summary i { transform:rotate(45deg); }
.sa2e-specialist-faq-list details p { margin:0; padding:0 20px 19px; color:#5e7385; font:400 13px/1.65 Inter,Arial,sans-serif; }

.sa2e-specialist-local { padding:58px 0; color:#fff; background:linear-gradient(110deg,#032a45,#07516a); }
.sa2e-specialist-local .sa2e-kicker { color:#76ddd2; }
.sa2e-specialist-local h2 { color:#fff; max-width:850px; }
.sa2e-specialist-local p:last-child { max-width:820px; margin:13px 0 0; color:#dfeef4; font:400 14px/1.65 Inter,Arial,sans-serif; }
.sa2e-specialist-local-grid { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.sa2e-specialist-local-actions { display:flex; flex-direction:column; gap:9px; min-width:225px; }
.sa2e-specialist-local .sa2e-specialist-secondary.light { color:#fff; text-align:center; }

@media (max-width:1080px) {
  .sa2e-specialist-hero-grid { grid-template-columns:minmax(0,1fr) minmax(340px,.75fr); gap:34px; }
  .sa2e-specialist-card-grid,.sa2e-specialist-report-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sa2e-specialist-compare-grid-wrap { grid-template-columns:1fr; }
  .sa2e-specialist-intro-grid { gap:38px; }
}

@media (max-width:760px) {
  .sa2e-specialist-breadcrumb .sa2e-shell { min-height:42px; overflow:auto; white-space:nowrap; }
  .sa2e-specialist-hero-grid { min-height:auto; grid-template-columns:1fr; gap:30px; padding-block:46px; }
  .sa2e-specialist-copy h1 { font-size:clamp(37px,10.8vw,50px); }
  .sa2e-specialist-lead { font-size:15px; line-height:1.58; }
  .sa2e-specialist-actions { display:grid; grid-template-columns:1fr; }
  .sa2e-specialist-primary,.sa2e-specialist-secondary { width:100%; }
  .sa2e-specialist-proof { display:grid; grid-template-columns:1fr; }
  .sa2e-specialist-visual { padding:18px; border-radius:16px; }
  .sa2e-specialist-visual-stage { min-height:200px; }
  .sa2e-specialist-visual-copy h2 { font-size:20px; }
  .sa2e-water-stage { grid-template-columns:1fr; }
  .sa2e-water-node { min-height:105px; flex-direction:row; justify-content:flex-start; padding:18px; text-align:left; }
  .sa2e-water-node:not(:last-child)::after { content:"\f063"; right:50%; top:auto; bottom:-25px; transform:translateX(50%); }
  .sa2e-specialist-intro { padding:46px 0; }
  .sa2e-specialist-intro-grid,.sa2e-specialist-useful-grid { grid-template-columns:1fr; gap:28px; }
  .sa2e-specialist-card-grid,.sa2e-specialist-report-grid { grid-template-columns:1fr; }
  .sa2e-specialist-card-grid article { min-height:0; }
  .sa2e-specialist-assess,.sa2e-specialist-report,.sa2e-specialist-faq { padding:48px 0; }
  .sa2e-specialist-useful,.sa2e-specialist-compare { padding:52px 0; }
  .sa2e-specialist-compare-grid { grid-template-columns:1fr; }
  .sa2e-specialist-local-grid { align-items:flex-start; flex-direction:column; }
  .sa2e-specialist-local-actions { width:100%; min-width:0; }
}

@media (max-width:420px) {
  .sa2e-specialist-copy h1 { font-size:36px; }
  .sa2e-specialist-visual { padding:14px; }
  .sa2e-specialist-visual-stage { min-height:180px; }
}

/* Phase 2E-3 service hub additions */
.sa2e-services-page .sa2e-service-group-actions { flex-wrap:wrap; }
