*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#edf7fc;font-family:"Malgun Gothic","Noto Sans KR",Arial,sans-serif;color:#102e4d}.hero-image{width:100%;background:#062d53}.hero-wrap{position:relative;width:min(100%,1664px);margin:auto;line-height:0}.hero-wrap img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;background:transparent;z-index:5}
/* 좌표는 1664x928 승인 이미지 비율 기준 */
.nav-leak{left:28.5%;top:5.8%;width:5.1%;height:6%}.nav-drain{left:34.3%;top:5.8%;width:6.2%;height:6%}.nav-freeze{left:40.8%;top:5.8%;width:6.1%;height:6%}.nav-pipe{left:47.2%;top:5.8%;width:5.5%;height:6%}.nav-plumbing{left:52.8%;top:5.8%;width:7.4%;height:6%}.nav-case{left:60.4%;top:5.8%;width:5.7%;height:6%}.nav-customer{left:66.3%;top:5.8%;width:5.7%;height:6%}.top-phone{left:77.7%;top:4.8%;width:15.2%;height:7.5%}.hero-phone{left:7.5%;top:56.7%;width:12.5%;height:6.8%}.hero-case{left:20.8%;top:56.7%;width:11.5%;height:6.8%}.card-leak{left:6.9%;top:82.8%;width:21.1%;height:14.7%}.card-drain{left:28.5%;top:82.8%;width:21.1%;height:14.7%}.card-freeze{left:50.1%;top:82.8%;width:21.1%;height:14.7%}.card-pipe{left:71.7%;top:82.8%;width:21.1%;height:14.7%}.content{max-width:1180px;margin:0 auto;padding:70px 28px;background:#fff}.intro{max-width:820px;margin-bottom:35px}.intro span{color:#0787e8;font-weight:900}.intro h1{font-size:34px;line-height:1.35;margin:7px 0 15px}.intro p,.service-grid p{line-height:1.8;color:#53697d}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-grid article{padding:25px;border:1px solid #dce9f3;border-radius:14px}.service-grid h2{margin:0 0 8px;font-size:21px;color:#075ea9}.contact{text-align:center;background:#062c51;color:#fff;padding:55px 20px}.contact h2{font-size:30px;margin:0}.contact p{color:#d8ebf8}.contact a{display:inline-block;margin-top:12px;background:#078cf4;color:#fff;text-decoration:none;padding:13px 23px;border-radius:27px;font-size:20px;font-weight:900}@media(max-width:760px){.service-grid{grid-template-columns:1fr}.content{padding:45px 20px}.intro h1{font-size:27px}}
.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}

/* independent detail pages */
.detail-header{background:#fff;border-bottom:1px solid #dce8f2;position:sticky;top:0;z-index:20}
.detail-nav{max-width:1180px;margin:auto;min-height:74px;padding:0 24px;display:flex;align-items:center;gap:26px}
.detail-logo{font-size:24px;font-weight:900;color:#0a3158;margin-right:auto}.detail-logo span{color:#0789e8}
.detail-nav nav{display:flex;gap:20px;font-size:13px;font-weight:800}.detail-nav nav a:hover{color:#0789e8}
.detail-phone{background:#0789e8;color:white!important;padding:10px 16px;border-radius:22px;font-weight:900}
.detail-hero{background:linear-gradient(110deg,#052d53,#0870b6);color:white;padding:72px 24px}
.detail-hero>div{max-width:1120px;margin:auto}.detail-hero small{color:#65d7ff;font-weight:900}
.detail-hero h1{font-size:42px;margin:8px 0 15px}.detail-hero p{max-width:760px;line-height:1.8;color:#e1f2ff}
.detail-body{max-width:1120px;margin:auto;padding:55px 24px 75px}
.detail-body h2{font-size:27px;color:#0a5fa7;margin-top:40px}.detail-body p,.detail-body li{line-height:1.85;color:#50677c}
.info-box{background:#f2f8fc;border:1px solid #dceaf4;border-radius:14px;padding:22px;margin:25px 0}
.detail-cta{background:#062d52;color:white;text-align:center;padding:45px 20px}.detail-cta a{display:inline-block;background:#078cf2;color:white;padding:13px 22px;border-radius:26px;font-weight:900}
@media(max-width:800px){.detail-nav nav{display:none}.detail-hero h1{font-size:32px}.detail-logo{font-size:20px}}

/* 2-3: 메인과 상세페이지 공통 브랜드 헤더 */
.brandbar{background:#062c52;color:#d9edfb;font-size:12px}
.brandbar-inner{max-width:1180px;height:30px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.common-header{background:#fff;border-bottom:1px solid #dce8f2;position:sticky;top:0;z-index:50}
.common-header-inner{max-width:1180px;height:76px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px}
.common-logo{display:flex;align-items:center;gap:7px;margin-right:auto;white-space:nowrap}
.common-logo .home{font-size:31px;color:#078cf2}
.common-logo .name{font-size:24px;font-weight:1000;letter-spacing:-1.2px}
.common-logo .name b{color:#092b50}.common-logo .name strong{color:#078cf2}
.common-logo small{display:block;text-align:center;color:#536c82;font-size:9px;letter-spacing:0}
.common-menu{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:900}
.common-menu a{padding:26px 0 22px;border-bottom:3px solid transparent}
.common-menu a:hover,.common-menu a.active{color:#078cf2;border-bottom-color:#078cf2}
.common-phone{background:#078cf2;color:#fff!important;border-radius:26px;padding:11px 18px;font-weight:900;white-space:nowrap}
.detail-hero{border-top:0}
@media(max-width:850px){
 .brandbar-inner span:last-child{display:none}
 .common-header-inner{height:66px;padding:0 15px}
 .common-menu{display:none}
 .common-logo .name{font-size:19px}
 .common-logo .home{font-size:25px}
 .common-phone{font-size:11px;padding:9px 11px}
}

/* 2-4: 승인된 메인 화면의 상단 느낌을 상세페이지까지 최대한 동일하게 */
.sub-top{background:#07345f;color:#fff}
.sub-top .utility2{height:35px;max-width:1420px;margin:auto;padding:0 7%;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}
.sub-header{background:#fff}
.sub-header-inner{height:76px;max-width:1420px;margin:auto;padding:0 7%;display:flex;align-items:center;gap:34px}
.sub-logo{display:flex;align-items:center;min-width:270px}
.sub-logo .roofmark{font-size:38px;color:#078cf2;margin-right:6px;line-height:1}
.sub-logo .logotype{line-height:1}.sub-logo .logotype div{font-size:27px;font-weight:1000;letter-spacing:-2px}
.sub-logo .logotype b{color:#092b50}.sub-logo .logotype strong{color:#078cf2}
.sub-logo .logotype small{display:block;text-align:center;color:#173e62;font-size:10px;margin-top:5px}
.sub-menu{display:flex;align-items:center;justify-content:center;gap:28px;flex:1;font-size:13px;font-weight:900}
.sub-menu a{height:76px;display:flex;align-items:center;border-bottom:4px solid transparent}
.sub-menu a.active,.sub-menu a:hover{color:#078cf2;border-bottom-color:#078cf2}
.sub-call{background:#078cf2;color:#fff!important;border-radius:30px;padding:13px 22px;font-size:16px;font-weight:900;white-space:nowrap}
.category-hero{min-height:330px;background:radial-gradient(circle at 78% 42%,#087bc5,#07558f 34%,#063c68 63%,#052c50);color:#fff}
.category-hero-inner{max-width:1220px;margin:auto;padding:58px 7%;position:relative;overflow:hidden}
.category-hero .eyebrow{color:#39caff;font-size:18px;font-weight:900}
.category-hero h1{font-size:46px;line-height:1.2;margin:10px 0 16px;letter-spacing:-2px}
.category-hero p{max-width:690px;line-height:1.8;color:#e1f2ff;font-size:15px}
.category-hero .water-ring{position:absolute;width:250px;height:250px;border:24px solid rgba(30,190,255,.32);border-left-color:transparent;border-radius:50%;right:8%;top:36px;transform:rotate(-28deg)}
.category-hero .water-ring:after{content:"김현누수설비";position:absolute;left:18px;top:86px;font-size:25px;font-weight:1000;color:#fff;transform:rotate(28deg)}
.detail-body{padding-top:45px}
@media(max-width:950px){.sub-menu{display:none}.sub-header-inner{padding:0 18px}.sub-logo{min-width:0;margin-right:auto}.sub-call{font-size:11px;padding:10px}.sub-top .utility2 span:last-child{display:none}.category-hero h1{font-size:34px}}

/* 2-5: 상세페이지 상단 로고 = 승인 메인 이미지의 로고 원본 영역.
   approved-main-visual.png 파일 자체는 크기변환/리사이즈/재저장하지 않음. */
.sub-logo.original-logo{
  width:300px;height:76px;min-width:300px;
  display:block;overflow:hidden;
  background-image:url("approved-main-visual.png");
  background-repeat:no-repeat;
  background-size:auto; /* 원본 픽셀 크기 그대로 */
  background-position:-108px -38px;
}
.sub-logo.original-logo *{display:none!important}
@media(max-width:950px){
  .sub-logo.original-logo{transform:none;width:300px;min-width:300px;height:66px;background-position:-108px -43px}
}

/* 2-6 상세페이지 전용: 로고칸 삭제 + 메뉴 줄맞춤 + 스크롤 고정 전화칸 */
.detail-clean-header{background:#fff;border-bottom:1px solid #dbe8f2;position:sticky;top:0;z-index:80}
.detail-clean-inner{max-width:1180px;height:72px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center}
.detail-clean-menu{display:flex;align-items:center;justify-content:center;gap:34px;font-size:14px;font-weight:900}
.detail-clean-menu a{height:72px;display:flex;align-items:center;border-bottom:4px solid transparent}
.detail-clean-menu a:hover,.detail-clean-menu a.active{color:#078cf2;border-bottom-color:#078cf2}
.follow-call{
 position:fixed;right:24px;top:50%;transform:translateY(-50%);
 z-index:100;background:#078cf2;color:#fff!important;text-decoration:none;
 width:168px;padding:15px 12px;border-radius:14px;
 box-shadow:0 8px 24px rgba(0,45,85,.22);text-align:center;font-weight:900;
 line-height:1.35
}
.follow-call small{display:block;font-size:11px;font-weight:700;opacity:.9;margin-bottom:3px}
.follow-call strong{display:block;font-size:16px}
@media(max-width:900px){
 .detail-clean-inner{height:60px;overflow-x:auto;justify-content:flex-start;padding:0 14px}
 .detail-clean-menu{gap:20px;white-space:nowrap;font-size:12px}
 .detail-clean-menu a{height:60px}
 .follow-call{right:12px;top:auto;bottom:16px;transform:none;width:auto;min-width:150px;padding:11px 14px;border-radius:28px}
 .follow-call small{display:none}
}

/* 2-7: 상세페이지는 큰 비주얼 배너 없이 깔끔한 텍스트형 */
.detail-body{padding-top:48px}
.detail-body>section:first-child h2{margin-top:0}
.detail-body:before{
 content:"김현누수설비";
 display:block;color:#078cf2;font-size:13px;font-weight:900;
 margin-bottom:7px
}
.detail-body>section:first-child h2{font-size:31px;color:#092f55;margin-bottom:12px}

/* 2-8 깔끔한 상세페이지 디자인 */
.detail-body{max-width:1080px;padding:55px 28px 85px}
.detail-body:before{content:"KIMHYUN PLUMBING";font-size:11px;letter-spacing:1.8px;color:#078cf2}
.detail-body section{background:#fff;border:1px solid #e2ebf2;border-radius:16px;padding:30px 32px;margin:0 0 18px;box-shadow:0 5px 18px rgba(15,55,85,.045)}
.detail-body section h2{font-size:23px!important;margin:0 0 12px!important;color:#123b60!important;letter-spacing:-.6px}
.detail-body section h2:before{content:"";display:inline-block;width:5px;height:20px;background:#078cf2;border-radius:5px;margin-right:11px;vertical-align:-3px}
.detail-body section p{margin:0;line-height:1.9;color:#5a7083}
.detail-body .info-box{border:0;border-left:4px solid #078cf2;border-radius:8px;background:#f3f9fd;box-shadow:none;padding:22px 25px}
.detail-body .info-box strong{font-size:17px;color:#123b60}
.detail-body .info-box p{margin-top:6px}
.detail-cta{background:#f4f9fc!important;color:#123b60!important;border-top:1px solid #e2edf4}
.detail-cta h2{margin-top:0}.detail-cta a{box-shadow:0 6px 16px rgba(7,140,242,.18)}
/* 시공사례: 사진 + 제목만 */
.case-gallery{max-width:1180px;margin:auto;padding:50px 28px 90px}
.case-gallery-head{margin-bottom:25px}.case-gallery-head small{color:#078cf2;font-weight:900}
.case-gallery-head h1{font-size:31px;margin:5px 0;color:#123b60}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case-card{display:block;background:#fff;border:1px solid #e0eaf1;border-radius:14px;overflow:hidden;transition:.18s ease;box-shadow:0 4px 16px rgba(15,55,85,.04)}
.case-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,55,85,.09)}
.case-photo{aspect-ratio:4/3;background:linear-gradient(135deg,#edf4f8,#dfeaf1);display:grid;place-items:center;color:#8298a9;font-size:13px}
.case-title{padding:15px 17px 17px;font-size:16px;font-weight:900;color:#173d5e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:800px){.detail-body section{padding:23px 21px}.case-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.case-grid{grid-template-columns:1fr}}

/* 2-9 실제 업체형 상세페이지 */
.pro-page{max-width:1080px;margin:auto;padding:52px 28px 85px}
.pro-intro{padding:0 0 30px;border-bottom:1px solid #e2ebf2}
.pro-intro .label{color:#078cf2;font-size:12px;font-weight:900;letter-spacing:1px}
.pro-intro h1{font-size:34px;letter-spacing:-1.2px;color:#102f4d;margin:7px 0 12px}
.pro-intro p{max-width:760px;line-height:1.85;color:#5b7184;margin:0}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 42px}
.quick{background:#f6fafc;border:1px solid #e1ebf2;border-radius:13px;padding:20px}
.quick b{display:block;color:#123b60;margin-bottom:6px}.quick span{font-size:13px;line-height:1.6;color:#607587}
.pro-section{margin-top:46px}.pro-section>.eyebrow{font-size:11px;color:#078cf2;font-weight:900;letter-spacing:1.4px}
.pro-section>h2{font-size:26px;color:#123b60;margin:7px 0 20px;letter-spacing:-.8px}
.symptoms{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.symptom{border:1px solid #e0eaf1;border-radius:12px;padding:18px 20px;background:#fff}
.symptom b{display:block;color:#173d5e;margin-bottom:5px}.symptom span{font-size:13px;line-height:1.65;color:#627789}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:step}
.process .step{position:relative;border-top:3px solid #078cf2;background:#f7fafc;padding:20px 17px;border-radius:5px 5px 12px 12px}
.process .step:before{counter-increment:step;content:"0" counter(step);display:block;color:#078cf2;font-weight:1000;font-size:12px;margin-bottom:9px}
.process b{font-size:15px;color:#173d5e}.process p{font-size:12px;line-height:1.65;color:#65798b;margin:7px 0 0}
.equipment{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.equipment div{border:1px solid #e0eaf1;border-radius:12px;padding:19px}
.equipment b{display:block;color:#173d5e;margin-bottom:5px}.equipment span{font-size:12px;line-height:1.6;color:#667b8d}
.principle{margin-top:45px;background:#0b3c66;color:white;border-radius:16px;padding:29px 32px;display:flex;align-items:center;gap:30px}
.principle h2{font-size:22px;min-width:235px;margin:0}.principle p{margin:0;line-height:1.8;color:#dcebf5;font-size:14px}
.faq{border-top:1px solid #e1eaf1}.faq details{border-bottom:1px solid #e1eaf1;padding:18px 2px}.faq summary{cursor:pointer;font-weight:900;color:#173d5e}.faq p{color:#607588;line-height:1.75;font-size:14px}
.bottom-contact{margin-top:55px;text-align:center;padding:38px;border-radius:16px;background:#f1f8fc;border:1px solid #dceaf3}
.bottom-contact h2{margin:0 0 8px;color:#123b60}.bottom-contact p{color:#63788a}.bottom-contact a{display:inline-block;margin-top:8px;background:#078cf2;color:white;padding:13px 23px;border-radius:26px;font-weight:900}
@media(max-width:800px){.quick-grid,.equipment{grid-template-columns:1fr}.symptoms{grid-template-columns:1fr}.process{grid-template-columns:repeat(2,1fr)}.principle{display:block}.principle h2{margin-bottom:10px}}
@media(max-width:500px){.process{grid-template-columns:1fr}.pro-intro h1{font-size:28px}}

/* 3-0 상세페이지 좌측(11시 방향) 홈페이지 복귀 링크 */
.detail-clean-inner{position:relative}
.detail-clean-menu .home-link{
  position:absolute;
  left:24px;
  top:0;
  height:72px;
  display:flex;
  align-items:center;
  gap:5px;
  color:#173d5e;
  font-weight:900;
  border-bottom:4px solid transparent;
}
.detail-clean-menu .home-link:hover{
  color:#078cf2;
  border-bottom-color:#078cf2;
}
@media(max-width:900px){
  .detail-clean-menu .home-link{
    position:static;
    height:60px;
    padding-right:8px;
    color:#078cf2;
  }
}

/* 3-1: '홈페이지' 대신 상호명으로 메인 연결 */
.detail-clean-menu .brand-home{
  gap:9px;color:#123b60;text-decoration:none;letter-spacing:-.5px;
  border-bottom-color:transparent;
}
.brand-home .brand-mark{
  width:28px;height:28px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#078cf2;color:#fff;font-size:15px;font-weight:1000;
  box-shadow:0 4px 10px rgba(7,140,242,.16)
}
.brand-home .brand-name{font-size:16px;font-weight:1000}
.detail-clean-menu .brand-home:hover{color:#078cf2;border-bottom-color:transparent}
.detail-clean-menu .brand-home:hover .brand-mark{transform:translateY(-1px)}
@media(max-width:900px){
 .brand-home .brand-name{font-size:14px}
 .brand-home .brand-mark{width:25px;height:25px;font-size:13px}
}

/* 3-2: K 심볼 대신 물방울 심볼 */
.brand-home .water-drop{
  background:#eaf7ff;
  color:#078cf2;
  font-size:17px;
  line-height:1;
  box-shadow:none;
}
.detail-clean-menu .brand-home:hover .water-drop{
  background:#dff3ff;
  transform:translateY(-1px);
}

/* 3-5 시공사례: 한 페이지 50개용 컴팩트 썸네일 + 클릭 확대 */
.case-gallery{max-width:1280px}
.case-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.case-card{border-radius:10px;cursor:pointer}
.case-photo{aspect-ratio:4/3;font-size:12px;overflow:hidden}
.case-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s ease}
.case-card:hover .case-photo img{transform:scale(1.025)}
.case-title{padding:10px 11px 12px;font-size:14px}
.case-count-note{margin:-13px 0 24px;color:#71879a;font-size:13px}
.case-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(5,18,30,.9);display:none;align-items:center;justify-content:center;padding:34px}
.case-lightbox.open{display:flex}
.case-lightbox-inner{position:relative;max-width:min(1200px,92vw);max-height:92vh;text-align:center}
.case-lightbox img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.4)}
.case-lightbox-title{color:#fff;font-size:16px;font-weight:800;margin-top:12px}
.case-lightbox-close{position:absolute;right:-12px;top:-46px;border:0;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer}
@media(max-width:1050px){.case-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.case-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.case-grid{grid-template-columns:repeat(2,1fr);gap:10px}.case-gallery{padding-left:15px;padding-right:15px}.case-title{font-size:13px;padding:9px}.case-lightbox{padding:16px}}

/* 3-6 SEO 안내 영역: 메인 비주얼은 유지하고 하단에 실제 읽을 수 있는 콘텐츠만 추가 */
.seo-guide{max-width:1180px;margin:0 auto 34px;padding:0 24px}.seo-guide-inner{background:#fff;border:1px solid #e5eaf0;border-radius:18px;padding:30px 34px;box-shadow:0 8px 26px rgba(17,40,70,.05)}.seo-guide h2{margin:0 0 14px;font-size:25px;color:#102b4e}.seo-guide p{margin:9px 0;line-height:1.85;color:#46576a;font-size:15px}.seo-guide a{color:#145fa8;font-weight:700;text-decoration:none}.seo-guide a:hover{text-decoration:underline}


/* 3-9 메인 최근 시공사례 */
.home-cases{max-width:1180px;margin:0 auto;background:#fff;padding:62px 28px 56px;border-bottom:1px solid #e3edf5}
.home-cases-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.home-cases-head span{font-size:13px;font-weight:900;letter-spacing:1.4px;color:#0787e8}
.home-cases-head h2{font-size:31px;letter-spacing:-1.4px;margin:6px 0 8px;color:#102e4d}
.home-cases-head p{margin:0;color:#63788a;line-height:1.7;font-size:14px}
.home-cases-more{white-space:nowrap;text-decoration:none;color:#075ea9;font-weight:900;border:1px solid #cfe1ee;border-radius:24px;padding:11px 17px;background:#fff}
.home-case-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.home-case-card{display:block;text-decoration:none;color:#102e4d;border:1px solid #dce9f3;border-radius:13px;overflow:hidden;background:#fff;transition:.18s ease;box-shadow:0 4px 14px rgba(9,57,93,.045)}
.home-case-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(9,57,93,.10);border-color:#b9d9ee}
.home-case-photo{aspect-ratio:5/4;background:linear-gradient(135deg,#edf6fb,#dfeef7);display:flex;align-items:center;justify-content:center;color:#6c879a;font-size:13px;font-weight:800;border-bottom:1px solid #e0edf5}
.home-case-card strong{display:block;padding:13px 14px 4px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-case-card small{display:block;padding:0 14px 14px;color:#71879a;font-size:12px}
.home-case-note{margin:19px 0 0;color:#73899a;font-size:12px;line-height:1.7}
@media(max-width:900px){.home-case-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.home-cases{padding:42px 18px}.home-cases-head{align-items:flex-start;flex-direction:column}.home-case-grid{grid-template-columns:repeat(2,1fr);gap:10px}.home-cases-more{font-size:13px}.home-case-card strong{font-size:13px}.home-case-card small{font-size:11px}}

/* 4-3 상담지역 줄맞춤 */
.service-area{margin-top:26px;padding-top:24px;border-top:1px solid #e8edf2}
.service-area h3{margin:0 0 16px;font-size:19px;color:#102b4e;letter-spacing:-.4px}
.area-list{border-top:2px solid #173f68;border-bottom:1px solid #dfe7ee}
.area-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:15px 10px;border-bottom:1px solid #e7edf2;align-items:start}
.area-row:last-child{border-bottom:0}
.area-row strong{color:#145fa8;font-size:15px;line-height:1.8;white-space:nowrap}
.seo-guide .area-row p{margin:0;color:#536678;font-size:14px;line-height:1.8;word-break:keep-all}
.seo-guide .area-notice{margin:15px 2px 0;font-size:13px;color:#758595;line-height:1.7}
@media(max-width:680px){.area-row{grid-template-columns:1fr;gap:4px;padding:13px 4px}.area-row strong{font-size:14px}.seo-guide .area-row p{font-size:13px;line-height:1.75}}

/* 4-4 SEO internal link section */
.seo-service-links{max-width:1180px;margin:34px auto 60px;padding:0 24px}.seo-service-links h2{font-size:26px;margin:0 0 18px;color:#102a43}.seo-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seo-link-grid a{display:flex;flex-direction:column;gap:7px;padding:18px 20px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#17324d;text-decoration:none}.seo-link-grid a:hover{border-color:#9bbfe5;box-shadow:0 8px 20px rgba(20,50,80,.07)}.seo-link-grid strong{font-size:16px}.seo-link-grid span{font-size:13px;line-height:1.55;color:#60758a}@media(max-width:760px){.seo-link-grid{grid-template-columns:1fr}.seo-service-links{padding:0 16px}}

/* 4-5: 메인 H1을 상단에 배치 */
.main-seo-heading{max-width:1664px;margin:0 auto;padding:13px 34px 12px;background:#fff;border-bottom:1px solid #e7edf5;box-sizing:border-box}
.main-seo-heading h1{margin:0;color:#17365f;font-size:18px;line-height:1.45;font-weight:700;letter-spacing:-.35px}
@media(max-width:760px){.main-seo-heading{padding:10px 16px}.main-seo-heading h1{font-size:15px;line-height:1.4}}

/* 4-6: 메인 서비스 제목 내부링크 */
.service-title-link{color:inherit;text-decoration:none;display:inline-block;position:relative;transition:color .18s ease,transform .18s ease}
.service-title-link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:currentColor;transition:width .18s ease}
.service-title-link:hover,.service-title-link:focus-visible{color:#0787e8;transform:translateY(-1px)}
.service-title-link:hover::after,.service-title-link:focus-visible::after{width:100%}
.service-title-link:focus-visible{outline:2px solid #0787e8;outline-offset:5px;border-radius:3px}

/* 4-8: 메인 이미지 상단 전화번호와 같은 줄의 카테고리 링크 표시 */
.hero-wrap .nav-leak,
.hero-wrap .nav-drain,
.hero-wrap .nav-freeze,
.hero-wrap .nav-pipe,
.hero-wrap .nav-plumbing,
.hero-wrap .nav-case{
  border-radius:8px;
  transition:background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.hero-wrap .nav-leak::after,
.hero-wrap .nav-drain::after,
.hero-wrap .nav-freeze::after,
.hero-wrap .nav-pipe::after,
.hero-wrap .nav-plumbing::after,
.hero-wrap .nav-case::after{
  content:"";
  position:absolute;
  left:18%; right:18%; bottom:8%;
  height:2px;
  border-radius:2px;
  background:#178de0;
  opacity:.38;
  transform:scaleX(.72);
  transition:opacity .18s ease, transform .18s ease;
}
.hero-wrap .nav-leak:hover,
.hero-wrap .nav-drain:hover,
.hero-wrap .nav-freeze:hover,
.hero-wrap .nav-pipe:hover,
.hero-wrap .nav-plumbing:hover,
.hero-wrap .nav-case:hover{
  background:rgba(20,139,224,.07);
  box-shadow:inset 0 0 0 1px rgba(20,139,224,.16);
  transform:translateY(-1px);
}
.hero-wrap .nav-leak:hover::after,
.hero-wrap .nav-drain:hover::after,
.hero-wrap .nav-freeze:hover::after,
.hero-wrap .nav-pipe:hover::after,
.hero-wrap .nav-plumbing:hover::after,
.hero-wrap .nav-case:hover::after{
  opacity:1;
  transform:scaleX(1);
}
.hero-wrap .nav-leak:focus-visible,
.hero-wrap .nav-drain:focus-visible,
.hero-wrap .nav-freeze:focus-visible,
.hero-wrap .nav-pipe:focus-visible,
.hero-wrap .nav-plumbing:focus-visible,
.hero-wrap .nav-case:focus-visible{
  outline:2px solid #178de0;
  outline-offset:2px;
  background:rgba(20,139,224,.07);
}

/* 4-9: 메인 이미지에 포함된 기존 개인번호를 업무용 번호로 HTML/CSS 오버레이 */
.hero-wrap .top-phone{
  background:#078cf4;
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;
  font-weight:900;font-size:clamp(11px,1.18vw,20px);
  line-height:1;letter-spacing:-.02em;
  z-index:7;box-shadow:0 0 0 2px rgba(255,255,255,.08) inset;
}
.hero-wrap .top-phone span{display:block;white-space:nowrap;line-height:1}
.hero-wrap .top-phone:hover{filter:brightness(1.04)}


/* 5-0: 메인 페이지 스크롤 고정 전화상담 버튼 */
.floating-phone{
  position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:1000;
  min-width:190px;padding:14px 18px;border-radius:16px;background:#087fe5;color:#fff;
  text-decoration:none;text-align:center;box-shadow:0 8px 24px rgba(0,52,105,.24);
  border:2px solid rgba(255,255,255,.9);font-weight:800;line-height:1.25;
}
.floating-phone-label{display:block;font-size:13px;margin-bottom:5px;opacity:.92}
.floating-phone strong{display:block;font-size:18px;white-space:nowrap}
.floating-phone:hover{transform:translateY(-50%) scale(1.03);filter:brightness(1.04)}
.floating-phone:focus-visible{outline:3px solid #ffcf33;outline-offset:3px}
@media (max-width:900px){
  .floating-phone{right:12px;bottom:12px;top:auto;transform:none;min-width:0;padding:11px 14px;border-radius:14px}
  .floating-phone:hover{transform:scale(1.02)}
  .floating-phone-label{display:none}
  .floating-phone strong{font-size:15px}
}
