/* 메인 비주얼: 사진, 색상 오버레이, HTML 문구, 공통 버튼을 분리 */
.hero.hero-carousel{height:510rem;min-height:0;background:#eaf7ff;position:relative;isolation:isolate;overflow:hidden;touch-action:pan-y;--slide-duration:6500ms}
.hero-carousel:before{display:none}
.hero-slides,.hero-slide,.hero-media,.hero-shade{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .85s ease,visibility 0s .85s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;transition:opacity .85s ease,visibility 0s;pointer-events:auto;z-index:1}
.hero-media{overflow:hidden;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.055);transition:transform 7.5s cubic-bezier(.16,.35,.3,1);will-change:transform}
.hero-slide.is-active .hero-media img{transform:scale(1)}
.hero-shade{z-index:1;background:linear-gradient(90deg,#e5f5ff75,transparent 68%),linear-gradient(0deg,#e8f7ffea,transparent 38%)}
.hero-slide .hero-copy{z-index:2;width:495rem;padding:34rem 0 0 40rem}
.hero-slide .kicker{font-size:27rem;line-height:1.1;margin:0 0 15rem;transform:none}
.hero-slide .hero-title{font-size:51rem;line-height:1.03;font-weight:850;letter-spacing:-1.7rem;margin:0;text-shadow:none}
.hero-title>span{display:block}
.hero-slide .hero-title em{font-size:55rem;line-height:1.03;letter-spacing:-1.7rem}
.hero-slide .hero-description{font-size:14rem;line-height:1.5;margin-top:14rem;padding:0;background:none;font-weight:650;letter-spacing:-.25rem}
.hero-slide .kicker,.hero-title>span,.hero-slide .hero-description,.hero-scene-label{opacity:0;transform:translateY(18rem);transition:opacity .6s ease,transform .7s cubic-bezier(.22,.65,.2,1)}
.hero-slide.is-active .kicker,.hero-slide.is-active .hero-title>span,.hero-slide.is-active .hero-description,.hero-slide.is-active .hero-scene-label{opacity:1;transform:none}
.hero-slide.is-active .kicker{transition-delay:.14s}
.hero-slide.is-active .hero-title>span:nth-child(1){transition-delay:.22s}
.hero-slide.is-active .hero-title>span:nth-child(2){transition-delay:.31s}
.hero-slide.is-active .hero-title>span:nth-child(3){transition-delay:.4s}
.hero-slide.is-active .hero-description{transition-delay:.51s}
.hero-slide.is-active .hero-scene-label{transition-delay:.6s}
.hero-slide .hero-note{z-index:2;left:460rem;top:35rem;font-size:23rem;opacity:.9}
.slide-pension{color:#fff}
.slide-pension .hero-shade{background:linear-gradient(90deg,#051c36bd,transparent 90%),linear-gradient(0deg,#071c36dc,transparent 55%)}
.slide-pension .hero-title em{color:#9ddcff}
.slide-pension .kicker{color:#d2eaff}
.slide-pension .hero-description{color:#e1edf8;font-weight:500}
.slide-clean .hero-shade{background:linear-gradient(90deg,#eaf8ff55,transparent 75%),linear-gradient(0deg,#eaf8fff2,transparent 43%)}
.slide-clean .hero-title em{font-size:47rem;color:#007bb8}
.hero-scene-label{position:absolute;z-index:2;right:34rem;bottom:83rem;text-align:right;font-size:14rem;font-weight:700;text-shadow:0 1rem 4rem #001d3466}
.hero-scene-label>span{display:block;font-size:8rem;letter-spacing:2rem;margin-bottom:5rem}
.slide-clean .hero-scene-label{color:#073658;background:#ffffffbd;border:1rem solid #ffffffd9;padding:12rem 17rem;border-radius:8rem;text-shadow:none;backdrop-filter:blur(8px)}
.hero-common{position:absolute;z-index:3;left:40rem;bottom:60rem;width:440rem}
.hero-common .hero-services{margin:0;gap:8rem}
.hero-common .hero-services a{height:78rem;background:#ffffffe8;backdrop-filter:blur(8px)}
.hero-common .hero-actions{margin-top:10rem}
.hero-common .hero-actions .btn{height:44rem}
.hero-slider-controls{position:absolute;bottom:14rem;left:40rem;right:40rem;z-index:4;display:flex;justify-content:space-between;align-items:center;color:#083354;gap:15rem}
.hero-dots{display:flex;align-items:center;gap:12rem}
.hero-dots button{display:flex;align-items:center;gap:7rem;padding:7rem 0;font-size:10rem;font-weight:800;opacity:.55;min-width:44rem;min-height:28rem}
.hero-dots button.is-active{opacity:1}
.hero-dots i{display:block;width:25rem;height:2rem;background:currentColor;opacity:.35;position:relative;transition:width .3s}
.hero-dots button.is-active i{width:59rem;opacity:1;background:#08335426}
.hero-dots i:after{content:'';position:absolute;inset:0;background:#0086df;transform:scaleX(0);transform-origin:left}
.hero-dots button.is-active i:after{transform:scaleX(var(--hero-progress,0))}
.hero-playback{display:flex;align-items:center;gap:7rem}
.hero-counter{font-size:10rem;letter-spacing:1rem;margin-right:8rem}
.hero-playback button{width:28rem;height:28rem;border:1rem solid #082b5340;border-radius:50%;background:#ffffff8a;display:grid;place-items:center;font-size:14rem;transition:background .2s,transform .2s}
.hero-playback button:hover{background:#fff;transform:translateY(-2rem)}
.hero-carousel[data-theme="night"] .hero-slider-controls{color:#fff}
.hero-carousel[data-theme="night"] .hero-dots button.is-active i{background:#ffffff40}
.hero-carousel[data-theme="night"] .hero-dots i:after{background:#a8e2ff}
.hero-carousel[data-theme="night"] .hero-playback button{color:#fff;background:#ffffff17;border-color:#ffffff70}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:785px){
.hero.hero-carousel{height:730px;background:#eaf7ff}
.hero-slide .hero-media{height:495px}
.hero-slide .hero-media img{object-position:64% center}
.hero-slide .hero-shade{background:linear-gradient(90deg,#eaf8ffbf,transparent 95%),linear-gradient(0deg,#eaf7ff 30%,#eaf7ffbb 43%,transparent 68%)}
.hero-slide .hero-copy{padding:27px 20px 0;width:100%}
.hero-slide .kicker{font-size:25px;margin-bottom:21px;max-width:330px}
.hero-slide .hero-title{font-size:clamp(34px,10.5vw,44px);letter-spacing:-1.4px;line-height:1.08}
.hero-slide .hero-title em{font-size:inherit;letter-spacing:inherit;line-height:inherit}
.hero-slide .hero-description{font-size:13px;line-height:1.65;margin-top:17px;max-width:330px;background:#eff9ffb8;border-radius:5px;padding:7px 8px;font-weight:600}
.hero-slide .hero-description br{display:none}
.hero-common{left:20px;right:20px;bottom:68px;width:auto}
.hero-common .hero-services{grid-template-columns:repeat(3,1fr);gap:8px}
.hero-common .hero-services a{height:85px}
.hero-common .hero-actions{margin-top:13px;gap:9px}
.hero-common .hero-actions .btn{height:48px;font-size:13px;min-width:0;padding:8px}
.hero-common .hero-actions .phone-button{min-width:0;width:auto}
.hero-slider-controls{left:20px;right:20px;bottom:15px;gap:10px}
.hero-dots{gap:8px}.hero-dots button{font-size:10px;gap:4px;min-width:35px;min-height:34px}.hero-dots i{width:12px}.hero-dots button.is-active i{width:29px}
.hero-playback{gap:6px}.hero-playback button{width:33px;height:33px;font-size:17px}.hero-counter{display:none}
.hero-scene-label{right:20px;bottom:325px;font-size:11px}.hero-scene-label>span{font-size:8px;letter-spacing:1px}.slide-clean .hero-scene-label{padding:8px 10px}
.slide-pension{background:#081f36}
.slide-pension .hero-media img{object-position:64% center}
.slide-pension .hero-shade{background:linear-gradient(90deg,#061c36b5,transparent),linear-gradient(0deg,#081f36 29%,#081f36a8 44%,transparent 74%)}
.slide-pension .hero-description{background:#08223899;color:#eff8ff;font-weight:500}
.slide-clean .hero-media img{object-position:64% center}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-media img,.hero-slide .kicker,.hero-title>span,.hero-description,.hero-scene-label{transition:none!important;transform:none!important}.hero-dots i{transition:none}}
@keyframes heroPhotoIn{from{transform:scale(1.055)}to{transform:scale(1)}}
@keyframes heroTextIn{from{opacity:0;transform:translateY(18rem)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
.hero-slide.is-active .hero-media img{animation:heroPhotoIn 7.5s cubic-bezier(.16,.35,.3,1) both}
.hero-slide.is-active .kicker,.hero-slide.is-active .hero-title>span,.hero-slide.is-active .hero-description,.hero-slide.is-active .hero-scene-label{animation:heroTextIn .75s cubic-bezier(.22,.65,.2,1) both}
.hero-slide.is-active .kicker{animation-delay:.14s}
.hero-slide.is-active .hero-title>span:nth-child(1){animation-delay:.22s}
.hero-slide.is-active .hero-title>span:nth-child(2){animation-delay:.31s}
.hero-slide.is-active .hero-title>span:nth-child(3){animation-delay:.4s}
.hero-slide.is-active .hero-description{animation-delay:.51s}
.hero-slide.is-active .hero-scene-label{animation-delay:.6s}
}
/* 메인 영역에는 전화·견적 버튼이 있어 고정 상담 바를 숨겨 조작부 겹침 방지 */
.hero-visible .quick-dock{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
.quick-dock{transition:opacity .25s,transform .25s,visibility .25s}
