.wrap { width: min(1280px, calc(100% - 112px)); margin-inline: auto; }
.section { padding-block: var(--s24); }
.site-header { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: var(--s8); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: var(--s3); text-decoration: none; }
.brand img { width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; }
.brand > span { font-size: 34px; line-height: .95; font-weight: 600; letter-spacing: -.055em; }
.brand small { display: block; font-size: 8px; line-height: 1.5; letter-spacing: .24em; margin-top: 7px; }
.desktop-nav { display: flex; gap: var(--s6); font-size: 14px; }
.desktop-nav a { text-decoration: none; padding-block: var(--s3); }
.desktop-nav a:hover { color: var(--clay); }
.header-contact { font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--ink); padding-block: var(--s2); }
.header-contact span { margin-left: var(--s6); }
.mobile-nav { display: none; }
.hero { display: grid; grid-template-columns: .95fr 1.05fr; gap: var(--s16); align-items: center; padding-block: var(--s16) var(--s24); }
.hero-copy { padding-block: var(--s6); }
.hero .eyebrow { margin-bottom: var(--s3); color: var(--muted); }
.hero h1 { max-width: 660px; }
.hero h1 { line-height: .94; }
.hero h1 em { display: block; font-size: 1em; font-weight: 400; color: var(--espresso); }
.hero-brand { font-size: 10px; font-weight: 600; letter-spacing: .15em; margin-bottom: var(--s6); }
.hero-description { max-width: 410px; margin-top: var(--s8); color: var(--muted); font-size: 16px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s6); margin-top: var(--s8); }
.hero-footnote { display: flex; align-items: center; gap: var(--s4); margin-top: var(--s12); font-size: 9px; letter-spacing: .17em; }
.hero-footnote .line { display: inline-block; height: 1px; width: 44px; background: var(--clay); }
.hero-figure { position: relative; padding-top: var(--s2); }
.hero-photo { overflow: hidden; border-radius: 2px; background: var(--surface); }
.hero-photo img { width: 100%; height: 640px; object-fit: cover; object-position: 50% 55%; }
.hero-figure figcaption { display: flex; justify-content: space-between; gap: var(--s4); font-size: 10px; color: var(--muted); padding-top: var(--s4); }
.section-heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--s24); align-items: end; margin-bottom: var(--s12); }
.section-heading .eyebrow, .section-intro .eyebrow, .training-copy .eyebrow { margin-bottom: var(--s6); }
.section-heading > p { max-width: 420px; color: var(--muted); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s24); align-items: center; }
.site-footer { background: var(--espresso); color: var(--paper); border-top: 1px solid var(--espresso); }
.footer-inner { min-height: 180px; display: flex; gap: var(--s12); align-items: center; justify-content: space-between; }
.footer-wordmark { font-size: 80px; font-weight: 600; letter-spacing: -.075em; line-height: 1; text-decoration: none; }
.footer-wordmark span { color: var(--tan); }
.footer-inner p { font-size: 14px; }
.footer-inner p.eyebrow { font-size: 10px; color: var(--tan); }
.back-top { font-size: 12px; }
@media (min-width: 1600px) { .hero-photo img { height: 660px; } }
@media (max-width: 1100px) {
  .wrap { width: calc(100% - 64px); }
  .hero { gap: var(--s8); }
  .hero-photo img { height: 570px; }
  .desktop-nav { gap: var(--s4); font-size: 13px; }
  .section-heading, .split { gap: var(--s12); }
}
@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .section { padding-block: var(--s16); }
  .site-header { min-height: 88px; flex-wrap: wrap; gap: 0; position: relative; }
  .brand img { width: 40px; height: 40px; }
  .brand > span { font-size: 29px; }
  .desktop-nav, .header-contact { display: none; }
  .mobile-nav { display: block; font-size: 15px; }
  .mobile-nav summary { cursor: pointer; list-style: none; padding: 14px 0 14px 24px; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav summary span { margin-left: var(--s3); }
  .mobile-nav nav { position: absolute; top: 88px; left: -20px; right: -20px; z-index: 3; display: grid; padding: 12px 24px 24px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 10px 16px #30392e0d; }
  .mobile-nav nav a { padding: var(--s3) 0; text-decoration: none; }
  .hero { grid-template-columns: 1fr; padding-block: var(--s12) var(--s16); gap: var(--s12); }
  .hero-copy { padding: 0; }
  .hero h1 { font-size: clamp(72px, 19vw, 96px); max-width: 540px; }
  .hero h1 em { font-size: 1em; }
  .hero .eyebrow { margin-bottom: var(--s3); }
  .hero-description { margin-top: var(--s6); }
  .hero-footnote { margin-top: var(--s8); }
  .hero-photo { border-radius: 2px; }
  .hero-photo img { height: 470px; }
  .hero-figure figcaption { font-size: 9px; }
  .section-heading, .split { grid-template-columns: 1fr; gap: var(--s8); }
  .section-heading h2 { font-size: 43px; }
  .footer-inner { padding-block: var(--s12); flex-wrap: wrap; gap: var(--s8); }
  .footer-wordmark { font-size: 68px; }
  .back-top { margin-left: auto; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 68px; }
  .hero h1 em { font-size: 1em; }
  .actions { align-items: flex-start; flex-direction: column; }
  .hero-photo img { height: 420px; }
}
