/* Native block layouts. Colours and typography inherit the child global styles. */

:root {
  --sb-radius-panel: var(--wp--custom--radius--panel, 18px);
  --sb-radius-control: var(--wp--custom--radius--control, 6px);
}

/* One corner shape for content surfaces across mortgages and the property portal. */
:where(.sb-page, .editor-styles-wrapper) :is(
  .calculator, .page-hero, .sbr-photo-hero, .source-card, .assumptions-card,
  .aff-amount, .aff-metrics, .aff-explanation, .aff-warnings, .result-summary,
  .offer-list, .offer-conditions, .help-banner, .notice, .empty-state,
  .product-institution, .sbr-hero, .sbr-filter, .sbr-card, .sbr-empty,
  .sbr-map-wrap, .sbr-detail-cover, .sbr-summary, .sbr-market-map,
  .sbr-feedback, .sbr-feedback-notice, .sbr-watch-panel, .sbr-listing-form,
  .sbr-listing-map, .sbr-listing-preview, .sbr-listing-notice
) { border-radius: var(--sb-radius-panel); }

:where(.sb-page, .editor-styles-wrapper) :is(.sbr-kpis, .sbr-percentiles) > div,
:where(.sb-page, .editor-styles-wrapper) .sbr-amenity-details > li,
:where(.sb-page, .editor-styles-wrapper) :is(.hero-visual, .faq-visual, .how-grid, .situation-card, .results-heading) > .wp-block-image {
  border-radius: var(--sb-radius-panel);
}
:where(.sb-page, .editor-styles-wrapper) .wp-block-image > a {
  display: block;
  border-radius: inherit;
}
#contact-dialog, .sbr-gallery-ui dialog:not(.sbr-gallery-dialog) { border-radius: var(--sb-radius-panel); }

:is(.sb-page, .contact-dialog-body, .editor-styles-wrapper) :is(
  .button, .purpose-tab, .segmented, .wp-block-button__link,
  .sbr-button, .sbr-back, .sbr-share, .sbr-gallery-controls button,
  .sbr-portal-nav a, .sbr-segment-nav a, .sbr-popular li a, .sbr-pages a
) { border-radius: var(--sb-radius-control); }
:where(.sb-page, #contact-dialog) :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  border-radius: var(--sb-radius-control);
}
@media (max-width: 640px) {
  .sb-page .offer-row { border-radius: var(--sb-radius-panel); }
}

.sb-page :is(.property-financing, .property-flood) {
  margin-block: 24px 52px;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--sb-radius-panel);
  background: #fff;
  overflow: hidden;
}
:is(.property-financing, .property-flood) > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 28px;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 400;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.2;
}
:is(.property-financing, .property-flood) > summary::after {
  content: "";
  flex: 0 0 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: url("./lucide/chevron-down.svg") center / contain no-repeat;
  mask: url("./lucide/chevron-down.svg") center / contain no-repeat;
}
:is(.property-financing, .property-flood)[open] > summary::after { transform: rotate(180deg); }
.property-financing-body > p { margin: 0 28px 18px; font-size: 14px; }
.property-financing-body .calculator {
  border: 0;
  border-top: 1px solid var(--wp--preset--color--line);
  border-radius: 0;
  box-shadow: none;
}
.sbr-catalog [data-open-property-mortgage] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin-block: 14px;
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--navy);
}
.sbr-catalog [data-open-property-mortgage]:hover { background: var(--wp--preset--color--darkgold); color: var(--wp--preset--color--navy); }
.sbr-catalog [data-open-property-flood] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin-block: 0 14px;
  border-color: var(--wp--preset--color--navy);
  background: transparent;
  color: var(--wp--preset--color--navy);
}
.sbr-catalog [data-open-property-flood]:hover {
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--navy);
}
@media (max-width: 640px) {
  :is(.property-financing, .property-flood) > summary { padding: 20px; }
  .property-financing-body > p { margin-inline: 20px; }
}

/* These editable groups also retain their backgrounds in the part editor. */
:where(.site-header) { background: transparent; }
.header-surface { background: var(--wp--preset--color--canvas); }
.site-footer { padding: 0; background: transparent; color: inherit; }
.footer-surface {
  padding-block: 34px 16px;
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--on-accent);
}
@media (max-width: 760px) { .footer-surface { padding-block-start: 28px; } }

/* The catalogue's tight, heavy sans heading does not suit our display serif. */
.sb-page .sbr-hero h1,
:where(.sb-page, .editor-styles-wrapper) .sbr-photo-hero h1 {
  font-size: clamp(2rem, 4.5vw, 4rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: normal;
  text-wrap: balance;
}
.sb-page .sbr-hero h1 em { font-weight: inherit; }
.sb-page .sbr-hero::after { content: none; }

:where(.sb-page, .editor-styles-wrapper) .sbr-photo-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  overflow: hidden;
  border-radius: var(--sb-radius-panel);
  background: var(--wp--preset--color--surface);
}
.sbr-photo-hero .sbr-hero-copy {
  min-width: 0;
  align-self: center;
  padding: clamp(24px, 3.5vw, 44px);
}
.sbr-photo-hero .eyebrow { margin: 0 0 18px; }
.sbr-photo-hero h1 em {
  color: var(--sbr-accent, #166b57);
  font-weight: inherit;
  font-style: normal;
}
.sbr-photo-hero .sbr-hero-intro { margin: 20px 0 0; line-height: 1.65; }
.sbr-photo-hero .sbr-hero-photo { min-width: 0; margin: 0; }
.sbr-photo-hero .sbr-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 370px;
  object-fit: cover;
  object-position: 52% center;
}
.sbr-map-wrap > .sbr-map-sources { padding: 8px 14px; font-size: 12px; }
.sbr-map-wrap > .sbr-map-sources > summary {
  padding: 0;
  background: transparent;
  font-size: inherit;
  font-weight: 400;
}
.sbr-map-sources p { padding-block-start: 6px; }
@media (max-width: 700px) {
  :where(.sb-page, .editor-styles-wrapper) .sbr-photo-hero { grid-template-columns: 1fr; }
  .sbr-photo-hero .sbr-hero-photo img { min-height: 0; height: auto; aspect-ratio: 3 / 2; }
}

/* Compact calculator banner: core Image stays editable alongside the copy. */
.sb-page.calculator-page {
  /* WordPress resets the first content block's margin; space the page itself. */
  padding-block-start: clamp(20px, 2.5vw, 36px);
}
:where(.sb-page, .editor-styles-wrapper) .page-hero {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: stretch;
  min-height: 0;
  margin-block: 24px;
  padding: 0;
  border-radius: var(--sb-radius-panel);
  background: var(--wp--preset--color--surface);
}
.page-hero .page-hero-copy {
  min-width: 0;
  align-self: center;
  padding: clamp(24px, 3vw, 36px);
}
.page-hero .eyebrow { margin: 0 0 12px; font-size: 10px; line-height: 1.4; }
.page-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(32px, 3.5vw, 44px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: normal;
}
.page-hero p { font-size: 14px; line-height: 1.65; max-width: none; text-shadow: none; }
.page-hero > .wp-block-image {
  position: relative;
  min-width: 0;
  min-height: 260px;
  margin: 0;
}
.page-hero > .wp-block-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 700px) {
  :where(.sb-page, .editor-styles-wrapper) .page-hero { grid-template-columns: 1fr; margin-block: 16px; }
  .page-hero .page-hero-copy { position: relative; z-index: 1; padding: 24px; }
  .page-hero h1 { font-size: 32px; }
  .page-hero > .wp-block-image {
    position: absolute;
    inset: 0 0 0 30%;
    min-height: 0;
    opacity: .23;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 75%);
    mask-image: linear-gradient(to right, transparent, #000 75%);
  }
}

/* The editor content canvas shares the marketing layout, without styling its UI. */
:where(.sb-page, .editor-styles-wrapper) .hero {
  display: grid;
  grid-template-columns: .9fr 1.15fr;
  align-items: center;
  gap: 24px;
  padding-block: 42px 40px;
}

:where(.sb-page, .editor-styles-wrapper) :where(.hero-copy, .hero-visual, .situation-card, .how-copy, .how-step, .faq-copy) {
  min-width: 0;
}

:where(.sb-page, .editor-styles-wrapper) .hero-copy { padding-block: 12px; }
:where(.sb-page, .editor-styles-wrapper) .hero-visual { position: relative; }
:where(.sb-page, .editor-styles-wrapper) .hero-visual .wp-block-image img {
  display: block;
  width: 100%;
  height: 450px;
  object-fit: cover;
  object-position: 53% center;
}

/* Rich-text copy and the linked action are one editable, native button. */
:where(.sb-page, .editor-styles-wrapper) .hero-sticker {
  position: absolute;
  right: -14px;
  top: 38px;
  z-index: 1;
  width: 225px;
  max-width: 225px;
  padding: 0;
  background: transparent;
  margin: 0;
  transform: rotate(3deg);
  box-shadow: 0 4px 10px #0b25400d;
}

.hero-sticker > .wp-block-button { width: 100%; }
.editor-styles-wrapper .hero-sticker { position: absolute; }

.footer-tagline {
  font-family: var(--wp--preset--font-family--display);
  font-size: 20px;
  line-height: 1.2;
}

.contact-links :is(.contact-phone, .contact-mail) {
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}
.contact-links :is(.contact-phone, .contact-mail) a {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.contact-links :is(.contact-phone, .contact-mail) a::before {
  content: "";
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  background: var(--wp--preset--color--darkgold);
  -webkit-mask: var(--contact-icon) center / contain no-repeat;
  mask: var(--contact-icon) center / contain no-repeat;
}
.contact-phone { --contact-icon: url("images/contact-phone.svg?v=2"); }
.contact-mail { --contact-icon: url("images/contact-mail.svg?v=2"); }
@media (max-width: 760px) {
  .contact-links :is(.contact-phone, .contact-mail) { font-size: 15px; }
}

.hero-sticker .wp-block-button__link {
  position: relative;
  display: block;
  padding: 22px 24px 18px;
  font-family: var(--wp--preset--font-family--display);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}

.hero-sticker .wp-block-button__link strong {
  display: block;
  padding-right: 24px;
  font-family: var(--wp--preset--font-family--body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.hero-sticker .is-style-sb-arrow > .wp-block-button__link::after {
  position: absolute;
  right: 17px;
  bottom: 18px;
  width: 19px;
  height: 19px;
}

/* Styles registered for core/button; native colour/spacing controls still apply. */
.wp-block-button:is(.is-style-sb-arrow, .is-style-sb-outline, .is-style-sb-text, .opens-contact) > .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-height: 52px;
  white-space: normal;
}

.wp-block-button.is-style-sb-arrow > .wp-block-button__link::after {
  content: "";
  display: inline-block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  background: currentColor;
  -webkit-mask: url("./lucide/arrow-right.svg") center / contain no-repeat;
  mask: url("./lucide/arrow-right.svg") center / contain no-repeat;
}

.wp-block-button.is-style-sb-outline > .wp-block-button__link {
  border-color: var(--wp--preset--color--ink);
  background: transparent;
  color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-sb-outline > .wp-block-button__link:hover {
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-sb-text > .wp-block-button__link {
  min-height: 44px;
  padding: 4px 0;
  border-color: transparent;
  background: transparent;
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-underline-offset: .25em;
}

.wp-block-button.is-style-sb-text > .wp-block-button__link:hover {
  background: transparent;
  color: var(--wp--preset--color--navy);
}

/* Keep the sticker's multiline text in normal flow, including its <br> tags. */
.hero-sticker .wp-block-button.is-style-sb-arrow > .wp-block-button__link {
  display: block;
}

:where(.sb-page, .site-header, .site-footer, .editor-styles-wrapper) :where(a, button, summary):focus-visible {
  outline: 2px solid var(--wp--preset--color--darkgold);
  outline-offset: 4px;
}

:where(.sb-page, .editor-styles-wrapper) .situations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 27px;
  margin-block: 45px 65px;
}

:where(.sb-page, .editor-styles-wrapper) .situation-card + .situation-card {
  border-inline-start: 1px solid var(--wp--preset--color--line);
  padding-inline-start: 27px;
}

:where(.sb-page, .editor-styles-wrapper) .situation-heading {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-height: 146px;
}

:where(.sb-page, .editor-styles-wrapper) .situation-number { flex-shrink: 0; }
:where(.sb-page, .editor-styles-wrapper) .situation-copy { min-width: 0; padding-block-start: 8px; }
:where(.sb-page, .editor-styles-wrapper) .situation-card > .wp-block-image img {
  display: block;
  width: 100%;
  height: 205px;
  object-fit: cover;
}

:where(.sb-page, .editor-styles-wrapper) .how-section { margin-block-end: 78px; }
:where(.sb-page, .editor-styles-wrapper) .how-grid {
  display: grid;
  grid-template-columns: .65fr 1.2fr;
  gap: 60px;
  align-items: center;
}

:where(.sb-page, .editor-styles-wrapper) .how-grid > .wp-block-image img {
  display: block;
  width: 100%;
  height: 445px;
  object-fit: cover;
}

:where(.sb-page, .editor-styles-wrapper) .how-copy { padding-block: 38px; }
:where(.sb-page, .editor-styles-wrapper) .how-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-block-start: 29px;
}

:where(.sb-page, .editor-styles-wrapper) .how-step > :where(h3) { margin-block: 17px 8px; }
:where(.sb-page, .editor-styles-wrapper) .step-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 50%;
  background: var(--wp--preset--color--on-accent);
}

.step-icon > .wp-block-image { width: 26px; }
.step-icon > .wp-block-image img { display: block; width: 26px; height: 26px; object-fit: contain; }
.step-icon > .step-number {
  position: absolute;
  inset-block-start: -10px;
  inset-inline-start: -14px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: 0;
  border-radius: 50%;
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--ink);
}

:where(.sb-page, .editor-styles-wrapper) .faq-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px;
  align-items: stretch;
  margin-block-end: 65px;
}

:where(.sb-page, .editor-styles-wrapper) .faq-copy { padding-block: 26px; }
.faq-copy .wp-block-details { border-block-end: 1px solid var(--wp--preset--color--line); }
.faq-copy .wp-block-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding-block: 17px;
  cursor: pointer;
  list-style: none;
}

.faq-copy .wp-block-details > summary::marker { content: ""; }
.faq-copy .wp-block-details > summary::-webkit-details-marker { display: none; }
.faq-copy .wp-block-details > summary::after {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("./lucide/chevron-down.svg") center / contain no-repeat;
  mask: url("./lucide/chevron-down.svg") center / contain no-repeat;
}

.faq-copy .wp-block-details[open] > summary::after { transform: rotate(180deg); }
.faq-copy .wp-block-details > :where(p) { padding-block-end: 18px; }
:where(.sb-page, .editor-styles-wrapper) .faq-visual { position: relative; overflow: hidden; }
.faq-visual > .wp-block-image { height: 100%; }
.faq-visual > .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
  object-position: 35% center;
}

.faq-visual-copy {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 47%;
  padding: 32px;
  background: color-mix(in srgb, var(--wp--preset--color--surface) 92%, transparent);
}

:where(.sb-page, .editor-styles-wrapper) .contact-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-block: 45px 66px;
  border-block-start: 1px solid var(--wp--preset--color--line);
}

:where(.sb-page, .editor-styles-wrapper) .contact-links {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-width: min(295px, 100%);
}

.contact-links :where(.contact-phone, .contact-mail) a { text-decoration: none; overflow-wrap: anywhere; }
.contact-links > .wp-block-buttons { margin-block-start: 7px; }

/* Semantic template parts are outside .sb-page. */
.site-header { background: var(--wp--preset--color--canvas); border-block-end: 1px solid var(--wp--preset--color--line); }
:where(.site-header, .editor-styles-wrapper) .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 28px;
  min-height: 102px;
}

figure.wp-block-image.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 278px;
  max-width: 100%;
  min-height: 90px;
  margin: 0;
}

figure.wp-block-image:is(.brand, .footer-brand) :where(a) { display: block; line-height: 0; }
figure.wp-block-image:is(.brand, .footer-brand) img { display: block; width: 100%; height: auto; }
.main-nav { margin-inline-start: auto; }
.main-nav .wp-block-navigation-item__content { text-underline-offset: .3em; }
.main-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--wp--preset--color--canvas);
  color: var(--wp--preset--color--ink);
}

.site-footer {
  padding-block: 34px 16px;
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--on-accent);
}

.site-footer :where(a:not(.wp-element-button)) { color: inherit; }
figure.wp-block-image.footer-brand { width: 208px; max-width: 100%; margin: 0; }
:where(.site-footer, .footer-surface, .editor-styles-wrapper) .footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
}

.footer-tagline { padding-inline-start: 28px; border-inline-start: 1px solid currentColor; }
:where(.site-footer, .footer-surface, .editor-styles-wrapper) .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  padding-block-start: 24px;
  margin-block-start: 26px;
  border-block-start: 1px solid color-mix(in srgb, currentColor 20%, transparent);
}

@media (min-width: 1500px) {
  :where(.sb-page, .editor-styles-wrapper) .hero-visual .wp-block-image img { height: 480px; }
}

@media (max-width: 1100px) {
  figure.wp-block-image.brand { width: 245px; }
  :where(.sb-page, .editor-styles-wrapper) .hero-visual .wp-block-image img { height: 420px; }
  :where(.sb-page, .editor-styles-wrapper) .situations { gap: 20px; }
  :where(.sb-page, .editor-styles-wrapper) .situation-card + .situation-card { padding-inline-start: 20px; }
  :where(.sb-page, .editor-styles-wrapper) .situation-heading { gap: 11px; }
  :where(.sb-page, .editor-styles-wrapper) .how-grid { gap: 35px; grid-template-columns: .7fr 1.3fr; }
  :where(.sb-page, .editor-styles-wrapper) .how-steps { gap: 15px; }
  :where(.sb-page, .editor-styles-wrapper) .faq-section { gap: 45px; }
  .faq-visual-copy { padding: 25px; max-width: 51%; }
}

@media (max-width: 900px) {
  :where(.sb-page, .editor-styles-wrapper) .hero-visual .wp-block-image img { height: 375px; }
  :where(.sb-page, .editor-styles-wrapper) .hero-sticker { top: 22px; right: -6px; max-width: 170px; }
  .hero-sticker .wp-block-button__link { padding: 18px; font-size: 19px; }
  :where(.sb-page, .editor-styles-wrapper) .how-grid { grid-template-columns: .65fr 1fr; gap: 28px; }
  :where(.sb-page, .editor-styles-wrapper) .how-steps { grid-template-columns: 1fr; gap: 22px; }
  :where(.sb-page, .editor-styles-wrapper) .how-step {
    display: grid;
    grid-template-columns: 52px 1fr;
    column-gap: 17px;
    align-items: start;
  }
  .how-step > .step-icon { grid-row: span 2; }
  :where(.sb-page, .editor-styles-wrapper) .how-step > :where(h3) { margin-block: 0 8px; }
  .how-step > :where(p) { grid-column: 2; }
}

@media (max-width: 760px) {
  figure.wp-block-image.brand { width: 222px; min-height: 75px; }
  :where(.site-header, .editor-styles-wrapper) .header-inner { min-height: 83px; gap: 16px; }
  .header-surface .main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .header-surface .main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  :where(.sb-page, .editor-styles-wrapper) .hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 23px 26px; }
  :where(.sb-page, .editor-styles-wrapper) .hero-copy { padding: 0; }
  :where(.sb-page, .editor-styles-wrapper) .hero-visual .wp-block-image img { height: 245px; object-position: center 60%; }
  :where(.sb-page, .editor-styles-wrapper) .hero-sticker { top: 15px; right: -4px; max-width: 170px; }
  .hero-sticker .wp-block-button__link { padding: 15px 17px; font-size: 17px; }
  .hero-sticker .wp-block-button__link strong { font-size: 10px; }
  :where(.sb-page, .editor-styles-wrapper) .situations { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-block: 30px 35px; }
  :where(.sb-page, .editor-styles-wrapper) .situation-card {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
    gap: 17px;
  }
  :where(.sb-page, .editor-styles-wrapper) .situation-card + .situation-card {
    padding-inline-start: 0;
    padding-block-start: 21px;
    border-inline-start: 0;
    border-block-start: 1px solid var(--wp--preset--color--line);
  }
  :where(.sb-page, .editor-styles-wrapper) .situation-heading { min-height: 0; gap: 10px; }
  :where(.sb-page, .editor-styles-wrapper) .situation-copy { padding-block-start: 4px; }
  :where(.sb-page, .editor-styles-wrapper) .situation-card > .wp-block-image { grid-column: 2; grid-row: 1; }
  :where(.sb-page, .editor-styles-wrapper) .situation-card > .wp-block-image img { height: 150px; }
  :where(.sb-page, .editor-styles-wrapper) .how-section { margin-block-end: 38px; }
  :where(.sb-page, .editor-styles-wrapper) .how-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  :where(.sb-page, .editor-styles-wrapper) .how-grid > .wp-block-image img { height: 220px; object-position: center 58%; }
  :where(.sb-page, .editor-styles-wrapper) .how-copy { padding: 30px var(--wp--preset--spacing--gutter); }
  :where(.sb-page, .editor-styles-wrapper) .faq-section { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-block-end: 35px; }
  :where(.sb-page, .editor-styles-wrapper) .faq-copy { padding: 0; }
  :where(.sb-page, .editor-styles-wrapper) .faq-visual { height: 235px; }
  .faq-visual > .wp-block-image img { height: 235px; min-height: 0; object-position: center 50%; }
  .faq-visual-copy { padding: 22px 20px; max-width: 43%; }
  :where(.sb-page, .editor-styles-wrapper) .contact-section { flex-direction: column; align-items: stretch; gap: 25px; padding-block: 30px 38px; }
  :where(.sb-page, .editor-styles-wrapper) .contact-links { min-width: 0; gap: 18px; }
  .contact-links :where(.wp-block-button, .wp-block-button__link) { width: 100%; }
  :where(.site-footer, .footer-surface, .editor-styles-wrapper) .footer-top { gap: 22px; }
  .footer-top .wp-block-navigation { width: 100%; order: 3; }
  .footer-tagline { padding-inline-start: 20px; }
  :where(.site-footer, .footer-surface, .editor-styles-wrapper) .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; padding-block-start: 18px; margin-block-start: 19px; }
}

@media (max-width: 360px) {
  figure.wp-block-image.brand { width: 195px; }
  :where(.sb-page, .editor-styles-wrapper) .situation-card { grid-template-columns: minmax(0, 1fr); }
  :where(.sb-page, .editor-styles-wrapper) .situation-card > .wp-block-image { grid-column: 1; grid-row: auto; }
}
