:root{--paper:#F4F3F0;--white:#FFFFFF;--concrete:#C9C6BF;--graphite:#6E6B66;--brick:#9C4A2F;--ochre:#C08A2E;--ink:#22211F;--hairline:#E4E2DD}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:-apple-system,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;font-size:clamp(15px,3.9vw,17px);color:var(--ink);background:var(--white);line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--brick);outline-offset:2px}
/* header */
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;height:56px;padding:0 20px;gap:12px;background:var(--ink);border-bottom:1px solid #000}
@media(min-width:768px){.site-header{height:64px;padding:0 40px}}
.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}
.brand-svg{width:26px;height:26px}
.brand-text{font-size:clamp(13px,2.6vw,15px);font-weight:600;color:var(--white);letter-spacing:-.02em}
.site-nav{display:none;gap:0;flex:1;justify-content:center}
@media(min-width:900px){.site-nav{display:flex}}
.site-nav a{font-size:13px;color:var(--concrete);padding:8px 10px;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current]{color:var(--white)}
.header-cta{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 16px;background:var(--brick);color:var(--white);font-size:13px;font-weight:600;border-radius:3px;white-space:nowrap;flex-shrink:0}
.header-cta:hover{background:#7e3b25}
.nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}
@media(min-width:900px){.nav-toggle{display:none}}
.nav-bar{display:block;width:20px;height:2px;background:var(--white);border-radius:1px;position:relative}
.nav-bar::before,.nav-bar::after{content:'';position:absolute;left:0;width:20px;height:2px;background:var(--white);border-radius:1px}
.nav-bar::before{top:-6px}
.nav-bar::after{top:6px}
.mobile-nav{display:none;flex-direction:column;background:var(--ink);border-top:1px solid rgba(255,255,255,.1);padding:8px 20px 16px}
.mobile-nav a{font-size:14px;color:var(--concrete);padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mobile-nav a:last-child{border-bottom:none}
.mobile-nav a:hover{color:var(--white)}
.mobile-nav.is-open{display:flex}
/* footer */
.site-foot{background:var(--ink);padding:12px 20px;display:flex;flex-wrap:wrap;gap:0 14px;align-items:center}
.site-foot span{font-size:12px;color:#BFBDB8;line-height:1.6}
/* cta block */
.cta-block{background:var(--brick);padding:48px 20px}
.cta-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.cta-inner{grid-template-columns:1fr 1fr 1fr;align-items:center}}
.cta-label{font-size:clamp(17px,3.8vw,22px);font-weight:600;color:var(--white);line-height:1.3}
.cta-sub{font-size:13px;color:rgba(255,255,255,.8);margin-top:4px}
.cta-desc{font-size:14px;color:rgba(255,255,255,.85);line-height:1.65}
.cta-btns{display:flex;gap:10px;justify-content:flex-start}
@media(min-width:768px){.cta-btns{justify-content:flex-end}}
.btn-call,.btn-sms{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;font-size:15px;font-weight:600;border-radius:4px}
.btn-call{background:var(--white);color:var(--brick)}
.btn-call:hover{background:var(--hairline)}
.btn-sms{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.65)}
.btn-sms:hover{border-color:var(--white)}
/* common utilities */
.page-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
@media(min-width:768px){.page-wrap{padding:0 40px}}
section{padding:56px 0}
@media(min-width:768px){section{padding:72px 0}}
h1{font-size:clamp(28px,6.4vw,52px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
h2{font-size:clamp(20px,4.2vw,30px);font-weight:600;letter-spacing:-.02em}
h3{font-size:clamp(17px,3.2vw,21px);font-weight:600;letter-spacing:-.02em}
p{margin-top:14px}
p:first-child{margin-top:0}
.btn-brick{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;background:var(--brick);color:var(--white);font-size:15px;font-weight:600;border-radius:4px}
.btn-brick:hover{background:#7e3b25}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;background:transparent;color:var(--brick);border:2px solid var(--brick);font-size:15px;font-weight:600;border-radius:4px}
.btn-outline:hover{background:var(--brick);color:var(--white)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:300px}
th{background:var(--rust);color:var(--white);padding:10px 12px;text-align:left;font-weight:600}
td{padding:10px 12px;border-bottom:1px solid var(--hairline);vertical-align:top}
tr:last-child td{border-bottom:none}
tr:nth-child(even) td{background:rgba(201,198,191,.2)}
.shot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
@media(min-width:640px){.shot-grid{grid-template-columns:repeat(4,1fr)}}
.shot figure{position:relative}
.shot img,.shot .img-ph{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 42%;background:var(--concrete)}
.shot figcaption{font-size:11px;color:var(--graphite);padding:4px 6px;background:var(--white)}
.faq-list{display:flex;flex-direction:column;gap:3px;margin-top:24px}
details{background:var(--white);border:1px solid var(--hairline);border-radius:4px;overflow:hidden}
details[open]{border-color:var(--brick)}
summary{padding:16px 20px;font-size:15px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
summary::-webkit-details-marker{display:none}
.faq-icon{display:inline-block;width:10px;height:10px;border-right:2px solid var(--graphite);border-bottom:2px solid var(--graphite);transform:rotate(45deg);transition:transform .2s;flex-shrink:0}
details[open] .faq-icon{transform:rotate(-135deg)}
.faq-ans{padding:0 20px 16px;font-size:14px;line-height:1.75}
.related-links{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.related-links a{font-size:13px;color:var(--brick);border:1px solid var(--brick);padding:7px 14px;border-radius:3px}
.related-links a:hover{background:var(--brick);color:var(--white)}
/* PAGE-SPECIFIC: pipehole - technical rust accent */
:root{--rust:#B85C30}
.hero{background:var(--paper);padding:clamp(56px,7vw,88px) 20px clamp(44px,5vw,72px);text-align:center}
.hero h1{font-size:clamp(30px,6.5vw,58px);font-weight:700;letter-spacing:-.03em}
.hero-lead{max-width:660px;margin:20px auto 0}
.hero-actions{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.hero-actions .btn-brick{background:var(--rust)}
.hero-actions .btn-brick:hover{background:#924922}
.hero-actions .btn-outline{color:var(--rust);border-color:var(--rust)}
.hero-actions .btn-outline:hover{background:var(--rust);color:var(--white)}
.tech-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}
@media(min-width:640px){.tech-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.tech-grid{grid-template-columns:repeat(3,1fr)}}
.tech-card{border:1px solid var(--hairline);border-left:4px solid var(--rust);padding:20px 18px;background:var(--white)}
.tech-card h3{font-size:14px;font-weight:600}
.tech-card p{font-size:13px;color:var(--graphite);margin-top:6px;line-height:1.65}
.pipe-spec{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin-top:16px;font-size:13px}
.pipe-spec-key{font-weight:600;color:var(--rust);white-space:nowrap}
.pipe-spec-val{color:var(--graphite)}
.ba-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:24px}
@media(min-width:640px){.ba-grid{grid-template-columns:repeat(2,1fr)}}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.ba-shot{position:relative;overflow:hidden}
.ba-shot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s ease}
.ba-shot:hover img{transform:scale(1.04)}
.ba-tag{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.06em}
.ba-tag-before{background:rgba(34,33,31,.75);color:#fff}
.ba-tag-after{background:rgba(184,92,48,.9);color:#fff}
