/* Approved task-first layouts for the four public utility pages. */
body.public-design #main-content:is(.utility-type-contact,.utility-type-trust) [data-marketing-hero] { padding-block: 28px; background: var(--surface); }
body.public-design #main-content:is(.utility-type-contact,.utility-type-trust).utility-layout-applied [data-marketing-hero] :is(h1,h1 > span),
body.public-design #main-content .utility-layout-applied :is(h1,h1 > span) { font-size: 1.75rem !important; line-height: 1.3 !important; font-weight: 600; letter-spacing: normal; }
body.public-design #main-content:is(.utility-type-contact,.utility-type-trust) :is(.pg-container,.ct-hero-shell),
body.public-design #main-content .utility-type-forms .pg-container { width: min(1020px, calc(100% - 48px)); max-width: none; padding-inline: 0; margin-inline: auto; }
.public-utility-type .utility-hero-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); gap: 28px; align-items: center; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--border-hairline); text-align: left; }
.public-utility-type .utility-hero-grid > :first-child { min-width: 0; }
.public-utility-type .utility-hero-grid > img { display: block; width: 96px; height: auto; justify-self: center; }
body.public-design #main-content .utility-type-forms .pg-hero { padding-block: 28px; }
body.public-design #main-content .utility-type-forms .pg-intro { max-width: none; }
body.public-design #main-content .utility-type-forms .pd-filter { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 20px; gap: 16px 24px; margin-top: 0; background: var(--surface-canvas); border-radius: 4px; }
body.public-design #main-content .utility-type-forms #catalog > .pg-container > .pd-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
body.public-design #main-content .utility-type-forms #catalog [data-card-role="record"] { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 20px; align-items: start; padding: 18px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; }
.utility-type-forms .utility-form-copy { display: grid; gap: 10px; min-width: 0; }
body.public-design #main-content .utility-type-forms .utility-form-copy h3 { margin: 0; font-size: 1.125rem; line-height: 1.4; }
body.public-design #main-content .utility-type-forms .utility-form-copy p { margin: 0; }
body.public-design #main-content .utility-type-forms .pv-form-preview { flex-direction: column; gap: 8px; margin: 0; padding: 0; background: transparent; border-radius: 0; }
body.public-design #main-content .utility-type-forms .pv-form-preview img { width: 72px; height: auto; box-shadow: none; }
body.public-design #main-content .utility-type-forms .pv-form-external { width: 72px; height: 94px; font-size: 24px; }
body.public-design #main-content .utility-type-forms .pv-form-preview span { max-width: none; text-align: center; font-size: .875rem; }
body.public-design #main-content .utility-type-forms .pv-form-preview span b { font-size: .875rem; }
body.public-design #main-content .utility-type-forms .utility-form-copy .pg-actions { margin: 0; padding: 0; gap: 16px; }
body.public-design #main-content .utility-type-forms .utility-form-copy .pg-actions .pg-btn,
body.public-design #main-content.utility-type-trust #assurance .pg-actions .pg-btn { min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; background: transparent !important; color: var(--link-ink) !important; font-size: .875rem; font-weight: 600; }
body.public-design #main-content .utility-type-forms .utility-form-copy .pg-actions .pg-btn:is(:hover,:focus-visible),
body.public-design #main-content.utility-type-trust #assurance .pg-actions .pg-btn:is(:hover,:focus-visible) { background: transparent !important; text-decoration: underline; }
body.public-design #main-content.utility-type-contact .ct-hero-shell { text-align: left; }
body.public-design #main-content.utility-type-contact .ct-hero-copy { min-width: 0; }
body.public-design #main-content.utility-type-contact .ct-eyebrow { padding: 0; border: 0; border-radius: 0; background: transparent; margin-bottom: 12px; }
body.public-design #main-content.utility-type-contact .ct-hero-copy > p { margin: 0; max-width: none; }
body.public-design #main-content.utility-type-contact .ct-routes { max-width: none; margin: 0 0 20px; text-align: left; }
body.public-design #main-content.utility-type-contact .ct-route { padding: 14px 12px; border-radius: 4px; text-align: left; }
body.public-design #main-content.utility-type-contact .ct-route span { display: block; }
body.public-design #main-content.utility-type-contact .ct-hero-links { justify-content: flex-start; margin-top: 16px; }
body.public-design #main-content.utility-type-contact .ct-connect > div { width: min(1020px, calc(100% - 48px)); max-width: none; padding-inline: 0; }
body.public-design #main-content.utility-type-contact .ct-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
body.public-design #main-content.utility-type-contact .ct-form-panel { padding: 0; border: 0; border-radius: 0; background: var(--surface); }
body.public-design #main-content.utility-type-contact .info-card { padding: 20px; border-radius: 4px; background: var(--surface-canvas); }
body.public-design #main-content.utility-type-contact .ct-house-art { max-width: 240px; }
body.public-design #main-content.utility-type-contact #contact-form-el { margin-top: 20px; }
body.public-design #main-content .utility-type-prorated .ca-hero { display: block; min-height: 0; padding-block: 28px; overflow: hidden; }
body.public-design #main-content .utility-type-prorated .ca-copy.utility-hero-grid { width: min(1020px, calc(100% - 48px)); max-width: none; padding-inline: 0; margin-inline: auto; margin-bottom: 0; }
body.public-design #main-content .utility-type-prorated .ca-copy > :first-child { max-width: none; }
body.public-design #main-content .utility-type-prorated .ca-art { position: static; width: min(100%,240px); margin: 0; justify-self: center; pointer-events: auto; }
body.public-design #main-content .utility-type-prorated .ca-art img { width: 100%; height: auto; object-fit: contain; object-position: center; mask-image: none; -webkit-mask-image: none; }
body.public-design #main-content .utility-type-prorated .utility-calculator-body { padding-inline: 0; }
body.public-design #main-content .utility-type-prorated .utility-calculator-body > div { width: min(1020px, calc(100% - 48px)); max-width: none; }
.utility-calculator-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; margin: 24px 0; padding: 0; counter-reset: calculator-step; }
.utility-calculator-steps li { min-width: 0; padding-top: 10px; border-top: 2px solid var(--brand-deep-purple); counter-increment: calculator-step; }
.utility-calculator-steps li::before { content: "0" counter(calculator-step); display: block; font-weight: 600; color: var(--brand-purple-ink); margin-bottom: 6px; }
body.public-design #main-content.utility-type-trust .utility-trust-hero { margin-bottom: 0; }
body.public-design #main-content.utility-type-trust .utility-trust-steps { padding-block: 0 24px; }
body.public-design #main-content.utility-type-trust .utility-trust-steps p { font-size: .875rem; color: var(--text-secondary); margin-bottom: 12px; }
.utility-trust-steps ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; counter-reset: trust-step; }
.utility-trust-steps li { min-width: 0; padding-top: 10px; border-top: 2px solid var(--brand-deep-purple); counter-increment: trust-step; }
.utility-trust-steps li::before { content: "0" counter(trust-step); display: block; font-weight: 600; color: var(--brand-purple-ink); margin-bottom: 6px; }
.utility-trust-steps li strong,.utility-trust-steps li span { display: block; }
.utility-trust-steps li span { margin-top: 6px; color: var(--text-secondary); }
body.public-design #main-content.utility-type-trust #provider-documents .pg-two { grid-template-columns: minmax(0,1fr); gap: 0; }
body.public-design #main-content.utility-type-trust #provider-documents .pd-card { padding: 16px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; box-shadow: none; }
body.public-design #main-content.utility-type-trust #provider-documents .pd-card p { max-width: 70ch; }
body.public-design #main-content.utility-type-trust .pg-section { padding-block: 24px; }
body.public-design #main-content.utility-type-trust .pg-hero .pg-btn { min-height: 36px; width: fit-content; padding: 8px 12px; border-radius: 6px; background: var(--btn-primary-bg) !important; color: var(--btn-primary-fg) !important; font-size: .75rem; line-height: 1.4; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; transition: background-color .4s ease,color .4s ease; }
body.public-design #main-content.utility-type-trust .pg-hero .pg-btn:is(:hover,:focus-visible) { background: var(--btn-primary-hover) !important; color: var(--btn-primary-hover-fg) !important; }
body.public-design #main-content.utility-type-trust .pg-hero .pg-btn.secondary { background: var(--surface) !important; color: var(--text) !important; border-color: var(--interaction-border); }
body.public-design #main-content.utility-type-trust .pg-hero .pg-btn.secondary:is(:hover,:focus-visible) { color: var(--brand-purple-ink) !important; background: var(--surface) !important; }
@media (max-width: 780px) {
  body.public-design #main-content:is(.utility-type-contact,.utility-type-trust).utility-layout-applied [data-marketing-hero] :is(h1,h1 > span),
  body.public-design #main-content .utility-layout-applied :is(h1,h1 > span) { font-size: 1.5rem !important; }
  body.public-design #main-content:is(.utility-type-contact,.utility-type-trust) :is(.pg-container,.ct-hero-shell),
  body.public-design #main-content .utility-type-forms .pg-container,
  body.public-design #main-content.utility-type-contact .ct-connect > div,
  body.public-design #main-content .utility-type-prorated .ca-copy.utility-hero-grid,
  body.public-design #main-content .utility-type-prorated .utility-calculator-body > div { width: calc(100% - 32px); }
  .public-utility-type .utility-hero-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .public-utility-type .utility-hero-grid > img { width: 72px; justify-self: start; }
  body.public-design #main-content .utility-type-prorated .ca-art { width: min(100%,200px); }
  body.public-design #main-content .utility-type-forms .pd-filter,
  body.public-design #main-content.utility-type-contact .ct-grid,
  body.public-design #main-content.utility-type-contact .ct-routes { grid-template-columns: minmax(0,1fr); }
  body.public-design #main-content .utility-type-forms .pd-filter,
  body.public-design #main-content.utility-type-contact .info-card { padding: 16px; }
  body.public-design #main-content .utility-type-forms #catalog [data-card-role="record"] { grid-template-columns: 72px minmax(0,1fr); gap: 12px; }
  .utility-calculator-steps,.utility-trust-steps ol { gap: 10px; }
  body.public-design #main-content.utility-type-trust .pg-hero .pg-btn { min-height: 44px; font-size: .875rem; }
}
@media (max-width: 480px) {
  .utility-trust-steps ol { grid-template-columns: minmax(0,1fr); gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-design #main-content.utility-type-trust .pg-hero .pg-btn { transition: none; }
}
