/* 에이스홈픽스 인덕션 타공 — '커팅 매트와 재단선'. 휴대폰 우선, 숨은 조작 없음, 푸터 없음. */
@font-face{font-family:'Freesentation';font-weight:800;font-style:normal;font-display:swap;
 src:url('https://cdn.jsdelivr.net/gh/fonts-archive/Freesentation/Freesentation-8ExtraBold.woff2') format('woff2')}

:root{
 --mat:#16433a;--mat2:#1c5245;--mat3:#0f332b;--grid:rgba(255,255,255,.075);--grid2:rgba(255,255,255,.14);
 --cut:#ff5b1f;--cut2:#e24a10;--paper:#f4f2ea;--card:#fff;--ink:#141c19;--mute:#4f5d57;--line:#d6dbd3;--pale:#e6eee8;
 --head:'Freesentation',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
 --body:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;
 --gridbg:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/22px 22px,
  linear-gradient(var(--grid2) 1px,transparent 1px) 0 0/110px 110px,linear-gradient(90deg,var(--grid2) 1px,transparent 1px) 0 0/110px 110px;
 --ticks:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 6px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:12px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--body);word-break:keep-all;overflow-wrap:anywhere;padding-bottom:76px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:800;line-height:1.3;letter-spacing:-.01em;margin:0}
h2{font-size:1.5rem}
h3{font-size:1.12rem}
p{margin:.6em 0}
.skip{position:absolute;left:-999px;top:0;background:var(--cut);color:#fff;padding:8px 12px;z-index:50}
.skip:focus{left:8px}

/* 머리: 격자 매트 띠 + 자 눈금 메뉴 */
.top{background:var(--mat) ;background-image:var(--gridbg);color:#fff}
.top-in{max-width:1080px;margin:0 auto;padding:12px 16px 10px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand svg{width:40px;height:40px;flex:none}
.l-bg{fill:var(--mat3);stroke:var(--grid2)}
.l-gr{stroke:#2f6a5b;stroke-width:1}
.l-cut{fill:none;stroke:var(--cut);stroke-width:2.4;stroke-dasharray:4 2.4}
.l-cm{stroke:#fff;stroke-width:1.6}
.brand-t{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}
.brand-t b{font-family:var(--head);font-size:1.28rem;white-space:nowrap;letter-spacing:-.01em}
.tagl{font-style:normal;font-weight:700;font-size:.86rem;color:#fff;border:1.5px dashed var(--cut);padding:1px 8px;border-radius:3px;white-space:nowrap;background:rgba(255,91,31,.14)}
.rule{background:var(--paper);color:var(--ink);border-bottom:2px solid var(--ink)}
.rule ul{list-style:none;margin:0 auto;padding:0 8px;max-width:1080px;display:flex;flex-wrap:wrap}
.rule li{flex:1 1 auto}
.rule a{display:block;text-align:center;text-decoration:none;font-weight:800;font-size:.95rem;padding:11px 6px 13px;position:relative;white-space:nowrap}
.rule a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--ticks);opacity:.55}
.rule li+li a::before{content:"";position:absolute;left:0;bottom:0;height:14px;width:2px;background:var(--ink)}
.rule a:hover,.rule a:focus-visible{color:var(--cut2)}

/* 버튼 */
.cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 6px}
.cta a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:8px 10px;border-radius:6px;font-weight:800;font-size:1.05rem;text-decoration:none;text-align:center}
.b-sms{background:var(--cut);color:#fff;border:2px solid var(--cut);box-shadow:0 3px 0 var(--cut2)}
.b-call{background:#fff;color:var(--ink);border:2px solid var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.cta-dark .b-call{border-color:#fff}
.b-sms:hover{background:var(--cut2)}
.b-call:hover{background:var(--pale)}

/* 첫 화면 */
.hero{background:var(--mat);background-image:var(--gridbg);color:#fff;border-bottom:4px solid var(--ink)}
.hero-in{max-width:760px;margin:0 auto;padding:22px 16px 26px}
.hero-k{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.hero-k span{font-size:.84rem;font-weight:700;border:1.5px dashed var(--cut);color:#ffd9c9;padding:2px 9px;border-radius:3px}
.hero h1{display:flex;flex-direction:column;gap:6px}
.h-main{font-size:2.6rem;line-height:1.1;color:#fff}
.h-sub{font-size:1.2rem;color:#cfe3da}
.hero .lead{color:#e9f2ee;font-size:1rem}
.hero .lead b{color:#fff;background:linear-gradient(transparent 62%,rgba(255,91,31,.45) 62%)}
.hero-cut{display:block;position:relative;margin:18px 0 4px;padding:12px;border:2px dashed var(--cut);border-radius:4px;text-decoration:none;background:rgba(0,0,0,.18)}
.hc-t{display:block;font-weight:700;font-size:.9rem;color:#fff;margin:0 0 10px}
.more-lead{color:#d7e6df;font-size:.95rem}

/* 재단 표시(크롭 마크) */
.cm{position:absolute;width:14px;height:14px;pointer-events:none}
.cm1{left:-8px;top:-8px;border-left:2px solid currentColor;border-top:2px solid currentColor}
.cm2{right:-8px;top:-8px;border-right:2px solid currentColor;border-top:2px solid currentColor}
.cm3{left:-8px;bottom:-8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor}
.cm4{right:-8px;bottom:-8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor}
.hero-cut .cm{color:#fff}

/* 사진 두 칸 */
.twin{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pic{margin:0;position:relative;background:var(--mat3);overflow:hidden;border-radius:2px}
.pic img{width:100%;aspect-ratio:3/4;object-fit:cover}
.twin.big .pic img{aspect-ratio:4/5}
.tab{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 5px;font-weight:800;font-size:.9rem;color:var(--ink);background:#fff;
 background-image:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 7px);background-size:100% 8px;background-repeat:no-repeat;background-position:0 0}
.p-a .tab{background-color:var(--cut);color:#fff;background-image:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 7px)}

/* 본문 틀 */
.wrap{max-width:900px;margin:0 auto;padding:0 16px}
.sec{max-width:900px;margin:0 auto;padding:34px 16px 6px}
.wrap .sec{padding-left:0;padding-right:0}
.kick{display:inline-block;margin:0 0 8px;font-size:.8rem;font-weight:800;letter-spacing:.06em;color:var(--mat);border-bottom:2px dashed var(--cut);padding-bottom:1px}
.sec h2{margin-bottom:10px}
.sec h2 small{font-family:var(--body);font-size:.9rem;color:var(--mute);font-weight:700}
.sub{color:var(--mute)}
.answer{background:#fff;border-left:5px solid var(--cut);padding:12px 14px;border-radius:0 6px 6px 0}
.more{display:inline-flex;align-items:center;gap:6px;margin:16px 0 4px;font-weight:800;color:var(--mat);text-decoration:none;border-bottom:2px solid var(--cut);padding-bottom:2px}
.more::after{content:"→"}

/* 상황 바로가기: 치수표 줄 */
.gauge{list-style:none;margin:10px 0 0;padding:0;border:2px solid var(--ink);border-radius:6px;background:#fff;overflow:hidden}
.gauge li+li{border-top:1px dashed #9aa79f}
.gauge a{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 0;text-decoration:none;min-height:60px}
.g-n{flex:none;align-self:stretch;display:flex;align-items:center;justify-content:center;width:52px;font-family:var(--head);font-size:1.05rem;color:#fff;background:var(--mat);
 background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.35) 0 1px,transparent 1px 7px);background-size:9px 100%;background-repeat:no-repeat;background-position:right 0 top 0}
.g-t{flex:1;min-width:0;display:flex;flex-direction:column}
.g-t b{font-size:1rem}
.g-t small{font-size:.86rem;color:var(--cut2);font-weight:700}
.g-ar{flex:none;width:12px;height:12px;border-right:3px solid var(--ink);border-top:3px solid var(--ink);transform:rotate(45deg);margin-right:6px}
.gauge a:hover{background:var(--pale)}

/* 서비스 카드: 왼쪽 사진·오른쪽 글 */
.svcs{display:grid;gap:14px;margin-top:12px}
.svc{display:grid;grid-template-columns:38% 1fr;gap:0;background:#fff;border:2px solid var(--ink);border-radius:6px;text-decoration:none;overflow:hidden;min-height:150px}
.svc-img{position:relative;display:block;background:var(--mat3)}
.svc-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.svc-img::after{content:"";position:absolute;inset:8px;border:2px dashed var(--cut);border-radius:2px}
.svc-t{padding:12px 12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.svc-k{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem;font-weight:800;color:var(--mat)}
.svc-k i{font-style:normal;background:var(--ink);color:#fff;padding:1px 6px;border-radius:2px;white-space:nowrap}
.svc strong{font-family:var(--head);font-size:1.22rem;line-height:1.25}
.svc-w{font-size:.9rem;color:var(--mute)}
.svc:hover{box-shadow:5px 5px 0 var(--cut)}

/* 사례 카드 */
.pieces{display:grid;gap:22px;margin-top:14px}
.piece{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;text-decoration:none;padding:14px}
.piece-ph{display:block;position:relative;color:var(--mat);margin:4px}
.piece-b{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.kind{display:block;background:var(--pale);background-image:var(--ticks);background-size:100% 6px;background-repeat:no-repeat;padding-top:8px;border-bottom:1px solid var(--ink)}
.kind span{display:inline-block;background:var(--mat);color:#fff;font-weight:800;font-size:.84rem;padding:2px 9px}
.piece-t{font-family:var(--head);font-size:1.18rem;line-height:1.35}
.row{display:grid;grid-template-columns:4.6em 1fr;gap:8px;font-size:.93rem}
.row b{color:var(--cut2)}
.piece:hover{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}

/* 질문 카드 */
.memos{display:grid;gap:14px;margin-top:12px}
.memo{background:#fff;border:1px solid var(--line);border-top:4px solid var(--mat);border-radius:4px;padding:14px 14px 16px}
.qb{margin:0 0 8px}
.qb span{display:inline-block;background:var(--mat);color:#fff;font-size:.8rem;font-weight:800;padding:2px 9px;border-radius:2px}
.memo h3{font-size:1.14rem}
.memo-a{font-weight:700;border-left:3px dashed var(--cut);padding-left:10px}
.memo-m{color:var(--mute);font-size:.95rem}
.memo-l{font-weight:800;color:var(--mat);text-decoration:none;border-bottom:2px solid var(--cut)}

/* 작업 순서: 사진 위 번호 도장 */
.steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:16px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.st-ph{margin:0;position:relative;background:var(--mat3)}
.st-ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.st-no{position:absolute;left:10px;top:10px;background:var(--cut);color:#fff;font-family:var(--head);font-size:1.1rem;padding:3px 9px;border:2px solid #fff;border-radius:3px}
.st-b{padding:10px 14px 14px}
.stage{margin:0 0 4px;font-size:.84rem;font-weight:800;color:var(--mat)}
.st-b h3{font-size:1.08rem}

/* 문의 영역 */
.ask{background:var(--mat);background-image:var(--gridbg);color:#fff;margin-top:40px;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink)}
.ask-in{max-width:760px;margin:0 auto;padding:30px 16px 30px}
.ask-k{display:inline-block;margin:0 0 8px;font-weight:800;font-size:.85rem;border:1.5px dashed var(--cut);color:#ffd9c9;padding:2px 9px;border-radius:3px}
.ask h2{color:#fff}
.ask-lead{color:#dcebe4}
.phone{background:var(--paper);color:var(--ink);border-radius:18px;padding:12px 14px 16px;margin:14px 0 8px;border:3px solid var(--ink)}
.phone-h{margin:0 0 8px;font-size:.8rem;font-weight:800;color:var(--mute);text-align:center}
.bubble{background:#dff0e6;border-radius:16px 16px 16px 4px;padding:10px 14px;font-size:.95rem}
.bubble p{margin:0}
.bubble p+p{margin-top:.9em}
.ask-n{font-size:.88rem;color:#cfe3da}
.ask-h{color:#fff;margin-top:14px}
.shots{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}
.shots li{display:flex;gap:12px;align-items:flex-start;background:rgba(0,0,0,.2);border:1px solid var(--grid2);border-radius:6px;padding:10px 12px}
.shots svg{width:40px;height:40px;flex:none}
.s-ln{fill:none;stroke:#fff;stroke-width:2}
.s-cut{fill:none;stroke:var(--cut);stroke-width:2.4;stroke-dasharray:3 2}
.shots span{font-size:.92rem;color:#e3eee9}
.shots b{display:block;color:#fff}

/* 질문 답변 */
.qa{display:grid;gap:8px;margin-top:10px}
.qa details{background:#fff;border:1px solid var(--line);border-radius:6px}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px;font-weight:800}
.qa summary::-webkit-details-marker{display:none}
.qa summary span{flex:1;min-width:0}
.pm{flex:none;width:22px;height:22px;border:2px solid var(--ink);border-radius:3px;position:relative}
.pm::before,.pm::after{content:"";position:absolute;left:4px;right:4px;top:8px;height:2px;background:var(--ink)}
.pm::after{transform:rotate(90deg)}
.qa details[open] .pm{background:var(--cut);border-color:var(--cut)}
.qa details[open] .pm::before{background:#fff}
.qa details[open] .pm::after{display:none}
.qa details p{margin:0;padding:0 14px 14px;color:#2c3833}

/* 출장 지역: 격자 칸 표 */
.area-red{color:#d0021b}
.zones{display:grid;gap:18px;margin-top:14px}
.zone h3{display:flex;align-items:baseline;gap:8px;background:var(--ink);color:#fff;padding:6px 12px;border-radius:4px 4px 0 0}
.zone h3 small{font-family:var(--body);font-size:.82rem;color:#cbd6d0}
.zone ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));border-left:1px solid #9fb3aa;border-top:1px solid #9fb3aa;background:#fff}
.zone li{border-right:1px solid #9fb3aa;border-bottom:1px solid #9fb3aa}
.zone a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px 4px;text-align:center;text-decoration:none;font-size:.9rem;line-height:1.3}
.zone a:hover{background:var(--cut);color:#fff}

/* 하위 페이지 머리 */
.ph{background:var(--mat);background-image:var(--gridbg);color:#fff;border-bottom:4px solid var(--ink)}
.ph-in{max-width:900px;margin:0 auto;padding:16px 16px 22px}
.crumb{font-size:.84rem;color:#cfe3da;display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:12px}
.crumb a{color:#fff}
.tag{display:inline-block;margin:0 0 8px;font-size:.84rem;font-weight:800;border:1.5px dashed var(--cut);color:#ffd9c9;padding:2px 9px;border-radius:3px}
.ph h1{font-size:1.9rem;color:#fff}
.ph .lead{color:#e6f0eb}
.upd{font-size:.8rem;color:#b9d0c6;margin:4px 0 0}
.cutframe{position:relative;color:var(--mat);margin:24px 6px 8px}

.pts{list-style:none;counter-reset:p;padding:0;margin:18px 0 0;display:grid;gap:8px}
.pts li{counter-increment:p;display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-weight:700}
.pts li::before{content:counter(p,decimal-leading-zero);flex:none;font-family:var(--head);color:var(--cut2)}
.toc{margin:22px 0 0;background:#fff;border:2px dashed var(--mat);border-radius:6px;padding:12px 16px}
.toc p{margin:0 0 4px;font-weight:800;color:var(--mat)}
.toc ol{margin:0;padding-left:1.4em}
.toc a{color:var(--ink)}
.facts{display:grid;gap:10px;margin-top:10px}
.facts div{background:#fff;border-left:4px solid var(--mat);padding:10px 14px;border-radius:0 4px 4px 0}
.facts p{margin:.3em 0 0}
.cmp{display:grid;gap:10px;margin-top:10px}
.cmp-r{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.cmp-r strong{display:block;background:var(--ink);color:#fff;padding:7px 12px;font-family:var(--head);font-size:1.05rem}
.cmp-r p{margin:0;padding:8px 12px 0}
.cmp-r p:last-child{padding-bottom:12px}
.cmp-r b{display:inline-block;margin-right:8px;color:var(--cut2)}
.chk{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.chk li{background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px 12px 10px 38px;position:relative}
.chk li::before{content:"";position:absolute;left:12px;top:15px;width:14px;height:14px;border:2px dashed var(--cut)}
.chk b{display:block}
.chk span{color:var(--mute);font-size:.95rem}
.sum{margin:10px 0 0;background:#fff;border:1px solid var(--line);border-radius:6px}
.sum div{display:grid;grid-template-columns:6.2em 1fr;gap:10px;padding:10px 14px}
.sum div+div{border-top:1px dashed var(--line)}
.sum dt{font-weight:800;color:var(--mat)}
.sum dd{margin:0}
.sum ul{margin:0;padding-left:1.1em}
.ex{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ex figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ex img{width:100%;aspect-ratio:1/1;object-fit:cover}
.ex figcaption{padding:8px 10px;font-size:.88rem;color:var(--mute)}
.ex figcaption b{display:block;color:var(--ink)}
.tip{background:#fff;border-left:4px solid var(--cut);padding:10px 12px}
.flow{counter-reset:f;list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.flow li{counter-increment:f;background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px 12px 10px 48px;position:relative}
.flow li::before{content:counter(f);position:absolute;left:10px;top:9px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--mat);color:#fff;font-weight:800;border-radius:2px}
.links h2{margin-top:10px}
.links h2+.svcs,.links h2+.pieces{margin-bottom:18px}
.rl{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rl a{display:inline-block;background:#fff;border:1px solid var(--ink);border-radius:3px;padding:6px 11px;text-decoration:none;font-size:.92rem}
.rl a:hover{background:var(--cut);color:#fff;border-color:var(--cut)}

/* 지역 */
.local{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 16px 10px;margin-top:24px}
.rqs{display:grid;gap:10px;margin-top:10px}
.rq{display:grid;grid-template-columns:88px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px;text-decoration:none}
.rq-img img{width:88px;height:108px;object-fit:cover;border-radius:3px}
.rq-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.rq-t span{font-size:.93rem;color:#2c3833}
.rq-t em{font-style:normal;font-size:.82rem;color:var(--cut2);font-weight:700}
.rq:hover{border-color:var(--ink)}
.warn{margin:8px 0 0;padding-left:1.2em}
.why-pick{color:var(--mute)}

/* 하단 고정 */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));
 background:var(--mat);border-top:3px solid var(--ink);transition:transform .2s,visibility .2s}
.dock a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:6px 8px;border-radius:6px;font-weight:800;text-decoration:none;text-align:center}
.dk-call{background:#fff;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.dk-sms{background:var(--cut);color:#fff}
.dock.hide{transform:translateY(110%);visibility:hidden}

a:focus-visible,summary:focus-visible{outline:3px solid var(--cut);outline-offset:2px}

@media (min-width:640px){
 .h-main{font-size:3.4rem}
 .svcs{grid-template-columns:1fr 1fr}
 .pieces{grid-template-columns:1fr 1fr}
 .memos{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr 1fr}
 .facts,.cmp{grid-template-columns:repeat(3,1fr)}
 .cta{max-width:520px}
 .ex{max-width:560px}
 .rqs{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){

 .steps{grid-template-columns:repeat(3,1fr)}
 .hero-in{max-width:980px;display:grid;grid-template-columns:1fr 1fr;column-gap:36px;align-items:start}
 .hero-k,.hero h1,.hero .lead{grid-column:1}
 .hero-cut{grid-column:2;grid-row:1/span 5;margin-top:0}
 .hero .cta,.more-lead{grid-column:1}
 .zones{grid-template-columns:1fr}
}
@media (max-width:359px){
 h2{font-size:1.32rem}
 .h-main{font-size:2.2rem}
 .brand-t b{font-size:1.14rem}
 .brand svg{width:34px;height:34px}
 .rule a{font-size:.88rem;padding-left:4px;padding-right:4px}
 .svc{grid-template-columns:34% 1fr}
 .svc strong{font-size:1.08rem}
 .cta a{font-size:.98rem;padding:8px 6px}
 .dock a{font-size:.95rem}
 .row{grid-template-columns:4.2em 1fr}
 .g-n{width:44px}
}
