/* About/Contact only. Reuse the store's type, ink, teal, sage and amber. */
body:is(.page-id-224, .page-id-37) { background: #faf9f6; }
body:is(.page-id-224, .page-id-37) main > .wp-block-group {
  padding: 32px var(--sz-page-gutter, 24px) 64px !important;
}
body:is(.page-id-224, .page-id-37) main .wp-block-post-content {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
}
.sz-editorial {
  --sz-editorial-ink: #142429;
  --sz-editorial-muted: #4f6268;
  --sz-editorial-teal: #143e49;
  --sz-editorial-sage: #edf2f2;
  --sz-editorial-accent: #f0a500;
  box-sizing: border-box; width: 100%; max-width: 1160px !important; margin-inline: auto !important;
  color: var(--sz-editorial-ink); font-size: 16px; font-weight: 400; line-height: 1.65;
}
.sz-editorial *, .sz-editorial *::before, .sz-editorial *::after { box-sizing: border-box; }
.sz-editorial .wp-block-group { min-width: 0; }
.sz-editorial :where(h1, h2, h3, p, figure, .wp-block-buttons, .wp-block-group) { margin: 0; }
.sz-editorial h1 { font-size: clamp(36px, 4vw, 52px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.sz-editorial h2 { font-size: clamp(26px, 2.65vw, 34px); font-weight: 600; line-height: 1.18; letter-spacing: -.035em; }
.sz-editorial h3 { font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.015em; }
.sz-editorial p + p { margin-top: 16px; }
.sz-editorial p { color: var(--sz-editorial-muted); }
.sz-editorial a:not(.wp-block-button__link) { color: var(--sz-editorial-teal); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.sz-editorial a:focus-visible, .sz-editorial button:focus-visible { outline: 3px solid var(--sz-editorial-teal); outline-offset: 4px; }
.sz-editorial__lede { font-size: clamp(18px, 1.7vw, 21px); line-height: 1.55; }
.sz-editorial__text-links { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.sz-editorial__text-links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.sz-editorial .wp-block-button__link, .sz-editorial .sz-contact__form button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px;
  border: 1px solid transparent; border-radius: 8px; background: var(--sz-editorial-accent); color: #102e36;
  font: inherit; font-weight: 700; line-height: 1.35; text-decoration: none; cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .sz-editorial a:not(.wp-block-button__link):hover { text-decoration-thickness: 2px; }
  .sz-editorial .wp-block-button__link:hover, .sz-editorial .sz-contact__form button:hover { background: #e29b00; }
}
.sz-editorial .wp-block-button__link:active, .sz-editorial .sz-contact__form button:active { background: #d69300; }
.sz-about__hero { display: grid; grid-template-columns: 1fr 1.08fr; overflow: hidden; border-radius: 18px; background: #102e36; }
.sz-about__intro { padding: clamp(28px, 3.5vw, 44px); align-self: center; }
.sz-about__intro h1 { color: #fff; }
.sz-about__intro p { margin-top: 20px; color: #e0e9e9; }
.sz-about__intro .wp-block-buttons { margin-top: 28px; }
.sz-about__intro a:focus-visible { outline-color: #fff; }
.sz-about .sz-about__hero-photo { align-self: stretch; min-height: 390px; }
.sz-about__hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 64% center; }
.sz-editorial__section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px 64px; padding: 48px 0; }
.sz-editorial .sz-editorial__section > .wp-block-group { margin: 0; }
.sz-about__range h2 { max-width: 15ch; }
.sz-about__guidance { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; padding: 32px; border-radius: 18px; background: var(--sz-editorial-sage); }
.sz-about .sz-about__group-photo { overflow: hidden; border-radius: 12px; aspect-ratio: 1088 / 608; }
.sz-about__group-photo img { display: block; width: 100%; height: auto; }
.sz-about__guidance-copy h2 { margin-bottom: 20px; }
.sz-about__guidance-copy .sz-editorial__text-links { margin-top: 12px; }
.sz-about__help { padding-bottom: 0; }
.sz-about__help h2 { max-width: 15ch; }
.sz-editorial__intro { max-width: 720px; margin-bottom: 32px; }
.sz-editorial__intro .sz-editorial__lede { margin-top: 16px; }
.sz-contact { max-width: 840px !important; }
.sz-contact__channels { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; margin-bottom: 32px !important; padding-block: 24px; border-block: 1px solid #d9e0e0; }
.sz-contact__channels .sz-contact__channel { margin: 0; }
.sz-contact__channel > strong { color: var(--sz-editorial-ink); font-size: 14px; }
.sz-contact__channel a { display: inline-block; max-width: 100%; padding-block: 5px; font-size: clamp(16px, 1.7vw, 20px); font-weight: 700; }
.sz-contact__channel small { color: var(--sz-editorial-muted); font-size: 14px; }
.sz-contact__enquiry { padding: clamp(24px, 3vw, 36px); border-radius: 18px; background: var(--sz-editorial-sage); }
.sz-contact__help-links { margin-top: 16px !important; }
.sz-contact #sz-enquiry-title { scroll-margin-top: 100px; }
.sz-contact .sz-contact__form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; width: 100%; max-width: none; margin: 24px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.sz-contact__form label { display: grid; gap: 8px; min-width: 0; font-size: 14px; font-weight: 700; line-height: 1.4; }
.sz-contact__form label[for="nw-message"], .sz-contact__form > p, .sz-contact__form > button, .sz-contact__form > .gf-contact-form__status { grid-column: 1 / -1; }
.sz-contact__form .gf-contact-form__hp { display: none !important; }
.sz-contact__form :is(input, textarea) { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px; border: 1px solid #798a8e; border-radius: 8px; background: #fff; color: var(--sz-editorial-ink); font: inherit; font-size: 16px; font-weight: 400; line-height: 1.5; }
.sz-contact__form textarea { min-height: 180px; resize: vertical; }
.sz-contact__form :is(input, textarea):focus { border-color: var(--sz-editorial-teal); outline: 2px solid var(--sz-editorial-teal); outline-offset: 2px; }
.sz-contact__form [aria-invalid="true"] { border-color: #9d3326; }
.sz-contact__form #nw-message-hint { margin: -10px 0 0; font-size: 13px; }
.sz-editorial .sz-contact__form button { justify-self: start; margin: 0; }
.sz-contact__form .gf-contact-form__status { margin: 0; padding: 16px; border-radius: 8px; }
.sz-contact__form .gf-contact-form__status p { color: inherit; }
.sz-contact__form .gf-contact-form__status--err { color: #7d2b20; background: #f5e4df; }
.sz-contact__form .gf-contact-form__status--err a { color: inherit; }
.sz-contact__form .gf-contact-form__status--ok { color: #174c35; background: #dceadf; }
.sz-contact__form .gf-contact-form__status:focus { outline: 2px solid currentColor; outline-offset: 3px; }
.sz-contact__form .gf-contact-form__status ul { margin: 8px 0 0; padding-left: 20px; }
.sz-contact__form .gf-contact-form__status a { display: inline-block; padding-block: 3px; }
.sz-contact .sz-contact__privacy { margin-top: 18px; font-size: 13px; line-height: 1.6; }
@media (max-width: 760px) {
  body:is(.page-id-224, .page-id-37) main > .wp-block-group { padding: 24px 16px 48px !important; }
  .sz-about__hero { grid-template-columns: 1fr; }
  .sz-about__intro { padding: 28px 24px; }
  .sz-about .sz-about__hero-photo { min-height: 0; aspect-ratio: 1672 / 941; }
  .sz-about__hero-photo img { height: auto; aspect-ratio: 1672 / 941; }
  .sz-editorial__section { grid-template-columns: 1fr; gap: 20px; padding: 32px 8px; }
  .sz-about__range h2, .sz-about__help h2 { max-width: none; }
  .sz-about__guidance { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .sz-about__help { padding-bottom: 0; }
  .sz-contact__channels { grid-template-columns: 1fr; gap: 20px; padding-block: 20px; margin-bottom: 24px !important; }
  .sz-contact__channel a { font-size: clamp(16px, 4.65vw, 20px); }
  .sz-contact__enquiry { padding: 24px; }
}
@media (max-width: 430px) {
  .sz-contact .sz-contact__form { grid-template-columns: 1fr; }
  .sz-editorial .sz-contact__form button { width: 100%; }
}
