/* ============================================================================
   About Us — page-specific rules.
   Every value below was read off reference/spec/about-us.desktop.json.
   Desktop geometry (document coords, header = 119px):
     hero      119 - 324   white,  padding 60/40, h1 text top 179 (70px Inter)
     Carl      324 - 913   #b59421, padding 100/40, content 424 - 813
     Bryan     913 - 1502  #3056d9, padding 100/40, content 1013 - 1402
     certs    1502 - 2302  white,   padding 80/40, content 1582 - 2222
   ========================================================================== */

/* ---------- hero ---------- */
.page-about-us .au-hero {
  padding: 60px 40px;
  background: var(--white);
}
.page-about-us .au-hero__title {
  font-family: var(--font-display);
  font-size: 70px;
  font-weight: 700;
  line-height: normal;
  color: #000;
}

/* ---------- coach bio bands ---------- */
.page-about-us .au-bio { padding: 100px 40px; }
.page-about-us .au-bio--gold { background: #b59421; }
.page-about-us .au-bio--blue { background: #3056d9; }

/* Left column is the flush 3/12 (x 240-480); the right column's content
   starts at x=500, i.e. 20px inside the 9/12 column edge. */
.page-about-us .au-bio__main { padding-left: 20px; }

.page-about-us .au-bio__photo {
  display: block;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: rgba(0, 0, 0, .25) 0 3px 11px 0;
}
.page-about-us .au-bio__role {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  color: var(--white);
  text-align: center;
}
/* The two captions sit at different offsets on the live page (22px / 12px). */
.page-about-us .au-bio__role--carl { margin-top: 22px; }
.page-about-us .au-bio__role--bryan { margin-top: 12px; }

.page-about-us .au-bio__rule {
  width: 61px;
  height: 0;
  border: 0;
  border-top: 1px solid var(--white);
  margin: 10px 0 20px;
}
.page-about-us .au-bio__name {
  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 700;
  line-height: normal;
  color: var(--white);
}
.page-about-us .au-bio__copy {
  margin-top: 12px;
  /* the live last paragraph ends with a <br>, i.e. one trailing blank line */
  padding-bottom: 18px;
  font-size: 16px;
  line-height: 18px;
  color: var(--white);
}
/* Duda separates paragraphs with an empty <p>, i.e. exactly one blank line. */
.page-about-us .au-bio__copy p + p { margin-top: 18px; }
.page-about-us .au-bio__copy strong { font-weight: 700; }

/* ---------- social icon row ---------- */
.page-about-us .au-social {
  display: flex;
  align-items: flex-start;
  gap: 16.45px;
  margin-top: 9px;
}
.page-about-us .au-social a {
  display: block;
  width: 47px;
  padding-bottom: 5px;
  color: var(--white);
}
.page-about-us .au-social__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  border: 3px solid var(--white);
  border-radius: 50%;
}
.page-about-us .au-social svg {
  width: 26px;
  height: 26px;
  fill: currentColor;
}
.page-about-us .au-social .au-social__svg--stroke {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---------- certification band ---------- */
.page-about-us .au-certs {
  padding: 80px 40px;
  background: var(--white);
}
/* Live copy block runs x 323 - 1128 inside the 960px container (240 - 1200). */
.page-about-us .au-certs__inner {
  padding-left: 83px;
  padding-right: 72px;
}
.page-about-us .au-certs__title {
  margin-top: 2px;
  /* live line box is 323-1127, half a pixel left of the copy block's centre */
  margin-right: 1px;
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 700;
  line-height: 36px;
  color: rgb(40, 64, 83);
  text-align: center;
}
.page-about-us .au-certs__copy {
  margin-top: 19px;
  font-size: 16px;
  line-height: 18px;
  color: var(--body-text);
}
.page-about-us .au-certs__copy p + p { margin-top: 18px; }

.page-about-us .au-certs__images {
  display: flex;
  align-items: flex-start;
  /* live group runs x 519-931 inside the 323-1128 copy block */
  justify-content: flex-start;
  padding-left: 196px;
  gap: 25px;
  margin: 32px 0 20px;
}
.page-about-us .au-certs__cert--carl { width: 202px; height: 261.41px; }
.page-about-us .au-certs__cert--bryan { width: 185px; height: 261.48px; }

/* ============================================================================
   MOBILE — same content, stacked. Live mobile: 15px gutters, 14px body copy
   on a 16px line, 160px portraits, full-width certificates.
   ========================================================================== */
@media (max-width: 767px) {
  .page-about-us .au-hero { padding: 25px 15px; }
  .page-about-us .au-hero__title { font-size: 30px; }

  .page-about-us .au-bio { padding: 50px 15px; }
  .page-about-us .au-bio__main { padding-left: 0; }
  .page-about-us .au-bio__photo { width: 160px; height: 160px; }
  .page-about-us .au-bio__role { font-size: 14px; }
  .page-about-us .au-bio__role--carl,
  .page-about-us .au-bio__role--bryan { margin-top: 10px; margin-bottom: 24px; }
  .page-about-us .au-bio__rule { width: 77px; }
  .page-about-us .au-bio__name { font-size: 36px; }
  .page-about-us .au-bio__copy { font-size: 14px; line-height: 16px; }
  .page-about-us .au-bio__copy p + p { margin-top: 16px; }

  .page-about-us .au-social { gap: 12px; margin-top: 14px; }
  .page-about-us .au-social a { width: 41px; }
  .page-about-us .au-social__icon { width: 41px; height: 41px; }
  .page-about-us .au-social svg { width: 22px; height: 22px; }

  .page-about-us .au-certs { padding: 60px 15px; }
  .page-about-us .au-certs__inner { padding-left: 0; padding-right: 0; }
  .page-about-us .au-certs__title { font-size: 30px; line-height: 36px; }
  .page-about-us .au-certs__copy { margin-top: 12px; font-size: 14px; line-height: 16px; }
  .page-about-us .au-certs__copy p + p { margin-top: 16px; }
  .page-about-us .au-certs__images {
    display: block;
    padding-left: 0;
    margin: 10px 0 0;
  }
  .page-about-us .au-certs__cert--carl,
  .page-about-us .au-certs__cert--bryan { display: block; width: 100%; height: auto; }
}

/* ============================================================================
   LOCAL WORKAROUNDS for shared-system gaps (see the build report).
   These are scoped to this page only — src/partials/* and site/css/site.css
   are shared by 24 builds and were deliberately left untouched.
   ========================================================================== */

/* The live header casts a soft shadow over the page below it; the shared
   header has none, which leaves a hard edge across the full width at y=119. */
.page-about-us .site-header { box-shadow: 0 0 16px rgba(0, 0, 0, .34); }

/* The live active nav item is underlined with a 2px rule across the whole link
   box, sitting on the box's bottom edge. text-decoration:underline (shared)
   draws a thinner rule, only as wide as the glyphs and 5-6px higher. */
.page-about-us .nav__link.is-active,
.page-about-us .footer-nav > li > a.is-active { text-decoration: none; position: relative; }
.page-about-us .nav__link.is-active::after,
.page-about-us .footer-nav > li > a.is-active::after {
  content: "";
  position: absolute;
  left: 15px; right: 15px; bottom: 0;
  height: 2px;
  background: currentColor;
}

/* Footer: the live CTA is a 374x47 gold button with a 3px black border and a
   soft drop shadow, one pixel higher than the shared button renders it. */
.page-about-us .footer-nav-wrap { margin-top: 36px; }
.page-about-us .footer-cta-wrap { margin-top: 37px; }
.page-about-us .footer-cta {
  border: 3px solid #000;
  box-shadow: 0 0 12px rgba(0, 0, 0, .35);
}

/* Live divider is a 1px rule at the top of a 3px box, starting at y=2686. The
   shared rule is a 3px border one pixel lower, which also makes every page one
   pixel taller than the live site. */
.page-about-us .footer-rule {
  margin-top: 43px;
  border-top-width: 1px;
  height: 2px;
}

/* Live "Let's talk!" sits one pixel lower inside its 49px line box. */
.page-about-us .footer-title { position: relative; top: 1px; }

/* Live copyright reads "© 2026 All Rights Reserved"; the shared markup puts the
   year and the sentence in separate flex items, which drops the space. */
.page-about-us .footer-legal { padding-top: 36px; }
.page-about-us .footer-legal__year { padding-right: 4.45px; }

@media (max-width: 767px) {
  /* The shared mobile footer un-hides the nav's sub-menus and lays them out
     beside their parent link, which pushes the document out to 478px wide and
     adds ~170px of height. The live mobile footer keeps them hidden, exactly
     as it does on desktop (every sub-item is visible:false in both specs). */
  .page-about-us .footer-nav .nav__sub { display: none; }
  .page-about-us .footer-nav > li { flex-wrap: wrap; justify-content: center; }
}
