/* Original campaign artwork and section proportions, scoped to this page. */
.ahc-page {
  --fabric-navy: #000434;
  --fabric-blue: #003469;
  --ahc-text: #344659;
  --ahc-divider: #00abb6;
}
.ahc-page #service-enquiry { scroll-margin-top: 10rem; }
.ahc-page .page-header__hero-content__header { max-width: 28ch; text-wrap: balance; }
.ahc-page .page-header__hero figure img { object-position: 80% center; }
.ahc-page .page-header__hero-content__intro { max-width: 52rem; }
.ahc-page .page-header__hero-content__intro p { text-wrap: pretty; }
.ahc-brand { display: block; width: 28rem; max-width: 70%; height: auto; margin: 2.8rem 0; }
.ahc-platforms { position: relative; z-index: 2; height: 0; }
.ahc-platforms .o-container { position: relative; }
.ahc-platforms img { position: absolute; right: 3rem; top: -5.4rem; width: 19rem; height: auto; }
.ahc-page .cb-breadcrumbs { padding-top: 3.6rem; }

.ahc-heading { margin-bottom: 5.6rem; }
.ahc-page .ahc-heading h2,
.ahc-page .fabric-review h2 { margin: 0 0 .8rem; font-size: clamp(2.8rem, 2.5vw, 3.6rem); }
.ahc-subtitle { margin: 0; color: #447faf; font-size: 1.7rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.ahc-triggers { padding: 4rem 0 15rem; background: #fff; }
.ahc-triggers__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.2rem; list-style: none; padding: 0; margin: 0; }
.ahc-triggers__list li { display: flex; flex-direction: column; align-items: center; padding: 3.2rem 2.8rem; border-radius: 2.8rem; background: linear-gradient(165deg, #0a457d, var(--fabric-navy)); color: #fff; text-align: center; }
.ahc-triggers__list img { width: 5rem; height: 5rem; object-fit: contain; margin-bottom: 2.6rem; }
.ahc-triggers__list p { width: 100%; margin: 0; padding-top: 2.4rem; border-top: 1px solid #a3d5ff; color: #fff; font-size: 2rem; line-height: 1.4; text-wrap: pretty; }

/* The report visibly rises into the white space above its blue band. */
.ahc-page .fabric-review,
.ahc-result { background: linear-gradient(67deg, #003469 0 25%, transparent 25%), linear-gradient(112deg, #004779, #000434 87%); }
.ahc-page .fabric-review { position: relative; overflow: visible; padding: 0; }
.ahc-page .fabric-review__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; min-height: 36rem; }
.ahc-page .fabric-review__intro { padding: 5.6rem 0; }
.ahc-page .fabric-review__intro > p { font-size: 2.2rem; line-height: 1.45; margin: 0; }
.ahc-report { position: relative; z-index: 1; align-self: start; margin: -10rem -2rem 1.6rem 0; }
.ahc-report img { display: block; width: 100%; height: auto; }

.ahc-benefits { padding: 9rem 0 5rem; background: #fff; }
.ahc-benefits__list { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 4.8rem 10rem; list-style: none; padding: 3rem 0; margin: 0; }
.ahc-benefits__list::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--ahc-divider); }
.ahc-benefits__list li { display: flex; align-items: baseline; gap: 1.4rem; }
.ahc-benefits__list i { flex: none; color: #6b7277; font-size: 2rem; }
.ahc-benefits__list p { color: var(--ahc-text); margin: 0; font-size: 2rem; line-height: 1.45; }

.ahc-page .fabric-approach { padding: 4rem 0 7rem; background: #fff; }
.ahc-page .fabric-approach .ahc-heading { margin-bottom: 2rem; }
.ahc-process { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7rem; align-items: center; }
.ahc-process > p { max-width: 42rem; font-size: 2.2rem; line-height: 1.45; color: var(--ahc-text); }
.ahc-process > img { display: block; width: 100%; height: auto; }
.ahc-details { margin-top: 1.6rem; }
.ahc-details > summary { display: flex; align-items: center; gap: 1.4rem; width: fit-content; max-width: 100%; min-height: 4.8rem; padding: 1rem 0; border-bottom: 2px solid #f99f3f; color: var(--fabric-blue); font-size: 2rem; font-weight: 700; line-height: 1.35; cursor: pointer; list-style: none; }
.ahc-details > summary::-webkit-details-marker { display: none; }
.ahc-details > summary::marker { content: ""; }
.ahc-details > summary:hover { border-bottom-color: var(--fabric-blue); }
.ahc-details > summary:focus:not(:focus-visible) { outline: none; }
.ahc-details > summary:focus-visible { outline: 2px solid var(--fabric-blue); outline-offset: 5px; border-radius: .2rem; }
.ahc-details__toggle { position: relative; flex: none; width: 2.6rem; height: 2.6rem; border: 1px solid #bccbd8; border-radius: 50%; }
.ahc-details__toggle::before,.ahc-details__toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1rem; height: 2px; background: currentColor; transform: translate(-50%,-50%); }
.ahc-details__toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.ahc-details[open] .ahc-details__toggle::after { display: none; }
.ahc-details__body { padding: 3.2rem 0 0; }
.ahc-details__body p { color: var(--ahc-text); }
.ahc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4rem; list-style: none; counter-reset: assessment-step; padding: 0; margin: 0 0 4rem; }
.ahc-steps li { padding-top: 2rem; border-top: 1px solid #d7e0e7; counter-increment: assessment-step; }
.ahc-steps li::before { content: counter(assessment-step, decimal-leading-zero); display: block; margin-bottom: 1.2rem; color: var(--fabric-blue); font-size: 2rem; font-weight: 700; }
.ahc-steps h3 { margin: 0 0 1.2rem; font-size: 2.3rem; }
.ahc-steps p { margin: 0; font-size: 1.9rem; line-height: 1.5; }
.ahc-assessment-scope { padding-top: 3.2rem; border-top: 1px solid #d7e0e7; }
.ahc-assessment-scope > h3 { margin: 0 0 1rem; font-size: 2.8rem; }
.ahc-assessment-scope > p { max-width: 92rem; font-size: 1.9rem; line-height: 1.5; }
.ahc-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.2rem 5rem; list-style: none; padding: 0; margin: 3.2rem 0 0; }
.ahc-areas h4 { margin: 0 0 .8rem; font-size: 2.2rem; }
.ahc-areas li { border-left: 2px solid #fdd9b2; padding-left: 2rem; }
.ahc-areas p { margin: 0 0 1rem; font-size: 1.9rem; line-height: 1.5; }
.ahc-areas .ahc-checkpoints { font-size: 1.6rem; color: #526a80; }

.ahc-result { padding: 7.2rem 0; color: #fff; }
.ahc-result p { max-width: 110rem; margin: 0 auto; color: #fff; font-size: 2.4rem; line-height: 1.7; }
.ahc-result strong { color: #f99f3f; font-size: 1.4em; font-weight: 400; line-height: 1; white-space: nowrap; }

/* Brochure and enquiry columns use the source design's white background. */
.ahc-page .fabric-enquiry { padding: 5.6rem 0; background: #fff; }
.ahc-page .fabric-enquiry__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: start; }
.ahc-flyer { padding: 0 7rem 0 0; }
.ahc-flyer h2 { max-width: 38rem; margin: 0 0 2.4rem; color: var(--fabric-blue); font-size: 3.6rem; line-height: 1.15; }
.ahc-flyer > p { margin: 0 0 1.4rem; color: var(--ahc-text); }
.ahc-flyer ul { display: grid; gap: 1.2rem; padding: 0; margin: 0 0 3.2rem; list-style: none; }
.ahc-flyer li { display: flex; align-items: baseline; gap: 1rem; color: var(--ahc-text); }
.ahc-flyer li i { flex: none; color: #6b7277; }
.ahc-flyer .fabric-cta { min-width: 0; }
.ahc-quote { margin: 3.2rem 0 0; padding-top: 2.4rem; border-top: 1px solid #cbced0; }
.ahc-quote blockquote { padding: 0; margin: 0; border: 0; }
.ahc-quote blockquote p { margin: 0 0 1.6rem; font-size: 1.9rem; line-height: 1.5; color: var(--ahc-text); }
.ahc-quote figcaption { font-size: 1.6rem; color: var(--fabric-blue); }
.ahc-page .fabric-form-card { border: 0; border-left: 1px solid var(--ahc-divider); padding: 0 0 0 7rem; border-radius: 0; box-shadow: none; background: transparent; }
.ahc-page .fabric-enquiry__intro { margin-bottom: 2.8rem; }
.ahc-page .fabric-enquiry__intro h2 { font-size: 3.2rem; color: var(--fabric-blue); }
.ahc-page .fabric-enquiry__intro .cb__kicker { display: none; }
.ahc-page .fabric-enquiry__intro > p { font-size: 1.9rem; color: var(--ahc-text); }
.ahc-page .fabric-enquiry__promise { margin: 0 0 3rem; padding: 0; border: 0; }
.ahc-page .fabric-enquiry__promise p { font-size: 1.7rem; color: var(--ahc-text); }

@media (max-width: 1099px) {
  .ahc-triggers__list { gap: 2rem; }
  .ahc-triggers__list li { padding: 2.4rem 1.8rem; }
  .ahc-triggers__list p { font-size: 1.8rem; }
  .ahc-page .fabric-review__layout { gap: 3rem; }
  .ahc-benefits__list { column-gap: 6rem; }
  .ahc-flyer { padding-right: 4rem; }
  .ahc-page .fabric-form-card { padding-left: 4rem; }
}
@media (min-width: 1100px) {
  .ahc-page .page-header__hero-content__header span { display: block; }
}
@media (max-width: 767px) {
  .ahc-brand { width: 24rem; margin: 2.4rem 0; }
  .ahc-platforms img { width: 13rem; top: -3.7rem; right: 2.4rem; }
  .ahc-heading { margin-bottom: 3.2rem; }
  .ahc-subtitle { font-size: 1.5rem; }
  .ahc-triggers { padding: 3.2rem 0 10rem; }
  .ahc-triggers__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; }
  .ahc-triggers__list li { padding: 2.4rem 1.6rem; border-radius: 2rem; }
  .ahc-triggers__list img { width: 4.4rem; height: 4.4rem; margin-bottom: 2rem; }
  .ahc-triggers__list p { padding-top: 1.6rem; }
  .ahc-page .fabric-review__layout { grid-template-columns: 1fr; gap: 0; }
  .ahc-report { grid-row: 1; width: min(100%, 44rem); margin: -6rem auto 0; }
  .ahc-page .fabric-review__intro { padding: 3.6rem 0 4.8rem; }
  .ahc-page .fabric-review__intro > p { font-size: 2rem; }
  .ahc-benefits { padding: 5.6rem 0 2.4rem; }
  .ahc-benefits__list { grid-template-columns: 1fr; gap: 2.8rem; padding: 0 0 0 2rem; border-left: 1px solid var(--ahc-divider); }
  .ahc-benefits__list::before { display: none; }
  .ahc-benefits__list p { font-size: 1.9rem; }
  .ahc-page .fabric-approach { padding: 3.2rem 0 4.8rem; }
  .ahc-process { grid-template-columns: 1fr; gap: 2rem; }
  .ahc-process > p { margin: 0; font-size: 2rem; max-width: none; }
  .ahc-steps, .ahc-areas { grid-template-columns: 1fr; gap: 2rem; }
  .ahc-result { padding: 4rem 0; }
  .ahc-result p { font-size: 2rem; }
  .ahc-page .fabric-enquiry { padding: 4rem 0; }
  .ahc-page .fabric-enquiry__layout { grid-template-columns: 1fr; gap: 3.2rem; }
  .ahc-flyer { padding: 0; }
  .ahc-flyer h2 { max-width: none; font-size: 3.2rem; margin-bottom: 2.4rem; }
  .ahc-page .fabric-form-card { border-left: 0; border-top: 1px solid var(--ahc-divider); padding: 3.2rem 0 0; }
}
@media (max-width: 480px) {
  .ahc-page .fabric-cta, .ahc-page .service-hero-action .button--default { max-width: 100%; min-width: 0; }
  .ahc-page .button--default span { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(> .ahc-page) { scroll-behavior: auto; }
}
