/*
Theme Name: 올케어생활수리
Theme URI: https://allcarefix.com/
Author: 올케어생활수리
Description: 올케어생활수리 하수구·배관 막힘 출동 서비스 테마 (홈 랜딩 + 칼럼 블로그)
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ddreum
*/
/* 올케어생활수리 allcarefix.com
   배치는 레퍼런스와 같은 섹션·그리드·이미지 위치를 따르고, 색은 올케어생활수리 남색 + 주황으로 간다. */
:root{
  --navy:#1b3560; --navy2:#2b4a80; --navy3:#4b6da6; --deep:#0f1f3d;
  --ink:#1f2937; --sub:#5b6472; --line:#e3e8ef;
  --alt:#f6f8fc; --sky:#eaf1fb; --sky2:#d6e3f6;
  --or:#e2660f; --or2:#c2530a; --or-d:#b44c09; --eye:#a8470a;
  --r:16px; --sh:0 10px 26px rgba(27,53,96,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color:var(--ink);background:#fff;line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased;padding-bottom:88px}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding-inline:16px}
.center{text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px}

/* 유틸 바 */
.util{background:var(--deep);color:#d7e0ee;font-size:.82rem}
.util-in{display:flex;justify-content:flex-end;gap:22px;min-height:32px;align-items:center}

/* 헤더 */
.hd{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}
.hd-in{display:flex;align-items:center;gap:20px;min-height:72px}
.logo{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.logo b{font-size:1.6rem;font-weight:900;color:var(--navy);letter-spacing:-.04em}
.gnb{flex:1;display:flex;justify-content:center;gap:2px}
.gnb a{padding:8px 8px;font-size:.93rem;font-weight:600;color:var(--ink);white-space:nowrap}
.gnb a:hover,.gnb a.on{color:var(--or2)}
.hd-tel{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;border:1.5px solid var(--sky2);border-radius:12px;padding:6px 14px;box-shadow:0 4px 12px rgba(27,53,96,.06)}
.hd-tel small{font-size:.72rem;font-weight:800;color:var(--ink)}
.hd-tel small em{font-style:normal;color:var(--or2)}
.hd-tel b{font-size:1.2rem;font-weight:900;color:var(--navy2);letter-spacing:-.01em}
.hd-burger{display:none;margin-left:auto;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--navy)}

/* 긴급 배너 */
.urgent{display:flex;align-items:center;justify-content:center;gap:14px;min-height:68px;
  background:linear-gradient(90deg,#0f1f3d 0%,#1b3560 45%,#2b4a80 100%);color:#fff;padding-inline:16px}
.urgent-ic{font-size:1.6rem}
.urgent-t{font-weight:800;font-size:1.05rem}
.urgent-n{font-size:1.5rem;font-weight:900;text-decoration:underline;text-underline-offset:5px;color:#ffd6b8}

/* 히어로 */
.hero{background:linear-gradient(180deg,#eef3fb 0%,#f6f9fe 60%,#fff 100%);padding-block:64px 36px;text-align:center}
.hero-pill{display:inline-block;background:var(--sky2);color:var(--navy);font-size:.85rem;font-weight:800;padding:7px 16px;border-radius:999px}
.hero h1{margin-top:18px;font-size:34px;font-weight:900;letter-spacing:-.03em;color:#111827}
.hero-p{margin:12px auto 0;max-width:780px;color:var(--sub);font-size:1rem}
.hero-banner{margin:28px auto 0;width:100%;max-width:1166px;border-radius:18px;box-shadow:0 18px 40px rgba(27,53,96,.16)}

/* 프로모션 */
.promo-sec{padding-block:64px}
.promo{display:grid;grid-template-columns:598fr 570fr;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(27,53,96,.16)}
.promo img{width:100%;height:100%;object-fit:cover}
.promo-txt{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:40px 48px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.chip-w{align-self:flex-start;background:rgba(255,255,255,.18);font-size:.78rem;font-weight:800;padding:4px 12px;border-radius:999px}
.promo-txt h3{font-size:1.5rem;font-weight:900;letter-spacing:-.02em}
.promo-txt p{color:#dce6f5}
.promo-txt a{font-weight:800;font-size:.95rem;margin-top:6px}

/* 섹션 공통 */
.sec{padding-block:96px}
.sec-alt{background:var(--alt)}
.sh{display:flex;justify-content:center;align-items:baseline;gap:10px;flex-wrap:wrap;text-align:center;position:relative;padding-bottom:22px}
.sh::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:54px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--or),#f3a15c)}
.sh-e{font-size:.9rem;font-weight:700;letter-spacing:.06em;color:var(--sub);position:relative}
.sh-e::after{content:"";position:absolute;left:0;bottom:-6px;width:28px;height:2px;background:var(--or)}
.sh h2{font-size:30px;font-weight:900;letter-spacing:-.03em;color:var(--navy)}
.sh h2 em{font-style:normal;color:var(--or2)}
.sh h2 i{color:var(--navy2)}
.sh-p{text-align:center;color:var(--sub);font-size:.95rem;margin:18px auto 0;max-width:760px}
.sh-p.l{text-align:left;margin-left:0}
.btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:40px}
.b-or{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--or),var(--or2));color:#fff;font-weight:900;padding:15px 28px;border-radius:999px;box-shadow:0 8px 18px rgba(15,23,42,.14)}
.b-ln{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--or-d);border:2px solid #f6c8a3;font-weight:900;padding:13px 28px;border-radius:999px}
.b-ln2{display:inline-flex;background:#fff;color:var(--navy);border:2px solid var(--sky2);font-weight:900;padding:14px 30px;border-radius:999px}
.b-ln3{display:inline-flex;background:#fff;color:var(--navy2);border:1.5px solid var(--navy3);font-weight:700;padding:10px 32px;border-radius:8px}
.chip-pk{display:inline-block;background:var(--sky);color:var(--navy2);font-size:.78rem;font-weight:800;padding:3px 10px;border-radius:999px}
.ph{display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--navy3);font-weight:800;font-size:.9rem;
  background:repeating-linear-gradient(45deg,#e6edf7,#e6edf7 12px,#eef3fa 12px,#eef3fa 24px)}
.ph-43{aspect-ratio:4/3}
.ph-34{aspect-ratio:3/4}

/* 후기 */
.rv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:720px;margin:44px auto 0}
.rv-stats div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 10px;text-align:center;display:flex;flex-direction:column;align-items:center}
.rv-stats span{font-size:1.4rem}
.rv-stats b{font-size:1.45rem;font-weight:900;color:var(--or2);margin-top:4px}
.rv-stats small{color:var(--sub);font-size:.82rem}
.rv-feature{max-width:880px;margin:28px auto 0;background:linear-gradient(135deg,#fff 0%,#f4f8fe 100%);border:1px solid var(--line);border-radius:20px;padding:36px 28px 24px;box-shadow:var(--sh)}
.rv-quote{color:var(--ink);font-size:1.02rem;line-height:1.85}
.rv-who{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px dashed var(--line)}
.rv-who b{display:block;font-size:1rem}
.rv-who small{color:var(--sub);font-size:.82rem}
.av{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy2);color:#fff;font-weight:900}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.rv-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.rv-card header{display:flex;align-items:center;gap:10px}
.rv-card header b{display:block}
.rv-card header small{color:var(--sub);font-size:.8rem}
.rv-card .tag{display:inline-block;margin-top:12px;background:#fff1e6;color:var(--or-d);font-size:.78rem;font-weight:800;padding:3px 9px;border-radius:6px}
.rv-card p{margin:10px 0 14px;font-size:.94rem}
.rv-card footer{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);color:var(--sub);font-size:.8rem}

/* 출동 현장 */
.wk-card{max-width:980px;margin:32px auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.wk-card h3{font-size:1.1rem;font-weight:900}
.wk-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--sub);font-size:.85rem;margin-top:4px}
.wk-meta .or{color:var(--or2);font-weight:800}
.wk-photos{display:grid;gap:6px;margin-top:16px}
.wk-2{grid-template-columns:repeat(2,180px);justify-content:center}
.wk-5{grid-template-columns:repeat(5,1fr)}
.wk-more{aspect-ratio:3/4;border-radius:12px;background:linear-gradient(135deg,var(--or),#f3a15c);color:#fff;font-weight:900;font-size:1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.wk-more small{font-size:.8rem}

/* 빠른 검색 */
.srch{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.sh-e2{font-size:.85rem;font-weight:700;letter-spacing:.06em;color:var(--sub)}
.h2l{font-size:30px;font-weight:900;letter-spacing:-.03em;color:var(--navy);margin-top:4px}
.srch-f{display:grid;grid-template-columns:1fr auto;gap:8px}
.srch-f input{border:1.5px solid var(--line);border-radius:10px;padding:14px 16px;font-size:1rem;font-family:inherit;min-width:0}
.srch-f button{border:0;border-radius:10px;background:var(--or-d);color:#fff;font-weight:900;padding:0 26px;font-size:1rem;cursor:pointer;font-family:inherit}
.srch-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.srch-chips a{border:1.5px solid var(--sky2);border-radius:8px;padding:6px 12px;font-size:.86rem;font-weight:700;color:var(--navy)}
.srch-chips a:hover{border-color:var(--navy3)}

/* 출동 지역 */
.area-sec{background:linear-gradient(180deg,#eef3fb 0%,#fff 100%);border-top:1px solid var(--line)}
.pill-sm{display:inline-block;background:var(--sky2);color:var(--navy);font-size:.8rem;font-weight:800;padding:4px 14px;border-radius:999px}
.h2c{text-align:center;font-size:24px;font-weight:900;color:var(--navy);margin-top:10px;letter-spacing:-.02em}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.area{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--sh)}
.area-h{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.area-h b{font-size:1.3rem;font-weight:900;color:var(--or2)}
.area-h a{font-size:.8rem;font-weight:700;color:var(--or2)}
.area-c{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.area-c a{border:1.5px solid var(--sky2);border-radius:999px;padding:5px 12px;font-size:.84rem;font-weight:700;color:var(--navy)}

/* 서비스 */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.svc{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--sh)}
.svc img{width:100%;aspect-ratio:16/9;object-fit:cover}
.svc-b{padding:26px 32px 28px}
.svc h3{font-size:20px;font-weight:900}
.svc p{color:var(--sub);margin-top:8px;font-size:.95rem}
.svc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.svc-tags span{background:var(--sky);color:var(--navy2);font-size:.84rem;font-weight:800;padding:5px 10px;border-radius:999px}
.cta-strip{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:48px;background:linear-gradient(90deg,#f4f8fe,#fff5ec);border:1px solid var(--line);border-radius:16px;padding:22px}
.cta-strip span{font-weight:900;font-size:1.1rem}
.cs-call,.cs-sms{font-weight:900;padding:12px 24px;border-radius:999px;color:#fff}
.cs-call{background:var(--or-d)}
.cs-sms{background:var(--navy)}

/* 지원 정보 */
.sup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px}
.sup{border:1px solid var(--line);border-radius:14px;padding:28px 30px;display:flex;flex-direction:column;gap:8px;background:#fff}
.sup h3{font-size:18px;font-weight:900;color:var(--navy)}
.sup p{color:var(--sub);font-size:.9rem;flex:1}
.sup a{font-weight:900;color:var(--navy);margin-top:10px}

/* 카드뉴스 */
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.news{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.news img{width:100%;aspect-ratio:1/1;object-fit:cover}
.news-b{padding:22px 24px 24px}
.news-b span{font-size:.8rem;font-weight:900;letter-spacing:.06em;color:var(--or2)}
.news-b h3{font-size:18px;font-weight:900;margin-top:4px}
.news-b p{color:var(--sub);font-size:.88rem;margin-top:4px}

/* 상황별 */
.urg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.urg{background:#fff;border-radius:16px;padding:30px 32px;border-top:4px solid;box-shadow:var(--sh)}
.u1{border-color:#c62828} .u2{border-color:var(--or)} .u3{border-color:var(--navy3)}
.urg h3{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:900;color:var(--navy)}
.urg p{color:var(--sub);font-size:.93rem;margin-top:12px}
.mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.mini span{background:var(--sky);color:var(--navy2);font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px}

/* 왜 올케어생활수리 */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:72px}
.why{text-align:center}
.why-ic{display:grid;place-items:center;width:64px;height:64px;margin:0 auto;border-radius:14px;background:var(--sky);font-size:1.6rem}
.why h3{font-size:18px;font-weight:900;color:var(--navy);margin-top:18px}
.why p{color:var(--sub);font-size:.9rem;margin-top:6px}

/* 장비 */
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.eq{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--sh)}
.eq img{width:100%;aspect-ratio:1/1;object-fit:cover}
.eq-b{padding:24px 32px 30px}
.eq h3{font-size:18px;font-weight:900;color:var(--navy)}
.eq p{color:var(--sub);font-size:.9rem;margin-top:8px}
.eq-u{color:var(--ink)!important}
.eq-u b{color:var(--navy)}
.eq a{display:inline-block;margin-top:16px;font-weight:800;color:var(--or2);font-size:.9rem}

/* 진행 과정 */
.steps{list-style:none;display:flex;justify-content:space-between;gap:32px;margin-top:64px}
.steps li{flex:1;text-align:center;position:relative}
.steps li:not(:last-child)::after{content:"";position:absolute;top:28px;left:calc(50% + 40px);right:calc(-50% + 24px);height:2px;background:var(--line)}
.steps b{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:50%;background:var(--or-d);color:#fff;font-size:1.2rem;font-weight:900}
.steps h3{font-size:18px;font-weight:900;color:var(--navy);margin-top:14px}
.steps p{color:var(--sub);font-size:.88rem}

/* 문의 */
.flyer{display:block;max-width:720px;margin:48px auto 0}
.flyer img{width:100%;border-radius:16px;box-shadow:0 18px 40px rgba(27,53,96,.16)}
.b-sms{display:inline-flex;flex-direction:column;align-items:center;background:var(--navy);color:#fff;border-radius:999px;padding:12px 40px;box-shadow:0 8px 18px rgba(15,23,42,.14)}
.b-sms b{font-size:1rem}
.b-sms small{font-size:.75rem;color:#cdd9ec}

/* 칼럼·가이드 */
.post-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.post{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
#magazine .post img{aspect-ratio:16/10;object-fit:cover;width:100%}
#guides .post img{aspect-ratio:4/3;object-fit:cover;width:100%}
.post-b{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px}
.post-b .chip-pk{align-self:flex-start}
.post-b h3{font-size:16px;font-weight:900;line-height:1.45}
.post-b p{color:var(--sub);font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-b small{color:#6b7280;font-size:.78rem}
.post-b .more{color:var(--or2);font-weight:800;font-size:.9rem;margin-top:4px}

/* 많이 찾는 지역 */
.pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px}
.pop-grid a{border:1.5px solid var(--sky2);border-radius:10px;padding:14px 12px;text-align:center;font-weight:700;color:var(--navy);font-size:.92rem}
.pop-grid a:hover{border-color:var(--navy3)}

/* FAQ */
.faq{display:grid;gap:8px;margin-top:44px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;font-weight:800;padding:18px 28px 18px 0;position:relative;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--navy3)}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--sub);padding-bottom:18px}

/* 증상 구분 */
.related{background:#fff6ee;padding-block:80px}
.related-in{display:flex;justify-content:space-between;align-items:center;gap:24px}
.related h2{font-size:38px;font-weight:900;letter-spacing:-.03em;color:var(--navy)}
.related p{color:var(--sub);margin-top:8px}

/* 푸터 */
.ft{background:var(--deep);color:#b8c3d6;padding-block:40px}
.ft-in{display:grid;gap:8px}
.ft-logo{display:flex;align-items:center;gap:8px;color:#fff;font-size:1.2rem}
.ft p{font-size:.9rem}
.ft-todo{color:#9aa6bb;font-style:italic}
.ft-c{font-size:.8rem;color:#9aa6bb}

/* 떠 있는 버튼 */
.fab{position:fixed;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:45}
.fab a{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;text-align:center;box-shadow:0 8px 18px rgba(15,23,42,.18);font-weight:900}
.fab-call{background:var(--or-d);color:#fff;font-size:1.5rem}
.fab-form{background:var(--navy);color:#fff;font-size:.72rem;line-height:1.2}

/* 하단 고정 상담 바 */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#eef3fb;border-top:1px solid var(--sky2);box-shadow:0 -8px 20px rgba(15,23,42,.08)}
.dock-in{display:flex;align-items:center;gap:12px;min-height:88px}
.dock-l{font-weight:800;font-size:.9rem;color:var(--navy)}
.dock-tel{display:flex;align-items:center;gap:8px}
.dock-tel i{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--sky2)}
.dock-tel b{font-size:1.5rem;font-weight:900;color:var(--navy)}
.dock-i{width:188px;border:1px solid var(--sky2);border-radius:8px;padding:11px 12px;font-size:.92rem;font-family:inherit;background:#fff}
.dock-b{border:0;border-radius:10px;background:var(--or-d);color:#fff;font-weight:900;font-size:1rem;padding:12px 24px;cursor:pointer;font-family:inherit}
.dock-n{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--navy)}
.dock-n span{background:#fff;border:1px solid var(--sky2);border-radius:999px;padding:4px 12px;font-weight:700}
.dock-n label{display:flex;align-items:center;gap:6px}
.dock-n input{accent-color:var(--navy2)}
.dock-msg{position:absolute;left:50%;top:-34px;transform:translateX(-50%);background:#fff;border-radius:8px;padding:4px 12px;font-size:.85rem;font-weight:700;box-shadow:var(--sh)}
.dock-msg:empty{display:none}
.dock-msg.ok{color:#12734d} .dock-msg.err{color:#c62828}

/* ───── 반응형 ───── */
@media (max-width:1100px){
  .gnb{display:none}
  .hd-tel{margin-left:auto}
  .hd.open .gnb{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:#fff;padding:8px 16px 16px;border-bottom:1px solid var(--line)}
  .dock-n{display:none}
}
@media (max-width:900px){
  .sup-grid,.news-grid,.why-grid,.post-grid,.pop-grid{grid-template-columns:repeat(2,1fr)}
  .dock-i{width:140px}
}
@media (max-width:768px){
  body{padding-bottom:74px}
  .util{display:none}
  .hd-in{min-height:72px}
  .logo b{font-size:1.45rem}
  .hd-tel{display:none}
  .hd-burger{display:block}

  .urgent{flex-direction:column;gap:4px;min-height:135px;text-align:center;padding-block:14px}
  .urgent-t{font-size:.92rem}
  .urgent-n{font-size:1.35rem}

  .hero{padding-block:36px 24px}
  .hero-pill{font-size:.72rem;padding:6px 12px}
  .hero h1{font-size:22px;margin-top:14px}
  .hero-p{font-size:.86rem}
  .hero-p br{display:none}
  .hero-banner{margin-top:18px;border-radius:12px}

  .sec{padding-block:48px}
  .promo-sec{padding-block:32px}
  .promo{grid-template-columns:1fr;border-radius:14px}
  .promo-txt{padding:24px 22px}
  .promo-txt h3{font-size:1.2rem}

  .sh{padding-bottom:18px}
  .sh h2{font-size:20px}
  .sh-e{font-size:.78rem}
  .sh-p{font-size:.86rem}

  .rv-stats{gap:8px;margin-top:28px}
  .rv-stats b{font-size:1.15rem}
  .rv-feature{padding:26px 20px 20px;border-radius:16px}
  .rv-grid{grid-template-columns:1fr}

  .wk-card{padding:16px}
  .wk-2{grid-template-columns:repeat(2,1fr)}
  .wk-5{grid-template-columns:repeat(5,1fr);gap:4px}
  .wk-more{font-size:1rem}

  .srch{grid-template-columns:1fr;gap:18px}
  .h2l{font-size:20px}
  .srch-f{grid-template-columns:1fr}
  .srch-f button{padding:13px}
  .srch-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .srch-chips a{text-align:center}

  .h2c{font-size:18px}
  .area-grid{grid-template-columns:1fr;gap:16px}

  .svc-grid,.eq-grid,.urg-grid,.sup-grid,.why-grid,.post-grid{grid-template-columns:1fr;gap:20px}
  .svc-b,.eq-b{padding:20px 22px 22px}
  .svc h3{font-size:18px}
  .cta-strip{flex-direction:column;gap:10px}

  .news-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:26px;margin-inline:-16px;padding-inline:16px;padding-bottom:6px}
  .news{flex:0 0 266px;scroll-snap-align:start}

  .why-grid{gap:36px;margin-top:40px}

  .steps{flex-direction:column;gap:22px;margin-top:40px}
  .steps li::after{display:none}

  .flyer{margin-top:28px}
  .pop-grid{grid-template-columns:1fr 1fr}

  .related{padding-block:48px}
  .related-in{flex-direction:column;align-items:flex-start}
  .related h2{font-size:28px}

  .fab{top:auto;bottom:90px;transform:none;right:12px}
  .fab a{width:52px;height:52px}

  .dock-in{min-height:74px;gap:8px;justify-content:center}
  .dock-l,.dock-i[name=name]{display:none}
  .dock-tel b{font-size:1.15rem}
  .dock-tel i{width:34px;height:34px}
  .dock-i{width:auto;flex:1;min-width:0}
  .dock-b{padding:11px 14px}
}

/* ───── 스크롤 동작 (레퍼런스와 같은 방식) ───── */
/* 화면에 들어올 때 아래에서 떠오르며 나타남. JS 가 없으면 그냥 보인다. */
html.js .rv{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
html.js .rv.is-visible{opacity:1;transform:none}
html.js .rv-st>*{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
html.js .rv-st.is-visible>*{opacity:1;transform:none}
.rv-st.is-visible>:nth-child(2){transition-delay:.06s}
.rv-st.is-visible>:nth-child(3){transition-delay:.12s}
.rv-st.is-visible>:nth-child(4){transition-delay:.18s}
.rv-st.is-visible>:nth-child(5){transition-delay:.24s}
.rv-st.is-visible>:nth-child(6){transition-delay:.3s}
.rv-st.is-visible>:nth-child(7){transition-delay:.34s}
.rv-st.is-visible>:nth-child(8){transition-delay:.38s}
.rv-st.is-visible>:nth-child(n+9){transition-delay:.42s}
@media (prefers-reduced-motion:reduce){
  html.js .rv,html.js .rv-st>*{opacity:1!important;transform:none!important;transition:none!important}
}

/* 옆 버튼: 처음엔 아래로 숨어 있다가 스크롤하면 올라오고, 더 내리면 TOP 버튼이 나타남 */
.fab{top:auto;bottom:120px;transform:translateY(212px);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.fab.show{transform:none}
.fab-top{background:#fff!important;color:var(--navy)!important;border:1.5px solid var(--sky2);font-size:.72rem!important;
  opacity:0;visibility:hidden;transform:scale(.9) translateY(8px);transition:opacity .25s,transform .25s,visibility .25s}
.fab.show-top .fab-top{opacity:1;visibility:visible;transform:none}
@media (max-width:768px){
  .fab{bottom:90px}
}

/* 대비 보정: 흰 글자가 올라가는 주황 배경은 진한 쪽으로 */
.b-or{background:linear-gradient(180deg,var(--or2),var(--or-d))}
.wk-more{background:linear-gradient(135deg,var(--or-d),#9a3f06)}

/* ───── 카테고리 메가메뉴 ───── */
.gnb{gap:0}
.gnb-i{position:relative}
.gnb-t{display:block;padding:8px 9px;border-radius:8px;font-size:.93rem;font-weight:600;color:var(--ink);white-space:nowrap}
.gnb-t.on{color:var(--or2)}
.gnb-i:hover>.gnb-t,.gnb-i:focus-within>.gnb-t{background:var(--sky);color:var(--navy)}
.mega{display:none;position:absolute;left:0;top:calc(100% + 14px);min-width:260px;max-height:70vh;overflow:auto;
  background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 38px rgba(15,23,42,.14);padding:10px;z-index:60}
.gnb-i::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}   /* 메뉴로 내려가는 틈 */
.gnb-i.has:hover .mega,.gnb-i.has:focus-within .mega{display:block}
.mega>a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:.95rem;color:var(--ink);white-space:nowrap}
.mega>a i{font-style:normal;width:20px;text-align:center}
.mega>a:hover{background:var(--sky);color:var(--navy)}
.mega-all{margin-top:6px;border-top:1px solid var(--line);border-radius:0!important;padding-top:16px!important;color:var(--or2)!important;font-size:.86rem!important;font-weight:700}
.mega-g{padding:4px 0 8px}
.mega-g b{display:block;padding:10px 10px 8px;font-size:.88rem;font-weight:800;color:var(--navy);border-bottom:1px solid var(--line)}
.mega-g a{display:block;padding:12px 10px;font-size:.92rem;color:var(--ink);border-radius:8px;white-space:nowrap}
.mega-g a:hover{background:var(--sky);color:var(--navy)}
.mega-area{left:50%;transform:translateX(-50%);width:900px;padding:24px 28px}
.gnb-i.has:hover .mega-area,.gnb-i.has:focus-within .mega-area{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 26px}
.ma b{display:block;font-size:.95rem;font-weight:800;color:var(--navy);padding-bottom:8px;border-bottom:1px solid var(--line)}
.ma a{display:block;padding-top:8px;font-size:.86rem;color:var(--sub)}
.ma a:hover{color:var(--navy2)}
.ma-all{grid-column:1/-1}

@media (max-width:1100px){
  .hd.open .gnb{max-height:calc(100vh - 72px);overflow:auto;gap:0}
  .hd.open .gnb-i{border-bottom:1px solid var(--line)}
  .hd.open .gnb-t{padding:14px 4px;font-size:1rem;font-weight:700;border-radius:0;background:none!important}
  .gnb-i.has>.gnb-t::after{content:"⌄";float:right;color:var(--navy3)}
  .gnb-i::after{display:none}
  .mega,.mega-area{position:static;transform:none;width:auto;min-width:0;max-height:none;box-shadow:none;border:0;padding:0 0 10px 8px}
  .gnb-i.has:hover .mega,.gnb-i.has:focus-within .mega,.gnb-i.has:hover .mega-area,.gnb-i.has:focus-within .mega-area{display:none}
  .gnb-i.open .mega{display:block!important}
  .gnb-i.open .mega-area{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 16px}
  .mega>a{padding:10px 10px}
}

/* 모바일 메뉴 펼침 표시: 글자 대신 꺾쇠 */
@media (max-width:1100px){
  .gnb-i.has>.gnb-t{position:relative;padding-right:28px}
  .gnb-i.has>.gnb-t::after{content:"";float:none;position:absolute;right:8px;top:50%;width:8px;height:8px;
    border:solid var(--navy3);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
  .gnb-i.open>.gnb-t::after{transform:translateY(-30%) rotate(-135deg)}
}

/* 빈 사진 틀 글자 대비 4.45 -> 7 이상 */
.ph{color:var(--navy2)}

/* ───── 블로그 화면 (목록·본문) ───── */
.page-hd{background:linear-gradient(180deg,#eef3fb 0%,#f6f9fe 100%);padding-block:48px 40px;border-bottom:1px solid var(--line)}
.page-hd h1{font-size:32px;font-weight:900;letter-spacing:-.03em;color:var(--navy);line-height:1.35;margin-top:10px}
.page-hd .meta{color:var(--sub);margin-top:8px;font-size:.95rem}
.crumb{font-size:.85rem;color:var(--sub)}
.crumb a{color:var(--navy2);font-weight:700}
.narrow-w{max-width:820px}
.entry-wrap{padding-block:40px 64px}
.entry-thumb{margin:0 0 28px}
.entry-thumb img{width:100%;border-radius:16px;box-shadow:var(--sh)}
.entry{font-size:1.06rem;line-height:1.9;color:var(--ink)}
.entry>*+*{margin-top:1.1em}
.entry h2{font-size:1.55rem;font-weight:900;color:var(--navy);margin-top:2em;padding-left:12px;border-left:5px solid var(--or);line-height:1.4}
.entry h3{font-size:1.25rem;font-weight:800;color:var(--navy2);margin-top:1.6em}
.entry a{color:var(--navy2);text-decoration:underline;text-underline-offset:3px}
.entry img{border-radius:12px;height:auto}
.entry ul,.entry ol{padding-left:1.4em}
.entry li+li{margin-top:.4em}
.entry blockquote{border-left:4px solid var(--sky2);background:var(--alt);padding:14px 18px;border-radius:0 12px 12px 0;color:var(--sub)}
.entry table{width:100%;border-collapse:collapse;font-size:.95rem}
.entry th,.entry td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.entry th{background:var(--sky);color:var(--navy)}
.entry figure{margin-inline:0}
.entry figcaption{font-size:.85rem;color:var(--sub);text-align:center;margin-top:6px}
.entry .wp-block-image{margin-block:1.4em}
.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.entry-tags a{background:var(--sky);color:var(--navy2);font-size:.85rem;font-weight:700;padding:5px 12px;border-radius:999px}
.single-cta{margin-top:44px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,#f4f8fe,#fff5ec);border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.single-cta b{font-size:1.15rem;color:var(--navy)}
.single-cta p{color:var(--sub);margin-top:4px}
.single-cta-b{display:flex;gap:10px;flex-wrap:wrap}
.rel-sec{padding-block:64px}
.list-sec{padding-block:48px 80px}
.cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cat-chips a{border:1.5px solid var(--sky2);background:#fff;border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:700;color:var(--navy)}
.cat-chips a.on,.cat-chips a:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.post .post-b h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post img{aspect-ratio:16/10;object-fit:cover;width:100%}
.pager{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:40px}
.pager a,.pager span{min-width:40px;height:40px;display:inline-grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;font-weight:700;color:var(--navy);background:#fff}
.pager .current{background:var(--navy);border-color:var(--navy);color:#fff}
.empty-list{display:flex;flex-direction:column;align-items:center;gap:14px;padding-block:40px;color:var(--sub)}
@media (max-width:768px){
  .page-hd{padding-block:32px 28px}
  .page-hd h1{font-size:24px}
  .entry{font-size:1rem}
  .entry h2{font-size:1.3rem}
  .single-cta{padding:20px}
}
