/* SurveyAll Phase 2E-1: Property Problems + service architecture.
   Scoped to .sa2e-* to avoid disturbing the approved homepage hero. */
.sa2e-page, .sa2e-home-pathways { --sa2e-navy:#032a45; --sa2e-ink:#17364f; --sa2e-green:#0a7f65; --sa2e-pale:#f6f8fa; --sa2e-line:#dbe4ea; font-family:Inter,'Open Sans',Arial,sans-serif; color:var(--sa2e-ink); }
.sa2e-page *, .sa2e-home-pathways * { box-sizing:border-box; }
.sa2e-shell { width:calc(100% - 10vw); max-width:1320px; margin-inline:auto; }
.sa2e-kicker { margin:0 0 10px; color:#1a948b; font:700 12px/1.45 Inter,Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; }
.sa2e-section-heading { max-width:820px; margin:0 auto 30px; text-align:center; }
.sa2e-section-heading-left { margin-inline:0; text-align:left; }
.sa2e-section-heading h2 { margin:0; color:#15344e; font:700 clamp(29px,3.2vw,46px)/1.15 'Libre Baskerville',Georgia,serif; letter-spacing:-.03em; }
.sa2e-section-heading p:not(.sa2e-kicker) { margin:13px 0 0; color:#536b7f; font:400 16px/1.65 Inter,Arial,sans-serif; }

/* Homepage lower pathways */
.sa2e-home-pathways { padding:38px 0 58px; background:#fff; }
.sa2e-pathway-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sa2e-pathway { min-height:118px; padding:20px 22px; border-radius:15px; display:grid; grid-template-columns:52px minmax(0,1fr) 20px; gap:16px; align-items:center; color:#fff; text-decoration:none; box-shadow:0 8px 22px rgba(13,39,60,.08); border:1px solid rgba(255,255,255,.42); }
.sa2e-pathway:hover { color:#fff; transform:translateY(-2px); box-shadow:0 12px 30px rgba(13,39,60,.14); }
.sa2e-pathway-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:13px; background:rgba(255,255,255,.14); font-size:27px; }
.sa2e-pathway > span:nth-child(2) { min-width:0; }
.sa2e-pathway strong { display:block; font:700 18px/1.25 Inter,Arial,sans-serif; }
.sa2e-pathway small { display:block; margin-top:6px; color:rgba(255,255,255,.92); font:400 13px/1.45 Inter,Arial,sans-serif; }
.sa2e-pathway > i:last-child { justify-self:end; }
.sa2e-pathway-blue { background:linear-gradient(115deg,#006ed9,#087fe6); }
.sa2e-pathway-orange { background:linear-gradient(115deg,#db5a00,#ef7a00); }
.sa2e-pathway-purple { background:linear-gradient(115deg,#52249d,#6e2ab8); }
.sa2e-pathway-green { background:linear-gradient(115deg,#078d47,#15a45a); }
.sa2e-home-help { margin-top:18px; border:1px solid #dfe8ed; background:#f7fafb; border-radius:15px; padding:20px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.sa2e-home-help strong { display:block; font:700 18px/1.3 Inter,Arial,sans-serif; color:#15384f; }
.sa2e-home-help span { display:block; margin-top:4px; color:#5d7184; font:400 13px/1.45 Inter,Arial,sans-serif; }
.sa2e-home-help-actions { display:flex; gap:9px; flex-shrink:0; }
.sa2e-home-help-actions button, .sa2e-home-help-actions a { border:0; border-radius:10px; padding:12px 16px; font:600 13px/1.2 Inter,Arial,sans-serif; cursor:pointer; text-decoration:none; }
.sa2e-home-help-actions button { background:#0a8067; color:#fff; }
.sa2e-home-help-actions a { color:#0a8067; background:#e8f5f2; }

/* Property Problems hero */
.sa2e-problems-hero { position:relative; overflow:hidden; min-height:430px; background:linear-gradient(110deg,#032a45 0%,#043a5d 57%,#0b5276 100%); color:#fff; }
.sa2e-problems-scene { position:absolute; inset:0 0 0 auto; width:min(58%,850px); overflow:hidden; pointer-events:none; }
.sa2e-problems-scene::before { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,#032a45 0%,rgba(3,42,69,.72) 18%,rgba(3,42,69,.18) 51%,rgba(3,42,69,0) 75%); }
.sa2e-problems-scene img { width:100%; height:100%; object-fit:cover; object-position:62% 37%; display:block; filter:saturate(.93); }
.sa2e-problems-hero-grid { position:relative; z-index:3; min-height:430px; display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1fr); align-items:center; padding-block:54px; }
.sa2e-problems-copy { max-width:720px; }
.sa2e-problems-copy .sa2e-kicker { color:#7ee0d5; }
.sa2e-problems-copy h1 { margin:0; max-width:670px; color:#fff; font:650 clamp(42px,5.2vw,72px)/1.02 Inter,Arial,sans-serif; letter-spacing:-.04em; }
.sa2e-problems-copy > p:last-child { max-width:680px; margin:18px 0 0; color:#eff7fb; font:400 18px/1.6 Inter,Arial,sans-serif; }

.sa2e-problem-picker { padding:54px 0 42px; background:#fff; }
.sa2e-problem-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sa2e-problem-card { min-height:146px; display:grid; grid-template-columns:56px minmax(0,1fr) 18px; align-items:center; gap:16px; padding:20px; border:1px solid var(--sa2e-line); border-radius:15px; color:#18364e; background:#fff; text-decoration:none; box-shadow:0 7px 22px rgba(12,39,60,.06); }
.sa2e-problem-card:hover { border-color:#7cb9b1; color:#18364e; box-shadow:0 12px 28px rgba(12,39,60,.11); }
.sa2e-problem-icon { width:56px; height:56px; border-radius:13px; display:grid; place-items:center; color:#087d6b; background:#edf8f6; font-size:25px; }
.sa2e-problem-card strong { display:block; color:#15344e; font:700 19px/1.25 'Libre Baskerville',Georgia,serif; }
.sa2e-problem-card small { display:block; margin-top:7px; color:#62768a; font:400 13px/1.48 Inter,Arial,sans-serif; }
.sa2e-problem-card > i:last-child { justify-self:end; color:#0b7f69; }
.sa2e-help-banner { margin-top:18px; padding:22px 24px; display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:18px; border-radius:15px; background:linear-gradient(90deg,#f5f8f9,#eef5f3); border:1px solid #dfe7e8; }
.sa2e-help-banner-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; border:1px solid #b8cbd4; color:#224965; font-size:25px; }
.sa2e-help-banner strong { display:block; font:700 20px/1.25 'Libre Baskerville',Georgia,serif; color:#15344e; }
.sa2e-help-banner span { display:block; margin-top:4px; color:#607589; font:400 13px/1.45 Inter,Arial,sans-serif; }
.sa2e-help-banner > a { border-radius:10px; padding:13px 18px; color:#fff; background:#087c60; text-decoration:none; font:600 13px/1.2 Inter,Arial,sans-serif; white-space:nowrap; }
.sa2e-help-banner > a i { margin-left:8px; }

.sa2e-trust-row { background:#f7f9fb; border-block:1px solid #e4eaee; }
.sa2e-trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.sa2e-trust-grid > div { min-height:116px; display:flex; gap:13px; align-items:center; padding:22px 17px; border-right:1px solid #dde5ea; }
.sa2e-trust-grid > div:last-child { border-right:0; }
.sa2e-trust-grid > div > i { color:#1d5267; font-size:28px; }
.sa2e-trust-grid strong { display:block; font:700 14px/1.3 Inter,Arial,sans-serif; color:#18384f; }
.sa2e-trust-grid small { display:block; margin-top:4px; color:#617488; font:400 11.5px/1.4 Inter,Arial,sans-serif; }

.sa2e-problem-details { padding:68px 0; background:#fff; }
.sa2e-detail-list { display:grid; gap:12px; }
.sa2e-detail-card { scroll-margin-top:100px; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:22px; padding:24px; border:1px solid #dee6eb; border-radius:14px; background:#fff; }
.sa2e-detail-number { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#0a8067; background:#eaf6f3; font:700 13px/1 Inter,Arial,sans-serif; }
.sa2e-detail-card h3 { margin:0; color:#15344e; font:700 21px/1.25 'Libre Baskerville',Georgia,serif; }
.sa2e-detail-card p { margin:8px 0 0; color:#5d7184; font:400 14px/1.62 Inter,Arial,sans-serif; }
.sa2e-detail-card > a { color:#0b8069; text-decoration:none; font:600 13px/1.2 Inter,Arial,sans-serif; white-space:nowrap; }
.sa2e-detail-card > a i { margin-left:7px; }
.sa2e-local-band { padding:48px 0; background:linear-gradient(100deg,#032a45,#06496a); color:#fff; }
.sa2e-local-band-grid { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.sa2e-local-band .sa2e-kicker { color:#73d9d0; }
.sa2e-local-band h2 { margin:0; color:#fff; font:700 clamp(28px,3vw,42px)/1.18 'Libre Baskerville',Georgia,serif; }
.sa2e-local-band p:last-child { max-width:850px; margin:13px 0 0; color:#e4eff5; font:400 15px/1.6 Inter,Arial,sans-serif; }
.sa2e-local-band a { flex-shrink:0; color:#05394a; background:#fff; border-radius:11px; padding:14px 18px; text-decoration:none; font:700 13px/1.2 Inter,Arial,sans-serif; }

/* Services hub */
.sa2e-services-hero { padding:62px 0 54px; background:linear-gradient(115deg,#032a45,#06496a); color:#fff; }
.sa2e-services-hero .sa2e-kicker { color:#73d9d0; }
.sa2e-services-hero h1 { max-width:920px; margin:0; font:650 clamp(38px,4.6vw,64px)/1.05 Inter,Arial,sans-serif; letter-spacing:-.04em; color:#fff; }
.sa2e-services-hero p:last-child { max-width:780px; margin:17px 0 0; color:#e7f0f5; font:400 17px/1.6 Inter,Arial,sans-serif; }
.sa2e-services-routes { padding:34px 0; background:#f7f9fb; }
.sa2e-service-groups { padding:32px 0 62px; background:#fff; }
.sa2e-service-group { scroll-margin-top:100px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:center; padding:32px 0; border-bottom:1px solid #e3e9ed; }
.sa2e-service-group-heading { display:grid; grid-template-columns:58px minmax(0,1fr); gap:19px; }
.sa2e-service-group-heading > span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#edf7f5; color:#0a8067; font:700 13px/1 Inter,Arial,sans-serif; }
.sa2e-service-group h2 { margin:0; color:#15344e; font:700 28px/1.2 'Libre Baskerville',Georgia,serif; }
.sa2e-service-group p:not(.sa2e-kicker) { margin:8px 0 0; color:#5b7082; font:400 14px/1.6 Inter,Arial,sans-serif; max-width:780px; }
.sa2e-service-group-actions { display:flex; gap:9px; align-items:center; }
.sa2e-service-group-actions a { color:#fff; background:#087e65; border-radius:10px; padding:13px 17px; text-decoration:none; font:600 13px/1.2 Inter,Arial,sans-serif; white-space:nowrap; }
.sa2e-service-group-actions a.sa2e-secondary-link { color:#0b8069; background:#eaf6f3; }
.sa2e-existing-services { padding:54px 0 70px; background:#f7f9fb; }
.sa2e-existing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.sa2e-existing-card { display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:16px; min-height:102px; padding:18px 20px; border-radius:13px; background:#fff; border:1px solid #dee7ec; text-decoration:none; color:#18384f; }
.sa2e-existing-card:hover { color:#18384f; border-color:#87bdb5; }
.sa2e-existing-card strong { display:block; font:700 16px/1.25 Inter,Arial,sans-serif; }
.sa2e-existing-card small { display:block; margin-top:6px; color:#627689; font:400 12px/1.5 Inter,Arial,sans-serif; }
.sa2e-existing-card > i { color:#0a8067; }

/* header active state on Phase 2E pages */
#sah-header .sah-nav-item > a[aria-current="page"] { color:#79e1d7; }

@media (max-width:1080px) {
  .sa2e-shell { width:calc(100% - 48px); }
  .sa2e-problems-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,.7fr); }
  .sa2e-problem-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sa2e-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sa2e-trust-grid > div:nth-child(2) { border-right:0; }
  .sa2e-trust-grid > div:nth-child(-n+2) { border-bottom:1px solid #dde5ea; }
  .sa2e-service-group { grid-template-columns:1fr; }
  .sa2e-service-group-actions { padding-left:77px; }
}

@media (max-width:760px) {
  .sa2e-shell { width:calc(100% - 30px); }
  .sa2e-home-pathways { padding:28px 0 42px; }
  .sa2e-pathway-grid { grid-template-columns:1fr; gap:9px; }
  .sa2e-pathway { min-height:88px; padding:14px 16px; grid-template-columns:44px minmax(0,1fr) 16px; gap:12px; border-radius:12px; }
  .sa2e-pathway-icon { width:44px; height:44px; font-size:22px; border-radius:11px; }
  .sa2e-pathway strong { font-size:16px; }
  .sa2e-pathway small { font-size:12px; }
  .sa2e-home-help { align-items:flex-start; flex-direction:column; }
  .sa2e-home-help-actions { width:100%; }
  .sa2e-home-help-actions button, .sa2e-home-help-actions a { flex:1; text-align:center; }
  .sa2e-problems-hero { min-height:500px; }
  .sa2e-problems-scene { width:72%; left:28%; right:auto; opacity:.76; }
  .sa2e-problems-scene::before { background:linear-gradient(90deg,#032a45 0%,rgba(3,42,69,.8) 20%,rgba(3,42,69,.15) 72%); }
  .sa2e-problems-hero-grid { min-height:500px; grid-template-columns:1fr; align-items:start; padding-block:52px 38px; }
  .sa2e-problems-copy { position:relative; z-index:4; max-width:100%; }
  .sa2e-problems-copy h1 { font-size:clamp(37px,11vw,52px); max-width:92%; }
  .sa2e-problems-copy > p:last-child { max-width:90%; font-size:15px; }
  .sa2e-problem-picker { padding:38px 0 30px; }
  .sa2e-problem-grid { grid-template-columns:1fr; gap:9px; }
  .sa2e-problem-card { min-height:94px; grid-template-columns:46px minmax(0,1fr) 15px; padding:14px 15px; gap:12px; border-radius:12px; }
  .sa2e-problem-icon { width:46px; height:46px; border-radius:11px; font-size:21px; }
  .sa2e-problem-card strong { font-size:16px; }
  .sa2e-problem-card small { font-size:11.5px; margin-top:4px; }
  .sa2e-help-banner { grid-template-columns:47px minmax(0,1fr); padding:17px; gap:13px; }
  .sa2e-help-banner-icon { width:47px; height:47px; }
  .sa2e-help-banner > a { grid-column:1/-1; text-align:center; }
  .sa2e-trust-grid { grid-template-columns:1fr 1fr; }
  .sa2e-trust-grid > div { min-height:102px; padding:15px 12px; align-items:flex-start; }
  .sa2e-trust-grid > div > i { font-size:23px; margin-top:2px; }
  .sa2e-trust-grid strong { font-size:12px; }
  .sa2e-trust-grid small { font-size:10.5px; }
  .sa2e-problem-details { padding:46px 0; }
  .sa2e-detail-card { grid-template-columns:44px minmax(0,1fr); gap:12px; padding:18px; align-items:start; }
  .sa2e-detail-number { width:40px; height:40px; }
  .sa2e-detail-card > a { grid-column:2; white-space:normal; }
  .sa2e-detail-card h3 { font-size:18px; }
  .sa2e-detail-card p { font-size:13px; }
  .sa2e-local-band-grid { align-items:flex-start; flex-direction:column; }
  .sa2e-services-hero { padding:46px 0 40px; }
  .sa2e-services-hero h1 { font-size:clamp(34px,10vw,48px); }
  .sa2e-service-group { padding:26px 0; }
  .sa2e-service-group-heading { grid-template-columns:46px minmax(0,1fr); gap:12px; }
  .sa2e-service-group-heading > span { width:40px; height:40px; }
  .sa2e-service-group h2 { font-size:23px; }
  .sa2e-service-group-actions { padding-left:58px; flex-wrap:wrap; }
  .sa2e-existing-grid { grid-template-columns:1fr; }
}

@media (max-width:420px) {
  .sa2e-shell { width:calc(100% - 24px); }
  .sa2e-problems-copy h1 { font-size:38px; }
  .sa2e-problems-copy > p:last-child { max-width:100%; }
  .sa2e-trust-grid { grid-template-columns:1fr; }
  .sa2e-trust-grid > div { border-right:0 !important; border-bottom:1px solid #dde5ea; }
  .sa2e-trust-grid > div:last-child { border-bottom:0; }
  .sa2e-home-help-actions { flex-direction:column; }
}
