/* Home composition based on the supplied reference. */
#home{background:#fff}
header nav{height:84px;justify-content:space-between;gap:40px}
.logo-img{width:172px!important;max-height:62px}
.nav-links{gap:34px!important}
#home .unified-hero{border-top:0;height:610px;min-height:610px!important}
#home .scene-grid{gap:0}
#home .quick-menu-wrapper{max-width:1100px;margin-top:-42px!important;margin-bottom:0;padding-bottom:38px}
#home .quick-menu-wrapper::before{content:'';position:absolute;z-index:-1;top:42px;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#edf2f6}
#home .quick-menu{gap:24px}
#home .quick-item{border:1px solid #edf0f2;border-radius:14px;background:rgba(255,255,255,.98);padding:28px 22px!important;min-height:216px;box-shadow:0 9px 18px #122d451c;text-align:center;align-items:center}
#home .quick-item:hover{background:#fff;transform:translateY(-5px);box-shadow:0 14px 25px #122d4529}
#home .quick-item .q-icon{width:58px;height:58px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#173452;color:#fff!important;font-size:25px!important;margin:0 auto 20px}
#home .quick-item-title{font-size:22px;line-height:1.35;font-weight:750}
#home .quick-item-description{font-size:15px;line-height:1.65;max-width:245px;margin:10px auto 0}
#home .unified-video{max-width:1100px;padding-top:50px;padding-bottom:82px}
#home .unified-video>h2,#home .unified-video>p{display:none}
#home #home-inline-video{border-radius:12px}
#home .home-middle{max-width:1100px;display:grid;grid-template-columns:1.15fr 1fr;align-items:start;gap:40px;padding-bottom:70px;margin-top:0}
#home .board-box,#home .cs-box{border:0;border-radius:0;box-shadow:none;padding:0;background:#fff;min-width:0}
#home .cs-box{border-left:1px solid #e0e5e9;padding-left:36px}
#home .box-title{background:none;padding:0 0 15px;border-bottom:1px solid #dce3e8;position:relative;margin-bottom:18px}
#home .box-title::after{content:'';position:absolute;bottom:-1px;left:0;width:75px;height:2px;background:#173452}
#home .box-title h3{font-size:23px;font-weight:750}
#home .notice-list{padding:0}
#home .notice-list li{padding:18px 0;border-bottom:1px solid #e5e9ed;gap:16px}
#home .home-directions{padding:0!important;text-align:left}
#home #home-map{height:230px;border-radius:7px;margin-bottom:15px}
#home .home-directions p{font-size:14px;line-height:1.7}
#home .directions-link{font-size:14px;padding:11px 18px;margin-top:16px}
footer{background:#20262b}
@media(max-width:850px){header nav{height:78px;gap:15px}.nav-links{gap:8px!important}#home .unified-hero{height:460px;min-height:460px!important}#home .quick-menu-wrapper{margin-top:-28px!important;padding-bottom:28px}#home .quick-menu-wrapper::before{top:28px}#home .quick-menu{gap:14px}#home .quick-item{min-height:0;padding:22px!important}#home .quick-item .q-icon{width:48px;height:48px;margin-bottom:14px}#home .unified-video{padding-top:32px;padding-bottom:42px}#home .home-middle{grid-template-columns:1fr;gap:36px;padding-bottom:44px}#home .cs-box{border-left:0;padding-left:0}#home .box-title h3{font-size:21px}}
#home{overflow-x:clip}#home .quick-item{justify-content:flex-start}
#home .quick-item{display:flex;flex-direction:column;justify-content:flex-start}
#home .quick-item{background:rgba(255,255,255,.88);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}#home .quick-item:hover{background:rgba(255,255,255,.96)}.directions-phone{display:block;color:#173452;font-size:25px;font-weight:800;letter-spacing:.01em;margin-top:12px}.floating-chat-btn{background:#fee500!important;color:#191919!important}
/* Contact alignment: fixed icon column, consistent label column. */
.floating-chat-btn,.floating-call-btn{width:190px;height:54px;padding:0 14px!important;gap:12px;justify-content:flex-start;box-sizing:border-box;font-weight:700}
.floating-chat-mark,.floating-call-btn>i{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 38px;width:38px;min-width:38px;height:28px;padding:0!important;box-sizing:border-box}
.floating-chat-mark{font-size:10px!important}.floating-call-btn>i{font-size:20px;border-right:1px solid #ffffff38;border-radius:0}
.floating-contact-label{flex:1;text-align:left;white-space:nowrap;font-size:14px;line-height:1.4}
#home .box-title::after{display:none}#home .box-title h3{display:inline-block;position:relative;width:max-content;max-width:100%;margin:0}
#home .box-title h3::after{content:'';position:absolute;left:0;right:0;bottom:-16px;height:2px;background:#173452}
#home .home-directions{display:flex;flex-direction:column;align-items:flex-start}
#home .directions-phone{order:0;font-size:32px;line-height:1.25;color:#269a59;margin:0 0 14px;font-weight:800}
#home #home-directions-address{order:1;margin:0 0 20px}
#home #home-map{order:2;height:210px;margin:0 0 16px}
#home .directions-link{order:3;margin-top:0}
@media(max-width:850px){.floating-chat-btn,.floating-call-btn{width:auto;min-width:0;gap:8px;padding:0 10px!important}.floating-contact-label{font-size:13px}.floating-chat-mark,.floating-call-btn>i{flex-basis:30px;width:30px;min-width:30px}#home .directions-phone{font-size:29px}}
/* More generous hero typography without changing the two-line message. */
#home .unified-hero #hero-main-title{font-size:clamp(46px,4.7vw,72px)!important;line-height:1.55!important;letter-spacing:.045em!important;max-width:1400px;width:100%;font-weight:800}
#home .unified-hero .hero-text{padding:0 32px!important}
@media(max-width:850px){#home .unified-hero #hero-main-title{font-size:clamp(25px,5.3vw,45px)!important;line-height:1.65!important;letter-spacing:.025em!important}#home .unified-hero .hero-text{padding:0 12px!important}}
/* Match both consultation separators and open up hero tracking. */
#home .unified-hero #hero-main-title{letter-spacing:.075em!important}
#floating-kakao-btn>.floating-chat-mark{position:relative}
#floating-kakao-btn>.floating-chat-mark::after{content:'';position:absolute;right:0;top:0;height:28px;border-right:1px solid #19191938;transform:translateX(0)}
#floating-kakao-btn>.floating-chat-mark{background:transparent;color:#191919;border-radius:0}
@media(max-width:850px){#home .unified-hero #hero-main-title{letter-spacing:.045em!important}}
/* Separate full-size image, shade and type layers. */
#home .unified-hero{height:780px;min-height:780px!important;position:relative;isolation:isolate}
#home .scene-grid{position:absolute;inset:0;z-index:0;grid-template-rows:repeat(3,minmax(0,1fr))}
#home .scene-shade{position:absolute;inset:0;z-index:1;pointer-events:none}
#home .unified-hero .hero-text{position:absolute;inset:0;z-index:2;width:100%;height:100%;background:transparent;pointer-events:none}
#home .consult-email,#home .consult-hours{font-size:15px;line-height:1.8;color:#273444;margin:0 0 14px}
#home .consult-email a{color:inherit}#home .consult-email a:hover{text-decoration:underline}#home .consult-hours strong{font-weight:500}
@media(max-width:850px){#home .unified-hero{height:600px;min-height:600px!important}}
/* Center content within each side of the consultation divider. */
.floating-chat-btn,.floating-call-btn{gap:0!important;padding:0!important}
.floating-chat-mark,.floating-call-btn>i{flex:0 0 52px!important;width:52px!important;min-width:52px!important;justify-content:center}
.floating-contact-label{align-self:stretch;display:flex!important;align-items:center;justify-content:center;text-align:center;padding:0 8px}
#home .unified-hero #hero-main-title{letter-spacing:.11em!important;word-spacing:.06em;line-height:1.6!important}
@media(max-width:850px){.floating-chat-mark,.floating-call-btn>i{flex-basis:42px!important;width:42px!important;min-width:42px!important}.floating-contact-label{padding:0 5px}#home .unified-hero #hero-main-title{letter-spacing:.06em!important;word-spacing:.03em}}
/* Headline spans the mosaic, independent of the center tile. */
#home .unified-hero .hero-text{padding:0 4vw!important}
#home .unified-hero #hero-main-title{width:100%;max-width:none;font-size:clamp(38px,5.1vw,132px)!important;letter-spacing:.025em!important;word-spacing:.015em;line-height:1.45!important}
#home .unified-hero #hero-main-title span{white-space:nowrap}
@media(max-width:850px){#home .unified-hero .hero-text{padding:0 3vw!important}#home .unified-hero #hero-main-title{font-size:5.35vw!important;letter-spacing:.015em!important;line-height:1.65!important}}
/* Slightly quieter headline with a restrained brand accent. */
#home .unified-hero #hero-main-title{font-size:clamp(34px,4.35vw,112px)!important}
#home .hero-brand-emphasis{color:#b9dfff;font-weight:inherit}
@media(max-width:850px){#home .unified-hero #hero-main-title{font-size:4.65vw!important}}
/* Final home typography balance. */
.floating-contact-label{font-size:16px!important;font-weight:750}
#home .unified-hero #hero-main-title{font-size:clamp(36px,4.65vw,120px)!important}
@media(max-width:850px){.floating-contact-label{font-size:14px!important}#home .unified-hero #hero-main-title{font-size:5vw!important}}
#floating-call-btn{background:#218849!important;color:#fff!important}#floating-call-btn:hover{background:#196d39!important}
#home .unified-hero{height:720px;min-height:720px!important}
@media(max-width:850px){#home .unified-hero{height:550px;min-height:550px!important}}
