:root{
  --ivory:#F7F3EB;
  --ivory2:#FBF8F2;
  --ink:#171714;
  --sub:#6E6961;
  --beige:#E9DACA;
  --pink:#F1D9DD;
  --blue:#DCE8EE;
  --lav:#E3DDEF;
  --line:rgba(23,23,20,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Noto Sans KR",sans-serif;font-weight:300;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid transparent;transition:.35s;background:linear-gradient(to bottom,rgba(247,243,235,.9),rgba(247,243,235,0))}
.site-header.scrolled{background:rgba(247,243,235,.92);backdrop-filter:blur(12px);border-color:var(--line)}
.brand{font-family:"Bodoni Moda",serif;font-weight:700;letter-spacing:.11em;font-size:17px}
.nav{display:flex;gap:22px;font-size:11px;letter-spacing:.15em}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:currentColor;transition:.3s}
.nav a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;font-size:11px;letter-spacing:.15em}
.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;padding:120px 7vw 7vw;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-placeholder{position:absolute;inset:7vw 7vw 8vw 42vw;background:
  linear-gradient(120deg,rgba(233,218,202,.95),rgba(220,232,238,.78)),
  radial-gradient(circle at 30% 40%,rgba(255,255,255,.75),transparent 35%);
  border:1px solid rgba(23,23,20,.08);
  display:flex;align-items:flex-end;justify-content:flex-end;padding:24px;color:rgba(23,23,20,.48);letter-spacing:.12em;font-size:10px;
  transform:scale(1.03);animation:slowzoom 14s ease-in-out infinite alternate}
@keyframes slowzoom{to{transform:scale(1.08)}}
.hero-copy{position:relative;z-index:2;grid-column:1/2}
.eyebrow{font-size:10px;letter-spacing:.22em;margin:0 0 24px}
h1,h2,h3{font-family:"Bodoni Moda",serif;font-weight:700;margin:0;line-height:.92;text-rendering:optimizeLegibility}
h1{font-size:clamp(78px,12vw,190px);letter-spacing:-.055em}
h2{font-size:clamp(54px,8.3vw,132px);letter-spacing:-.045em}
h3{font-size:clamp(32px,4vw,58px);letter-spacing:-.035em}
.hero-statement{font-family:"Bodoni Moda",serif;font-weight:700;font-size:clamp(22px,2.6vw,40px);line-height:1.08;margin:34px 0 18px}
.hero-kor{font-size:14px;line-height:1.8}
.scroll-cue{position:absolute;right:7vw;bottom:42px;font-size:10px;letter-spacing:.2em}
.section{position:relative;padding:150px 7vw;border-top:1px solid var(--line)}
.section-no{position:absolute;top:34px;left:7vw;font-family:"Bodoni Moda",serif;font-weight:700;font-size:14px}
.section-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:start}
.lead{font-size:clamp(20px,2.4vw,34px);line-height:1.55;max-width:760px}
.section-grid p:not(.eyebrow){max-width:720px}
.marquee{margin-top:120px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.marquee div{font-family:"Bodoni Moda",serif;font-weight:700;font-size:26px;white-space:nowrap;animation:marquee 20s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;margin-bottom:90px}
.program-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:4vw;padding:48px 0;border-top:1px solid var(--line)}
.program-index{font-family:"Bodoni Moda",serif;font-weight:700;font-size:18px}
.program-title p{margin:10px 0 0;color:var(--sub)}
.program-copy{max-width:560px}
.meta{font-size:11px;letter-spacing:.15em;margin-top:28px}
.muted{color:var(--sub)}
.note{font-size:12px;color:var(--sub)}
.director-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.portrait{aspect-ratio:3/4}
.placeholder-card{background:
 linear-gradient(135deg,rgba(233,218,202,.65),rgba(241,217,221,.55),rgba(220,232,238,.6));
 border:1px solid rgba(23,23,20,.08);display:flex;align-items:flex-end;padding:18px;font-size:10px;letter-spacing:.16em;color:rgba(23,23,20,.5);overflow:hidden}
.director-copy{max-width:620px}
.korean-name{font-size:14px;letter-spacing:.12em;margin:16px 0 36px}
.admission-wrap{max-width:980px;margin-left:auto}
.text-link{display:inline-block;margin-top:28px;padding-bottom:5px;border-bottom:1px solid var(--ink);font-size:12px;letter-spacing:.08em}
/* Unified vertical schedule — desktop and mobile */
.schedule-unified{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}
.schedule-card{border-top:2px solid var(--ink);padding:24px 0 8px}
.schedule-card-title{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:34px}
.schedule-card-title .eyebrow{margin:0}
.schedule-card-title h3{font-size:clamp(38px,4vw,62px);font-weight:700}
.schedule-day-group{border-top:1px solid var(--line)}
.schedule-day-group+.schedule-day-group{margin-top:34px}
.schedule-day-label{display:flex;justify-content:space-between;align-items:center;padding:18px 0 12px}
.schedule-day-label strong{font-family:"Bodoni Moda",serif;font-weight:700;font-size:clamp(22px,2vw,30px);letter-spacing:.01em}
.schedule-day-label span{font-size:10px;font-weight:500;letter-spacing:.18em;color:var(--sub)}
.schedule-time-row{display:grid;grid-template-columns:120px minmax(120px,1fr) auto;gap:20px;align-items:center;min-height:68px;border-bottom:1px solid var(--line)}
.schedule-time-row time{font-family:"Bodoni Moda",serif;font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}
.schedule-time-row>strong{font-size:14px;font-weight:700;letter-spacing:.09em}
.schedule-time-row .level{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;font-size:9px;font-weight:500;letter-spacing:.12em;white-space:nowrap}
.beige-tag{background:var(--beige)}
.pink-tag{background:var(--pink)}
.blue-tag{background:var(--blue)}
.lavender-tag{background:var(--lav)}
.saturday-group .schedule-day-label{padding-top:20px}

.gallery{display:grid;grid-template-columns:1.4fr .6fr;grid-template-rows:340px 260px;gap:18px}
.g1{grid-row:1/3}.g2{grid-column:2}.g3,.g4{display:none}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.visit-info{padding-top:70px;font-size:15px}
.visit-actions{display:flex;gap:22px;flex-wrap:wrap;margin-top:36px;font-size:11px;letter-spacing:.12em}
.map-placeholder{height:360px;margin-top:70px}
.contact{min-height:90vh;display:flex;align-items:center}
.contact-inner{max-width:1000px}
.contact-inner>p:not(.eyebrow){max-width:620px}
.contact-actions{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
.primary-link{display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:54px;border:1px solid var(--ink);font-size:11px;letter-spacing:.15em;transition:.25s}
.primary-link:hover{background:var(--ink);color:var(--ivory)}
footer{padding:54px 7vw 28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:32px;font-size:12px}
footer strong{font-family:"Bodoni Moda",serif;font-weight:700;letter-spacing:.12em;font-size:18px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:16px;color:var(--sub)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width: 900px){
  .site-header{padding:18px 20px}
  .menu-toggle{display:block}
  .nav{position:fixed;inset:0;background:var(--ivory);padding:100px 24px 40px;display:flex;flex-direction:column;gap:24px;transform:translateY(-100%);transition:.4s;z-index:-1;font-family:"Bodoni Moda",serif;font-weight:700;font-size:34px;letter-spacing:0}
  .nav.open{transform:translateY(0)}
  .hero{display:block;padding:120px 22px 48px;min-height:100svh}
  .hero-placeholder{inset:24vh 20px 24px 38vw}
  .hero-copy{position:relative}
  h1{font-size:clamp(72px,24vw,118px)}
  .hero-statement{margin-top:28px}
  .scroll-cue{right:20px;bottom:26px}
  .section{padding:110px 22px}
  .section-no{left:22px;top:26px}
  .section-grid,.section-head,.director-grid,.visit-grid{grid-template-columns:1fr;gap:30px}
  .section-head{margin-bottom:55px}
  .program-row{grid-template-columns:42px 1fr;gap:16px}
  .program-copy{grid-column:2}
  .director-grid{gap:46px}
  .admission-wrap{margin:0}
  .schedule-unified{grid-template-columns:1fr;gap:58px}
  .schedule-card{padding-top:20px}
  .schedule-card-title{margin-bottom:26px}
  .schedule-time-row{grid-template-columns:92px minmax(100px,1fr) auto;gap:14px;min-height:62px}
  .schedule-time-row time{font-size:18px}
  .schedule-time-row>strong{font-size:13px;letter-spacing:.07em}
  .schedule-time-row .level{font-size:8px;padding:4px 7px}
  .gallery{display:flex;flex-direction:column}
  .gallery-item{height:62vw;min-height:280px}
  .g3,.g4{display:flex}
  .map-placeholder{height:280px}
  footer{grid-template-columns:1fr}
  .copyright{grid-column:auto}
}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto!important}
  .hero-placeholder,.marquee div{animation:none!important}
  .reveal{transition:none;opacity:1;transform:none}
}

.hero-photo{position:absolute;inset:7vw 7vw 8vw 42vw;width:51vw;height:calc(100% - 15vw);object-fit:cover;filter:saturate(.72) contrast(.92) brightness(1.04);transform:scale(1.02);animation:slowzoom 16s ease-in-out infinite alternate}
.portrait{aspect-ratio:3/4;overflow:hidden;background:#eee8df}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.profile-school{margin:24px 0 34px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}
.profile-school strong{font-weight:700}
.somatic{background:#EEE8DE}
.somatic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.real-gallery figure{margin:0;position:relative;background:#ddd}
.real-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s ease;filter:saturate(.78)}
.real-gallery figure:hover img{transform:scale(1.025)}
.real-gallery figcaption{position:absolute;left:16px;bottom:12px;background:rgba(247,243,235,.86);padding:5px 8px;font-size:9px;letter-spacing:.14em}
@media(max-width:900px){
 .hero-photo{inset:24vh 20px 24px 38vw;width:calc(62vw - 20px);height:auto;bottom:24px;object-fit:cover}
 .somatic-grid{grid-template-columns:1fr;gap:28px}
}

@media(max-width:420px){
  h1{font-size:clamp(64px,22vw,96px)}
  h2{font-size:clamp(46px,14.5vw,72px)}
  .schedule-time-row{grid-template-columns:78px minmax(86px,1fr) auto;gap:10px}
  .schedule-time-row time{font-size:17px}
  .schedule-time-row>strong{font-size:12px;letter-spacing:.05em}
  .schedule-time-row .level{font-size:7.5px;padding:4px 6px}
  .schedule-day-label strong{font-size:21px}
}

.map-link{cursor:pointer;transition:filter .25s,transform .25s}
.map-link:hover{filter:brightness(.97);transform:translateY(-1px)}
.contact-actions .primary-link{padding:0 22px}


/* V5 — stronger editorial serif throughout */
.brand,
h1,h2,h3,
.hero-statement,
.section-no,
.marquee div,
.program-index,
.program-title h3,
.schedule-card-title h3,
.schedule-day-label strong,
.schedule-time-row time,
footer strong,
.nav.open,
.credential-label {
  font-family:"Bodoni Moda",serif;
  font-weight:700 !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* Director credentials */
.director-credentials{margin:26px 0 38px;border-top:1px solid var(--line)}
.credential-block{padding:18px 0;border-bottom:1px solid var(--line)}
.credential-label{margin:0 0 8px;font-size:12px;letter-spacing:.16em}
.credential-block p{margin:0;line-height:1.8}
.credential-sub{font-size:12px;color:var(--sub)}
.profile-school{margin:0;padding:0;border:0;font-size:13px;line-height:1.9}
.award-list{list-style:none;margin:0;padding:0}
.award-list li{display:flex;justify-content:space-between;gap:18px;padding:6px 0;border-bottom:1px solid rgba(23,23,20,.08);font-size:13px}
.award-list li:last-child{border-bottom:0}
.award-list strong{font-weight:700;white-space:nowrap}

/* Schedule is displayed exactly as supplied artwork */
.schedule{padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
.schedule-image-stack{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.schedule-image{margin:0;background:#f5efe5;box-shadow:0 1px 0 rgba(23,23,20,.08)}
.schedule-image img{display:block;width:100%;height:auto}

@media(max-width:900px){
  .schedule-image-stack{grid-template-columns:1fr;gap:28px;max-width:720px}
  .schedule{padding-left:14px;padding-right:14px}
  .award-list li{font-size:12px}
}


/* Brand meaning */
.brand-meaning-title {
  margin: 2.2rem 0 0.65rem;
  font-family: "Bodoni Moda", serif;
  font-weight: 700;
  font-size: clamp(1.45rem, 2.4vw, 2.2rem);
  letter-spacing: 0.035em;
  line-height: 1.05;
}
.brand-meaning-copy {
  margin-top: 0;
  line-height: 1.9;
}
