/* 18 씽크대막힘 트랩 — 가로 스크롤 섹션 1개 + 세로 섹션 조합 */
:root{
  --bg:#F4F4F2;
  --ink:#2B3038;
  --slate:#5F7A8C;
  --panel:#C9C2B6;
  --deep:#1A1E24;
  --font-display:"KoPub Batang","KoPub Dotum",system-ui,-apple-system,"Malgun Gothic",serif;
  --font-body:"KoPub Dotum",system-ui,-apple-system,"Malgun Gothic",sans-serif;
}

body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15.5px;line-height:1.85}

.site-header{background:#fff;border-bottom:1px solid var(--panel)}
.site-header .wrap{padding-block:16px}
.logo{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--deep)}
.site-header nav ul{font-size:13px}
.site-header nav a{color:var(--ink)}
.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--slate)}
.related-nav{font-size:12px;color:var(--slate)}

.hero{background:var(--deep);color:#fff;padding-block:52px}
.hero .wrap{max-width:780px}
.hero .eyebrow{font-size:12.5px;letter-spacing:.1em;color:var(--panel);font-weight:700}
.hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,5vw,38px);margin-top:14px}
.hero .lead{margin-top:16px;font-size:16px;color:#C7C2B8;max-width:56ch}
.hero .cta-inline{margin-top:22px;display:inline-block;background:var(--slate);color:#fff;font-weight:700;padding:12px 26px}

.main-body{padding-block:52px}
.main-body .wrap{max-width:820px}
.main-body section{margin-top:44px}
.main-body h2{font-family:var(--font-display);font-weight:700;font-size:22px}
.main-body p{margin-top:14px;max-width:66ch}
.main-body p + p{margin-top:12px}

/* 트랩 단면 도식 */
.trap-cross{margin-top:24px;background:#fff;border:1px solid var(--panel);padding:24px;display:flex;flex-direction:column;align-items:center}
.trap-cross .pipe-u{width:160px;height:100px;border:8px solid var(--ink);border-top:none;border-radius:0 0 40px 40px;position:relative}
.trap-cross .water{position:absolute;bottom:8px;left:8px;right:8px;height:40px;background:var(--slate);opacity:.5;border-radius:0 0 32px 32px}
.trap-cross .label{margin-top:14px;font-size:13px;text-align:center;color:#4A5560}
.trap-cross .label strong{color:var(--slate);font-family:var(--font-display)}

/* 가로 스크롤 순서 섹션 */
.scroll-steps{margin-top:24px;display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
.scroll-steps .step-card{flex:0 0 200px;scroll-snap-align:start;background:#fff;border:1px solid var(--panel);padding:16px}
.scroll-steps .step-card .n{font-family:var(--font-display);font-weight:700;color:var(--slate);font-size:13px}
.scroll-steps .step-card p{margin-top:8px;font-size:13.5px}

.safety-box{margin-top:20px;background:#fff;border-left:4px solid var(--slate);padding:18px 20px}
.safety-box h3{font-family:var(--font-display);font-weight:700;font-size:15.5px;margin-bottom:8px}

figure{margin-top:26px}
figcaption{margin-top:10px;color:#4A5560;text-align:center}

.review-section{background:#fff;padding-block:52px;border-top:1px solid var(--panel)}
.review-section h2{font-family:var(--font-display);font-weight:700;font-size:21px;text-align:center}
.review-list{margin-top:24px;grid-template-columns:repeat(2,1fr)}
@media (max-width:640px){.review-list{grid-template-columns:1fr}}
.review-list blockquote{background:var(--bg);padding:16px;font-size:14px}
.review-list cite{display:block;margin-top:8px;font-style:normal;font-size:12px;color:var(--slate);font-weight:700}

.related-links{padding-block:36px}
.related-links .wrap{max-width:820px}
.related-links p{font-weight:700;font-size:13px;color:var(--slate);margin-bottom:12px}
.related-links a{background:#fff;border:1px solid var(--panel);padding:8px 14px;font-size:13.5px}

.cta-block{background:var(--deep);color:#fff;padding-block:46px}
.cta-block .cta-heading{font-family:var(--font-display);font-weight:700;font-size:22px}
.cta-block a[href^="tel:"]{margin-top:18px;background:var(--slate);color:#fff;font-weight:700;padding:14px 30px;display:inline-block}

.site-footer{background:#0F1216;color:#9199A3;padding-block:14px;font-size:12.5px}

.photo-row-section h2{font-family:var(--font-display);font-size:22px;font-weight:800;text-align:center;margin-bottom:24px}
.photo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1000px;margin-inline:auto}
.photo-row figure{flex:1 1 200px;max-width:260px;margin:0}
.photo-row img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:8px}
@media (max-width:640px){.photo-row{flex-direction:column;align-items:center}.photo-row figure{max-width:400px;width:100%}}
