/* 엘리베이터바닥복구 — 홈디크 | Theme: warm | Palette: C08 Soft Sand */
:root{--bg:#F7F2E8;--sub:#EDE3CD;--txt:#2C2419;--mut:#7A6E58;--pri:#5C4631;--acc:#9D7C4A;--bdr:#DFD3B8;}
*{box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word;}
body{margin:0;font-family:'Apple SD Gothic Neo','Noto Sans KR',sans-serif;background:var(--bg);color:var(--txt);line-height:1.7;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

/* Header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,242,232,.94);backdrop-filter:blur(10px);border-bottom:.5px solid var(--bdr);}
.hdr-inner{max-width:1100px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between;}
.logo-wrap{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--pri);}
.logo-wrap img{height:36px;width:auto;}
.btn-consult{background:var(--acc);color:#fff;padding:9px 22px;border-radius:10px;font-weight:600;font-size:.9rem;white-space:nowrap;}
.btn-consult:hover{opacity:.88;}
.btn-back{border:2px solid var(--pri);color:var(--pri);padding:9px 22px;border-radius:10px;font-weight:600;font-size:.9rem;}
.btn-back:hover{background:var(--pri);color:#fff;}

/* Hero (main, 단일이미지) */
.hero{position:relative;height:100svh;min-height:460px;max-height:760px;overflow:hidden;margin-top:64px;}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-grad{position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(to bottom,rgba(44,36,25,0) 0%,rgba(44,36,25,.38) 100%);}
.hero-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;}
.hero-txt h1{color:#fff;font-size:clamp(2rem,6vw,3.4rem);font-weight:800;letter-spacing:-.02em;margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.6);}
.hero-txt p{color:#fff;font-size:clamp(.95rem,2.5vw,1.15rem);margin:0 0 28px;max-width:560px;text-shadow:0 1px 6px rgba(0,0,0,.5);}
.btn-main{display:inline-block;background:var(--acc);color:#fff;padding:13px 32px;border-radius:12px;font-weight:700;font-size:1rem;}
.btn-main:hover{opacity:.88;}

/* Hero (sub, 2버튼) */
.hero-sub{margin-top:64px;position:relative;height:380px;overflow:hidden;}
@media(max-width:768px){.hero-sub{height:280px;}}
.hero-sub img{width:100%;height:100%;object-fit:cover;}
.hero-sub-grad{position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(to bottom,rgba(44,36,25,0) 0%,rgba(44,36,25,.46) 100%);}
.hero-sub-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;}
.hero-sub-txt h1{color:#fff;font-size:clamp(1.6rem,5vw,2.6rem);font-weight:800;margin:0 0 18px;text-shadow:0 2px 10px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.6);}
.hero-sub-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.btn-cta-hero{background:var(--acc);color:#fff;padding:12px 28px;border-radius:12px;font-weight:700;font-size:.95rem;}
.btn-main-out{border:2px solid #fff;color:#fff;padding:10px 26px;border-radius:12px;font-weight:600;font-size:.95rem;}
.btn-cta-hero:hover,.btn-main-out:hover{opacity:.85;}

/* Sections */
.sec{padding:72px 20px;}
.sec-sub{background:var(--sub);}
.sec-inner{max-width:1100px;margin:0 auto;}
.sec-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;color:var(--pri);margin:0 0 8px;}
.sec-lead{color:var(--mut);font-size:.95rem;margin:0 0 40px;}

/* 시공 사례 전/후 카드 그리드 (메인: PC 3 / 태블릿 2 / 모바일 1) */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.case-grid{grid-template-columns:repeat(2,1fr);gap:14px;}}
@media(max-width:768px){.case-grid{grid-template-columns:repeat(1,1fr);gap:16px;}}
/* 시공 사례 전/후 카드 그리드 (서브: PC 2 / mobile 1) */
.case-grid-sub{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:768px){.case-grid-sub{grid-template-columns:repeat(1,1fr);gap:16px;}}

.case-card{background:#fff;border:.5px solid var(--bdr);border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow .3s,transform .3s;}
.case-card:hover{box-shadow:0 2px 10px rgba(92,70,49,.08);transform:translateY(-3px);}
.case-card-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--bdr);}
.case-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;}
.case-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.case-thumb-tag{position:absolute;top:8px;left:8px;background:rgba(44,36,25,.72);color:#fff;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:20px;}
.case-card-cap{padding:14px 16px;font-size:.86rem;font-weight:600;color:var(--txt);line-height:1.5;}
@media(max-width:520px){.case-thumb-tag{font-size:.68rem;padding:2px 8px;}.case-card-cap{font-size:.92rem;padding:14px;}}

/* 전/후 비교 라이트박스 */
.cmp-lb{display:none;position:fixed;inset:0;background:rgba(44,36,25,.92);z-index:1000;align-items:center;justify-content:center;padding:24px 20px;}
.cmp-lb.open{display:flex;}
.cmp-lb-inner{max-width:920px;width:100%;}
.cmp-lb-imgs{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:600px){.cmp-lb-imgs{grid-template-columns:1fr;}}
.cmp-lb-imgs figure{margin:0;position:relative;}
.cmp-lb-imgs img{width:100%;height:auto;max-height:60vh;border-radius:10px;object-fit:contain;background:#000;display:block;}
.cmp-lb-imgs figcaption{position:absolute;top:10px;left:10px;background:rgba(44,36,25,.78);color:#fff;font-size:.78rem;font-weight:700;padding:3px 11px;border-radius:20px;}
.cmp-lb-cap{color:#fff;text-align:center;margin-top:16px;font-size:.95rem;}
.cmp-lb-close{position:absolute;top:20px;right:24px;color:#fff;font-size:2rem;cursor:pointer;line-height:1;background:none;border:none;}

/* Card grid (PC 3 / mobile 2, 고정) */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr);}}

/* Text link card (관련/서비스) */
.txt-card{display:block;padding:22px 24px;background:#fff;border:.5px solid var(--bdr);border-radius:14px;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;}
.txt-card:hover{border-color:var(--acc);box-shadow:0 2px 10px rgba(92,70,49,.08);transform:translateY(-2px);}
.card-badge{display:inline-block;background:var(--sub);color:var(--pri);font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:10px;}
.card-title{font-size:1rem;font-weight:700;color:var(--txt);margin:0 0 6px;}
.card-desc{font-size:.85rem;color:var(--mut);margin:0;line-height:1.6;}

/* Image card (썸네일 포함, 메인 대표서비스) */
.pic-card{border-radius:14px;overflow:hidden;background:#fff;border:.5px solid var(--bdr);transition:box-shadow .3s,transform .3s;display:block;}
.pic-card:hover{box-shadow:0 2px 10px rgba(92,70,49,.08);transform:translateY(-3px);}
.pic-card-img{aspect-ratio:4/3;overflow:hidden;}
.pic-card-img img{width:100%;height:100%;object-fit:cover;}
.pic-card-body{padding:16px;}

/* Feature / trust grid (아이콘, PC 3 / mobile 2, 고정) */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:768px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
.feat-item{text-align:center;padding:28px 16px;background:#fff;border-radius:14px;border:.5px solid var(--bdr);}
.feat-icon{width:48px;height:48px;margin:0 auto 14px;background:var(--sub);border-radius:12px;display:flex;align-items:center;justify-content:center;}
.feat-icon svg{width:24px;height:24px;fill:var(--pri);}
.feat-num{font-size:1.5rem;font-weight:800;color:var(--acc);line-height:1;}
.feat-label{font-size:.85rem;color:var(--mut);margin-top:6px;}

/* CTA (footer 바로 위, 상담 버튼만) */
.cta-sec{background:var(--pri);padding:64px 20px;text-align:center;}
.cta-sec h2{color:#fff;font-size:clamp(1.4rem,4vw,1.9rem);font-weight:800;margin:0 0 12px;}
.cta-sec p{color:rgba(255,255,255,.82);margin:0 0 28px;font-size:.98rem;}
.btn-cta{display:inline-block;background:var(--acc);color:#fff;padding:14px 40px;border-radius:12px;font-weight:700;font-size:1.05rem;}
.btn-cta:hover{opacity:.88;}

/* Footer */
.ftr{background:var(--pri);color:rgba(255,255,255,.75);padding:48px 20px 32px;}
.ftr-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:40px;}
@media(max-width:768px){.ftr-inner{grid-template-columns:1fr;gap:28px;}}
.ftr-brand a{color:#fff;font-weight:700;font-size:1.05rem;}
.ftr-brand p{font-size:.82rem;margin:10px 0 0;line-height:1.8;}
.ftr-col h4{color:rgba(255,255,255,.9);font-size:.88rem;font-weight:700;margin:0 0 12px;letter-spacing:.04em;}
.ftr-col a{display:block;font-size:.82rem;margin-bottom:8px;color:rgba(255,255,255,.65);}
.ftr-col a:hover{color:#fff;}
.ftr-bottom{max-width:1100px;margin:28px auto 0;padding-top:20px;border-top:.5px solid rgba(255,255,255,.15);font-size:.78rem;color:rgba(255,255,255,.5);}
.ftr-simple{background:var(--pri);color:rgba(255,255,255,.6);padding:28px 20px;text-align:center;font-size:.8rem;margin-top:60px;}
.ftr-simple a{color:rgba(255,255,255,.75);margin:0 10px;}
.ftr-simple a:hover{color:#fff;}

/* FAQ */
.faq-item{border-bottom:.5px solid var(--bdr);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 0;font-size:1rem;font-weight:600;color:var(--txt);cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.faq-q span.ico{font-size:1.2rem;color:var(--acc);transition:transform .3s;flex-shrink:0;margin-left:12px;}
.faq-a{display:none;padding:0 0 18px;font-size:.92rem;color:var(--mut);line-height:1.8;}
.faq-item.open .faq-a{display:block;}
.faq-item.open .faq-q span.ico{transform:rotate(45deg);}

/* Floating buttons */
.float-btns{position:fixed;bottom:28px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:200;}
.float-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(92,70,49,.18);cursor:pointer;text-decoration:none;border:none;}
.float-consult{background:var(--acc);}
.float-top{background:var(--pri);display:none;}
.float-btn svg{width:22px;height:22px;fill:#fff;}

/* Lightbox */
.lb{display:none;position:fixed;inset:0;background:rgba(44,36,25,.92);z-index:1000;align-items:center;justify-content:center;}
.lb.open{display:flex;}
.lb-img{max-width:90vw;max-height:90vh;border-radius:10px;object-fit:contain;}
.lb-close{position:absolute;top:20px;right:24px;color:#fff;font-size:2rem;cursor:pointer;line-height:1;background:none;border:none;}

/* Body copy */
.body-text{max-width:760px;font-size:.95rem;line-height:1.95;color:var(--txt);}
.body-text h3{font-size:1.05rem;font-weight:700;color:var(--pri);margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--bdr);}
.body-text h3:first-child{margin-top:0;}
.body-text p{margin:0 0 16px;}
.body-list{list-style:none;padding:0;margin:0 0 16px;}
.body-list li{padding:8px 0 8px 18px;position:relative;border-bottom:.5px solid var(--bdr);font-size:.93rem;}
.body-list li:last-child{border-bottom:none;}
.body-list li::before{content:'—';position:absolute;left:0;color:var(--acc);font-weight:700;}

/* 상담 페이지 전용 */
.page-wrap{max-width:680px;margin:0 auto;padding:100px 20px 80px;}
.page-title{font-size:clamp(1.6rem,5vw,2.2rem);font-weight:800;color:var(--pri);margin:0 0 12px;}
.page-lead{font-size:1rem;color:var(--mut);margin:0 0 40px;}
.contact-card{background:#fff;border:.5px solid var(--bdr);border-radius:16px;padding:32px;margin-bottom:24px;}
.contact-card h2{font-size:1.15rem;font-weight:700;color:var(--pri);margin:0 0 16px;}
.contact-step{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.step-num{width:28px;height:28px;border-radius:50%;background:var(--acc);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.step-txt strong{display:block;font-size:.95rem;color:var(--txt);font-weight:700;}
.step-txt span{font-size:.88rem;color:var(--mut);}
.phone-box{background:var(--sub);border-radius:12px;padding:20px 24px;text-align:center;margin-top:20px;}
.phone-box p{font-size:.88rem;color:var(--mut);margin:0 0 8px;}
.phone-num{font-size:1.5rem;font-weight:800;color:var(--pri);letter-spacing:.05em;}
.phone-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
.btn-phone{background:var(--pri);color:#fff;padding:11px 24px;border-radius:12px;font-weight:700;font-size:.95rem;display:inline-block;}
.btn-sms{background:var(--acc);color:#fff;padding:11px 24px;border-radius:12px;font-weight:700;font-size:.95rem;display:inline-block;}
.btn-phone:hover,.btn-sms:hover{opacity:.88;}
.notice-card{background:var(--sub);border-radius:12px;padding:20px 24px;margin-top:16px;}
.notice-card p{font-size:.88rem;color:var(--mut);margin:0 0 6px;}
.notice-card p:last-child{margin:0;}

/* 404 */
.err-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;}
.err-wrap h1{font-size:clamp(3rem,10vw,6rem);font-weight:900;color:var(--bdr);margin:0 0 8px;}
.err-wrap h2{font-size:1.2rem;font-weight:700;color:var(--pri);margin:0 0 12px;}
.err-wrap p{color:var(--mut);margin:0 0 36px;}
.err-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.btn{padding:12px 28px;border-radius:12px;font-weight:700;font-size:.95rem;}
.btn-pri{background:var(--pri);color:#fff;}
.btn-acc{background:var(--acc);color:#fff;}
.btn:hover{opacity:.88;}
.sm-links{margin-top:32px;display:flex;flex-direction:column;gap:6px;}
.sm-links a{font-size:.88rem;color:var(--mut);}
.sm-links a:hover{color:var(--pri);}

/* 사이트맵 페이지 */
.sm-wrap{max-width:900px;margin:0 auto;padding:80px 20px 60px;}
.sm-wrap h1{font-size:1.5rem;font-weight:800;color:var(--pri);margin:0 0 6px;}
.sm-lead{font-size:.88rem;color:var(--mut);margin:0 0 36px;}
.sec-label{font-size:.78rem;font-weight:700;color:var(--acc);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;}
.link-list{display:flex;flex-direction:column;gap:2px;margin-bottom:32px;}
.link-item{display:flex;align-items:baseline;gap:12px;padding:8px 12px;border-radius:10px;background:#fff;border:.5px solid var(--bdr);}
.link-item:hover{border-color:var(--acc);}
.link-item .title{font-size:.92rem;font-weight:600;color:var(--pri);}
.link-item .desc{font-size:.8rem;color:var(--mut);}
.sm-back{display:inline-block;margin-top:20px;font-size:.85rem;color:var(--mut);border:.5px solid var(--bdr);padding:8px 18px;border-radius:10px;}
.sm-back:hover{color:var(--pri);}
