/* Homepage hero only. Existing sections and shared stylesheet stay intact. */
.editorial-home .hero { min-height: 880px; min-height: 100svh; padding: 150px 5vw 80px; isolation: isolate; background: var(--ds-dark); color: var(--ds-canvas); border-radius: 0 0 42px 42px; overflow: clip; }
.hero-backdrop { position: absolute; inset: 0; z-index: -2; overflow: hidden; border-radius: inherit; }
.hero-backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; transform: scale(1.045); }
.hero-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(24,23,21,.7),rgba(24,23,21,.3) 28%,rgba(24,23,21,.63) 62%,rgba(24,23,21,.91)),linear-gradient(90deg,rgba(24,23,21,.28),transparent); }
.hero .hero-header { position: absolute; padding: 32px 4vw; min-height: 120px; color: var(--ds-canvas); }
.hero .hero-header.is-scrolled { background: transparent; border-color: transparent; }
.hero .hero-brand { width: 92px; height: 100px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 12px; border-radius: 5px; background: var(--ds-canvas); color: var(--ds-dark); line-height: .92; letter-spacing: -.06em; }
.hero-brand strong { font-size: 38px; font-weight: 900; }
.hero-brand small { margin-top: 6px; font-size: 13px; font-weight: 800; letter-spacing: -.07em; }
.hero .hero-menu { gap: clamp(16px,2.3vw,40px); font-size: 15px; font-weight: 650; }
.hero .hero-menu a:hover { color: var(--ds-cream-strong); }
.hero .hero-menu .hero-nav-cta { background: var(--ds-cream-strong); color: var(--ds-dark); padding: 16px 24px; border-radius: 9px; }
.hero .hero-copy { width: 100%; max-width: 1280px; margin: 0 auto; }
.editorial-home .hero-intro { color: var(--ds-cream-strong); font-size: 17px; margin-bottom: 26px; letter-spacing: .02em; }
.editorial-home .hero-title { color: var(--ds-canvas); font-size: clamp(42px,6.1vw,94px); line-height: 1.14; letter-spacing: -.055em; text-shadow: 0 3px 25px rgba(0,0,0,.18); }
.hero .hero-title .hero-line { var(--ds-on-dark)-space: nowrap; }
.hero .hero-title .hero-line + .hero-line { color: var(--ds-cream-strong); margin-top: 5px; }
.editorial-home .hero-description { color: var(--ds-canvas); font-size: clamp(15px,1.6vw,20px); margin: 30px auto; line-height: 1.8; }
.hero .hero-emphasis::after { display: none; }
.hero .hero-cta { background: var(--ds-cream-strong); color: var(--ds-dark); border-radius: 8px; font-size: 16px; padding: 19px 28px; gap: 32px; transition: background .2s,transform .2s; }
.hero .hero-cta:hover { opacity: 1; background: var(--ds-cream-strong); transform: translateY(-3px); }
.hero .hero-cta::after { content: '↗'; font-size: 24px; line-height: 20px; }
.editorial-home .hero-contact { color: var(--ds-canvas); margin-top: 24px; gap: 28px; }
.hero .hero-contact a:hover { color: var(--ds-cream-strong); }
.editorial-home .hero-scroll { display: block; left: auto; right: 4vw; bottom: 36px; color: var(--ds-canvas); }
.hero :focus-visible { outline: 3px solid var(--ds-cream-strong); outline-offset: 5px; }
.editorial-home .skip:focus { z-index: 30; }
@media (max-width: 767px) {
 .editorial-home .hero { min-height: 780px; min-height: 100svh; padding: 155px 20px 115px; border-radius: 0 0 26px 26px; }
 .hero .hero-header { padding: 22px 22px; min-height: 106px; gap: 12px; }
 .hero .hero-brand { width: 70px; height: 76px; padding: 10px; }
 .hero-brand strong { font-size: 29px; }
 .hero-brand small { font-size: 10px; margin-top: 5px; }
 .hero .hero-menu-toggle { color: var(--ds-canvas); }
 .hero .hero-header.is-open { background: var(--ds-dark); border-color: transparent; }
 .hero .hero-menu { color: var(--ds-canvas); background: var(--ds-dark); border: 0; padding: 8px 24px 26px; gap: 5px; font-size: 16px; }
 .hero .hero-copy { margin-top: 0; }
 .editorial-home .hero-intro { font-size: 13px; margin-bottom: 22px; }
 .editorial-home .hero-title { font-size: clamp(27px,7.7vw,58px); line-height: 1.24; }
 .editorial-home .hero-description { max-width: 280px; font-size: 15px; margin: 25px auto; }
 .editorial-home .hero-cta { font-size: 14px; padding: 17px 22px; }
 .editorial-home .hero-contact { font-size: 12px; margin-top: 21px; }
 .hero-backdrop img { object-position: 57% center; }
.editorial-home .hero-scroll { bottom: 32px; right: 26px; }
}
@media (prefers-reduced-motion: reduce) { .hero-backdrop img { transform: none; } .hero .hero-cta { transition: none; } .hero .hero-scroll svg { animation: none; } }
/* Notched museum-ticket silhouette, with live text for crisp Korean lettering. */
.hero .hero-brand {
 width: 120px; height: 120px; flex: 0 0 120px; padding: 17px 13px;
 border-radius: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill='%23faf9f5' d='M6 0H34Q40 0 40 5Q40 10 46 10H74Q80 10 80 5Q80 0 86 0H114Q120 0 120 6V114Q120 120 114 120H86Q80 120 80 115Q80 110 74 110H46Q40 110 40 115Q40 120 34 120H6Q0 120 0 114V6Q0 0 6 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
 gap: 1px; justify-content: center; align-items: flex-start; transition: transform .2s ease;
}
.hero-brand-word { display: flex; justify-content: space-between; width: 100%; font-size: 46px; font-weight: 900; line-height: 1; letter-spacing: 0; }
.hero-brand-korean { display: flex; justify-content: space-between; width: 100%; margin-top: 5px; font-size: 18px; font-weight: 800; line-height: 1.2; letter-spacing: 0; }
.hero .hero-brand:hover { transform: translateY(-2px); }
@media (max-width:767px) {
 .hero .hero-brand { width: 88px; height: 88px; flex-basis: 88px; padding: 12px 10px; gap: 0; }
 .hero-brand-word { font-size: 33px; }
 .hero-brand-korean { font-size: 13px; margin-top: 4px; }
}
@media (prefers-reduced-motion:reduce) { .hero .hero-brand { transition: none; } }
/* Reserve the upper photograph for the featured student; copy sits below her face. */
.editorial-home .hero { min-height: 0; padding-top: clamp(335px, 23vw, 590px); padding-bottom: 68px; }
.hero .hero-copy { align-self: start; }
.hero-backdrop img { position: absolute; top: 0; left: 0; height: clamp(560px, 52.45vw, 1200px); object-position: 52% top; transform-origin: 52% 30%; }
.hero-backdrop::after { background: linear-gradient(180deg,rgba(24,23,21,.48) 0%,rgba(24,23,21,.06) 22%,rgba(24,23,21,.18) 36%,rgba(24,23,21,.83) 60%,var(--ds-dark) 84%); }
.editorial-home .hero-intro { width: fit-content; max-width: 100%; margin: 0 auto 15px; padding: 8px 15px; border-radius: 5px; background: rgba(24,23,21,.88); color: var(--ds-canvas); font-weight: 650; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.editorial-home .hero-title { font-size: clamp(42px,5.4vw,82px); }
.editorial-home .hero-description { margin: 22px auto; }
@media (max-width:767px) {
 .editorial-home .hero { min-height: 0; padding-top: 300px; padding-bottom: 68px; }
 .hero-backdrop img { height: 480px; object-position: 52% top; }
 .hero-backdrop::after { background: linear-gradient(180deg,rgba(24,23,21,.3),rgba(24,23,21,.02) 180px,rgba(24,23,21,.18) 320px,var(--ds-dark) 490px); }
 .editorial-home .hero-title { font-size: clamp(27px,7.7vw,58px); }
 .editorial-home .hero-description { margin: 20px auto; }
}
/* True transparent letter cutouts: the moving photograph remains visible through the logo. */
.hero .hero-brand { background-image:url('/images/logo-cutout.svg'); background-color:transparent; }
.hero .hero-brand-word,.hero .hero-brand-korean { opacity:0; }
/* Half-size hero logo; preserve the vector cutout and header layout. */
.hero .hero-brand { width:60px; height:60px; flex-basis:60px; padding:0; }
@media (max-width:767px) { .hero .hero-brand { width:44px; height:44px; flex-basis:44px; padding:0; } }
/* Quiet introductory line: no plaque, just readable lettering over the photograph. */
.editorial-home .hero-intro {
 background:transparent;
 border-radius:0;
 color:var(--ds-on-dark);
 text-shadow:0 1px 4px rgba(0,0,0,.75),0 2px 14px rgba(0,0,0,.4);
}
