/* ════════════════════════════════════════════
   sub.css — 서브페이지 공통
════════════════════════════════════════════ */

/* ── 서브 공통 히어로 ── */
.sub-hero { padding-top:140px; background:var(--cream); }
.sub-hero-inner { padding:0 56px; }
.sub-breadcrumb { font-size:9px; letter-spacing:.28em; color:var(--warm); text-transform:uppercase; margin-bottom:32px; display:flex; align-items:center; gap:16px; }
.sub-breadcrumb a { color:var(--warm); text-decoration:none; transition:color .2s; }
.sub-breadcrumb a:hover { color:var(--gold); }
.sub-breadcrumb span { color:rgba(140,90,58,.35); }
.sub-page-title { font-family:'Marcellus','Pretendard',sans-serif; font-size:clamp(40px,6vw,80px); letter-spacing:.04em; line-height:1; color:var(--dark); text-transform:uppercase; margin-bottom:64px; }
.sub-page-border { border-top:1px solid var(--gb); border-bottom:1px solid var(--gb); }

/* 준비중 안내 */
.sub-coming { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:40vh; gap:16px; padding:80px 56px; border-top:1px solid var(--gb); }
.sub-coming-label { font-size:9px; letter-spacing:.28em; color:var(--gold); text-transform:uppercase; }
.sub-coming-txt { font-family:'Marcellus','Pretendard',sans-serif; font-size:clamp(18px,2vw,24px); letter-spacing:.06em; color:var(--warm); }

/* ── char-by-char blur reveal (about, program 공통) ── */
.char-reveal {
  display:inline-block;
  opacity:0; filter:blur(14px); transform:translateY(6px);
  animation:charBlurIn .7s cubic-bezier(.25,.46,.45,.94) forwards;
}
.char-br { display:block; height:0; overflow:hidden; }
.char-light { color:var(--cream); }
@keyframes charBlurIn {
  0%   { opacity:0; filter:blur(14px); transform:translateY(6px); }
  60%  { opacity:.9; filter:blur(2px); }
  100% { opacity:1; filter:blur(0); transform:translateY(0); }
}

/* phil-intro 영상 fadein (about, program 공통) */
.phil-intro {
  width:100%; position:relative; min-height:700px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; border-bottom:1px solid var(--gb);
}
.phil-intro-video {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center bottom; display:block;
}
.phil-intro-overlay { position:absolute; inset:0; background:rgba(30,22,14,.52); }
.phil-intro-ctn {
  position:relative; z-index:2; text-align:center;
  padding:100px 56px; width:100%;
}
.phil-intro-label {
  font-size:9px; letter-spacing:.3em; color:rgba(245,240,232,.6);
  text-transform:uppercase; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center; gap:12px;
}
.phil-intro-label::before,
.phil-intro-label::after { content:''; width:22px; height:1px; background:rgba(245,240,232,.35); }
.phil-intro-title {
  font-family:'Marcellus','Pretendard',sans-serif;
  font-size:clamp(36px,5vw,64px); letter-spacing:.04em; line-height:1.1;
  color:var(--cream); text-transform:uppercase; margin-bottom:28px;
}
.phil-intro-txt {
  font-size:clamp(16px,1.2vw,15px); font-weight:400; line-height:2.2;
  color:rgba(245,240,232,.65); letter-spacing:.01em;
}
.phil-video-fadein { opacity:0; animation:videoFadeIn 1.4s ease .1s forwards; }
@keyframes videoFadeIn { to { opacity:1; } }
.phil-anim-item { opacity:0; transform:translateY(16px); animation:philItemIn .8s cubic-bezier(.25,.46,.45,.94) forwards; }
@keyframes philItemIn { to { opacity:1; transform:translateY(0); } }

/* ── 서브네비 (about, programs 공통) — sticky ── */
.about-subnav {
  display:flex;
  border-top:1px solid var(--gb);
  border-bottom:1px solid var(--gb);
  position:sticky;
  top:60px;
  z-index:200;
  background:rgba(245,240,232,.96);
  backdrop-filter:blur(16px);
  transition:top .5s;
}
.about-subnav a { display:flex; align-items:center; padding:18px 32px; font-family:'DM Sans',sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--warm); text-decoration:none; border-right:1px solid var(--gb); transition:color .25s; position:relative; }
.about-subnav a:last-child { border-right:none; }
.about-subnav a::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .35s cubic-bezier(.77,0,.175,1); }
.about-subnav a:hover, .about-subnav a.active { color:var(--gold); }
.about-subnav a:hover::after, .about-subnav a.active::after { transform:scaleX(1); }


@media(max-width:900px) {
  .sub-hero-inner { padding:0 24px; }
  .sub-page-title { margin-bottom:40px; }
  .about-subnav {
    top:58px;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:visible;
  }
  .about-subnav a {
    padding:14px 16px;
    border-right:1px solid var(--gb);
    border-bottom:1px solid var(--gb);
    justify-content:center;
    text-align:center;
    white-space:normal;
    font-size:9px;
  }
  .about-subnav a:nth-child(2n) { border-right:none; }
  .about-subnav a:nth-last-child(-n+2) { border-bottom:none; }
  .phil-intro { min-height:400px; }
  .phil-intro-ctn { padding:64px 24px; }
  .phil-intro-txt br { display:none; }
}