/* Main screen only. Coordinate system: approved 1586 × 992 artwork,
   consisting of an uncropped 1586 × 833 photograph and a 159px link strip. */
.home-title-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.approved-hero .home-title-art{display:block;width:100%;height:auto;max-width:none}
.approved-hero h1{width:478px;max-width:100%}
@media(min-width:701px){
 body[data-page=home]{--header-height:7.062vw}
 body[data-page=home] header{height:var(--header-height);padding:0 6.68%;gap:0}
 body[data-page=home] header .brand{gap:.88vw;flex:none;line-height:1.15;white-space:nowrap}
 body[data-page=home] header .brand-mark{width:3.66vw;height:3.66vw;max-width:none;overflow:hidden}
 body[data-page=home] header .brand>span{font-size:1.70vw;letter-spacing:-.04em}
 body[data-page=home] header .brand small{font-size:.58vw!important;letter-spacing:.29em!important;margin-top:.42vw;line-height:1}
 body[data-page=home] header .desktop{position:absolute;left:30.83%;top:0;height:100%;margin:0;gap:3.28vw;display:flex;align-items:center}
 body[data-page=home] header .nav-group{height:100%;gap:0}
 body[data-page=home] header .nav-group>a{font-size:1.135vw;padding:0!important;font-weight:400;letter-spacing:-.04em;white-space:nowrap}
 body[data-page=home] header .nav-toggle{position:absolute;opacity:0;width:14px;min-width:14px;transform:translateX(-10px)}
 body[data-page=home] header .nav-toggle:focus-visible{opacity:1;outline:1px solid currentColor}
 body[data-page=home] header .header-actions{margin-left:auto}
 body[data-page=home] header .login-nav{font-size:1.135vw;padding-left:2.9vw;line-height:2.65vw}
 body[data-page=home] header #menu-open{display:none}
 body[data-page=home] .approved-hero{width:100%;height:auto;aspect-ratio:1586 / 833;min-height:0;max-height:none;margin-top:calc(-1 * var(--header-height));container-type:inline-size}
 body[data-page=home] .approved-hero .sunlight-image{width:100%;height:100%;object-fit:fill;object-position:center;animation:none;transform:none;will-change:auto}
 body[data-page=home] .approved-hero .hero-shade{background:none}
 body[data-page=home] .approved-hero .sunlight-rays{opacity:.06;animation:home-light-breathe 16s ease-in-out infinite alternate}
 body[data-page=home] .approved-hero .sunlight-glow{opacity:.04;animation:home-light-breathe 19s ease-in-out infinite alternate}
 body[data-page=home] .approved-hero .hero-content{inset:0;width:100%;max-width:none;height:100%;padding:0;margin:0;display:block}
 body[data-page=home] .approved-hero h1{position:absolute;top:30.25%;left:6.68%;width:30.15%;max-width:none;margin:0;line-height:1;text-shadow:none}
 body[data-page=home] .approved-hero .hero-english{position:absolute;left:6.68%;top:54.15%;font:400 1.387cqw/1.4 Georgia,serif;letter-spacing:.31em;padding-top:1.39cqw;margin:0;color:#bd995f}
 body[data-page=home] .approved-hero .hero-english:before{width:2.84cqw;background:#d2b178}
 body[data-page=home] .approved-hero .hero-description{position:absolute;left:6.68%;top:63.25%;font:400 1.261cqw/1.5 HaeyulSerif,serif;letter-spacing:-.045em;color:#fff;margin:0}
 body[data-page=home] .approved-hero .hero-links{position:absolute;left:6.68%;top:73.7%;margin:0;gap:0}
 body[data-page=home] .approved-hero .hero-links a{font:400 1.072cqw/1.4 HaeyulSerif,serif;gap:1.05cqw;padding:0 .35cqw .55cqw;color:#c6a367;border-bottom:1px solid #c6a367}
 body[data-page=home] .approved-hero .hero-links span{font:400 1.8cqw/1 Georgia,serif}
 body[data-page=home] .approved-hero .hero-baseline{right:2%;bottom:2%;opacity:0;transition:opacity .2s}
 body[data-page=home] .approved-hero:hover .hero-baseline,body[data-page=home] .approved-hero:focus-within .hero-baseline{opacity:.8}
 body[data-page=home] .hero-strip{height:auto;aspect-ratio:1586 / 159;min-height:0;max-height:none;width:100%;padding:0 5.86%;gap:4.6%;box-sizing:border-box;background:#fff}
 body[data-page=home] .hero-next{gap:1.96vw;flex:1;min-width:0}
 body[data-page=home] .hero-next>span{font:italic 1.39vw/1.5 Georgia,serif;padding-right:2.0vw;color:#b99257}
 body[data-page=home] .hero-next strong{font:400 1.89vw/1.5 HaeyulSerif,serif;letter-spacing:-.05em}
 body[data-page=home] .hero-next i{margin-left:5.7vw;min-width:12px;background:#ccb087}
 body[data-page=home] .hero-next b{font:400 2.6vw/1 Georgia,serif;margin-left:-.7vw}
 body[data-page=home] .hero-contact{flex:0 0 27%;gap:0}
 body[data-page=home] .hero-contact>a{justify-content:center;padding:0 2.2vw;gap:.85vw;min-height:2.84vw;font:400 1.0vw/1.5 Haeyul,sans-serif;white-space:nowrap;flex:1}
 body[data-page=home] .hero-contact>a:last-child{padding-right:0}
 body[data-page=home] .hero-contact small{display:none}
 body[data-page=home] .hero-contact .contact-icon svg{width:1.9vw;height:1.9vw}
 body[data-page=home] .hero-contact .kakao-mark{width:2.14vw;height:2.14vw;border-radius:.3vw;font-size:.5vw}
}
@keyframes home-light-breathe{from{opacity:.02}to{opacity:.10}}
@media(max-width:700px){.approved-hero h1{width:min(83vw,478px)}.approved-hero .home-title-art{width:100%}}
@media(prefers-reduced-motion:reduce){body[data-page=home] .approved-hero .sunlight-rays,body[data-page=home] .approved-hero .sunlight-glow{animation:none}}
body[data-page=home] .approved-hero.motion-paused .sunlight-rays,body[data-page=home] .approved-hero.motion-paused .sunlight-glow{animation-play-state:paused}
@media(min-width:701px) and (max-width:1000px){body[data-page=home] header .desktop{display:none}body[data-page=home] header #menu-open{display:block}body[data-page=home] header .brand>span{font-size:21px}body[data-page=home] header .brand small{font-size:9px!important}body[data-page=home] header .brand-mark{width:40px;height:40px}body[data-page=home] header .login-nav{font-size:14px}body[data-page=home] header .header-actions{gap:18px}}

/* Mobile art direction: preserve the complete portrait composition, never crop
   the logo to fill the viewport. Desktop continues to use the approved image. */
@media(max-width:700px){
 body[data-page=home] .approved-hero{height:auto;aspect-ratio:941 / 1672;min-height:0;max-height:none;width:100%;container-type:inline-size}
 body[data-page=home] .approved-hero .sunlight-image{width:100%;height:100%;object-fit:contain;object-position:center;animation:none;transform:none;will-change:auto}
 body[data-page=home] .approved-hero .hero-shade{background:linear-gradient(180deg,#07132020 0%,transparent 45%,transparent 76%,#0713209c 100%)}
 body[data-page=home] .approved-hero .sunlight-rays{opacity:.06;animation:home-light-breathe 18s ease-in-out infinite alternate}
 body[data-page=home] .approved-hero .sunlight-glow{opacity:.04;animation:home-light-breathe 20s ease-in-out infinite alternate}
 body[data-page=home] .approved-hero .hero-content{inset:0;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:clamp(96px,26vw,138px) 24px 0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;box-sizing:border-box}
 body[data-page=home] .approved-hero h1{width:min(100%,340px);max-width:none;margin:0 0 16px;line-height:1}
 body[data-page=home] .approved-hero .home-title-art{width:100%;height:auto}
 body[data-page=home] .approved-hero .hero-english{font:400 clamp(14px,3.8vw,18px)/1.6 Georgia,serif;letter-spacing:.16em;padding-top:15px;margin:0 0 12px;color:#d6b57c}
 body[data-page=home] .approved-hero .hero-description{font-size:14px;line-height:1.7;max-width:none;margin:0;color:#fff;text-shadow:0 1px 10px #07132066}
 body[data-page=home] .approved-hero .hero-links{position:absolute;left:24px;bottom:28px;margin:0;gap:0}
 body[data-page=home] .approved-hero .hero-links a{min-height:44px;font-size:15px;color:#efd7ad;border-color:#d3b785;gap:16px;padding:7px 0;box-sizing:border-box;text-shadow:0 1px 8px #071320}
 body[data-page=home] .approved-hero .hero-baseline{right:24px;bottom:28px;opacity:.9}
 body[data-page=home] .approved-hero .hero-baseline #motion-toggle{min-width:80px;min-height:44px;font-size:11px;border:0;padding:0}
 .footer-location>span{overflow-wrap:anywhere}
}

@media(max-width:360px){
 body[data-page=home] .approved-hero .hero-content{padding-top:88px}
 body[data-page=home] .approved-hero h1{margin-bottom:12px}
 body[data-page=home] .approved-hero .hero-english{padding-top:12px;margin-bottom:8px}
}
