/* 인터랙티브 버전 전용: 원본 CSS와 독립적으로 수정 */
:root{--header-offset:60rem}
.interactive-page header{position:sticky;top:0;box-shadow:0 3rem 20rem #06295112;background:#fffffff2;backdrop-filter:blur(14px);transition:box-shadow .25s}
.interactive-page header.scrolled{box-shadow:0 4rem 25rem #06295126}
section[id]{scroll-margin-top:var(--header-offset)}
.reading-progress{position:fixed;top:0;left:0;z-index:50;width:100%;height:3px;background:#0787ee;transform:scaleX(0);transform-origin:left;pointer-events:none}
header nav a{position:relative;padding-block:8rem;transition:color .2s}
header nav a[aria-current="location"]{color:var(--blue)}
header nav a[aria-current="location"]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2rem;background:var(--blue);border-radius:2rem}
.btn,.service-card,.work-card,.hero-services a,.reason-grid article,.map-pin,.arrows button{transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}
@media(hover:hover){.btn:hover,.hero-services a:hover,.service-card:hover,.work-card:hover{transform:translateY(-4rem);box-shadow:0 10rem 24rem #063b6d25;border-color:#67b4f5}.service-card:hover img,.work-card:hover img{transform:scale(1.055)}.map-pin:hover{transform:translateY(-5rem)}.arrows button:hover{background:#e8f6ff}.reason-grid article:hover{transform:translateY(-3rem);box-shadow:0 8rem 20rem #063b6d12}}
.service-card img,.work-card img{transition:transform .45s}.service-card{isolation:isolate}.work-card:active,.service-card:active{transform:translateY(-1rem)}
.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:none}
.motion-ready .reveal:focus-within{opacity:1;transform:none}
.quick-dock{position:fixed;right:22px;bottom:22px;z-index:10;display:flex;gap:1px;box-shadow:0 8px 25px #001f5140;border:1px solid #ffffff66;border-radius:40px;overflow:hidden}
.quick-dock button,.quick-dock a{padding:15px 21px;background:#007bde;color:white;font-size:14px;font-weight:750;line-height:1.3;display:flex;gap:16px;align-items:center}.quick-dock a{background:#082b53}.quick-dock button:hover{background:#0867b4}.toast{position:fixed;bottom:92px;left:50%;transform:translate(-50%,15px);z-index:100;background:#082b53;color:#fff;padding:13px 20px;border-radius:10px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;box-shadow:0 8px 30px #06295133}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* 세척 전후: 사진은 고정하고 경계만 이동 */
.compare-frame{height:178rem;display:block;overflow:hidden;padding:8rem;touch-action:pan-y}
.compare-photo{position:absolute;inset:8rem;width:auto;height:auto;display:block}.after-photo{z-index:0}.before-photo{z-index:1;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-photo img{width:100%;height:100%;object-fit:cover}.compare-handle{z-index:3;left:clamp(22rem,var(--split),calc(100% - 22rem));box-shadow:0 3rem 15rem #00234e44;pointer-events:none}.compare-frame:after{content:'';position:absolute;left:var(--split);top:8rem;bottom:8rem;width:2rem;background:white;z-index:2;pointer-events:none}.compare-frame input{z-index:4;inset:8rem;width:calc(100% - 16rem);height:calc(100% - 16rem);margin:0;opacity:0}.image-disclosure{z-index:5;pointer-events:none}.compare-frame .before-photo .badge.before{left:5rem}.compare-frame .after-photo .badge.after{right:5rem}
.process-grid li{padding:0;height:auto;min-height:88rem}.step-button{width:100%;height:100%;padding:12rem 2rem 10rem;border-radius:5rem}.step-button[aria-pressed="true"]{background:#edf8ff;box-shadow:inset 0 0 0 1rem #138be7}.step-detail{padding:14rem 18rem;margin-top:14rem;background:#f3f9fe;border-left:3rem solid #0786df;border-radius:4rem;color:#42617c;font-size:12rem;line-height:1.65}.step-detail b{color:#063c70;margin-right:10rem}.map-pin{cursor:pointer}.filters button{transition:background .2s,color .2s}.gallery-controls{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:12px 0}.gallery-controls button{border:1px solid #c6dff3;border-radius:7px;padding:9px 14px;font-size:14px}.gallery-count{font-size:13px;color:#6b8196}.gallery-picture{background:#f0f6fb;object-fit:contain!important;max-height:44vh!important;min-height:180px}.gallery-thumbs{display:flex;gap:8px;margin:8px 0}.gallery-thumbs button{width:65px;height:48px;border:2px solid transparent;border-radius:7px;overflow:hidden}.gallery-thumbs button[aria-pressed="true"]{border-color:#0084e3}.gallery-thumbs img{width:100%;height:100%;margin:0!important;border-radius:0!important;object-fit:cover}
dialog{max-height:90dvh;overflow:auto;width:580px;max-width:calc(100vw - 32px);font-size:15px;overscroll-behavior:contain}dialog h2{padding-right:15px}dialog .service-detail-image{height:190px;object-fit:cover}dialog .dialog-close{position:sticky;float:right;top:0;background:#fff;border-radius:50%;width:30px;height:30px;line-height:28px;z-index:3}dialog .dialog-note{font-size:12px;line-height:1.55;color:#60788d}.quote-form{display:grid;gap:16px}.quote-form label,.quote-form legend{font-weight:750;font-size:14px;color:#173e5e}.quote-form label{display:grid;gap:7px}.quote-form fieldset{padding:0;border:0;margin:0}.quote-form legend{margin-bottom:9px}.service-options{display:flex;flex-wrap:wrap;gap:7px}.service-options label{display:block;position:relative;cursor:pointer}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options span{display:block;font-size:13px;padding:9px 12px;border:1px solid #ccdeed;border-radius:30px;font-weight:600}.service-options input:checked+span{color:#0074c4;background:#eaf7ff;border-color:#0089e8}.service-options input:focus-visible+span{outline:3px solid #ffab00;outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-form select,.quote-form textarea{width:100%;font:400 15px/1.5 Pretendard,sans-serif;padding:11px;border:1px solid #cbddea;border-radius:7px;background:#fff;color:#183d5f}.quote-form textarea{resize:vertical;min-height:100px}.quote-form .btn{font-size:15px;min-height:44px;border-radius:7px}.quote-summary{margin-top:18px;padding:16px;border:1px solid #afd5ef;border-radius:10px;background:#f0f8ff}.quote-summary[hidden]{display:none}.quote-summary h3{font-size:17px}.quote-summary textarea{font:14px/1.65 Pretendard,sans-serif;width:100%;height:175px;margin:12px 0;padding:10px;border:1px solid #ccdeed;border-radius:6px;background:white;color:#183d5f;resize:vertical}.summary-actions{display:flex;gap:8px;flex-wrap:wrap}.summary-actions button,.summary-actions a{font-size:14px;padding:10px 13px;border:1px solid #0074d0;border-radius:6px;color:#0064ad;background:white}.quote-intro{font-size:14px;color:#647b8e}.service-feature-list{padding-left:20px;line-height:1.85;font-size:15px;color:#47637d}
@media(max-width:785px){:root{--header-offset:80rem}.interactive-page{padding-bottom:75px}.quick-dock{left:16px;right:16px;bottom:12px;border-radius:12px}.quick-dock button,.quick-dock a{flex:1;justify-content:center;padding:15px 10px}.compare-frame{height:236rem;min-height:236rem}.step-detail{font-size:14rem;padding:14rem}.step-button{min-height:108rem}.toast{bottom:82px;font-size:13px}.form-row{grid-template-columns:1fr}dialog{padding:22px}dialog h2{font-size:22px}.quote-form{gap:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.motion-ready .reveal{opacity:1;transform:none}}
/* 고정 메뉴 아래에서 포커스·지역 버튼이 가려지지 않도록 배치 */
html:has(.interactive-page){scroll-padding-top:var(--header-offset)}
.area-map{z-index:2}.area-map>svg,.area-map .handwriting{pointer-events:none}
.map-pin{scroll-margin-block:var(--header-offset)}
