/* Quality layer kept separate from the imported editorial layout. */
body { min-width: 0; font-size: 16px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
:is(h1, h2, h3) { word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; }
:is(.header-shell, .section-mast, .experience-flow__grid, .inquiry-section__inner, .footer-grid, .program-card) > * { min-width: 0; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; letter-spacing: .02em; }
.hero-cover, .hero-cover__content { min-height: clamp(640px, 94svh, 1000px); }
.hero-cover__content { padding-block: 150px 40px; }
.hero-cover :is(h1, h2) { max-width: none; font-size: clamp(36px, 4.5vw, 64px); line-height: 1.35; letter-spacing: -.035em; }
.hero-cover__copy-panel { padding-block: 24px; }
.hero-cover__copy-panel--note::before { display: none; }
.hero-cover__status { font-size: 12px; }
.hero-cover__dots { grid-template-columns: repeat(3, 44px); gap: 8px; }
.hero-cover__dot { position: relative; width: 44px; height: 44px; background: transparent; }
.hero-cover__dot::after { content: ''; position: absolute; inset: 21px 3px auto; height: 2px; background: rgba(255,252,246,.45); }
.hero-cover__dot.is-current { background: transparent; transform: none; }
.hero-cover__dot.is-current::after { height: 3px; background: #fff; }
.issue-label, .kicker { font-size: 12px; letter-spacing: .1em; }
.section { padding-block: clamp(72px, 8vw, 112px); }
:is(.section-mast, .experience-flow, .space-feature, .inquiry-section) h2,
#program-title { max-width: none; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.4; letter-spacing: -.03em; }
.program-card h3 { font-size: clamp(22px, 2vw, 28px); line-height: 1.4; }
:is(.program-card p, .experience-flow__intro, .flow-item__copy, .space-gallery__copy p, .contact-notes p, .contact-location-link, .contact-panel > .contact-support, .contact-form--demo p, .footer-korean) {
  font-size: 16px; line-height: 1.75; letter-spacing: -.015em;
}
.program-card :is(.program-card__number, span:last-child) { font-size: 13px; letter-spacing: .03em; }
.program-card { grid-template-columns: 44px minmax(0, 1fr) auto; }
.program-index .section-mast { grid-template-columns: minmax(140px,.25fr) minmax(0,1fr); }
.space-gallery__copy { width: min(100%, 30rem); padding: 24px 0; }
.space-gallery__copy h3 { font-size: 22px; line-height: 1.4; }
.contact-notes { grid-template-columns: 1fr; }
.contact-submit { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 14px 20px; font-size: 15px; letter-spacing: .01em; text-align: center; }
:is(.contact-location-link, .footer-column a, .footer-bottom a) { display: inline-flex; align-items: center; min-height: 44px; }
.footer-column li { font-size: 14px; line-height: 1.75; }
.footer-column > p, .footer-bottom { font-size: 13px; }
.footer-brand p:first-child { font-size: clamp(38px, 6vw, 80px); line-height: 1.15; }
.reveal-up { opacity: 1; transform: none; }
.hero-cover__copy-panel:not(.is-current) { opacity: 0; visibility: hidden; }
.demo-notice { top: 90px; bottom: auto; font-size: 12px; }

@media (max-width: 1100px) {
  .experience-flow__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); }
  .flow-item { grid-template-columns: 32px minmax(0, 1fr); }
  .flow-item__image { grid-column: 2; width: 100%; }
}
@media (max-width: 900px) {
  .container { width: calc(100% - 40px); }
  .site-nav { overflow-y: auto; padding: 100px 24px 32px; }
  .site-nav a { font-size: clamp(24px, 5vw, 36px); }
  .hero-cover__content { padding-block: 150px 24px; }
  .hero-cover__copy-panel { align-content: center; }
  .hero-cover__status { width: auto; justify-self: start; }
  .program-index .section-mast { grid-template-columns: 1fr; gap: 16px; }
  .experience-flow__grid { grid-template-columns: 1fr; }
  .editorial-image--tall { height: auto; aspect-ratio: 4 / 3; }
  .contact-card__image { height: auto; aspect-ratio: 4 / 3; }
  .space-gallery__copy { width: 100%; padding: 20px 0; }
  .space-gallery__image--top, .space-gallery__image--bottom { aspect-ratio: 4 / 3; }
  html:not(.ritual-enhanced) .site-header { position: relative; color: var(--ink); background: var(--paper); }
  html:not(.ritual-enhanced) .header-shell { grid-template-columns: 1fr; gap: 16px; padding-block: 20px; }
  html:not(.ritual-enhanced) .menu-button { display: none; }
  html:not(.ritual-enhanced) .site-nav { position: static; display: flex; flex-wrap: wrap; padding: 0; background: none; color: inherit; opacity: 1; visibility: visible; pointer-events: auto; }
  html:not(.ritual-enhanced) .site-nav a { font-size: 14px; }
}
@media (max-width: 600px) {
  .hero-cover, .hero-cover__content { min-height: clamp(600px, 90svh, 800px); }
  .hero-cover :is(h1, h2) { font-size: clamp(30px, 8.8vw, 40px); line-height: 1.4; }
  :is(.section-mast, .experience-flow, .space-feature, .inquiry-section) h2, #program-title { font-size: clamp(26px, 7vw, 32px); }
  .program-card { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
  .program-card > span:last-child { grid-column: 2; }
  .flow-item { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
  .flow-item__copy, .flow-item__image { grid-column: 2; }
  .footer-brand p:first-child { font-size: clamp(36px, 10vw, 54px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-cover__slide.is-current img { animation: none; }
  .hero-cover__copy-panel, .hero-cover__slide, .editorial-image img { transition: none; }
}
