/* 성남 바로하수구 v9 — 토스 프로덕트형 (2026-10-21 사장님 확정 K5).
   흰 바탕, 가운데 큰 제목, 파란 알약 버튼 1색(#3182f6), 24px 둥근 타일, 부드러운 파란 그림자, 넓은 여백.
   글꼴 Pretendard Variable. 로드 때 한 번 떠오르는 진입 모션 + 스크롤 진입 페이드(.rv → .in, site.js). */
:root{--blue:#3182f6;--blue-d:#1b64da;--blue-l:#e8f3ff;--ink:#191f28;--ink2:#4e5968;--ink3:#8b95a1;--tint:#f2f4f6;--tint2:#f9fafb;--line:#e5e8eb;--font:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--wrap:1120px;--r:24px;--r2:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.6;font-size:17px;word-break:keep-all;-webkit-font-smoothing:antialiased}
::selection{background:var(--blue-l);color:var(--ink)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
figure{margin:0}figcaption{font-size:14px;color:var(--ink3);margin-top:10px;line-height:1.5}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p,dl,dd{margin:0}
svg{display:inline-block;vertical-align:middle}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:100}
.hp{position:absolute;left:-9999px}
.nw{white-space:nowrap}
section{padding:88px 0}
.h2,section h2{font-size:36px;font-weight:800;line-height:1.25;letter-spacing:-.03em;text-wrap:balance}
.h2__sub{margin-top:14px;font-size:18px;color:var(--ink2);max-width:640px;line-height:1.65}
section>.wrap>.h2+*:not(.h2__sub),section>.wrap>h2+*:not(.h2__sub),section>.wrap>.h2__sub+*{margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 26px;border-radius:999px;font-weight:700;font-size:17px;border:0;cursor:pointer;font-family:inherit;background:var(--blue);color:#fff;letter-spacing:-.01em;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .18s;box-shadow:0 8px 24px rgba(49,130,246,.26)}
.btn:hover{background:var(--blue-d)}.btn:active{transform:translateY(1px) scale(.985)}
.btn--g,.btn--r{background:var(--tint);color:var(--ink);box-shadow:none}.btn--g:hover,.btn--r:hover{background:var(--line)}
.btn small{font-size:14px;font-weight:600;opacity:.85}
.more,.ulink{font-weight:700;color:var(--blue)}.more:hover,.ulink:hover{text-decoration:underline;text-underline-offset:4px}
p.more{margin-top:28px}
.cap{font-size:14px;color:var(--ink2)}.cap a{color:var(--blue);font-weight:600}
.crumb{font-size:14px;color:var(--ink3);margin-bottom:16px}.crumb span{margin:0 6px}
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.rv.in{opacity:1;transform:none}
.rv--d1.in{transition-delay:.08s}.rv--d2.in{transition-delay:.16s}.rv--d3.in{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* 상단바 */
.top{position:sticky;top:0;z-index:50;height:60px;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px)}
.top__in{height:100%;display:flex;align-items:center;gap:36px}
.brand{display:flex;align-items:center;gap:10px}
.brand__name{font-size:19px;font-weight:700;letter-spacing:-.02em}.brand__name b{color:var(--blue);font-weight:800}
.gnav{display:flex;gap:26px;margin-left:auto}
.gnav a{font-size:15px;font-weight:500;color:var(--ink2);padding:6px 0}
.gnav a:hover,.gnav a[aria-current]{color:var(--ink)}.gnav a[aria-current]{font-weight:700}
.top__tel{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;flex:none}
.top__tel:hover{background:var(--blue-d)}.top__tel svg{width:15px;height:15px}
.menu-btn,.mnav{display:none}
.subnav{display:none}

/* 첫 화면·서브 머리: 가운데 큰 제목 → 설명 → 알약 버튼 2개 → 둥근 타일 */
.hero{padding:88px 0 56px;text-align:center}
.hero h1,.ph h1{font-size:64px;line-height:1.14;font-weight:800;letter-spacing:-.035em;max-width:980px;margin:0 auto;text-wrap:balance}
.hero__lead,.ph__lead{margin:22px auto 0;font-size:21px;color:var(--ink2);max-width:600px;line-height:1.6}
.hero__btns,.ph__btns{margin-top:34px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.panel{margin-top:64px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;text-align:left}
.p{border-radius:var(--r);background:var(--tint);padding:30px 30px 26px}
.p span{font-size:16px;font-weight:600;color:var(--ink2)}.p .p__big{display:block;font-size:40px;font-weight:800;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}
.p p{margin-top:12px;font-size:15px;color:var(--ink2);line-height:1.6}
.p--pic{padding:0;overflow:hidden;position:relative}.p--pic img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.p--pic figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:50px 20px 16px;color:#fff;font-size:13px;background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0))}
@media (prefers-reduced-motion:no-preference){
  .hero h1,.hero__lead,.hero__btns,.panel,.ph h1,.ph__lead,.ph__btns,.ph__pic{animation:rise .8s cubic-bezier(.16,1,.3,1) both}
  .hero__lead,.ph__lead{animation-delay:.08s}.hero__btns,.ph__btns{animation-delay:.16s}.panel,.ph__pic{animation-delay:.28s}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
.ph{padding:72px 0 0;text-align:center}
.ph h1{font-size:52px}
.ph__pic{margin:48px auto 0;max-width:var(--wrap);padding:0 32px}
.ph__pic img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--r)}
.ph__pic figcaption{text-align:left}
.ph--none{padding-bottom:0}
.ph + section{padding-top:72px}
.ph + .cd-pair{margin-top:48px}

/* 증상별 안내 타일 */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tiles a{display:flex;flex-direction:column;gap:6px;padding:26px 26px 24px;border-radius:20px;background:var(--tint);color:var(--ink);transition:transform .18s cubic-bezier(.2,.8,.2,1),background .18s}
.tiles a:hover{background:var(--blue-l);transform:translateY(-2px)}
.tiles b{font-size:19px;font-weight:700;letter-spacing:-.02em}
.tiles span{font-size:15px;color:var(--ink2)}
.tiles em{font-style:normal;font-size:16px;color:var(--ink2);line-height:1.5;margin-top:4px}

/* 본문 블록 */
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.two p{margin-top:14px;color:var(--ink2);line-height:1.8}
.two img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.list{background:var(--tint);border-radius:20px;padding:8px 24px}
.list li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:500}.list li:last-child{border-bottom:0}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.notes li{padding:26px 28px 24px;border-radius:20px;background:var(--tint)}
.notes b{display:block;font-size:19px;margin-bottom:8px;letter-spacing:-.02em;font-weight:800}
.notes p{color:var(--ink2);font-size:16px;line-height:1.75}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.flow li{padding:26px 26px 24px;border-radius:20px;background:var(--tint)}
.flow b{display:block;font-size:19px;font-weight:800;margin-bottom:10px;letter-spacing:-.02em}
.flow span{font-size:15px;color:var(--ink2);line-height:1.7}
.flow3{display:grid;grid-template-columns:1fr}
.flow3 figure{display:none}
.prose p{color:var(--ink2);line-height:1.8;max-width:760px}.prose p+p{margin-top:12px}
.full{max-width:var(--wrap);margin:0 auto;padding:0 32px}.full img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--r)}
.split{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.split .h2__sub{margin-top:0}.split .more{display:inline-block;margin-top:14px}

/* 요금 */
.pl__list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;background:var(--tint);border-radius:var(--r);padding:12px 32px 14px}
.pl__list li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.pl__list li:nth-last-child(-n+2){border-bottom:0}
.pl__n{font-size:17px;font-weight:600}.pl__n small{display:block;font-size:14px;color:var(--ink3);font-weight:400;margin-top:2px}
.pl__list b{font-size:20px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.pl__ask{font-size:15px;color:var(--ink2);font-weight:600}
.pl__foot{margin-top:20px;font-size:15px;color:var(--ink2);line-height:1.7}

/* 작업 사례 */
.jobs .wrap+.job{margin-top:0}
.job{padding:40px 0 44px}
.job+.job{border-top:1px solid var(--line)}
.job__head{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.job__meta{font-size:14px;color:var(--ink3)}
.job__t{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.35}.job__t a:hover{color:var(--blue)}
.job__pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:var(--wrap);margin:0 auto;padding:0 32px}
.job__pair img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r2)}
.job__pair figcaption,.job__more figcaption{font-size:14px;color:var(--ink3);margin-top:8px}
.job__body{margin-top:22px}.job__body p{font-size:17px;color:var(--ink2);max-width:760px;line-height:1.8}
.job__more{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.job__more img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r2)}
.job__body .more{display:inline-block;margin-top:20px}

/* 작업 기록 상세 */
.cd-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:var(--wrap);margin:0 auto;padding:0 32px}
.cd-pair img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.cd{max-width:760px}.cd .rec__meta{display:block;font-size:14px;color:var(--ink3);margin-bottom:10px}
.cd h2{font-size:28px}
.cd p{margin-top:18px;font-size:17px;color:var(--ink2);line-height:1.85}
.cd-facts{margin-top:36px;background:var(--tint);border-radius:20px;padding:8px 24px}
.cd-facts div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.cd-facts div:last-child{border-bottom:0}
.cd-facts dt{font-weight:700}.cd-facts dd{color:var(--ink2)}
.cd-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cd-gal img{aspect-ratio:1;object-fit:cover;border-radius:var(--r2)}
.cd-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cd-row a{display:block;padding:12px;border-radius:20px;background:var(--tint);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.cd-row a:hover{transform:translateY(-2px)}
.cd-row img{aspect-ratio:4/3;object-fit:cover;border-radius:12px}.cd-row b{display:block;margin:12px 4px 0;font-size:16px;line-height:1.45;font-weight:700}.cd-row span{display:block;font-size:13px;color:var(--ink3);margin:4px 4px 2px}

/* FAQ */
.faq{max-width:860px}
.faq__i{padding:26px 0;border-bottom:1px solid var(--line)}.faq__i:first-child{padding-top:0}
.faq dt{font-size:19px;font-weight:700;line-height:1.5}
.faq dd{margin-top:10px;font-size:16px;color:var(--ink2);line-height:1.8}

/* 출동 지역 */
.area__p{margin-top:14px;font-size:18px;color:var(--ink2);max-width:720px;line-height:1.7}
.gus{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gus__gu{padding:28px 28px 26px;border-radius:20px;background:var(--tint)}
.gus__gu b{font-size:24px;font-weight:800;letter-spacing:-.02em}
.gus__gu p{margin-top:12px;font-size:15px;color:var(--ink2);line-height:1.9}

/* 전화 띠·견적 */
.close{padding-top:0}
.close .wrap>div{background:var(--blue-l);border-radius:28px;padding:56px 56px 52px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.close h2{font-size:34px}
.close p{font-size:17px;color:var(--ink2);margin-top:12px}
.close__act{display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-self:end}
.close__tel{font-size:44px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1}
.close__btns{display:flex;gap:10px;flex-wrap:wrap}
.quote{padding-top:0}
.quote>.wrap>p{font-size:17px;color:var(--ink2);margin:14px 0 32px}
.qform{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;max-width:900px}
.qform label{display:block;font-size:14px;font-weight:600;color:var(--ink2)}
.qform input,.qform select,.qform textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;border:1.5px solid transparent;border-radius:14px;font:400 16px var(--font);background:var(--tint);color:var(--ink)}
.qform input::placeholder,.qform textarea::placeholder{color:var(--ink3)}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:0;border-color:var(--blue);background:#fff}
.qform__full{grid-column:1/-1}
.qform__btn{grid-column:1/-1;justify-self:start}
.qform__msg,.qbar__msg{grid-column:1/-1;font-size:15px;color:var(--blue);font-weight:600}
.qform__msg.err,.qbar__msg.err{color:#d9342b}

/* 바닥 */
.foot{background:var(--tint2);color:var(--ink2);padding:56px 0 64px;font-size:14px;border-top:1px solid var(--line)}
.foot__in{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.foot__nav{display:flex;flex-wrap:wrap;gap:18px}.foot__nav a{color:var(--ink);font-weight:500}
.foot__brand{margin-top:28px}
.foot__biz{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 28px}.foot__biz div{display:flex;gap:8px}.foot__biz dt{color:var(--ink3)}
.foot__bottom{margin-top:20px}
.foot__note{color:var(--ink3);font-size:13px;line-height:1.7}.foot__copy{margin-top:8px;color:var(--ink3);font-size:13px}
.fab{display:none}

@media (max-width:1024px){
  .gnav{display:none}
  .subnav{display:block;border-bottom:1px solid var(--line);background:#fff}
  .subnav .wrap{display:flex;gap:22px;height:44px;align-items:center;overflow-x:auto;scrollbar-width:none}
  .subnav .wrap::-webkit-scrollbar{display:none}
  .subnav a{font-size:14px;font-weight:600;color:var(--ink2);white-space:nowrap;height:100%;display:flex;align-items:center}
  .subnav a[aria-current]{color:var(--ink);font-weight:800;box-shadow:inset 0 -2px 0 var(--ink)}
  section{padding:64px 0}
  .hero h1{font-size:48px}.ph h1{font-size:40px}
  .panel{grid-template-columns:1fr 1fr}.p:first-child{grid-column:1/-1}
  .tiles{grid-template-columns:1fr 1fr}
  .h2,section h2{font-size:30px}
  .two,.notes,.split{grid-template-columns:1fr;gap:28px}
  .flow{grid-template-columns:1fr 1fr}
  .pl__list{grid-template-columns:1fr}.pl__list li:nth-last-child(2){border-bottom:1px solid var(--line)}
  .gus{grid-template-columns:1fr}
  .close .wrap>div{grid-template-columns:1fr;padding:40px}.close__act{justify-self:start}
  .qform{grid-template-columns:1fr 1fr}
  .cd-row{grid-template-columns:1fr 1fr}.cd-pair{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16px;padding-bottom:88px}
  .wrap,.full,.foot__in,.job__pair,.cd-pair,.ph__pic{padding-left:20px;padding-right:20px}
  section{padding:52px 0}
  .top{height:56px}.top__in{gap:12px}.brand__name{font-size:17px}.top__tel{margin-left:auto;height:34px;padding:0 12px;font-size:13px}
  .hero{padding:36px 0 36px;text-align:left}.hero h1{font-size:34px;letter-spacing:-.03em;margin:0}.hero h1 br{display:none}.hero__lead{font-size:16px;margin:12px 0 0}
  .hero__btns,.ph__btns{justify-content:flex-start;margin-top:22px}.btn{height:54px;font-size:16px}.hero__btns .btn,.ph__btns .btn{flex:1 1 100%}
  .panel{margin-top:28px;grid-template-columns:1fr 1fr;gap:10px}.p{padding:18px 18px 16px;border-radius:18px}.p .p__big{font-size:26px}.p p{font-size:13px}
  .ph{padding-top:28px;text-align:left}.ph h1{font-size:30px;letter-spacing:-.025em;margin:0}.ph h1 br{display:none}.ph__lead{font-size:16px;margin:12px 0 0}
  .ph__pic{margin-top:24px}.ph__pic img{aspect-ratio:4/3;border-radius:var(--r2)}.ph + section{padding-top:48px}.ph + .cd-pair{margin-top:24px}
  .tiles{grid-template-columns:1fr;gap:10px}.tiles a{padding:18px 20px 16px}.tiles b{font-size:17px}.tiles em{font-size:15px}
  .h2,section h2{font-size:26px}.h2__sub{font-size:16px}section>.wrap>.h2+*:not(.h2__sub),section>.wrap>h2+*:not(.h2__sub),section>.wrap>.h2__sub+*{margin-top:24px}
  .flow{grid-template-columns:1fr}.notes li,.flow li,.gus__gu{padding:20px 20px 18px}
  .pl__list{padding:4px 20px 6px}.pl__n{font-size:16px}.pl__list b{font-size:18px}
  .job__t{font-size:22px}.job__pair{grid-template-columns:1fr}.job__more{gap:8px}
  .cd-gal{grid-template-columns:1fr 1fr;gap:8px}.cd-row{grid-template-columns:1fr 1fr;gap:10px}
  .close .wrap>div{padding:28px 22px;border-radius:22px;gap:22px}.close h2{font-size:26px}.close__tel{font-size:32px}
  .qform{grid-template-columns:1fr}
  .foot{padding-bottom:110px}
  .fab{display:inline-flex;position:fixed;right:16px;bottom:18px;z-index:60;height:54px;padding:0 22px;border-radius:999px;background:var(--blue);color:#fff;font-weight:800;font-size:16px;align-items:center;gap:8px;box-shadow:0 10px 26px rgba(49,130,246,.36)}
  .fab svg{width:18px;height:18px}
}
.ph__txt .rec__meta{display:block;margin-top:16px;font-size:14px;color:var(--ink3)}
