/* reasons.css — Reasons / Benefits accordion section.
   Values from the spec ## Computed Styles (representative /accessibility @
   1440 / 768 / 375). Run breakpoint boundary set {479,767,991,1919}:
   1440 = base rules; 768 -> @media(max-width:991px); 375 -> @media(max-width:479px).
   Typography via var(--font-*) (framework-11 E1 lock; source family
   'Plus Jakarta Sans' resolves through the frozen tokens).
   All selectors are scoped under the reasons-owned root
   (.c-reasons__section-reasons) so the shared canonical wrappers
   (background-color-secondary / padding-global / container-large / row /
   accordion / accordion-item — owned by approach / about_info / accordion /
   hero) never leak and never collide with the sibling accordion component that
   renders on the same pages (rule 9). Own-BEM leaves (item-header / title /
   body-wrap / body / divider / chevron) sit below the capture's depth-5 cutoff;
   colors verified against the frozen /accessibility crop (heading rgb(51,51,51),
   item title rgb(18,18,18), body rgb(51,51,51)). */

/* ============================ Section root ================================= */
.c-reasons__section-reasons {
  display: block;
  width: 100%;
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-body);
  line-height: var(--line-height-body);
  color: var(--color-text-body); /* source rgb(51,51,51) */
  /* SDC-preview UA body-margin neutraliser (Drupal zeroes body margin on composed pages) */
  margin: -8px;
}
.region-content .c-reasons__section-reasons {
  margin: 0;
  width: 100%;
}

/* ---- Background band (background-color-secondary) ------------------------- */
.c-reasons__section-reasons .c-reasons__bg {
  display: block;
  width: 100%;
  background-color: var(--color-bg-alt3); /* source rgb(247,244,244) */
}

/* ---- Outer padding wrapper (padding-global + padding-section-medium) ------ */
.c-reasons__section-reasons .c-reasons__padding {
  display: block;
  width: 100%;
  padding: 96px var(--space-40); /* source medium 96px 40px @1440; no --space-96 token */
  box-sizing: border-box;
}
/* no-heading variant uses padding-section-large (larger vertical rhythm) */
.c-reasons__section-reasons .c-reasons__padding.c-hero__padding-section-large {
  padding: 128px var(--space-40); /* source large 128px 40px @1440; no --space-128 token */
}

/* ---- Content container (container-large) ---------------------------------- */
.c-reasons__section-reasons .c-reasons__container {
  display: block;
  width: 100%;
  max-width: 1280px; /* source container maxWidth 1280 @1440 */
  margin-inline: auto; /* centres in the padded content box (source margin 0 40px) */
  box-sizing: border-box;
}

/* ---- Section header (section-header + mb-4) — with-heading only ----------- */
.c-reasons__section-reasons .c-reasons__header {
  display: block;
  width: 640px;
  max-width: 100%; /* source width/maxWidth 640; collapses to 343 inside the 375 column */
  margin: 0 0 var(--space-64); /* source margin 0 0 64px @1440 */
}

/* ---- Heading h2 (heading-style-h3) ---------------------------------------- */
.c-reasons__section-reasons .c-reasons__heading {
  display: block;
  width: 100%;
  margin: 0;
  font-family: var(--font-family-display);
  font-size: 32px; /* source 32px @1440 */
  font-weight: 500; /* source fontWeight 500 */
  line-height: 48px; /* source 48px @1440 */
  letter-spacing: -1.5px; /* source -1.5px @1440 */
  color: var(--color-text-primary); /* verified rgb(51,51,51) */
}

/* ---- Accordion row (.row.justify---center) — flex-centered parent -------- */
.c-reasons__section-reasons .c-reasons__accordion-row {
  display: flex;
  justify-content: center; /* source justifyContent center */
  align-items: flex-start; /* source alignItems flex-start */
  gap: var(--space-40); /* source gap 40px @1440 */
  width: 100%;
}

/* ---- Accordion list (.accordion) — own fixed width is the centering signal */
.c-reasons__section-reasons .c-reasons__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-16); /* source gap 16px @1440 */
  width: 856px; /* source width/maxWidth 856 @1440 */
  max-width: 100%; /* collapses to the row width at 768/375 (688/343) */
  text-align: left;
}

/* ---- Accordion item ------------------------------------------------------- */
.c-reasons__section-reasons .c-reasons__accordion-item {
  display: block;
  width: 100%;
  min-width: 0;
}
.c-reasons__section-reasons .c-reasons__item-header {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  min-height: 44px; /* collapsed row pitch: item(44) + gap(16) + divider(1) + gap(16) ~= source 77px */
  cursor: pointer;
}
/* right-aligned expand/collapse chevron — drawn in CSS (the toggle glyph is
   visible in the frozen /accessibility crop but sits below the capture's depth
   cutoff). Down when collapsed, up when .acc-active. */
.c-reasons__section-reasons .c-reasons__item-header::after {
  content: "";
  flex: 0 0 auto;
  margin-left: auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--color-text-primary);
  border-bottom: 2px solid var(--color-text-primary);
  transform: rotate(45deg); /* chevron pointing down (collapsed) */
  transition: transform 0.2s ease;
}
.c-reasons__section-reasons .c-reasons__acc-active .c-reasons__item-header::after {
  transform: rotate(-135deg); /* chevron pointing up (expanded) */
}
.c-reasons__section-reasons .c-reasons__title {
  margin: 0;
  min-width: 0;
  font-family: var(--font-family-display);
  font-size: var(--font-size-h3); /* item heading is an h3 in headings[] (20px) */
  font-weight: var(--font-weight-h3); /* 600 — verified bold near-black title */
  line-height: var(--line-height-h3);
  color: var(--color-text-dark); /* verified rgb(18,18,18) */
}

/* ---- Item body — collapsed at rest, expanded when .acc-active ------------- */
.c-reasons__section-reasons .c-reasons__body-wrap {
  overflow: hidden;
  max-height: 0;
}
.c-reasons__section-reasons .c-reasons__acc-active .c-reasons__body-wrap {
  max-height: none; /* expanded item shows full body (spec: item 1 open on load) */
}
.c-reasons__section-reasons .c-reasons__body {
  margin: 0;
  padding-top: var(--space-12);
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-body); /* verified rgb(51,51,51) */
}

/* ---- Divider hairline ----------------------------------------------------- */
.c-reasons__section-reasons .c-reasons__divider {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-bg-alt2); /* light hairline rgb(229,229,229) */
}

/* ============================ 768 (@media max-width:991px) ================= */
@media (max-width: 991px) {
  .c-reasons__section-reasons .c-reasons__padding {
    padding: var(--space-64) var(--space-40); /* source medium 64px 40px @768 */
  }
  .c-reasons__section-reasons .c-reasons__padding.c-hero__padding-section-large {
    padding: 96px var(--space-40); /* source large 96px 40px @768; no --space-96 token */
  }
  .c-reasons__section-reasons .c-reasons__header {
    margin: 0 0 32px; /* source margin 0 0 32px @768; no --space-32 token */
  }
  .c-reasons__section-reasons .c-reasons__heading {
    font-size: 32px; /* source 32px @768 */
    line-height: 40px; /* source lineHeight 40px @768 */
    letter-spacing: -1.5px;
  }
  .c-reasons__section-reasons .c-reasons__accordion-row {
    gap: var(--space-10); /* source gap 10px @768 */
  }
  .c-reasons__section-reasons .c-reasons__accordion {
    gap: var(--space-12); /* source gap 12px @768 */
  }
}

/* ============================ 375 (@media max-width:479px) ================= */
@media (max-width: 479px) {
  .c-reasons__section-reasons .c-reasons__padding {
    padding: 48px var(--space-16); /* source medium 48px 16px @375; no --space-48 token */
  }
  .c-reasons__section-reasons .c-reasons__padding.c-hero__padding-section-large {
    padding: var(--space-64) var(--space-16); /* source large 64px 16px @375 */
  }
  .c-reasons__section-reasons .c-reasons__header {
    width: 343px;
    max-width: 100%;
    margin: 0 0 32px; /* source margin 0 0 32px @375 */
  }
  .c-reasons__section-reasons .c-reasons__heading {
    font-size: 26px; /* source 26px @375 */
    line-height: 32px; /* source 32px @375 */
    letter-spacing: -1px; /* source -1px @375 */
  }
  .c-reasons__section-reasons .c-reasons__accordion-row {
    flex-direction: column; /* source flexDirection column @375 */
    align-items: center; /* source alignItems center @375 */
    gap: var(--space-20); /* source gap 20px @375 */
  }
  .c-reasons__section-reasons .c-reasons__accordion {
    width: 343px;
    gap: var(--space-4); /* source gap 4px @375 */
  }
  /* Collapsed-item box grows to a mobile tap-target height at 375 so the
     collapsed pitch matches the measured source cadence (~77px title-to-title:
     item-box 68 + gap 4 + divider 1 + gap 4). Keeps the 10-item list from
     accumulating upward drift against the frozen crop. */
  .c-reasons__section-reasons .c-reasons__item-header {
    min-height: 68px;
  }
}

/* F13-6 style-parity patches — iteration 2 (generated; safe to regenerate) */
@media (min-width: 992px) {
  [data-component="reasons"] .c-accordion__accordion {
    max-width: 856px;
  }
  [data-component="reasons"] .c-accordion__heading-wrap-3.c-accordion__heading-wrap {
    max-width: 640px;
  }
}
@media (min-width: 480px) and (max-width: 991px) {
  [data-component="reasons"] .c-accordion__accordion {
    max-width: 856px;
  }
  [data-component="reasons"] .c-accordion__heading-wrap-3.c-accordion__heading-wrap {
    max-width: 640px;
  }
}
@media (max-width: 479px) {
  [data-component="reasons"] .c-accordion__accordion {
    max-width: 856px;
  }
  [data-component="reasons"] .c-accordion__heading-wrap-3.c-accordion__heading-wrap {
    max-width: 640px;
  }
}
/* end F13-6 patches */

/* F14-VP page-scoped layout patches — iteration 2 (generated; safe to regenerate) */
@media (min-width: 992px) {
  .page--accessibility_index [data-component="reasons"] {
    height: 1177px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap {
    height: 985px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 1177px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 825px;
  }
  .page--accessibility_index [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 825px;
  }
  .page--accessibility_index [data-component="reasons"] .c-approach__background-color-secondary {
    height: 1177px;
  }
  .page--headway_index [data-component="reasons"] {
    height: 696px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap {
    height: 440px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap-5.c-hero__padding-section-large {
    height: 696px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 440px;
  }
  .page--headway_index [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 440px;
  }
  .page--headway_index [data-component="reasons"] .c-approach__background-color-secondary {
    height: 696px;
  }
  .page--services_post_post [data-component="reasons"] {
    height: 1129px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap {
    height: 937px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 1129px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 777px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 777px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__heading {
    height: 96px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__heading-wrap-3.c-accordion__heading-wrap {
    height: 96px;
  }
  .page--services_post_post [data-component="reasons"] .c-approach__background-color-secondary {
    height: 1129px;
  }
}
@media (min-width: 480px) and (max-width: 991px) {
  .page--accessibility_index [data-component="reasons"] {
    height: 993px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap {
    height: 865px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 993px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 753px;
  }
  .page--accessibility_index [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 753px;
  }
  .page--accessibility_index [data-component="reasons"] .c-approach__background-color-secondary {
    height: 993px;
  }
  .page--headway_index [data-component="reasons"] {
    height: 624px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap {
    height: 432px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap-5.c-hero__padding-section-large {
    height: 624px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 432px;
  }
  .page--headway_index [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 432px;
  }
  .page--headway_index [data-component="reasons"] .c-approach__background-color-secondary {
    height: 624px;
  }
  .page--services_post_post [data-component="reasons"] {
    height: 969px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap {
    height: 841px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 969px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 729px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 729px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__heading {
    height: 80px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__heading-wrap-3.c-accordion__heading-wrap {
    height: 80px;
  }
  .page--services_post_post [data-component="reasons"] .c-approach__background-color-secondary {
    height: 969px;
  }
}
@media (max-width: 479px) {
  .page--accessibility_index [data-component="reasons"] {
    height: 1101px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap {
    height: 1005px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 1101px;
  }
  .page--accessibility_index [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 877px;
  }
  .page--accessibility_index [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 877px;
  }
  .page--accessibility_index [data-component="reasons"] .c-accordion__heading {
    height: 96px;
  }
  .page--accessibility_index [data-component="reasons"] .c-accordion__heading-wrap-3.c-accordion__heading-wrap {
    height: 96px;
  }
  .page--accessibility_index [data-component="reasons"] .c-approach__background-color-secondary {
    height: 1101px;
  }
  .page--headway_index [data-component="reasons"] {
    height: 768px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap {
    height: 640px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap-5.c-hero__padding-section-large {
    height: 768px;
  }
  .page--headway_index [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 640px;
  }
  .page--headway_index [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 640px;
  }
  .page--headway_index [data-component="reasons"] .c-approach__background-color-secondary {
    height: 768px;
  }
  .page--services_post_post [data-component="reasons"] {
    height: 1021px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap {
    height: 925px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 1021px;
  }
  .page--services_post_post [data-component="reasons"] .c-about_info__heading-wrap-7 {
    height: 829px;
  }
  .page--services_post_post [data-component="reasons"] .c-accordion__accordion {
    grid-template-columns: 1fr;
    height: 829px;
  }
  .page--services_post_post [data-component="reasons"] .c-approach__background-color-secondary {
    height: 1021px;
  }
}
/* end F14-VP patches */
