/* 에이스홈픽스 싱크대 경첩 교체 — 하이글로시 와인색 문짝 + 니켈 경첩.
   크림 바탕·와인(문짝)·니켈 회색(경첩 금속)·피스타치오(작은 강조). 제목 The Jamsil(jsdelivr) + 본문 시스템 고딕.
   휴대폰 먼저: 기본 스타일이 좁은 화면, 넓은 화면은 아래 미디어 쿼리에서 늘린다. */
@font-face{font-family:'The Jamsil';font-weight:700;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/fonts-archive/TheJamsil/TheJamsilBold.woff2') format('woff2')}
@font-face{font-family:'The Jamsil';font-weight:800;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/fonts-archive/TheJamsil/TheJamsilExtraBold.woff2') format('woff2')}
:root{
 --cream:#fbf6ee; --paper:#fffdf9; --wine:#5e1732; --wine2:#7e2447; --wine3:#f3e3e8;
 --nickel:#9aa1ab; --steel:#dfe3e9; --steel2:#eef1f4; --ink:#241a1d; --mute:#5d5256; --pist:#c3dc8f; --red:#c4231f;
 --h:'The Jamsil','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
 --b:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;
 --r:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--b);word-break:keep-all;overflow-wrap:anywhere;padding-bottom:78px}
img{max-width:100%;height:auto;display:block}
a{color:var(--wine2)}
h1,h2,h3{font-family:var(--h);line-height:1.3;margin:0 0 .5em;letter-spacing:-.01em}
h2{font-size:1.45rem;font-weight:800}
h3{font-size:1.08rem;font-weight:700}
p{margin:0 0 .9em}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}

/* 머리: 컵 경첩 로고 + 상호 + 메인 키워드 알약, 아래 네 칸 문짝 탭 */
.hd{background:var(--paper);border-bottom:1px solid var(--steel)}
.hd-in{max-width:1080px;margin:0 auto;padding:10px 16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo svg{width:40px;height:40px;flex:none}
.l-door{fill:var(--wine)} .l-cup{fill:var(--steel)} .l-arm{fill:var(--nickel)} .l-dot{fill:var(--wine)}
.logo-t{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.logo-t b{font:800 1.18rem/1.2 var(--h);white-space:nowrap}
.logo-t .kw{font:700 .8rem/1.2 var(--b);font-style:normal;color:var(--wine);background:var(--wine3);border:1px solid #e3c4cf;border-radius:99px;padding:3px 9px;white-space:nowrap}
.tabs{background:var(--steel2);border-top:1px solid var(--steel)}
.tabs ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);max-width:1080px}
.tabs li+li{border-left:1px solid var(--steel)}
.tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 9px;text-decoration:none;color:var(--ink);font-size:.86rem;font-weight:700;line-height:1.2;text-align:center}
.tabs svg{width:22px;height:22px;fill:none;stroke:var(--wine);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tabs a:hover,.tabs a:focus-visible{background:#fff}

/* 첫 화면: 와인색 문짝 판 + 경첩 띠 두른 전후 사진 */
.hero{background:var(--cream)}
.hero-door{background:linear-gradient(160deg,var(--wine2),var(--wine) 60%);color:#fff;padding:22px 16px 26px;position:relative}
.hero-door::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:repeating-linear-gradient(180deg,var(--nickel) 0 34px,transparent 34px 120px)}
.hero .kick{color:var(--pist)}
.hero h1{font-size:2.05rem;font-weight:800;margin:.2em 0 .7em}
.hero h1 span{display:block;font-size:1.05rem;font-weight:700;color:#f6dfe7;margin-top:.35em}
.hero-pair{display:block;text-decoration:none;color:#fff;max-width:720px}
.hero-cap{display:block;font-size:.88rem;margin-top:8px;color:#f6dfe7}
.hero-body{padding:16px 16px 6px;max-width:1080px;margin:0 auto}
.kick{font:700 .8rem/1.3 var(--b);letter-spacing:.06em;color:var(--wine2);margin:0 0 .35em}
.lead{font-size:1.02rem}
.lead b{background:linear-gradient(transparent 62%,var(--pist) 62%)}

/* 전후 사진: 두 문짝, 왼쪽 니켈 경첩 띠와 컵 두 개 */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.leaf{margin:0;position:relative;background:var(--steel);border-radius:4px 10px 10px 4px;padding:0 0 0 9px;overflow:hidden}
.leaf::before,.leaf::after{content:"";position:absolute;left:1px;width:7px;height:16px;border-radius:4px;background:var(--nickel)}
.leaf::before{top:14%} .leaf::after{bottom:14%}
.leaf img{aspect-ratio:3/4;width:100%;object-fit:cover;border-radius:0 9px 9px 0}
.duo.big .leaf img{aspect-ratio:4/5}
.tg{position:absolute;left:15px;top:8px;z-index:1;font:800 .8rem/1 var(--b);padding:6px 9px;border-radius:6px;white-space:nowrap}
.tg-b{background:#fff;color:var(--ink)}
.tg-a{background:var(--pist);color:#1f2a10}

/* 문의 버튼: 본문 [문자보내기][번호], 고정 [번호][문자보내기] */
.cta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.cta a{flex:1 1 130px;display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 12px;border-radius:12px;font-weight:800;font-size:1.02rem;text-decoration:none;white-space:nowrap;text-align:center}
.b-sms{background:var(--wine);color:#fff}
.b-call{background:#fff;color:var(--wine);border:2px solid var(--wine)}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:var(--steel);border-top:3px solid var(--nickel);transition:transform .2s}
.dock a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;font-weight:800;text-decoration:none;white-space:nowrap;font-size:1rem}
.dk-call{background:#fff;color:var(--wine);border:2px solid var(--wine);flex-grow:1.4!important;padding:0 4px;letter-spacing:-.01em}
.dk-sms{background:var(--wine);color:#fff}
.dock.hide{transform:translateY(110%);visibility:hidden}

/* 섹션 */
.sec{max-width:1080px;margin:0 auto;padding:30px 16px 8px}
.sec.tint{max-width:none;background:var(--steel2);padding-bottom:26px}
.sec.tint>*{max-width:1048px;margin-left:auto;margin-right:auto}
.sub{color:var(--mute)}
.answer b{color:var(--wine)}
.more{display:inline-block;margin-top:12px;font-weight:800;color:var(--wine);text-decoration:none;border-bottom:2px solid var(--wine)}

/* 문짝 증상 바로가기: 문짝 모양 그림 칸 */
.syms{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sy{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--paper);border:1px solid var(--steel);border-left:6px solid var(--nickel);border-radius:6px var(--r) var(--r) 6px;text-decoration:none;color:var(--ink)}
.sy svg{width:46px;height:46px}
.sy .fr{fill:none;stroke:var(--nickel);stroke-width:3}
.sy .lf{fill:var(--steel2);stroke:var(--mute);stroke-width:2}
.sy .hot{fill:var(--wine3);stroke:var(--wine);stroke-width:2.5}
.sy circle.hot{fill:var(--wine)}
.sy .ln{fill:none;stroke:var(--wine);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sy b{display:block;font-size:.98rem;line-height:1.35}
.sy small{display:block;color:var(--wine2);font-weight:700;font-size:.82rem;margin-top:3px}

/* 서비스 카드: 사진 왼쪽(오른쪽 모서리 문 여닫힘 호), 설명 오른쪽 */
.svs{display:grid;gap:12px}
.sv{display:flex;gap:12px;align-items:stretch;background:var(--paper);border:1px solid var(--steel);border-radius:var(--r);padding:8px;text-decoration:none;color:var(--ink)}
.sv-img{flex:0 0 100px;height:112px;border-radius:8px 56px 8px 8px;overflow:hidden;background:var(--steel)}
.sv-img img{width:100%;height:100%;object-fit:cover}
.sv-t{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-right:4px}
.sv-k{font-size:.78rem;font-weight:800;color:var(--wine2)}
.sv-t strong{font:800 1.1rem/1.3 var(--h);margin:2px 0 4px}
.sv-w{font-size:.9rem;color:var(--mute)}

/* 사례 카드: 경첩 띠(왼쪽 니켈 줄) */
.dcs{display:grid;gap:16px}
.dc{display:block;background:var(--paper);border-radius:var(--r);padding:10px 10px 14px;text-decoration:none;color:var(--ink);border:1px solid var(--steel);box-shadow:inset 5px 0 0 var(--wine)}
.dc .duo{margin-left:4px}
.dc-b{display:block;padding:12px 6px 0 10px}
.dc-k{display:inline-block;font-size:.78rem;font-weight:800;color:var(--wine);border-bottom:2px solid var(--pist);margin-bottom:6px}
.dc-t{display:block;font:800 1.1rem/1.35 var(--h);margin-bottom:8px}
.dc-r{display:flex;gap:8px;font-size:.92rem;line-height:1.5;margin-top:4px}
.dc-r b{flex:none;font-size:.78rem;background:var(--steel);color:var(--ink);border-radius:5px;padding:2px 7px;height:fit-content;margin-top:1px;white-space:nowrap}

/* 문의 영역: 와인 판 위 문짝 안쪽 면, 경첩 컵 두 개 = 사진 두 장 */
.ask{background:var(--wine);color:#fff;margin-top:30px}
.ask-in{max-width:760px;margin:0 auto;padding:28px 16px 24px}
.ask-k{font:700 .8rem/1.3 var(--b);letter-spacing:.06em;color:var(--pist);margin-bottom:.4em}
.ask h2{color:#fff}
.ask-p{color:#f6dfe7}
.inner{background:var(--paper);color:var(--ink);border-radius:6px 16px 16px 6px;padding:16px 14px 14px 26px;position:relative;margin:14px 0}
.inner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;border-radius:6px 0 0 6px;background:var(--steel)}
.inner::after{content:"";position:absolute;left:2px;top:22px;width:8px;height:20px;border-radius:4px;background:var(--nickel);box-shadow:0 calc(100% + 60px) 0 var(--nickel)}
.il{margin:0}
.ir{display:flex;gap:10px;border-bottom:1px dashed var(--nickel);padding:7px 0}
.ir dt{flex:0 0 74px;font-weight:800;color:var(--wine)}
.ir dd{margin:0;color:var(--mute)}
.inner-sub{font-weight:800;margin:14px 0 6px}
.cups{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cups li{display:flex;gap:12px;align-items:center}
.cups svg{width:56px;height:56px;flex:none}
.cups .cup{fill:var(--steel2);stroke:var(--nickel);stroke-width:3}
.cups .arm{fill:var(--wine3);stroke:var(--wine);stroke-width:2}
.cups .dot{fill:var(--wine)}
.cups .ln{stroke:var(--wine);stroke-width:2.5;stroke-linecap:round}
.cups b{display:block}
.cups span{font-size:.92rem;line-height:1.5}
.inner-tip{font-size:.9rem;margin:12px 0 0;color:var(--mute)}
.ask-note{font-size:.92rem;color:#f6dfe7}
.ask .b-sms{background:var(--pist);color:#1f2a10}
.ask .b-call{background:transparent;color:#fff;border-color:#fff}

/* 먼저 보는 것: 네 줄 판단표 */
.wys{display:grid;gap:10px}
.wy{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--steel);border-radius:var(--r);padding:8px;text-decoration:none;color:var(--ink)}
.wy-img{flex:0 0 88px;height:88px;border-radius:50%;overflow:hidden;background:var(--steel2);border:3px solid var(--steel)}
.wy-img img,.wy-img svg{width:100%;height:100%;object-fit:cover}
.wy-img .cupb{fill:var(--steel);stroke:var(--nickel);stroke-width:3}
.wy-img .armb{fill:var(--wine3);stroke:var(--wine);stroke-width:2.5}
.wy-img .scr{fill:#fff;stroke:var(--wine);stroke-width:2}
.wy-img .scl,.wy-img .arc{fill:none;stroke:var(--wine);stroke-width:3;stroke-linecap:round}
.wy-t{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.92rem;line-height:1.45}
.wy-t strong{font:800 1.08rem/1.3 var(--h)}
.wy-t b{color:var(--wine);margin-right:6px;font-size:.8rem}

/* 작업 순서: 차례로 열리는 문 번호 */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:10px 12px;align-items:start}
.sn{grid-row:span 2;position:relative;width:44px;height:54px}
.sn svg{width:44px;height:54px}
.sn .fr{fill:#fff;stroke:var(--nickel);stroke-width:2}
.sn .lf{fill:var(--wine);opacity:.92}
.sn b{position:absolute;right:-4px;bottom:-4px;background:var(--pist);color:#1f2a10;font:800 .8rem/1 var(--b);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.steps figure{margin:0}
.steps figure img{border-radius:10px;width:100%;aspect-ratio:4/3;object-fit:cover}
.st-t{grid-column:2}
.stage{font-size:.8rem;font-weight:800;color:var(--wine2);margin:0 0 .2em}

/* 질문 카드: 니켈 윗단 */
.qcs{display:grid;gap:12px}
.qc{background:var(--paper);border:1px solid var(--steel);border-radius:var(--r);padding:0 14px 14px;overflow:hidden}
.qc-tag{margin:0 -14px 12px;background:var(--steel);padding:6px 14px;font-weight:800;font-size:.82rem;color:var(--wine)}
.qc h3{font-size:1.05rem}
.qc-a{font-weight:700}
.qc-more{color:var(--mute);font-size:.94rem}
.qc-link{font-weight:800;text-decoration:none;border-bottom:2px solid var(--pist);color:var(--wine)}

/* 질문 답변 */
.qa{display:grid;gap:8px}
.qa details{background:var(--paper);border:1px solid var(--steel);border-radius:12px}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:13px 14px;font-weight:800}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;width:20px;height:20px;border-radius:50%;background:var(--wine);position:relative;margin-top:2px}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:5px;right:5px;top:9px;height:2px;background:#fff}
.qa summary i::after{transform:rotate(90deg);transition:transform .2s}
.qa details[open] summary i::after{transform:rotate(0)}
.qa details p{padding:0 14px 14px;margin:0}

/* 출장 지역: 경첩 점 칸 */
.area-red{color:var(--red)}
.zones{display:grid;gap:18px}
.zone h3{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.zone h3 span{background:var(--wine);color:#fff;border-radius:6px;padding:3px 12px}
.zone h3 small{font:700 .85rem var(--b);color:var(--mute)}
.zone ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.zone a{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--steel);border-radius:8px;padding:7px 8px;text-decoration:none;color:var(--ink);font-size:.9rem;line-height:1.3;min-height:40px}
.zone a::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--nickel)}

/* 하위 페이지 */
.ph-door{background:linear-gradient(160deg,var(--wine2),var(--wine) 60%);color:#fff;position:relative}
.ph-door::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:repeating-linear-gradient(180deg,var(--nickel) 0 26px,transparent 26px 90px)}
.ph-in{max-width:1080px;margin:0 auto;padding:16px 16px 18px}
.ph-door h1{font-size:1.7rem;font-weight:800;margin:0}
.ph-label{font-weight:800;font-size:.84rem;color:var(--pist);margin:.6em 0 .3em}
.crumb{font-size:.84rem;display:flex;flex-wrap:wrap;gap:4px 6px;color:#f6dfe7}
.crumb a{color:#fff}
.ph-body{padding-bottom:4px}
.upd{font-size:.82rem;color:var(--mute);margin:0}
.wrap{max-width:1080px;margin:0 auto;padding:10px 16px 0}
.wrap>.duo{margin-top:8px}
.wrap .sec{padding-left:0;padding-right:0}
.pts{margin:16px 0 0;padding:0;list-style:none;counter-reset:p;display:grid;gap:8px}
.pts li{counter-increment:p;display:flex;gap:10px;align-items:flex-start;background:var(--paper);border:1px solid var(--steel);border-radius:10px;padding:9px 12px}
.pts li::before{content:counter(p);flex:none;width:24px;height:24px;border-radius:6px;background:var(--wine);color:#fff;font-weight:800;font-size:.84rem;display:flex;align-items:center;justify-content:center;margin-top:2px}
.toc{background:var(--steel2);border-radius:var(--r);padding:14px 16px;margin-top:18px}
.toc p{font-weight:800;margin:0 0 6px}
.toc ol{margin:0;padding-left:1.3em}
.toc a{color:var(--ink)}
.facts{display:grid;gap:10px}
.facts>div{background:var(--paper);border-left:5px solid var(--nickel);border-radius:4px 12px 12px 4px;padding:12px 14px}
.facts p{margin:0}
.cmp{display:grid;gap:10px}
.cmp-r{background:var(--paper);border:1px solid var(--steel);border-radius:var(--r);padding:12px 14px}
.cmp-r strong{display:block;font:800 1.06rem/1.3 var(--h);color:var(--wine);margin-bottom:6px}
.cmp-r p{margin:0 0 4px;font-size:.94rem}
.cmp-r b{display:inline-block;min-width:66px;font-size:.8rem;color:var(--mute)}
.chk{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.chk li{background:var(--paper);border:1px solid var(--steel);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.chk b{color:var(--wine)}
.sum{margin:0;display:grid;gap:8px}
.sum>div{display:grid;grid-template-columns:84px 1fr;gap:10px;background:var(--paper);border:1px solid var(--steel);border-radius:10px;padding:10px 12px}
.sum dt{font-weight:800;color:var(--wine)}
.sum dd{margin:0}
.sum ul{margin:0;padding-left:1.1em}
.ex{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ex figure{margin:0}
.ex img{border-radius:10px;aspect-ratio:3/4;object-fit:cover;width:100%}
.ex figcaption{font-size:.88rem;margin-top:6px;line-height:1.5}
.ex figcaption b{display:block;color:var(--wine)}
.tip{background:var(--wine3);border-radius:10px;padding:10px 12px;margin-top:12px}
.flow{margin:0;padding-left:1.3em}
.flow li{margin-bottom:6px}
.rqs{display:grid;gap:10px}
.rq{display:flex;gap:12px;background:var(--paper);border:1px solid var(--steel);border-radius:var(--r);padding:8px;text-decoration:none;color:var(--ink)}
.rq-img{flex:0 0 84px;height:100px;border-radius:8px 40px 8px 8px;overflow:hidden}
.rq-img img{width:100%;height:100%;object-fit:cover}
.rq-t{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:.92rem;line-height:1.5}
.rq-t strong{font-size:1rem}
.rq-t em{font-style:normal;font-size:.8rem;color:var(--wine2);font-weight:700}
.warn{padding-left:1.2em}
.why-pick{color:var(--mute)}
.rl{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px}
.rl a{display:inline-block;background:var(--paper);border:1px solid var(--steel);border-radius:99px;padding:5px 12px;text-decoration:none;color:var(--ink);font-size:.9rem}
.links h2{margin-top:10px}
.sec h2 small{font:700 .9rem var(--b);color:var(--mute)}
.sec h2 a{color:var(--ink)}

/* 좁은 폭: 로고 한 줄 유지, 제목 크기 줄임 */
@media (max-width:360px){
 .logo-t b{font-size:1.06rem}
 .logo-t .kw{font-size:.74rem;padding:2px 7px}
 .hero h1{font-size:1.8rem}
 .tabs a{font-size:.8rem}
 .sv-img{flex-basis:84px}
 .wy-img{flex-basis:72px;height:72px}
 .cta a{flex-basis:120px}
}

/* 넓은 화면 */
@media (min-width:720px){
 body{font-size:17px}
 .hero-door{padding:34px 28px 34px}
 .hero-door>*{max-width:1024px;margin-left:auto;margin-right:auto}
 .hero h1{font-size:2.7rem}
 .hero-pair{max-width:720px;margin:0 auto}
 .syms{grid-template-columns:repeat(3,1fr)}
 .svs{grid-template-columns:repeat(3,1fr)}
 .sv{flex-direction:column}
 .sv-img{flex-basis:auto;height:170px;border-radius:8px 80px 8px 8px}
 .dcs{grid-template-columns:1fr 1fr}
 .wys{grid-template-columns:1fr 1fr}
 .qcs{grid-template-columns:1fr 1fr}
 .facts{grid-template-columns:repeat(3,1fr)}
 .cmp{grid-template-columns:repeat(3,1fr)}
 .chk{grid-template-columns:1fr 1fr}
 .steps li{grid-template-columns:54px 280px 1fr}
 .steps .sn{grid-row:auto}
 .st-t{grid-column:3}
 .rqs{grid-template-columns:repeat(3,1fr)}
 .ph-door h1{font-size:2.2rem}
 .dock{justify-content:center}
 .dock a{flex:0 1 260px}
}
@media (min-width:1100px){
 .dcs{grid-template-columns:repeat(3,1fr)}
}
