.page-home .site-header {
  background: var(--paper);
  border-color: var(--line);
}

.photo-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: clamp(530px, 79svh, 850px);
  padding: clamp(35px, 6vw, 100px) 6%;
  color: var(--paper);
  background: var(--ink);
}

.photo-hero-image, .photo-hero::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.photo-hero-image {
  z-index: -2;
  object-fit: cover;
  object-position: 57% 48%;
}

.photo-hero::after {
  content: "";
  z-index: -1;
  background: linear-gradient(90deg, #10191be8, #10191b7d 45%, #10191b05 80%),
              linear-gradient(0deg, #10191b76, transparent 60%);
}

.photo-hero-location { margin-bottom: 18px; font-size: 14px; }
.photo-hero-location span { padding: 0 7px; color: var(--blue); }
.photo-hero h1 { font-size: clamp(60px, 7.3vw, 128px); line-height: .9; }
.photo-hero-script {
  display: inline-block;
  font-family: "Pinyon Script", cursive;
  line-height: 1.1;
  letter-spacing: normal;
}
.photo-hero .cta { margin-top: clamp(25px, 3vw, 42px); }
.photo-hero .cta:focus-visible { outline-color: var(--yellow); }

.people-intro,
.home-section-heading {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 26px 7%;
  align-items: end;
}

.people-intro { align-items: center; border-bottom: 1px solid var(--line); }
.people-intro h2, .home-section-heading h2 { font-size: clamp(51px, 6vw, 100px); }
.people-intro p, .home-section-heading p { max-width: 36ch; font-size: clamp(16px, 1.5vw, 21px); }
.home-section-heading { margin-bottom: clamp(30px, 4vw, 58px); }
.page-home .experience, .page-home .first-visit { background: var(--paper); }
.page-home .first-visit { border-top: 1px solid var(--line); }
.page-home .plan-invitation { background: #daefff; }

.team-section { background: #e5f3f6; }
.coach-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px clamp(12px, 2.5vw, 42px);
}

.coach-feature-visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #d4e4e6;
}

.coach-feature-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.coach-contact-sheet {
  position: absolute;
  top: -6%;
  left: 0;
  width: 300%;
  max-width: none;
  height: auto;
}
[data-sample-coach="coach-diego"] .coach-contact-sheet { left: -100%; }
[data-sample-coach="coach-valeria"] .coach-contact-sheet { left: -200%; }

.coach-image-note {
  position: absolute;
  bottom: 10px;
  left: 10px;
  padding: 3px 8px;
  background: var(--paper);
  color: var(--ink);
  font-size: 11px;
}

.coach-feature h3 { margin-top: 19px; font-size: clamp(27px, 3.25vw, 53px); overflow-wrap: anywhere; }
.coach-feature p { margin-top: 6px; font-size: 14px; color: var(--muted); }
.coach-class-link {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
  border-top: 1px solid #819c9f;
  font-weight: 600;
}
.coach-class-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.space-section { background: var(--paper); }
.space-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 28px;
  padding-block: clamp(36px, 5vw, 76px);
}
.space-heading h2 { font-size: clamp(54px, 7vw, 105px); }
.space-heading p { color: var(--muted); font-size: 13px; }
.space-gallery { display: grid; }
.space-photo {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  min-height: clamp(380px, 48vw, 620px);
  padding: clamp(26px, 5vw, 80px) 6%;
  color: var(--paper);
  background: var(--ink);
  --space-accent: var(--blue);
}
.space-hyrox, .space-dialog[data-space="hyrox"] { --space-accent: var(--yellow); }
.space-shake, .space-dialog[data-space="shake"] { --space-accent: var(--green); }
.space-photo img, .space-photo::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.space-photo img { object-fit: cover; z-index: -2; }
.space-photo::after { content: ""; z-index: -1; background: linear-gradient(0deg,#0c1719ef,transparent 82%),linear-gradient(90deg,#0c17197a,transparent 85%); }
.space-name { display:block; font: clamp(57px, 10vw, 144px)/.85 var(--display); letter-spacing:-.05em; }
.space-tagline { display:block; margin-top:16px; font-size:clamp(16px, 2vw, 23px); }
.space-open { display:inline-flex; align-items:center; gap:14px; padding:12px 18px; border-radius:999px; background:var(--space-accent); color:var(--ink); font-weight:700; }
.space-photo:hover .space-open { background:var(--paper); }
.space-photo:focus-visible { outline:3px solid var(--space-accent); outline-offset:-6px; }
.space-dialog {
  width:min(94vw, 980px);
  max-width:none;
  max-height:90dvh;
  padding:0;
  border:0;
  background:var(--paper);
  color:var(--ink);
  --space-accent:var(--blue);
}
.space-dialog::backdrop { background:#121c1ee8; }
.space-dialog .close { z-index:1; color:var(--ink); }
.space-dialog-layout { display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1fr); }
.space-dialog img { width:100%; height:100%; min-height:330px; object-fit:cover; }
.space-dialog-copy { padding:clamp(26px, 4vw, 58px); }
.space-detail-label { margin:0 26px 8px 0; color:var(--muted); }
.space-dialog-copy h3 { font-size:clamp(43px, 6vw, 78px); margin-bottom:16px; }
.space-dialog-copy dl { margin:24px 0; border-top:3px solid var(--space-accent); }
.space-dialog-copy dl div { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.space-dialog-copy dt { font-weight:700; }
.space-dialog-copy dd { margin:0; }
.space-dialog-copy .cta { width:100%; background:var(--space-accent); color:var(--ink); }

@media (max-width: 900px) {
  .page-home .header-actions { gap: clamp(6px, 1.8vw, 18px); }
  .page-home .header-book { display: inline-flex; min-height: 44px; padding: 9px 13px; }
}

@media (max-width: 700px) {
  .photo-hero { min-height: max(510px, 72svh); }
  .photo-hero-image { object-position: 66% 50%; }
  .photo-hero::after { background: linear-gradient(0deg, #10191be8, #10191b85 48%, transparent 79%); }
  .photo-hero h1 { font-size: clamp(48px, 10vw, 71px); }
  .photo-hero-location { font-size: 12px; }
  .people-intro, .home-section-heading { grid-template-columns: 1fr; gap: 15px; }
  .coach-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coach-feature h3 { margin-top: 12px; }
  .coach-feature p, .coach-class-link { font-size: 13px; }
  .space-photo { min-height: 370px; }
  .space-dialog-layout { grid-template-columns: 1fr; }
  .space-dialog img { height: 200px; min-height: 0; }
}
