/* Lumi premium raise — last layer. Facts stay. Eye-level only. */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&display=swap");

:root {
  --lumi-serif: "Cormorant Garamond", "Times New Roman", serif;
}

/* ——— Type: Latin labels serif, Hangul flush ——— */
body.lumi-cinema .lumi-kicker,
body.lumi-cinema .lumi-convert-head p,
body.lumi-cinema .lumi-premium-cta span,
body.lumi-cinema .lumi-ticker-label,
body.lumi-cinema .lumi-nav-title,
body.lumi-cinema .lumi-journey-step {
  font-family: var(--lumi-serif) !important;
  font-weight: 600 !important;
  font-style: italic;
}

html[lang="ko"] body.lumi-cinema .lumi-kicker:lang(ko),
html[lang="ko"] body.lumi-cinema .lumi-abroad-kicker,
html[lang="ko"] body.lumi-cinema .lumi-hero-eyebrow,
html[lang="ko"] body.lumi-cinema .lumi-sticky-btn {
  font-family: var(--atelier-sans) !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
}

body.lumi-cinema .lumi-hero-title {
  font-size: clamp(46px, 8vw, 92px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
}

body.lumi-cinema .lumi-hero-sub {
  font-size: clamp(22px, 2.8vw, 32px) !important;
}

body.lumi-cinema .lumi-hero-line {
  max-width: 38ch;
  font-size: 18px !important;
  line-height: 1.8 !important;
}

body.lumi-cinema .lumi-h2,
body.lumi-cinema .lumi-page-title,
body.lumi-cinema .lumi-convert-head h2 {
  font-size: clamp(34px, 5.6vw, 62px) !important;
  line-height: 1.18 !important;
}

body.lumi-cinema .lumi-sec-no {
  font-family: var(--lumi-serif) !important;
  font-style: italic;
  font-size: 1.05em;
  margin-right: 12px;
}

/* ——— Photos: full-bleed cover, faces centered, no letterbox ——— */
body.lumi-cinema .lumi-cinema-hero,
body.lumi-cinema #lumi-hero.lumi-cinema-hero {
  padding-top: clamp(36px, 6vw, 80px) !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

body.lumi-cinema .lumi-cinema-plate,
body.lumi-cinema .lumi-survey-plate {
  position: relative;
  aspect-ratio: 4 / 5;
  width: 100%;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  border-radius: 32px;
  overflow: hidden !important;
  background: #100e0b !important;
  box-shadow:
    0 0 0 1px rgba(246, 226, 164, 0.28),
    0 48px 90px rgba(0, 0, 0, 0.5);
}

body.lumi-cinema .lumi-cinema-mark {
  display: none !important;
}

body.lumi-cinema .lumi-cinema-plate::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 5;
  border: 1px solid rgba(246, 226, 164, 0.2);
  border-radius: 22px;
  pointer-events: none;
}

body.lumi-cinema .lumi-cinema-cast {
  inset: 0 !important;
  top: 0 !important;
}

body.lumi-cinema .lumi-cinema-cast::before {
  display: none !important;
}

body.lumi-cinema .lumi-cinema-plate > img,
body.lumi-cinema .lumi-cinema-hero .lumi-hero-person,
body.lumi-cinema .lumi-cinema-hero .lumi-hero-person--center,
body.lumi-cinema .lumi-survey-plate .lumi-hero-person--center {
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: 50% 16% !important;
}

body.lumi-cinema .lumi-abroad-visual {
  display: block !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 24px;
  background: #100e0b;
}

body.lumi-cinema .lumi-abroad-visual img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 50% 42% !important;
  border-radius: 24px;
}

body.lumi-cinema .lumi-mentor-grid {
  max-width: 840px;
}

body.lumi-cinema .lumi-mentor-visual,
body.lumi-cinema .lumi-mentor-grid .lumi-mentor-visual {
  aspect-ratio: 4 / 3;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}

body.lumi-cinema .lumi-board-thumb,
body.lumi-cinema .lumi-bento-photo,
body.lumi-cinema .lumi-program-thumb,
body.lumi-cinema .lumi-native-visual,
body.lumi-cinema .lumi-news-cover {
  overflow: hidden !important;
}

body.lumi-cinema .lumi-board-thumb { aspect-ratio: 4 / 3; }
body.lumi-cinema .lumi-bento-photo { aspect-ratio: 4 / 3; }
body.lumi-cinema .lumi-program-thumb { aspect-ratio: 4 / 3; }
body.lumi-cinema .lumi-news-cover { aspect-ratio: 16 / 10; }
body.lumi-cinema .lumi-native-visual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  aspect-ratio: auto;
}
body.lumi-cinema .lumi-native-visual img { aspect-ratio: 4 / 5; }

body.lumi-cinema .lumi-gallery-scroll img {
  flex: 0 0 72% !important;
  max-width: 340px;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
}

body.lumi-cinema .lumi-board-thumb img,
body.lumi-cinema .lumi-bento-photo img,
body.lumi-cinema .lumi-program-thumb img,
body.lumi-cinema .lumi-mentor-visual img,
body.lumi-cinema .lumi-gallery-scroll img,
body.lumi-cinema .lumi-native-visual img,
body.lumi-cinema .lumi-news-cover img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 50% 22% !important;
}

body.lumi-cinema .lumi-mentor-visual img {
  object-position: 50% 18% !important;
}

body.lumi-cinema .lumi-hero-actions {
  gap: 14px;
  margin-bottom: 26px;
}

body.lumi-cinema .lumi-btn {
  min-height: 56px !important;
  padding: 0 28px !important;
}

body.lumi-cinema .lumi-btn--gold {
  box-shadow: 0 16px 40px rgba(212, 168, 74, 0.36) !important;
}

body.lumi-cinema .lumi-hero-pills {
  gap: 10px;
}

/* ——— Section rhythm ——— */
body.lumi-cinema .lumi-section {
  padding-top: clamp(80px, 11vw, 136px) !important;
  padding-bottom: clamp(80px, 11vw, 136px) !important;
}

body.lumi-cinema .lumi-section-inner {
  max-width: 1080px;
}

body.lumi-cinema .lumi-divider {
  width: 48px !important;
  height: 1px !important;
  margin: 26px 0 32px !important;
}

body.lumi-cinema .lumi-stats {
  gap: 16px;
  padding-bottom: clamp(48px, 7vw, 80px) !important;
}

body.lumi-cinema .lumi-stat {
  padding: 34px 20px 32px !important;
  border-radius: 24px !important;
}

body.lumi-cinema .lumi-stat strong {
  font-family: var(--lumi-serif) !important;
  font-style: italic;
  font-size: clamp(36px, 4.4vw, 52px) !important;
}

/* ——— Abroad / compare / journey ——— */
body.lumi-cinema .lumi-abroad-banner {
  margin-top: 12px;
  border-radius: 32px;
}

@media (min-width: 900px) {
  body.lumi-cinema .lumi-abroad-banner {
    padding: 0 !important;
    overflow: hidden;
  }

  body.lumi-cinema .lumi-abroad-inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    align-items: stretch;
    max-width: none;
    min-height: 560px;
    gap: 0;
  }

  body.lumi-cinema .lumi-abroad-copy {
    padding: clamp(40px, 5vw, 64px) clamp(28px, 4vw, 56px);
  }

  body.lumi-cinema .lumi-abroad-visual {
    aspect-ratio: auto !important;
    min-height: 560px !important;
    align-self: stretch !important;
    border-radius: 0 !important;
  }

  body.lumi-cinema .lumi-abroad-visual img {
    height: 100% !important;
    min-height: 560px !important;
    object-fit: cover !important;
    object-position: 18% 42% !important;
    border-radius: 0 !important;
  }
}

body.lumi-cinema .lumi-abroad-copy h2 {
  font-size: clamp(30px, 4.8vw, 50px) !important;
}

body.lumi-cinema .lumi-compare-table {
  border-radius: 26px !important;
}

body.lumi-cinema .lumi-compare-row > div {
  padding: 18px 22px !important;
  font-size: 15px;
}

body.lumi-cinema .lumi-journey-item {
  padding: 32px 26px 34px !important;
  min-height: 240px;
}

body.lumi-cinema .lumi-journey-icon {
  font-family: var(--lumi-serif) !important;
  font-size: 42px !important;
  font-style: italic;
  line-height: 1;
}

body.lumi-cinema .lumi-premium-cta {
  margin-top: 44px;
  padding: 32px 32px;
  border-radius: 26px !important;
}

/* ——— Enroll desk ——— */
body.lumi-cinema .lumi-convert {
  margin: 12px clamp(18px, 4vw, 56px) 64px;
  padding: clamp(44px, 7vw, 80px) clamp(24px, 5vw, 64px) !important;
  border-radius: 32px;
}

body.lumi-cinema .lumi-convert-inner {
  max-width: 820px;
}

body.lumi-cinema .lumi-convert-head h2 {
  margin: 8px 0 14px !important;
}

body.lumi-cinema .lumi-convert-note {
  max-width: 42ch;
  margin: 0 auto 28px !important;
  color: var(--cinema-mute) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
}

body.lumi-cinema .lumi-convert-inner > .lumi-btn--gold {
  min-height: 60px !important;
  font-size: 18px !important;
}

body.lumi-cinema .lumi-convert-sub {
  min-height: 52px;
  border-radius: 16px !important;
}

body.lumi-cinema .lumi-faq summary {
  min-height: 64px;
  display: flex;
  align-items: center;
}

/* ——— Survey ——— */
body.lumi-survey-page .lumi-survey-form {
  gap: 22px;
}

body.lumi-survey-page .lumi-survey-form fieldset {
  padding: 28px 26px 24px;
  border-radius: 26px;
}

body.lumi-survey-page .lumi-survey-form legend {
  font-size: 17px;
}

body.lumi-survey-page .lumi-survey-choices label {
  min-height: 52px;
  border-radius: 16px;
}

body.lumi-survey-page .lumi-survey-submit {
  min-height: 64px !important;
  font-size: 19px !important;
}

body.lumi-survey-page .lumi-survey-progress::after,
body.lumi-survey-page .lumi-survey-progress b {
  height: 6px;
}

/* ——— Motion: slower, quieter ——— */
body.lumi-cinema .lumi-fade {
  transition: opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1), transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}

body.lumi-cinema .lumi-btn {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease, filter 0.4s ease !important;
}

/* ——— Mobile: clean, no overlap, full frames ——— */
@media (max-width: 900px) {
  body.lumi-cinema .lumi-hero-title {
    font-size: clamp(34px, 9.2vw, 46px) !important;
  }

  body.lumi-cinema .lumi-hero-sub {
    font-size: 19px !important;
  }

  body.lumi-cinema .lumi-cinema-hero,
  body.lumi-cinema #lumi-hero.lumi-cinema-hero {
    padding: 16px 16px 78px !important;
  }

  body.lumi-cinema .lumi-hero-pills {
    display: none;
  }

  body.lumi-cinema .lumi-hero-line {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 14px !important;
  }

  body.lumi-cinema .lumi-hero-actions .lumi-btn {
    min-height: 48px !important;
  }

  body.lumi-cinema .lumi-cinema-plate,
  body.lumi-cinema .lumi-survey-plate {
    aspect-ratio: auto;
    height: 168px !important;
    max-height: 168px !important;
    min-height: 0 !important;
    margin: 8px 0 0;
    border-radius: 22px;
    overflow: hidden !important;
  }

  body.lumi-cinema .lumi-cinema-hero .lumi-cinema-mark,
  body.lumi-cinema .lumi-cinema-mark {
    display: none !important;
  }

  body.lumi-cinema .lumi-cinema-plate::before {
    inset: 8px;
    border-radius: 16px;
  }

  body.lumi-cinema .lumi-cinema-plate > img,
  body.lumi-cinema .lumi-cinema-hero .lumi-hero-person--center,
  body.lumi-cinema .lumi-survey-plate .lumi-hero-person--center {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: 50% 12% !important;
  }

  body.lumi-cinema .lumi-abroad-visual {
    aspect-ratio: 4 / 3;
  }

  body.lumi-cinema .lumi-abroad-visual img {
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  body.lumi-cinema .lumi-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  body.lumi-cinema .lumi-h2 {
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  body.lumi-cinema .lumi-abroad-banner,
  body.lumi-cinema .lumi-convert {
    margin-left: 14px !important;
    margin-right: 14px !important;
    padding: 26px 18px !important;
    border-radius: 24px;
  }

  body.lumi-cinema .lumi-journey-item {
    min-height: 0;
    padding: 22px 18px 24px !important;
  }

  body.lumi-cinema .lumi-premium-cta {
    padding: 22px 18px;
  }

  body.lumi-cinema .lumi-convert-note {
    font-size: 15px !important;
  }

  body.lumi-cinema .lumi-stat {
    padding: 22px 12px 20px !important;
  }

  body.lumi-cinema .lumi-sticky-btn {
    min-height: 50px !important;
    font-size: 12px !important;
  }

  body.lumi-survey-page .lumi-survey-plate {
    display: none !important;
  }

  body.lumi-survey-page .lumi-survey-form fieldset {
    padding: 20px 16px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.lumi-cinema .lumi-fade,
  body.lumi-cinema .lumi-btn {
    transition: none !important;
  }
}

html[lang="ko"] body.lumi-survey-page .lumi-survey-status,
html[lang="ko"] body.lumi-survey-page .lumi-survey-status.is-error,
html[lang="ko"] body.lumi-survey-page .lumi-survey-status span {
  letter-spacing: 0 !important;
}
