/* Final content additions reuse the site's existing palette, fonts and containers. */
.header-contact {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
}
.header-phone {
  font-size: 13px;
  white-space: nowrap;
}
.header-contact .nav-cta { display: inline-block; }
.nav { gap: 18px; }
.nav nav { gap: 16px; font-size: 13px; }
.brand .brand-lettering strong { font-size: 21px; }
.brand .brand-lettering small { font-size: 10px; }
.hero h1 { max-width: 900px; font-size: clamp(42px, 5.8vw, 78px); line-height: 1.08; }
.hero-sub { max-width: 700px; }
.intro-copy p + p { margin-top: 18px; }
.photo-story .section-head > p { max-width: 560px; font-size: 16px; }
.program-heading > p { max-width: 450px; }
.stage-text p + p, .stage-text ul + p { margin-top: 16px; }
.stage-text ul { padding-left: 20px; margin: 16px 0; }
.stage-text li + li { margin-top: 9px; }
.stage-text strong { color: #f7f3e8; font-weight: 700; }
.teacher-grid article { min-width: 0; }
.teacher-grid p { line-height: 1.6; }
.schedule + p { margin-top: 24px; max-width: 560px; }
.schedule [data-schedule-time] { font-size: inherit; letter-spacing: inherit; }
.online-course { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; padding: 70px 0; border-top: 1px solid #d9d2c4; }
.online-course p { line-height: 1.65; margin: 0 0 26px; max-width: 600px; }
.intro-copy, .stage-text, .faq-answer, .online-course, .teacher-grid p { overflow-wrap: anywhere; }
@media (max-width: 1250px) {
  .nav { position: relative; }
  .menu { display: flex; gap: 10px; align-items: center; background: none; border: 0; font-size: 14px; margin-left: auto; }
  .menu span { font-size: 22px; }
  .nav nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: #faf8f3; padding: 20px; box-shadow: 0 12px 18px #0001; font-size: 17px; }
  .nav nav.is-open { display: flex; }
  .nav nav a { padding: 12px 0; border-bottom: 1px solid #e5dfd3; }
}
@media (max-width: 760px) {
  .nav { display: grid; grid-template-columns: 1fr auto; height: auto; min-height: 78px; padding: 14px 0; gap: 12px; }
  .brand { min-width: 0; }
  .brand .brand-lettering strong { font-size: clamp(14px, 4.5vw, 19px); }
  .brand .brand-lettering small { font-size: 9px; }
  .header-contact { grid-column: 1 / -1; align-items: flex-end; gap: 5px; }
  .header-contact .nav-cta { font-size: 14px; padding: 0; }
  .header-phone { font-size: 13px; }
  .hero h1 { font-size: clamp(37px, 10vw, 58px); letter-spacing: -1px; }
  .hero-bottom { flex-direction: column; gap: 10px; }
  .hero-caption { display: block; position: static; transform: none; font-size: 8px; letter-spacing: 1px; margin-top: 24px; }
  .photo-story .section-head > p { max-width: none; }
  .online-course { grid-template-columns: 1fr; gap: 24px; padding: 50px 0; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 150px; }
}
@media (max-width: 380px) {
  .menu { font-size: 0; gap: 0; }
  .menu span { font-size: 23px; }
}

.skills-heading{grid-column:1/-1;margin-bottom:12px}.skills-heading h2{max-width:1000px;overflow-wrap:break-word}.skills .skill{min-width:0}.studio-socials{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}.studio-socials a{display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid #c6b990;font-size:15px}.studio-socials svg{width:22px;height:22px;fill:currentColor}.studio-socials a:hover{color:#b58a29}
@media(max-width:760px){.skills-heading h2{font-size:clamp(27px,7vw,38px);letter-spacing:-.7px}.studio-socials>span{flex-basis:100%}}

/* Section labels share one typographic rule, including inherited span styles. */
.skills-heading .eyebrow,.enroll-inner > .eyebrow{font-family:inherit;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:25px}
.hero-bottom{display:flex;flex-wrap:wrap;gap:16px 32px}.hero-bottom>span{display:block;flex:0 1 auto}.hero-bottom>span+span{border-left:1px solid #827b69;padding-left:32px}
.amount[data-monthly-price]{font-size:clamp(28px,5vw,68px)}
@media(max-width:760px){.skills-heading .eyebrow,.enroll-inner>.eyebrow{font-size:9px;letter-spacing:1.4px}.hero-bottom{align-items:flex-start;gap:12px}.hero-bottom>span+span{border-left:0;padding-left:0}}

/* v34: admin-controlled venue in FAQ and contacts; footer has no duplicate. */
.faq-venue-label,[data-contact-label-inline]{color:#a17d36;font-weight:600}
.contacts [data-contact-label]{overflow-wrap:anywhere}
.contacts [data-contact-label] em{color:#b58a29;font-style:italic}
@media(max-width:760px){
 footer{position:relative}
 footer .to-top{position:absolute;right:20px;bottom:calc(100% + 14px);z-index:2;background:#faf8f3;border-radius:50%;line-height:42px;box-shadow:0 4px 14px #0002}
}

/* v34 mobile polish: one-line trial date/time and readable subscription price.
   Deliberately scoped to phones; desktop typography and all form logic remain unchanged. */
@media (max-width: 760px) {
  #trial-form [data-enrollment-dates] label[data-enrollment-date] {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    min-width: 0;
  }
  /* Preserve the date-mode hidden attribute even with mobile flex layout. */
  #trial-form [data-enrollment-dates] label[data-enrollment-date][hidden] {
    display: none;
  }
  #trial-form [data-enrollment-dates] label[data-enrollment-date] > span {
    display: inline-block;
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
    font-size: clamp(13px, 3.7vw, 16px);
    line-height: 1.45;
  }
  .price-card .amount[data-monthly-price] {
    font-family: inherit;
    font-size: clamp(42px, 12.8vw, 56px);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -2px;
    white-space: nowrap;
  }
}

/* v36 header refinement: keep the approved supplied masks mark,
   but restyle the live wordmark to better match the approved logo typography. */
.brand.brand-v36 {
  gap: 12px;
  align-items: center;
}
.brand.brand-v36 .brand-emblem {
  width: 46px;
  height: 61px;
  object-fit: contain;
  mix-blend-mode: normal;
  flex: none;
}
.brand.brand-v36 .brand-lettering {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding-left: 14px;
  line-height: 1;
  white-space: nowrap;
}
.brand.brand-v36 .brand-lettering::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;
  background: #c79b3c;
}
.brand.brand-v36 .brand-lettering small {
  margin: 0;
  font: 900 18px/1.04 Lato, Arial, sans-serif;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #22221f;
}
.brand.brand-v36 .brand-lettering strong {
  margin: 0;
  font: 400 14px/1.05 Lato, Arial, sans-serif;
  letter-spacing: 4.2px;
  text-transform: uppercase;
  color: #22221f;
}
.brand.brand-v36 .brand-subtitle {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-top: 4px;
  padding-top: 9px;
  font: 400 12px/1 Lato, Arial, sans-serif;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  color: #22221f;
}
.brand.brand-v36 .brand-subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 92px;
  max-width: 100%;
  height: 2px;
  border-radius: 999px;
  background: #c79b3c;
}
@media (max-width: 1100px) {
  .brand.brand-v36 .brand-emblem {
    width: 42px;
    height: 56px;
  }
  .brand.brand-v36 .brand-lettering small {
    font-size: 16px;
  }
  .brand.brand-v36 .brand-lettering strong {
    font-size: 13px;
    letter-spacing: 3.6px;
  }
  .brand.brand-v36 .brand-subtitle {
    font-size: 11px;
    letter-spacing: 3px;
  }
}
@media (max-width: 760px) {
  .brand.brand-v36 {
    gap: 10px;
    transform: translateY(10px);
  }
  .brand.brand-v36 .brand-emblem {
    width: 34px;
    height: 46px;
  }
  .brand.brand-v36 .brand-lettering {
    gap: 1px;
    padding-left: 10px;
  }
  .brand.brand-v36 .brand-lettering::before {
    top: 1px;
    bottom: 1px;
  }
  .brand.brand-v36 .brand-lettering small {
    font-size: 14px;
    letter-spacing: 0.25px;
  }
  .brand.brand-v36 .brand-lettering strong {
    font-size: 11px;
    letter-spacing: 2.65px;
  }
  .brand.brand-v36 .brand-subtitle {
    margin-top: 2px;
    padding-top: 5px;
    font-size: 9px;
    letter-spacing: 2.7px;
  }
  .brand.brand-v36 .brand-subtitle::before {
    width: 68px;
  }
}
@media (max-width: 360px) {
  .brand.brand-v36 {
    transform: translateY(8px);
  }
  .brand.brand-v36 .brand-lettering small {
    font-size: 12px;
  }
  .brand.brand-v36 .brand-lettering strong {
    font-size: 10px;
    letter-spacing: 2.2px;
  }
  .brand.brand-v36 .brand-subtitle {
    font-size: 8px;
    letter-spacing: 2px;
  }
}

@media(max-width:760px){
.brand.brand-v36 {gap:9px;transform:translateY(12px);}
.brand.brand-v36 .brand-emblem{width:35px;height:46px;}
.brand.brand-v36 .brand-lettering{padding-left:10px;gap:1px;}
.brand.brand-v36 .brand-lettering small{font-size:14px;letter-spacing:.1px;line-height:1.03;}
.brand.brand-v36 .brand-lettering strong{font-size:11.5px;letter-spacing:2.1px;line-height:1.07;}
.brand.brand-v36 .brand-subtitle{font-size:9.5px;letter-spacing:2px;padding-top:4px;margin-top:2px;}
}
@media(max-width:374px){
.brand.brand-v36 {gap:7px;transform:translateY(8px);}
.brand.brand-v36 .brand-emblem{width:34px;height:46px;}
.brand.brand-v36 .brand-lettering{padding-left:8px;}
.brand.brand-v36 .brand-lettering small{font-size:11.5px;letter-spacing:0;}
.brand.brand-v36 .brand-lettering strong{font-size:9.5px;letter-spacing:1.65px;}
.brand.brand-v36 .brand-subtitle{font-size:8px;letter-spacing:1.6px;}
}

/* Separate date, alternative address, and warning in a stable two-column grid. */
#trial-form [data-enrollment-dates] label[data-enrollment-date] {
  display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:8px;
}
#trial-form [data-enrollment-dates] label[data-enrollment-date][hidden]{display:none}
#trial-form [data-enrollment-dates] label[data-enrollment-date]>input[type="radio"]{grid-column:1;grid-row:1;margin-top:4px}
#trial-form [data-enrollment-dates] label[data-enrollment-date]>span{grid-column:2;grid-row:1;min-width:0;white-space:normal}
#trial-form [data-enrollment-dates] .v25-option-address,
#trial-form [data-enrollment-dates] .alternate-venue-warning{
 grid-column:2;display:block;position:static;width:100%;min-width:0;margin:0;line-height:1.5;overflow-wrap:anywhere;
}
#trial-form [data-enrollment-dates] .v25-option-address[hidden],
#trial-form [data-enrollment-dates] .alternate-venue-warning[hidden]{display:none}
#trial-form .alternate-venue-warning,
#trial-form .alternate-venue-warning-general{color:#f0827a;font-size:13px;font-weight:600}
#trial-form .alternate-venue-warning-general{display:block;margin-top:8px}
#trial-form .alternate-venue-warning-general[hidden]{display:none}
@media(max-width:760px){
 #trial-form [data-enrollment-dates] label[data-enrollment-date]{display:grid;grid-template-columns:20px minmax(0,1fr)}
 #trial-form [data-enrollment-dates] label[data-enrollment-date]>span{display:block;white-space:normal}
}

/* R4: prevent default iOS/WebKit blue on mobile controls; keep site palette. */
@media (max-width: 760px) {
  .nav .menu,
  .nav .menu span {
    color: #22221f;
    -webkit-text-fill-color: #22221f;
  }
  #atmosphere-more {
    color: #22221f;
    -webkit-text-fill-color: #22221f;
    border-bottom-color: #b58a29;
  }
  .nav .menu:hover,
  #atmosphere-more:hover {
    color: #a67e21;
    -webkit-text-fill-color: #a67e21;
  }
}
