/* Supporting marketing pages: shared service-page visual language. */
.sx-site #main .sp-designed{padding:clamp(44px,6vw,80px) 0;background:#fff;color:#0b203e}
.sx-site #main .sp-designed>.wrap{max-width:1160px}
.sx-site #main .sp-designed h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 26px;max-width:26ch;color:#0b203e}
.sx-site #main .sp-designed em,.sx-site .hero.supporting-hero h1 em{display:block;color:#f94306;font-style:normal}
.sx-site #main .sp-designed p{font-size:1rem;line-height:1.75;max-width:68ch}
.sx-site #main .sp-designed .sp-kicker{display:flex;align-items:center;gap:12px;font-size:.69rem;font-weight:750;letter-spacing:.15em;line-height:1.4;margin:0 0 20px;color:#516176}
.sp-kicker>span{width:26px;height:2px;background:#f94306;flex-shrink:0}
.sp-icon{width:29px;height:29px;color:#f94306;flex-shrink:0;display:block}
.sp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.sx-site #main .sp-card{background:#f5f8fb;border:1px solid #dce5ee;border-radius:16px;padding:26px;min-width:0}
.sx-site #main .sp-card h3{font-size:1.1rem;line-height:1.4;margin:19px 0 10px;color:#0b203e}
.sx-site #main .sp-card p{font-size:.94rem;margin:0;color:#4b5c70}
.sp-overview{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.sx-site #main .sp-feature{padding:clamp(24px,4vw,40px);border-radius:20px;background:radial-gradient(ellipse at top right,#294766,#0a1d37);color:#dbe5f1;box-shadow:0 14px 35px #0b203e12}
.sx-site #main .sp-feature h3{font-size:1.65rem;line-height:1.2;color:white;margin:24px 0 18px}
.sx-site #main .sp-feature .sp-text-link{color:white}
.sp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:28px}
.sp-text-link{display:inline-flex;gap:16px;align-items:center;color:#0b203e;font-weight:700;text-decoration:underline;text-underline-offset:5px;min-height:44px}
.sp-text-link span{color:#f94306}
.sx-site #main .sp-process{background:radial-gradient(ellipse at top right,#233e60,#0a1c38);color:#dbe5f1}
.sx-site #main .sp-process h2,.sx-site #main .sp-process h3{color:white}
.sx-site #main .sp-process .sp-kicker{color:#c7d6e8}
.sp-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:30px}
.sp-step{display:grid;grid-template-columns:30px 1fr;gap:18px;padding:26px 0;border-top:1px solid #ffffff30;min-width:0}
.sx-site #main .sp-step h3{font-size:1.1rem;line-height:1.4;margin:0 0 10px}
.sx-site #main .sp-step p{margin:0 0 12px;font-size:.94rem}
.sx-site #main .sp-step .btn{color:white;border:1px solid #8498ad;background:transparent;white-space:normal}
.sx-site #main .sp-designed.family-details{background:#f3f7fb}
.sx-site #main .sp-designed .family-detail-grid{gap:18px;align-items:start}
.sx-site #main .sp-designed .page-fold{border:1px solid #d7e1eb;border-radius:14px;background:white;margin:0;padding:0 22px;box-shadow:none;color:#0b203e;overflow:hidden}
.sx-site #main .sp-designed .page-fold>summary{display:flex;align-items:center;gap:14px;min-height:84px;font-size:1rem;color:#0b203e;line-height:1.4;padding:18px 0}
.sx-site #main .sp-designed .page-fold>summary>span{flex:1}
.sx-site #main .sp-designed .page-fold>summary .sp-icon{width:25px;height:25px}
.sx-site #main .sp-designed .fold-content{padding:0 0 24px}
.sx-site #main .sp-designed .fold-content :is(h2,h3,p,li,a:not(.btn)){color:#0b203e}
.sx-site #main .sp-designed .fold-content p{font-size:.94rem}
.sx-site #main .sp-disclosure{background:#eef3f8;border-block:1px solid #d7e1eb}
.sx-site #main .sp-disclosure>.wrap{max-width:960px}
.sx-site #main .sp-disclosure .financing-terms{border-left:3px solid #f94306;padding:4px 0 4px 24px;background:transparent}
.sx-site #main .sp-disclosure p{font-size:.92rem}
.sx-site #main .sp-designed.family-process{background:radial-gradient(ellipse at top right,#233e60,#0a1c38);color:#dbe5f1}
.sx-site #main .sp-designed.family-process :is(h2,h3,summary){color:white}
.sx-site #main .sp-designed .process-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 36px}
.sx-site #main .sp-designed .process-item::before{display:none}
.sx-site #main .sp-designed .family-step{border-top:1px solid #ffffff35}
.sx-site #main .sp-designed .process-number{background:transparent;border:0;box-shadow:none}
.sx-site #main .sp-designed .process-number svg{width:24px;height:24px}
.sx-site #main .sp-designed .faq-group>summary{color:#0b203e}
.sx-site #main .sp-designed .faq-item{background:white;color:#0b203e;border-color:#d7e1eb}
.sx-site #main .sp-designed.request-section{background:#edf3f9}
@media(max-width:760px){
 .sp-overview,.sp-step-grid,.sp-cards{grid-template-columns:1fr}
 .sp-cards{gap:14px;margin-top:28px}
 .sx-site #main .sp-card{display:grid;grid-template-columns:29px 1fr;column-gap:16px;padding:22px}
 .sx-site #main .sp-card h3{margin:0 0 8px}
 .sx-site #main .sp-card p{grid-column:2}
 .sx-site #main .sp-designed .process-track{grid-template-columns:1fr}
 .sx-site #main .sp-designed .family-detail-grid{grid-template-columns:1fr}
 .sp-feature{margin-top:4px}
 .sp-actions .btn{white-space:normal}
 .sx-site #main .sp-designed .sp-step{padding:24px 0}
 .sx-site #main .sp-designed .page-fold{padding-inline:18px}
}
/* Explicit component typography keeps inherited document styles out of these blocks. */
.sx-site #main .sp-designed .sp-overview p,.sx-site #main .sp-designed .sp-step p{font-weight:400!important}
.sx-site #main .sp-designed :is(.sp-actions,.sp-step) .btn{font-size:.94rem!important;line-height:1.45!important;padding:13px 20px!important;letter-spacing:0!important;max-width:100%}
.sx-site #main .sp-designed .sp-actions .sp-text-link{font-size:.96rem!important;line-height:1.5!important}
.sx-site #main .sp-designed .page-fold>summary,.sx-site #main .sp-designed .page-fold>summary>span{color:#0b203e!important}
.sx-site #main .sp-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.sx-site #main .sp-editorial .original-media{margin:0;max-width:none;width:100%}
.sx-site #main .sp-editorial .original-media img{display:block;width:100%;height:auto;max-height:580px;object-fit:cover;border-radius:18px}
@media(max-width:760px){.sx-site #main .sp-editorial{grid-template-columns:1fr}}

/* Explicit lower-page surfaces; keep shared service cards outside these rules. */
.sx-site #main .sp-designed{--band-ink:#0b203e}
.sx-site #main .sp-designed.family-process{--band-ink:#fff}
.sx-site #main .sp-designed.family-process :is(.process-header p,.family-step>div){color:#dbe5f1}
.sx-site #main .sp-designed.family-process .family-step>summary h3{color:#fff}
.sx-site #main .sp-designed .page-fold :is(summary,.fold-content){background:#fff;color:#0b203e}
.sx-site #main .sp-designed .faq-group>summary{margin:0;min-height:64px;cursor:pointer}
.sx-site #main .sp-designed .faq-group[open]>.faq-body{padding-top:24px}
.sx-site #main .sp-coverage{background:radial-gradient(ellipse at top right,#233e60,#0a1c38);color:#dbe5f1}
.sp-coverage-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}
.sx-site #main .sp-coverage :is(h2,h3,a){color:#fff}
.sx-site #main .sp-coverage .sp-kicker{color:#c7d6e8}
.sx-site #main .sp-coverage p a{text-decoration:underline;text-underline-offset:4px}
.sp-coverage-action{border:1px solid #ffffff35;border-radius:18px;padding:28px;background:#ffffff08}
.sx-site #main .sp-coverage-action h3{font-size:1.25rem;line-height:1.35;margin:0 0 12px}
.sx-site #main .sp-coverage-action .btn{font-size:1rem;line-height:1.4;padding:13px 22px;margin-top:12px}
@media(max-width:760px){.sp-coverage-grid{grid-template-columns:minmax(0,1fr);gap:24px}.sp-coverage-action{padding:24px}}
.sx-site #main .sp-coverage p{color:#dbe5f1}

/* Financing-only refinement: reuse the service scope cards and payment banner. */
.fin-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}
.sx-site #main .fin-start .sf-scope-card h3{font-size:1.12rem;line-height:1.4;margin:0 0 12px;color:#0b203e}
.sx-site #main .fin-start .sf-scope-card p{font-size:.95rem;line-height:1.7;margin:0;font-weight:400;color:#4b5c70}
.fin-next-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start}
.sx-site #main .fin-next p{color:#d6e1ef;font-weight:400}
.fin-fold{border-top:1px solid #ffffff35}
.fin-fold:last-child{border-bottom:1px solid #ffffff35}
.sx-site #main .fin-fold>summary{display:flex;gap:16px;align-items:center;min-height:76px;padding:20px 0;cursor:pointer;color:white;font-size:1rem;font-weight:700;list-style:none}
.fin-fold>summary::-webkit-details-marker{display:none}
.fin-fold>summary>span{flex:1}
.fin-fold>summary::after{content:'+';color:#f94306;font-size:1.4rem;font-weight:400}
.fin-fold[open]>summary::after{content:'−'}
.fin-fold>div{padding:0 0 24px 45px}
.sx-site #main .fin-fold>div p{font-size:.95rem;margin:0}
.fin-fold>summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:760px){.fin-start-grid,.fin-next-grid{grid-template-columns:1fr}.fin-start-grid{gap:16px}.fin-fold>div{padding-left:0}}
/* Keep the financing disclosure readable rather than inheriting a split layout. */
.sx-site #main:has(.fin-start) .sp-disclosure>.wrap{display:block!important;max-width:960px!important}
.sx-site #main:has(.fin-start) .sp-disclosure .financing-terms{display:block!important;width:100%!important;max-width:none!important;grid-column:auto!important}
.sx-site #main:has(.fin-start) .sp-disclosure .financing-terms p{max-width:78ch!important;width:auto!important}

/* Residential-only hierarchy. Shared service cards and payment components are unchanged. */
.res-process-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,6vw,76px);align-items:start}
.sx-site #main .res-process .res-process-overview p{color:#dbe5f1}
.res-process-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin-top:28px}
.res-process-list{list-style:none;margin:0;padding:0;min-width:0}
.res-detail{border-top:1px solid #ffffff35}
.res-process-list>li:last-child .res-detail{border-bottom:1px solid #ffffff35}
.sx-site #main .res-detail>summary{display:flex;gap:16px;align-items:center;min-height:76px;padding:20px 0;color:#fff;line-height:1.4;font-size:1rem;font-weight:700;cursor:pointer;list-style:none}
.res-detail>summary>span{flex:1}
.res-detail>summary::-webkit-details-marker,.res-planning-detail>summary::-webkit-details-marker,.res-faq .faq-group>summary::-webkit-details-marker{display:none}
.res-detail>summary::after,.res-planning-detail>summary::after,.res-faq .faq-group>summary::after{content:'+';color:#f94306;font-size:1.45rem;font-weight:400;flex-shrink:0}
.res-detail[open]>summary::after,.res-planning-detail[open]>summary::after,.res-faq .faq-group[open]>summary::after{content:'−'}
.sx-site #main .res-detail>div{padding:0 0 24px 45px}
.sx-site #main .res-detail>div p{font-size:.95rem;color:#dbe5f1;margin:0}
.res-planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin-top:32px}
.res-planning-card{padding:28px;border:1px solid #dce5ee;border-radius:16px;background:linear-gradient(135deg,#f9fbfe,#eff4fa);min-width:0}
.sx-site #main .res-planning-card h3{font-size:1.15rem;line-height:1.4;color:#0b203e;margin:22px 0 12px}
.sx-site #main .res-planning-card p{font-size:.95rem;line-height:1.7;color:#4b5c70;margin:0 0 18px}
.res-planning-detail{border-top:1px solid #ccd8e5}
.sx-site #main .res-planning-detail>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:56px;cursor:pointer;color:#0b203e;font-size:.94rem;font-weight:700;list-style:none}
.sx-site #main .res-planning-detail ul{padding-left:20px;margin:8px 0 20px}
.sx-site #main .res-planning-detail li{font-size:.94rem;line-height:1.65;color:#4b5c70;margin-bottom:10px}
.sx-site #main .res-planning-detail .sp-text-link{font-size:.94rem;line-height:1.5}
.res-coverage .sp-coverage-action>.sp-icon{margin-bottom:20px}
.sx-site #main .res-faq .faq-group{padding:0;border-top:1px solid #ccd8e5;border-bottom:1px solid #ccd8e5}
.sx-site #main .res-faq .faq-group>summary{display:flex;align-items:center;gap:18px;padding:24px 0;font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.3;list-style:none;color:#0b203e}
.res-faq .faq-group>summary>span{flex:1}
.sx-site #main .res-faq .faq-group[open]>.faq-body{padding:0 0 28px}
.sx-site #main .res-request.request-section{background:radial-gradient(ellipse at top right,#233e60,#0a1c38);color:#dbe5f1}
.sx-site #main .res-request>.res-request-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,64px);align-items:start}
.sx-site #main .res-request-copy h2{color:white}
.sx-site #main .res-request-copy .sp-kicker{color:#c7d6e8}
.sx-site #main .res-request-copy p{color:#dbe5f1}
.res-request-note{display:flex;gap:18px;margin-top:30px}
.sx-site #main .res-request-note p{margin:0;font-size:.95rem}
.res-callout{border-top:1px solid #ffffff35;margin-top:32px;padding-top:24px}
.sx-site #main .res-callout p{margin:0 0 14px;font-size:.95rem}
.sx-site #main .res-callout a{display:inline-flex;align-items:center;gap:16px;color:white;font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:750;min-height:48px;text-decoration:none}
.sx-site #main .res-request .formbox{width:100%;max-width:none;margin:0;padding:clamp(22px,3vw,34px);background:#fff;color:#0b203e;border-radius:20px;box-sizing:border-box}
.sx-site #main .res-request .formbox h2{font-size:clamp(1.6rem,2.5vw,2.1rem);margin-bottom:14px;color:#0b203e}
.sx-site #main .res-request .formbox p{color:#4b5c70}
.res-detail>summary:focus-visible,.res-planning-detail>summary:focus-visible,.res-faq .faq-group>summary:focus-visible,.res-callout a:focus-visible{outline:2px solid #f94306;outline-offset:4px;border-radius:4px}
@media(max-width:900px){.res-planning-grid{grid-template-columns:1fr}.res-process-grid{grid-template-columns:1fr}.res-process-photo{max-height:430px}.sx-site #main .res-request>.res-request-grid{grid-template-columns:1fr}}
@media(max-width:600px){.res-planning-card{padding:24px}.sx-site #main .res-detail>div{padding-left:0}.sx-site #main .res-faq .faq-group>summary{gap:14px}.res-faq .faq-group>summary .sp-icon{width:24px;height:24px}}

/* Shared FAQ treatment across public page families. */
.sx-site #main section:has(> .wrap > .site-faq) {
  background: #fff;
}
.sx-site #main .site-faq {
  max-width: 960px;
  color: #0b203e;
}
.sx-site #main .site-faq .site-faq-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #516176;
  font-size: .69rem;
  line-height: 1.4;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .15em;
}
.site-faq-kicker > span {
  width: 26px;
  height: 2px;
  background: #f94306;
}
.sx-site #main .site-faq .faq-group {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-block: 1px solid #ccd8e5;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sx-site #main .site-faq .faq-group > summary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 24px 0;
  margin: 0;
  font-size: clamp(1.2rem, 2.4vw, 1.8rem);
  font-weight: 800;
  line-height: 1.3;
  color: #0b203e;
}
.site-faq-icon {
  width: clamp(24px, 2.4vw, 29px);
  height: clamp(24px, 2.4vw, 29px);
  color: #f94306;
  flex: none;
}
.site-faq .faq-group > summary > span { flex: 1; }
.sx-site #main .site-faq :is(.faq-item, .faq-category) {
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #d7e1eb;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #0b203e;
}
.sx-site #main .site-faq .faq {
  display: block;
  margin: 0;
}
.sx-site #main .site-faq :is(.faq-item, .faq-category) > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 48px;
  padding: 16px 0;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  color: #0b203e;
}
.sx-site #main .site-faq summary {
  list-style: none;
  cursor: pointer;
}
.site-faq summary::-webkit-details-marker { display: none; }
.sx-site #main .site-faq details > summary::after {
  content: '+';
  color: #f94306;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1;
  flex: none;
}
.sx-site #main .site-faq details[open] > summary::after { content: '−'; }
.sx-site #main .site-faq summary:focus-visible {
  outline: 2px solid #f94306;
  outline-offset: 3px;
}
.sx-site #main .site-faq .faq-group[open] > .faq-body { padding: 0 0 12px; }
.sx-site #main .site-faq .faq-category > .faq-body { padding: 0 0 8px 14px; }
.sx-site #main .site-faq .faq-item > :is(.faq-answer, .faq-body, p) {
  padding: 0 24px 16px 0;
  margin: 0;
  max-width: 72ch;
  color: #42526a;
  font-size: .95rem;
  line-height: 1.65;
}
.sx-site #main .site-faq .faq-item > div > :first-child { margin-top: 0; }
.sx-site #main .site-faq .faq-item > div > :last-child { margin-bottom: 0; }
.sx-site #main .site-faq .faq-filter { margin: 0 0 16px; }
.sx-site #main .site-faq .faq-filter input {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #b8c6d6;
  border-radius: 8px;
  background: #f7f9fc;
  color: #0b203e;
  font-size: 16px;
  font-weight: 400;
}
.site-faq .faq-filter .search-controls { align-items: end; }
.sx-site #main .site-faq .faq-search-status:empty { display: none; }

/* Supporting pages use the same planning cards and service request layout. */
.sx-site #main .support-dark .res-planning-card {
  background: #ffffff0c;
  border-color: #ffffff36;
}
.sx-site #main .support-dark .res-planning-card :is(h3, a) { color: #fff; }
.sx-site #main .support-dark .res-planning-card p { color: #dbe5f1; }
.sx-site #main .res-planning-card .sp-text-link { font-size: .94rem; }
.sx-site #main .contact-business-address { margin-top: 26px; }
.sx-site #main .support-policy-index > .wrap { max-width: 960px; }
.sx-site #main .support-policy-index summary { min-height: 52px; }
.sx-site #main .support-policy-index .page-fold { padding-inline: 20px; }
.sx-site #main .site-faq .faq { max-width: none; }
.resource-feed-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 24px;
}

/* Careers application and notices */
.careers-apply-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 58px);
  align-items: start;
}
.sx-site #main .careers-apply :is(.careers-apply-intro, .careers-apply-note) p { color: #dbe5f1; }
.sx-site #main .careers-apply-note {
  border: 1px solid #ffffff35;
  border-radius: 18px;
  padding: clamp(20px, 3vw, 30px);
  background: #ffffff0c;
}
.sx-site #main .careers-apply-note h3 { margin-top: 0; }
.sx-site #main .careers-apply-note a { color: #fff; text-decoration: underline; }
.sx-site #main .careers-apply-note p:last-child { margin-bottom: 0; }
.sx-site #main .careers-notices > .wrap > .btn { margin-top: 24px; }
@media (max-width: 760px) {
  .careers-apply-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Keep the claim records visible and the full list available on demand. */
.sx-site #main .claim-records .res-planning-grid { align-items: stretch; }
.sx-site #main .claim-records .res-planning-card > p { margin-bottom: 0; }
.sx-site #main .claim-records .res-planning-grid + .page-fold {
  margin-top: 22px;
  max-width: 960px;
}
.sx-site #main .claim-details .family-detail-grid { align-items: start; }
