/*
  website.css — the layout of the Website pages.

  The path: brand-tokens.css -> shared.css -> website.css -> pages.
  This file only places the parts on the Website pages. Every colour, size
  and weight comes by name from shared.css; nothing is set here.
*/

@import url("shared.css");

.legal-page {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.legal-main {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(100%, var(--size-288));
  margin: 0 auto;
}

.legal-hero {
  margin-bottom: var(--space-4);
}

.legal-hero .eyebrow,
.legal-hero h1 {
  margin-top: 0;
  margin-bottom: 0;
}

.legal-reader {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--space-4);
}

.legal-document-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.legal-document-navigation a {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.legal-documents {
  display: grid;
  overflow: hidden auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

.legal-document {
  scroll-margin-top: var(--size-36);
}

.legal-document h2 {
  margin-top: 0;
}

.legal-document h3 {
  margin-top: var(--space-6);
}

.legal-document code {
  overflow-wrap: anywhere;
}

.legal-document blockquote {
  margin-inline: 0;
}

.legal-table-wrap {
  overflow-x: auto;
}

.legal-document table {
  width: 100%;
  border-collapse: collapse;
}

.legal-document th,
.legal-document td {
  text-align: left;
  vertical-align: top;
}

.packages-hero {
  max-width: var(--page-width);
  margin: auto;
}

.packages-hero h1 {
  max-width: var(--size-224);
}

.packages-heading h2,
.packages-heading p {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.packages-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  max-width: none;
}

.package-pricing-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: var(--space-4);
}

.package-pricing-message {
  display: contents;
}

.package-pricing-message > p {
  grid-column: 1;
}

.billing-offer-notice {
  grid-column: 2;
  width: 100%;
  display: grid;
  align-items: center;
}

.billing-offer-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.billing-control {
  grid-column: 3;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: none;
  margin: 0;
}

/* The Annual note keeps its space while hidden, so choosing Annual never
   moves the billing buttons. */
.billing-control .billing-note[hidden] {
  display: block !important;
  visibility: hidden;
}

.billing-note {
  flex-basis: 100%;
}

.billing-control span {
  margin-right: var(--space-1);
}

.package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.service-grid,
.module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.package-card,
.module-card,
.service-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

/* Every Pricing section sits on the one page colour: Packages and Services
   cards take the Style's inner-card tint, Modules cards stay white. */

.enterprise-package {
  grid-column: 1 / -1;
  justify-self: center;
  width: min(100%, var(--size-360));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  column-gap: var(--space-6);
  row-gap: 0;
}

.enterprise-package .package-title-row {
  grid-column: 1 / -1;
}

.enterprise-summary {
  grid-column: 1;
}

.enterprise-summary,
.enterprise-modules,
.enterprise-services {
  min-width: 0;
}

.enterprise-modules {
  grid-column: 2;
}

.enterprise-modules,
.enterprise-services {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.enterprise-modules ul {
  columns: 2;
  column-gap: var(--space-6);
}

.enterprise-services {
  grid-column: 3;
}

.enterprise-modules h4,
.enterprise-modules ul,
.enterprise-services h4,
.enterprise-services ul {
  margin: 0;
}

.enterprise-services ul {
  display: grid;
  gap: var(--space-2);
}

.enterprise-services li {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
}

.enterprise-action-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--space-6);
  width: calc(300% + var(--size-12));
  margin-top: var(--space-12);
}

.enterprise-action-row .select-package {
  margin: 0;
  width: 100%;
}

.enterprise-summary .package-price {
  margin-bottom: var(--space-4);
}

.package-title-row,
.module-title-row,
.service-title-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-4);
}

.package-title-row h3,
.module-title-row h3,
.service-title-row h3,
.package-title-row p,
.module-title-row p,
.service-title-row p {
  margin: 0;
}

.package-price {
  margin: var(--space-1) 0 0;
}

.package-card > p,
.module-card > p,
.package-card h4,
.package-card ul {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.package-card .button {
  margin-top: auto;
}

.package-facts {
  margin: 0;
}

.package-facts div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
}

.package-facts dt,
.package-facts dd {
  margin: 0;
}

.package-facts dd {
  max-width: 55%;
  text-align: right;
}

.module-action {
  width: 100%;
  margin-top: auto;
}

.module-card-message:empty {
  display: none;
}

.service-action {
  margin-top: auto;
}

.module-card-message {
  margin: var(--space-1) 0 0;
}

.selection-offer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  margin-top: var(--space-2);
}

.package-details h4,
.package-details p {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.commercial-details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.commercial-details article h3,
.commercial-details article p {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.package-extras {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: end;
  margin-top: var(--space-3);
}

.capacity-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
  margin-bottom: var(--space-1);
}

.capacity-heading strong {
  flex: 0 0 auto;
}

.extra-price {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  text-align: right;
  gap: var(--space-1);
}

.selection-bar {
  max-width: var(--page-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-6);
}

.selection-bar h2,
.selection-bar p {
  margin: var(--space-1) 0;
}

.selection-price {
  display: grid;
  gap: var(--space-1);
  text-align: right;
}

.disabled-link {
  pointer-events: none;
}

@media (max-width: 80rem) {
  .module-grid,
  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .package-grid,
  .module-grid,
  .service-grid,
  .commercial-details,
  .package-extras,
  .selection-bar {
    grid-template-columns: 1fr;
  }
  .packages-heading,
  .package-title-row,
  .module-title-row,
  .service-title-row {
    align-items: stretch;
    flex-direction: column;
  }
  .enterprise-package {
    grid-column: auto;
    display: flex;
  }
  .packages-heading {
    display: block;
  }
  .package-pricing-row {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .package-pricing-message {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
  }
  .billing-offer-notice {
    width: 100%;
  }
  .billing-control {
    justify-content: flex-start;
  }
  .selection-price {
    text-align: left;
  }
}

.product-page-main h1,
.product-page-main h2,
.product-page-main h3,
.product-page-main h4,
.product-page-main p {
  margin-top: 0;
}

.product-hero,
.product-section {
  width: 100%;
  max-width: var(--page-width);
  margin: 0 auto;
}

.product-hero h1 {
  max-width: var(--size-224);
}

.product-kicker {
  margin-bottom: var(--space-2);
}

/* The nine Module buttons: five in a row, then four, both rows centred.
   Each button takes two of ten shares; the sixth starts one share in. */
.product-module-directory {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  /* Each button at the reduced scale, the same rows centred (Owner, 23
     October 2026): the row and its gaps at that share of the width. */
  width: calc(100% * var(--scale-reduced));
  margin-inline: auto;
  column-gap: calc(var(--space-3) * var(--scale-reduced));
}

.product-module-directory > .product-module-button {
  grid-column: span 2;
}

.product-module-directory > .product-module-button:nth-child(6) {
  grid-column: 2 / span 2;
}

.product-module-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  text-align: center;
}

.product-module-button strong {
  display: block;
  min-width: 0;
}

.product-module-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-11);
  flex: 0 0 auto;
}

.product-module-icon .brand-icon {
  width: var(--size-6);
}

.product-module-panel {
  overflow: hidden;
}

.product-module-panel[hidden] {
  display: none;
}

.product-panel-heading {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-items: center;
}

.product-panel-heading h3 {
  margin-bottom: var(--space-2);
}

.product-panel-heading > div > p:last-child {
  margin-bottom: 0;
}

/* The strongest point of each Module: what it does for the customer. */
.product-company-value {
  width: 100%;
}

.product-company-value strong,
.product-company-value span {
  display: block;
}

.product-company-value strong {
  margin-bottom: var(--space-3);
}

.product-capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

/* Cards inside the white Module panel take the Style's inner-card tint. */
.product-capability-grid > article {
  min-width: 0;
}

.product-capability-grid h4 {
  margin-bottom: var(--space-1);
}

.product-capability-grid p {
  margin-bottom: var(--space-2);
}

.product-capability-grid strong {
  display: block;
}

.product-boundaries ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.product-offering-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.product-offering-card {
  display: grid;
  grid-template-columns: var(--size-11) minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
}

.product-offering-card h3 {
  margin-bottom: var(--space-2);
}

.product-offering-card p {
  margin-bottom: var(--space-3);
}

.product-offering-card strong,
.product-offering-card small {
  display: block;
}

.product-offering-card strong {
  margin-bottom: var(--space-3);
}

@media (max-width: 80rem) {
  .product-module-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-module-directory > .product-module-button,
  .product-module-directory > .product-module-button:nth-child(6) {
    grid-column: auto;
  }
}

@media (max-width: 48rem) {
  .product-panel-heading,
  .product-offering-grid {
    grid-template-columns: 1fr;
  }
  .product-capability-grid {
    grid-template-columns: 1fr;
  }
  .product-module-directory {
    grid-template-columns: 1fr;
  }
    .product-offering-card {
    grid-template-columns: 1fr;
  }
}

.contact-heading {
  margin-bottom: var(--space-4);
}

.contact-heading h1 {
  max-width: none;
  margin: 0;
}

.contact-heading > p:last-child {
  margin: var(--space-1) 0 0;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(var(--size-64), 0.72fr) minmax(var(--size-128), 1.28fr);
  gap: var(--space-6);
  align-items: stretch;
}

.contact-card h2 {
  margin: 0;
}

.contact-details {
  display: flex;
  flex-direction: column;
  container-type: inline-size;
}

.contact-details dl {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin: var(--space-4) 0 0;
}

.contact-details dl > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.contact-details dl > div:nth-child(-n + 4) {
  flex: 0 0 auto;
  justify-content: flex-start;
}

.contact-details dl > div:nth-child(5) {
  flex: 0 0 auto;
  justify-content: flex-start;
}

.contact-details dt {
  margin-bottom: var(--space-1);
}

.contact-details dd {
  margin: 0;
}

.contact-details a {
  overflow-wrap: anywhere;
}

@container (min-width: 48rem) {
  .contact-details dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(4, auto);
    column-gap: var(--space-6);
  }
  .contact-details dl > div:nth-child(-n + 4) {
    grid-column: 1;
  }
  .contact-details dl > div:nth-child(5),
  .contact-details dl > div:nth-child(6) {
    grid-row: 1 / -1;
    justify-content: flex-start;
  }
  .contact-details dl > div:nth-child(5) {
    grid-column: 2;
  }
  .contact-details dl > div:nth-child(6) {
    grid-column: 3;
  }
}

.enquiry-card form {
  margin-top: var(--space-3);
}

.enquiry-type legend {
  display: flex;
  width: 100%;
  align-items: baseline;
  gap: var(--space-1);
  margin-bottom: var(--space-1);
}

/* Mandatory enquiry type: message on the right, all four options highlighted. */
.enquiry-type legend .enquiry-type-error {
  margin-left: auto;
}

.enquiry-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.enquiry-options label {
  position: relative;
}

.enquiry-options input {
  position: absolute;
  width: var(--line-thin);
  margin: 0;
}

.enquiry-options span {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* The chosen enquiry type is unmistakable: selected colours and a full
   selected outline. */
.enquiry-options input:checked + span {
  position: relative;
  z-index: 1;
  gap: var(--space-2);
}

.enquiry-options input:focus-visible + span {
  z-index: 1;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
  margin-top: var(--space-3);
}

.contact-form-grid input,
.contact-form-grid textarea {
  margin-top: var(--space-1);
}

/* The required star stays on the label's line, beside its text. */
.contact-form-grid label:not(.marketing-consent) {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: var(--space-1);
}

.contact-form-grid label:not(.marketing-consent) > :is(input, textarea, .setup-field-message) {
  flex: 1 0 100%;
}

.message-field,
.marketing-consent {
  grid-column: 1 / -1;
}

.message-field textarea {
  resize: vertical;
}

.marketing-consent {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
}

.marketing-consent input {
  width: var(--size-4);
  flex: 0 0 auto;
  margin: var(--space-1) 0 0;
}

.enquiry-actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-3);
}

.enquiry-actions .button {
  min-width: var(--size-36);
}

.enquiry-actions p {
  margin: 0;
}

.contact-form-status {
  margin: var(--space-2) 0 0;
}

/* No message yet: no reserved line, so the space under Send enquiry matches
   the space above the card title. */
.contact-form-status:empty {
  display: none;
}

.faq-card {
  margin-top: var(--space-4);
}

.faq-card h2 {
  margin-bottom: var(--space-3);
}

.faq-list {
  overflow: hidden;
}

.faq-list summary {
  position: relative;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  top: var(--half);
  right: var(--space-4);
  width: var(--size-2);
  transform: var(--chevron-closed);
}

.faq-list details[open] summary::after {
  transform: var(--chevron-open);
}

.faq-list details p {
  margin: 0;
}

@media (max-width: 80rem) {
  .contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 48rem) {
  .contact-form-grid,
  .enquiry-options {
    grid-template-columns: 1fr;
  }
        .enquiry-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Home page */
.home-main {
  max-width: var(--page-width);
  margin: 0 auto;
}

.home-greeting {
  margin: 0 0 var(--space-4);
}

.home-welcome h1 {
  margin: 0 0 var(--space-6);
  max-width: none;
}

.home-lede {
  margin: 0;
}

.home-day-title {
  margin: 0 0 var(--space-6);
}

/* The day dial keeps its original size (the 1200px home column). */
.home-day-arc {
  display: block;
  width: 100%;
  max-width: calc(var(--size-288) - var(--space-12) - var(--space-12));
  margin-inline: auto;
  overflow: visible;
}

.home-dial-shade-item text {
  text-anchor: middle;
}

.home-day-centre {
  text-anchor: middle;
}

.home-day-end {
  text-anchor: end;
}

.home-day-list {
  display: none;
  margin: 0;
}

.home-day-list li {
  display: grid;
  grid-template-columns: var(--size-20) 1fr;
  gap: var(--space-4);
}

.home-kicker {
  margin: 0 0 var(--space-8);
}

.home-we-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6) var(--space-8);
}

.home-we-icon {
  width: var(--size-6);
  margin-bottom: var(--space-4);
}

.home-we-item h3 {
  margin: 0 0 var(--space-3);
}

.home-we-item p {
  margin: 0;
}

.home-for {
  margin: 0 calc(var(--half) - var(--screen-width-half));
}

.home-for-inner {
  max-width: calc(var(--page-width) - var(--space-12) - var(--space-12));
  margin: 0 auto;
}

.home-for-text {
  margin: 0;
}

.home-close {
  text-align: center;
}

.home-close h2 {
  margin: 0 0 var(--space-3);
}

.home-close p {
  margin: 0;
}

@media (max-width: 80rem) {
  .home-we-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .home-day-arc {
    display: none;
  }
  .home-day-list {
    display: block;
  }
  .home-we-grid {
    grid-template-columns: 1fr;
  }
}

/* The error pages: the Website header and footer around one notice. */
.error-main > .notice-shell {
  margin: 0 auto;
}

/* Notice pages (errors and status messages): one layout for every one. */
.notice-page {
  display: grid;
  align-items: start;
  justify-items: center;
}

.notice-shell {
  display: grid;
  width: 100%;
  max-width: var(--size-144);
  gap: var(--space-6);
}

.notice-brand {
  display: block;
  width: auto;
  margin: 0 auto;
}

.notice-panel {
  display: grid;
  gap: var(--space-4);
}

.notice-status,
.notice-feedback-label,
.notice-page .state {
  display: block;
}

.notice-status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
}

.notice-status svg,
.notice-distinction svg,
.notice-feedback svg,
.notice-callout svg,
.notice-limit svg,
.notice-wait svg {
  flex: none;
  width: var(--size-5);
}

.notice-distinction svg,
.notice-feedback svg,
.notice-callout svg,
.notice-limit svg,
.notice-wait svg {
  margin-top: var(--space-1);
}

.notice-status .brand-icon,
.notice-callout .brand-icon,
.notice-limit .brand-icon {
  display: contents;
}

.notice-panel h1 {
  max-width: none;
  margin: 0;
}

.notice-body {
  display: grid;
  gap: var(--space-3);
}

.notice-body p {
  margin: 0;
}

.notice-list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.notice-actions {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-1);
}

.notice-actions .button,
.reference-copy {
  align-items: center;
}

.reference-copy {
  justify-self: start;
}

.notice-busy {
  display: none;
  width: var(--size-4);
  margin-right: var(--space-2);
}

.button.is-loading .notice-busy {
  display: inline-block;
}

/* The boxes inside a notice: feedback, call-outs, limits and details. */
.notice-feedback,
.notice-capability,
.notice-callout,
.notice-limit,
.notice-wait,
.notice-detail,
.notice-context,
.reference-block {
  margin: 0;
}

.notice-feedback,
.notice-callout,
.notice-limit,
.notice-wait {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.notice-feedback {
  display: none;
}

.notice-feedback.is-visible {
  display: flex;
}

.notice-feedback p,
.notice-callout p {
  margin: var(--space-1) 0 0;
}

.notice-capability strong,
.notice-limit strong,
.notice-wait strong {
  display: block;
  margin-top: var(--space-1);
}

.notice-distinction {
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.notice-distinction li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

.notice-detail,
.notice-context,
.reference-block,
.reference-detail {
  display: grid;
  gap: var(--space-2);
}

.notice-detail,
.notice-context,
.reference-detail {
  margin: 0;
}

.reference-block {
  gap: var(--space-3);
}

.notice-detail div,
.notice-context div,
.reference-detail div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1) var(--space-2);
}

.notice-detail dt,
.notice-context dt,
.reference-detail dt {
  margin: 0;
}

.notice-detail dd,
.notice-context dd,
.reference-detail dd {
  margin: 0;
}

.reference-value {
  margin: 0;
  word-break: break-all;
}

.notice-support {
  margin: 0;
}

.notice-reference {
  margin: var(--space-2) 0 0;
}

/* Kept from before the sort: no page uses these today. */
.hero {
  max-width: var(--page-width);
  margin: auto;
}

.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.trust-list {
  display: flex;
  gap: var(--space-8);
  flex-wrap: wrap;
  margin: var(--space-8) 0;
}

.trust-list li:before {
  margin-right: var(--space-2);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--size-56), 1fr));
  gap: var(--space-4);
}

.pricing-notice {
  max-width: var(--size-192);
  margin-top: var(--space-4);
}

.comparison-wrap {
  overflow-x: auto;
}

.package-comparison {
  width: 100%;
  border-collapse: collapse;
}

.package-comparison th,
.package-comparison td {
  text-align: left;
}

.package-comparison th:not(:first-child),
.package-comparison td:not(:first-child) {
  text-align: center;
}

.signup-page .section-heading {
  max-width: none;
  margin: 0 0 var(--space-4);
  text-align: left;
}

.signup-page #packages {
  max-width: none;
}

.signup-page #packages .card h3,
.signup-page #packages .card p {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.signup-page #packages .card-grid {
  align-items: start;
}

.signup-page .section-heading h2,
.signup-page .section-heading p {
  margin-top: var(--space-1);
  margin-bottom: var(--space-1);
}

.field-guidance {
  display: block;
  margin: var(--space-1) 0 var(--space-2);
}

@media (max-width: 48rem) {
  .trust-list {
    display: grid;
    gap: var(--space-2);
  }
    .head-office-attendance-option {
    align-items: stretch;
    flex-direction: column;
  }
}

.contact-heading .contact-eyebrow {
  margin: 0 0 var(--space-1);
}

.loop-privacy {
  margin: 0;
  text-align: center;
}
