/* 지역안내 / 배포(지역·시군구·지하철역·아파트·신주소) 페이지 전용 스타일
   - 풀와이드 고대비 히어로 섹션 (네이비 그라데이션 + 선명한 화이트 타이포그래피)
   - 이미지 너비 맞춤(Full-width responsive)
   - 상단 서비스 설명 및 안심 보장 뱃지 스타일링
   - 하단 고정 2버튼 플로팅 상담 바 (왼쪽 접수폼 / 오른쪽 긴급전화)
   - 메인 홈페이지 쇼케이스 섹션 호환 스타일 */
:root{
    --navy:#134a82;
    --brand-navy:#134a82;
    --brand-blue:#1a5fa0;
    --accent:#1e89eb;
    --brand-light:#1e89eb;
    --orange:#e2572b;
    --brand-red:#e2572b;
    --amber:#f59e0b;
    --bg-light:#f8fafc;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;color:#1f2937;background:#fdfdfd;padding-bottom:78px;}
a{text-decoration:none;color:inherit;}

/* ---- 카드/칩류 ---- */
.region-card{border-radius:16px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 1px 3px rgba(19,74,130,.08);background:#fff;border:1px solid #e2e8f0;padding:20px;display:block;}
.region-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(19,74,130,.14);border-color:#1e89eb80;}
.region-name{font-size:1.05rem;font-weight:800;color:var(--brand-navy,var(--navy));margin-bottom:6px;}
.region-count{color:var(--brand-light,var(--accent));font-weight:700;font-size:.85rem;}
.kw-chip{border-radius:999px;background:#eef6ff;color:var(--brand-navy,var(--navy));font-weight:700;padding:9px 16px;font-size:.88rem;display:inline-block;transition:all .15s ease;border:1px solid #d8e8f8;}
.kw-chip:hover{background:var(--brand-navy,var(--navy));color:#fff;border-color:var(--brand-navy,var(--navy));transform:translateY(-1px);box-shadow:0 4px 12px rgba(19,74,130,.2);}
.kw-chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.sido-group-title{border-bottom:2px solid var(--brand-light,var(--accent));padding-bottom:8px;margin:32px auto 14px;max-width:1100px;font-size:1.15rem;font-weight:800;color:var(--brand-navy,var(--navy));}
.sido-group-title a{color:var(--brand-navy,var(--navy));transition:color .15s ease;}
.sido-group-title a:hover{color:var(--brand-light,var(--accent));}
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;max-width:1100px;margin:0 auto 12px;}

/* ---- 검색창 ---- */
.area-search-box{display:flex;gap:10px;max-width:600px;margin:0 auto;}
.area-search-box input{flex:1;padding:14px 18px;border:2px solid #cfe0f5;border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:#111827;}
.area-search-box input:focus{outline:2px solid var(--brand-light,var(--accent));outline-offset:1px;border-color:var(--brand-light,var(--accent));}
.area-search-box button{border-radius:12px;background:var(--brand-navy,var(--navy));color:#fff;border:none;padding:0 24px;font-weight:800;font-size:1rem;cursor:pointer;transition:background .15s;white-space:nowrap;}
.area-search-box button:hover{background:var(--brand-blue);}
.area-search-result{margin-top:14px;display:flex;flex-direction:column;gap:8px;max-width:600px;margin-left:auto;margin-right:auto;}
.area-search-hit{border-radius:12px;background:#eef6ff;color:var(--brand-navy,var(--navy));font-weight:800;padding:12px 16px;border:1px solid #cfe0f5;}

/* ---- 상단 히어로 섹션 (풀와이드 고대비 다크 네이비 + 화이트 텍스트) ---- */
.page-hero{
    position:relative;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:52px 16px 48px !important;
    text-align:center;
    background:linear-gradient(135deg,var(--brand-navy,#134a82) 0%,var(--brand-blue,#1a5fa0) 58%,var(--brand-light,#1e89eb) 100%) !important;
    color:#ffffff !important;
    overflow:hidden;
    border-bottom:1px solid rgba(255,255,255,0.14);
}
.page-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 20% 20%,rgba(255,255,255,0.12),transparent 52%),radial-gradient(circle at 80% 80%,rgba(14,165,233,0.18),transparent 50%);
    pointer-events:none;
}
.page-hero-inner{
    position:relative;
    z-index:2;
    max-width:1080px;
    margin:0 auto;
    text-align:center;
}
.page-hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 16px;
    border-radius:999px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.28);
    color:#f0f9ff !important;
    font-size:.82rem;
    font-weight:800;
    margin-bottom:16px;
    letter-spacing:-.01em;
}
.page-hero-kicker-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#4ade80;
    box-shadow:0 0 0 4px rgba(74,222,128,0.25);
    display:inline-block;
}
.page-hero h1{
    font-size:clamp(1.55rem,3.3vw,2.45rem) !important;
    font-weight:900 !important;
    color:#ffffff !important;
    margin:0 auto 16px !important;
    line-height:1.35 !important;
    word-break:keep-all;
    letter-spacing:-.02em;
    max-width:960px;
    text-shadow:0 2px 12px rgba(0,0,0,0.22);
}
.page-hero .service-desc-text{
    font-size:1.05rem !important;
    color:#e0f2fe !important;
    line-height:1.75 !important;
    max-width:860px;
    margin:0 auto 22px !important;
    word-break:keep-all;
}
.page-hero .service-desc-text strong{
    color:#ffffff !important;
    font-weight:900;
    text-decoration:underline;
    text-decoration-color:rgba(125,211,252,0.7);
    text-underline-offset:4px;
}
.page-hero .service-features{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px 10px;
    margin:0 auto 26px !important;
    max-width:940px;
}
.page-hero .service-feat-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:rgba(255,255,255,0.14) !important;
    color:#ffffff !important;
    padding:8px 15px;
    border-radius:999px;
    font-size:.88rem;
    font-weight:700;
    border:1px solid rgba(255,255,255,0.32) !important;
    backdrop-filter:blur(4px);
}
.page-hero .service-feat-badge i{
    color:#7dd3fc !important;
}
.service-action-bar{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    margin-top:8px;
    flex-wrap:wrap;
}
.btn-call-direct{
    background:linear-gradient(90deg,var(--brand-red,#e2572b),var(--amber,#f59e0b)) !important;
    color:#ffffff !important;
    padding:14px 28px;
    border-radius:999px;
    font-weight:900;
    font-size:1.06rem;
    box-shadow:0 8px 22px rgba(226,87,43,.38);
    transition:transform .15s ease,box-shadow .15s ease;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid rgba(255,255,255,0.22);
}
.btn-call-direct:hover{transform:translateY(-2px);color:#ffffff !important;box-shadow:0 12px 26px rgba(226,87,43,.48);}
.btn-form-direct{
    background:#ffffff !important;
    color:var(--brand-navy,#134a82) !important;
    padding:14px 28px;
    border-radius:999px;
    font-weight:900;
    font-size:1.06rem;
    box-shadow:0 8px 22px rgba(0,0,0,.2);
    transition:transform .15s ease,background .15s ease;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:2px solid #ffffff;
}
.btn-form-direct i{color:var(--brand-red,#e2572b) !important;}
.btn-form-direct:hover{transform:translateY(-2px);background:#f0f9ff !important;color:var(--brand-navy,#134a82) !important;}

/* 레거시 정적 파일용 .hero 폴백 */
.hero{max-width:1100px;margin:0 auto;padding:36px 16px 20px;text-align:center;}
.hero h1{font-size:1.75rem;font-weight:900;color:var(--navy);margin:0 0 14px;line-height:1.38;word-break:keep-all;}

/* ---- CTA 바 (온라인 상담 접수폼 바로가기) ---- */
.cta-bar{background:linear-gradient(90deg,var(--brand-red,var(--orange)),var(--amber));color:#fff;text-align:center;padding:15px 20px;border-radius:12px;font-weight:800;font-size:1.1rem;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(226,87,43,.25);transition:transform .15s ease;}
.cta-bar:hover{transform:translateY(-2px);color:#fff;}

/* ---- 히어로 바로 아래 배너 ---- */
.banner-grid{max-width:960px;margin:24px auto 28px;padding:0 16px;width:100%;}
.banner-grid a{display:block;width:100%;}
.banner-grid img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 4px 16px rgba(19,74,130,.12);transition:transform .2s ease,box-shadow .2s ease;}
.banner-grid a:hover img{transform:scale(1.01);box-shadow:0 8px 24px rgba(19,74,130,.18);}

/* ---- 본문 컨테이너 ---- */
.container{max-width:1100px;margin:0 auto;padding:20px 16px 44px;}
.section-wrap{max-width:1100px;margin:0 auto;padding:0 16px 28px;}

/* ---- 현장 사진 섹션 ---- */
.site-photo-section{max-width:1100px;margin:36px auto 0;padding:0 16px;}
.site-photo-section h3{font-size:1.2rem;font-weight:800;color:var(--brand-navy,var(--navy));margin:0 0 16px;text-align:center;word-break:keep-all;}
.site-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.site-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 2px 8px rgba(19,74,130,.10);transition:transform .2s ease;}
.site-photo-grid img:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 18px rgba(19,74,130,.18);}

/* ---- 푸터 위 배너 ---- */
.pre-footer-banner-row{max-width:1100px;margin:36px auto 36px;padding:0 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.pre-footer-banner-row img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 4px 16px rgba(19,74,130,.10);transition:transform .2s ease;}
.pre-footer-banner-row img:hover{transform:scale(1.01);}
.pre-footer-banner{max-width:960px;margin:36px auto 36px;padding:0 16px;}
.pre-footer-banner img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 4px 16px rgba(19,74,130,.10);}

/* ---- 리프 페이지 하단 배너 ---- */
.bottom-banner{max-width:960px;margin:36px auto 40px;padding:0 16px;text-align:center;}
.bottom-banner img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 4px 16px rgba(0,0,0,.1);}
.bottom-banner-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,var(--brand-red,var(--orange)),var(--amber));color:#fff;font-weight:900;font-size:1.2rem;padding:16px 36px;border-radius:12px;margin-top:16px;box-shadow:0 4px 14px rgba(226,87,43,.3);transition:transform .15s ease;}
.bottom-banner-cta:hover{transform:translateY(-2px);color:#fff;}

/* ---- 메인 홈페이지 쇼케이스 섹션 (Tailwind 유틸리티와 레거시 h2/p 충돌 방지) ---- */
.bk-main-showcase h2,
.bk-main-showcase h3,
.bk-main-showcase h4,
footer h4{
    margin-top:0;
}
.bk-main-showcase p,
footer p{
    margin-top:0;
}
.bk-bg-photo{
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.bk-eq-tab.active{
    background-color:var(--brand-navy,#134a82) !important;
    color:#ffffff !important;
    border-color:var(--brand-navy,#134a82) !important;
}

/* ---- 하단 고정 2버튼 플로팅 바 (왼쪽: 접수폼 상담 / 오른쪽: 긴급전화 상담) ---- */
.sticky-bar{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:rgba(15,23,42,0.95) !important;
    backdrop-filter:blur(10px);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    z-index:100;
    box-shadow:0 -4px 18px rgba(0,0,0,.22);
    border-top:1px solid rgba(255,255,255,0.12);
}
.sticky-bar-inner{
    max-width:760px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:10px;
}
.sticky-bar .sticky-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:12px 14px;
    border-radius:12px;
    font-weight:900 !important;
    font-size:.98rem !important;
    color:#ffffff !important;
    text-align:center;
    line-height:1.2;
    transition:transform .15s ease,filter .15s ease;
    white-space:nowrap;
}
.sticky-bar .sticky-btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.06);
    color:#ffffff !important;
}
.sticky-bar .sticky-btn-form{
    background:linear-gradient(135deg,var(--brand-navy,#134a82),var(--brand-light,#1e89eb)) !important;
    border:1px solid rgba(255,255,255,0.28);
    box-shadow:0 4px 12px rgba(30,137,235,0.28);
}
.sticky-bar .sticky-btn-tel{
    background:linear-gradient(90deg,var(--brand-red,#e2572b),var(--amber,#f59e0b)) !important;
    box-shadow:0 4px 14px rgba(226,87,43,0.35);
}

/* ---- 모바일 최적화 ---- */
@media(max-width:768px){
    .page-hero{padding:36px 14px 34px !important;}
    .page-hero h1{font-size:1.45rem !important;}
    .page-hero .service-desc-text{font-size:.95rem !important;line-height:1.65 !important;}
    .page-hero .service-feat-badge{font-size:.8rem;padding:6px 12px;}
    .btn-call-direct,.btn-form-direct{padding:12px 20px;font-size:.96rem;width:100%;max-width:340px;}
    .banner-grid{padding:0 12px;margin:16px auto 20px;}
    .pre-footer-banner-row{grid-template-columns:1fr;gap:12px;padding:0 12px;}
    .site-photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;}
    .region-card{padding:14px;}
    .region-name{font-size:.98rem;}
    .kw-chip{padding:7px 12px;font-size:.82rem;}
    .cta-bar{font-size:1rem;padding:13px 16px;}
    .sticky-bar{padding:8px 10px calc(8px + env(safe-area-inset-bottom)) !important;}
    .sticky-bar-inner{grid-template-columns:0.95fr 1.25fr;gap:8px;}
    .sticky-bar .sticky-btn{padding:11px 10px;font-size:.86rem !important;gap:5px;}
}
@media(max-width:480px){
    .page-hero h1{font-size:1.3rem !important;}
    .banner-grid{padding:0 8px;}
    .site-photo-grid{grid-template-columns:repeat(2,1fr);gap:6px;}
    .bottom-banner-cta{width:100%;padding:14px;}
    .sticky-bar .sticky-btn{font-size:.8rem !important;padding:11px 8px;}
}
