/* Typography audit: Figma DZw1ug40DeN89YwXDl8zju / 2066:4, 2026-10-25.
   Book=400, Medium=500, Bold=700. Keep the original mobile composition.
   Explicit weights document the intended hierarchy, not a blanket lightening. */
@media (min-width: 768px) {
  .hero-eyebrow,
  .hero-description,
  .stat,
  .academy h2,
  .testimonials h2,
  .program-number,
  .program-card h3,
  .teacher p,
  .registration-description,
  .footer-links,
  .footer-office > p,
  .footer-production > p,
  .copyright {
    font-weight: 400;
  }

  .hero h1,
  .stat-number,
  .principles,
  .academy .prose,
  .academy-address,
  .display-title,
  .program-cta h3,
  .testimonials blockquote,
  .testimonials cite,
  .teacher h3,
  .seminar h2,
  .seminar-time,
  .seminar .prose,
  .why h2,
  .registration h2,
  .contact-card > p,
  .contact-card address,
  .round-button {
    font-weight: 500;
  }
}

/* Client-requested gentle reduction: 95% of the original desktop design unit.
   Text, spacing and images scale together; no body zoom/transform, no scaling
   of dialogs, no reduction of mobile controls or input text. */
@media (min-width: 1280px) {
  :root {
    --u: min(.95px, calc(95vw / 1728));
  }
}

/* Keep the wide-screen grid gaps on the same design unit as its content. */
@media (min-width: 1729px) {
  .hero-layout { gap: calc(83 * var(--u)); }
  .academy { gap: calc(132 * var(--u)); }
  .seminar-layout { gap: calc(65 * var(--u)); }
}

/* Corrections from the complete text audit, Figma 2066:4 / 2066:265 / 2066:233. */
.footer-phone { letter-spacing: .02em; }
.event-phone-prefix { letter-spacing: .02em; }
.event-dialog--209 .event-field select { font-weight: 500; color: #000; }

@media (min-width: 768px) {
  .directions { letter-spacing: .02em; }
  .directions h3 { font-size: 18px; font-weight: 700; color: #000; }
  .directions strong { color: #000; }
}
@media (min-width: 1280px) {
  .max-link { font-size: calc(20 * var(--u)); }
  .footer-question { font-size: calc(16 * var(--u)); }
  .directions, .directions h3 { font-size: calc(18 * var(--u)); }
}

@media (max-width: 767px) {
  .hero h1 { font-size: 64px; line-height: .87; letter-spacing: .04em; }
  .hero-actions .round-button,
  .program-cta .round-button { font-size: 18px; letter-spacing: .02em; }
  .principles { font-size: 16px; line-height: 1.3; letter-spacing: 0; }
  .academy-address,
  .testimonials cite,
  .teachers .display-title,
  .seminar .outline-pill,
  .why h2,
  .why .round-button,
  .registration h2,
  .contact-card h3,
  .registration-bottom .round-button { letter-spacing: .02em; }
  .seminar-time span { line-height: 1.2; }
}
/* The reference is 393px; retain a fluid title on narrower phones. */
@media (max-width: 374px) {
  .hero h1 { font-size: clamp(48px, 16.285vw, 64px); }
}

/* Both layers share one grid cell. The visible label determines the height,
   so a wrapped title cannot be clipped at intermediate widths. */
.event-choice-wrap { display: grid; position: relative; min-width: 0; margin-top: 2px; }
.event-choice-label {
  position: relative;
  grid-area: 1 / 1;
  min-width: 0;
  min-height: 51px;
  padding: 6px 48px 6px 19px;
  display: flex;
  align-items: center;
  pointer-events: none;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .02em;
}
.event-choice-label > span { min-width: 0; overflow-wrap: anywhere; }
.event-choice-date { color: rgb(0 0 0 / 20%); }
.event-dialog--209 .event-field .event-choice-enhanced {
  grid-area: 1 / 1;
  min-width: 0;
  min-height: 51px;
  height: 100%;
  margin-top: 0;
  color: transparent;
}
.event-choice-enhanced option { color: #000; background: #fafafa; }
/* Frame 209 switches to its phone layout at 767px; the earlier shared form
   switched at 699px. Complete the phone rules throughout that interval. */
@media (min-width: 700px) and (max-width: 767px) {
  .event-dialog--209 .event-fields { flex-direction: column; }
  .event-dialog--209 .event-photo { position: static; height: auto; }
  .event-dialog--209 .event-header { min-height: 0; }
  .event-dialog--209 .event-form { margin-left: 0; }
  .event-dialog--209 .event-submit { align-self: flex-end; flex: none; margin-left: 0; }
}
@media (forced-colors: active) {
  .event-choice-label { display: none; }
  .event-dialog--209 .event-field .event-choice-enhanced { color: CanvasText; }
}
