@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */

/* ========================================
   서브 공통
======================================== */
/*
.sub-content{padding:56px 0 80px}
.sub-hero + .sub-content,.lnb-tabs + .sub-content,.product-index-nav + .sub-content{padding-top:var(--sub-nav-content-gap)}
.lnb-tabs + .sub-content--greeting{padding-bottom:0}
.lnb-tabs + .sub-content--location{padding-bottom:var(--sec-gap)}
#about-page .sub-content{padding-bottom:var(--sec-gap)}*/
.sub-intro-cols{display:grid; grid-template-columns:1fr 2fr; gap:var(--space-48); margin-bottom:var(--space-48); padding-bottom:var(--space-48); border-bottom:1px solid var(--color-hairline);}
.sub-intro-cols__title{font-size:var(--font-size-36); font-weight:800; color:var(--color-main); line-height:1.35;}

.sub-intro-stack{margin-bottom:var(--space-56);}
.sub-intro-stack__title{font-size:var(--font-size-48); font-weight:700; color:var(--color-main); line-height:1.35; margin-bottom:var(--space-16); white-space:nowrap;}
.sub-intro-stack .sec-desc{max-width:none; white-space:nowrap; font-size:var(--font-size-22); line-height:1.5;}
.sub-image-band{height:220px; background:var(--color-surface-soft); display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--color-steel);}
.sub-title-stripe{background:var(--color-point); color:#fff; padding:var(--space-18) 0; font-size:var(--font-size-17); font-weight:600;}
.sub-overlap-block{margin-top:calc(var(--space-48) * -1); padding-bottom:var(--space-32); position:relative; z-index:2;}
.sub-overlap-block__inner{background:#fff; border-radius:var(--radius-card); padding:var(--space-36) var(--space-40); box-shadow:0 12px 40px rgba(0,0,0,.1); max-width:1144px; margin:0 auto;}

/* ========================================
   1. 회사소개
======================================== */
/* Overview */
.about-overview-split{display:flex; justify-content:space-between; align-items:center; gap:0; margin-bottom:var(--space-56);}
.about-overview-img img{width:100%; height:100%; object-fit:cover;}
.about-overview-img{position:relative; overflow:hidden; flex:0 0 calc((100% - 24px)/2); width:calc((100% - 24px)/2); aspect-ratio:4/3; border-radius:var(--radius-card); background:var(--img-ph-bg); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; color:var(--img-ph-color); box-shadow:0 12px 40px rgba(12,31,51,.08);}
.about-overview-body{flex:0 0 620px; width:620px; max-width:620px;}
.about-overview-body .sec-label{margin-bottom:10px;}
.about-overview-body h3{font-size:var(--font-size-40); font-weight:700; color:var(--color-main); margin-bottom:var(--space-16); line-height:1.2;}
.about-overview-body p{font-size:var(--font-size-18); color:var(--color-steel); line-height:1.85; margin-bottom:14px;}
.about-overview-body p:last-of-type{margin-bottom:0;}
.about-overview-body .about-check-list{list-style:none; margin-top:var(--space-40);}
.about-check-list{list-style:none; margin-top:var(--space-24);}
.about-check-list li{display:flex; align-items:flex-start; gap:12px; font-size:var(--font-size-16); font-weight:700; color:var(--color-steel); line-height:1.75; margin-bottom:14px;}
.about-check-list li:last-child{margin-bottom:0;}
.about-check-list__icon{flex-shrink:0; width:20px; height:20px; margin-top:2px; color:var(--color-point);}
.about-info-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-24); margin-top:var(--space-56);}
.about-info-card{padding:var(--space-28); background:var(--color-surface-soft); border-radius:var(--radius-card);}
.about-info-card__row{display:flex; align-items:flex-start; gap:var(--space-20);}
.about-info-card__icon{flex-shrink:0; width:60px; height:60px; color:var(--color-point);}
.about-info-card__body h4{font-size:var(--font-size-18); font-weight:700; color:var(--color-main); margin:0 0 8px;}
.about-info-card__body p{font-size:var(--font-size-15); color:var(--color-steel); line-height:1.75; margin:0;}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-40);}
.about-narrative h3{font-size:var(--font-size-18); font-weight:700; color:var(--color-main); margin:var(--space-28) 0 12px;}
.about-narrative p{font-size:var(--font-size-16); color:var(--color-steel); line-height:1.85; margin-bottom:var(--space-16);}
.about-narrative-quote{font-size:var(--font-size-20); font-weight:700; line-height:1.7; color:var(--color-main); border-left:4px solid var(--color-point); padding:var(--space-20) var(--space-28); margin:var(--space-32) 0; background:var(--color-surface-soft);}
/* 인사말 */
html:has(.greeting-page) .real-cont {padding-bottom:0;}
.greeting-body{background:#f5f7fb; padding:var(--space-60) 0 var(--space-150);}
.greeting-layout{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40);}
.greeting-main{position:relative; flex:0 0 750px; max-width:100%;}
.greeting-aside{flex:0 0 560px; max-width:100%; margin-top:-284px;}
.greeting-aside__visual{margin:0; border-radius:16px; overflow:hidden; aspect-ratio:560/740; box-shadow:0 16px 48px rgba(12,31,51,.1);}
.greeting-aside__visual img{width:100%; height:100%; object-fit:cover; display:block;}
.greeting-photo{aspect-ratio:3/4; border-radius:var(--radius-card); overflow:hidden; box-shadow:0 12px 40px rgba(12,31,51,.1);}
.greeting-head{padding:0 0 var(--space-60);}
.greeting-head__eyebrow{display:flex; align-items:center; gap:var(--space-20); margin-bottom:var(--space-24);}
.greeting-head__label{font-size:var(--font-size-24); font-weight:700; color:var(--color-point); line-height:1; white-space:nowrap;}
.greeting-head__line{flex:1; max-width:400px; height:1px; background:var(--color-point);}
.greeting-head__title{font-size:var(--font-size-40); font-weight:700; color:var(--color-ink-deep); line-height:1.4; margin:0;}
.greeting-copy{display:flex; flex-direction:column; gap:var(--space-30); font-size:var(--font-size-18); line-height:1.67; color:#505050;}
.greeting-copy__block p{margin:0;}
.greeting-copy__block p+p{margin-top:0;}
.greeting-copy strong{font-weight:700; color:var(--color-ink-deep);}
.greeting-sign{display:flex; align-items:center; gap:var(--space-30); margin-top:var(--space-48);}
.greeting-sign__role{font-size:var(--font-size-20); font-weight:700; color:var(--color-ink-deep); margin:0;}
.greeting-sign__name{font-size:var(--font-size-40); font-weight:700; color:var(--color-main); margin:0; line-height:1;}
.greeting-more{margin-top:var(--space-24); display:inline-flex;}
/* 오시는 길 */
.location-page{display:flex; flex-direction:column; gap:var(--space-80);}
.location-contact-bar{display:flex; align-items:stretch; width:100%; min-height:64px; border-top:1px solid var(--color-hairline); border-bottom:1px solid var(--color-hairline);}
.location-contact-bar__label{flex:0 0 200px; display:flex; align-items:center; justify-content:center; min-height:63px; background:#f4f4f4; font-size:var(--font-size-18); font-weight:700; color:var(--color-ink-deep); letter-spacing:0;}
.location-contact-bar__list{flex:1; display:flex; align-items:center; justify-content:space-evenly; gap:var(--space-24) var(--space-80); padding:12px var(--space-24) 12px var(--space-30); min-width:0;}
.location-contact-bar__item{display:flex; align-items:center; gap:var(--space-30); flex:0 1 auto;}
.location-contact-bar__key{display:inline-flex; align-items:center; gap:var(--space-16); font-size:var(--font-size-20); font-weight:500; color:var(--color-ink-deep); white-space:nowrap; line-height:1;}
.location-contact-bar__icon{width:24px; height:24px; color:var(--color-point); flex-shrink:0;}
.location-contact-bar__val{font-size:var(--font-size-20); font-weight:400; color:#505050; white-space:nowrap; line-height:1; text-decoration:none;}
.location-sites{display:flex; flex-direction:column; gap:var(--space-120);}
.location-site{display:flex; flex-direction:column; gap:var(--space-40);}
.location-site__top{display:flex; flex-direction:column; gap:var(--space-30);}
.location-site__heading{font-size:var(--font-size-38); font-weight:700; color:var(--color-ink-deep); line-height:1; margin:0;}
.location-site__map {margin:0; height:510px; border-radius:16px; overflow:hidden; background:var(--color-surface-soft); position:relative;}
.location-site__map .root_daum_roughmap {width:100%; height:100%;}
.location-site__map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.location-site__map .root_daum_roughmap .map_border {display:none;}
.location-site__map.location-map-preview,.location-site__map .leaflet-container{width:100%; height:100%; font-family:inherit;}
.location-site__map .leaflet-control-attribution{font-size:10px;}
.location-site__body{margin-top:0; display:flex; flex-direction:column; gap:var(--space-20);}
.location-site__addr-group{display:flex; flex-direction:column; gap:10px;}
.location-site__label{font-size:var(--font-size-18); font-weight:700; line-height:1.67; color:var(--color-point); margin:0;}
.location-site__label--sub{color:var(--color-point);}
.location-site__addr{font-size:var(--font-size-28); font-weight:700; line-height:1.35; color:var(--color-ink-deep); margin:0; font-style:normal;}
.location-head{text-align:center; max-width:1138px; margin:0 auto;}
.location-head__title{font-size:var(--font-size-48); font-weight:700; color:var(--color-ink-deep); line-height:1.25; margin:0 0 var(--space-20);}
.location-head__brand{color:var(--color-point);}
.location-head__desc{font-size:var(--font-size-24); line-height:1.5; color:#505050; margin:0;}
.location-site--lab .location-site__heading{font-size:var(--font-size-40);}
.location-map-iframe{display:block; width:100%; height:100%; min-height:510px; border:0; pointer-events:none;}
.location-map-preview__overlay{position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; background:rgba(12,31,51,0); transition:background .35s ease; cursor:default;}
.location-map-preview__overlay:hover,.location-map-preview:focus-within .location-map-preview__overlay{background:rgba(12,31,51,.52);}
.location-map-preview__notice{margin:0; padding:0 var(--space-24); font-size:var(--font-size-20); font-weight:600; color:#fff; letter-spacing:-0.02em; text-align:center; opacity:0; transform:translateY(6px); transition:opacity .35s ease,transform .35s ease; pointer-events:none;}
.location-map-preview__overlay:hover .location-map-preview__notice,.location-map-preview:focus-within .location-map-preview__notice{opacity:1; transform:translateY(0);}
.location-map-preview:focus-visible{outline:none; box-shadow:0 0 0 3px rgba(0,153,204,.45);}
.location-map-fallback-wrap{display:flex; align-items:center; justify-content:center; min-height:510px; padding:var(--space-24); text-align:center; background:#eef2f6;}
.location-map-fallback{margin:0; font-size:var(--font-size-16); line-height:1.6; color:var(--color-steel);}
.location-map-fallback code{font-size:14px; color:var(--color-ink-deep);}
.location-map-balloon{padding:8px 12px; font-size:14px; line-height:1.4; color:var(--color-ink-deep); white-space:nowrap;}
.map-box{aspect-ratio:16/7; background:var(--color-surface-soft); border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--color-steel); margin-top:var(--space-28);}
.info-table{width:100%; border-collapse:collapse; margin-top:var(--space-20);}
.info-table th,.info-table td{border-bottom:1px solid var(--color-hairline); padding:14px 0; text-align:left;}
.info-table th{width:120px; font-weight:600; color:var(--color-main);}

/* ========================================
   2. 장치형
======================================== */
.product-index-nav{position:sticky; top:var(--gnb-h); z-index:120; background:#fff; border-bottom:1px solid var(--color-hairline); box-shadow:0 4px 20px rgba(12,31,51,.06); isolation:isolate;}
.sub-content--products{position:relative; z-index:1;}
.product-index-nav__track{padding-top:var(--space-16); padding-bottom:var(--space-16);}
.product-index-nav .swiper-slide{width:auto; height:auto;}
.product-index-nav__item{display:flex; flex-direction:column; align-items:center; gap:8px; min-width:100px; padding:8px 10px; border-radius:12px; border:1px solid var(--color-hairline); transition:border-color .2s,box-shadow .2s;}
.product-index-nav__item:hover,.product-index-nav__item.is-active{border-color:var(--color-point); box-shadow:0 4px 16px rgba(0,153,204,.12);}
.product-index-nav__thumb{width:72px; height:56px; border-radius:8px; overflow:hidden; background:#fff;}
.product-index-nav__thumb img{width:100%; height:100%; object-fit:cover;}
.product-index-nav__name{font-size:12px; font-weight:700; color:var(--color-main); white-space:nowrap;}
.product-section{margin-top:var(--space-200); scroll-margin-top:calc(var(--gnb-h) + var(--space-160));}
.product-section:first-child{margin-top:0;}
.product-section:last-child{border-bottom:none;}
.product-section__inner .facility-sheet-head{margin-top:0;}

.page-nature .sub-content--products,.page-device .sub-content--products{padding-bottom:var(--sec-gap);}
.page-nature .product-section,.page-nature .product-section--sheet,.page-device .product-section,.page-device .product-section--sheet{border-bottom:none; padding:var(--space-200) 0 0;}
.page-nature .product-section:first-child,.page-nature .product-section--sheet:first-child,.page-device .product-section:first-child,.page-device .product-section--sheet:first-child{padding-top:0;}
.product-detail-cols{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-32); margin-bottom:var(--space-48);}
.product-process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-24); margin-top:8px;}
.product-backwash{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-40); align-items:start;}
.product-backwash__text{font-size:var(--font-size-15); color:var(--color-steel); line-height:1.85;}
.product-backwash__text p{margin-bottom:14px;}
.product-backwash__text strong{color:var(--color-main);}
.product-backwash__visual{aspect-ratio:4/3; border-radius:var(--radius-card); background:var(--color-surface-soft); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; color:var(--color-steel);}
.product-detail{width:100%;}
.product-detail-intro{margin-bottom:var(--space-48); padding-bottom:var(--space-40); border-bottom:1px solid var(--color-hairline);}
.product-patent{display:inline-block; font-size:12px; font-weight:700; color:var(--color-point); background:rgba(0,153,204,.1); padding:6px 14px; border-radius:100px; margin-bottom:var(--space-16);}
.product-detail-intro h3{font-size:var(--font-size-32); font-weight:800; color:var(--color-main); margin-bottom:var(--space-16); line-height:1.3;}
.product-lead{font-size:var(--font-size-16); color:var(--color-steel); line-height:1.85;}
.product-detail-section{margin-bottom:var(--space-48);}
.product-detail-section__title{font-size:var(--font-size-24); font-weight:700; color:var(--color-main); margin-bottom:var(--space-20); padding-bottom:12px; border-bottom:2px solid var(--color-point); display:inline-block;}
.product-detail-visual{width:100%; aspect-ratio:21/9; border-radius:var(--radius-card); background:var(--color-surface-soft); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; color:var(--color-steel);}
.product-detail-box{background:var(--color-surface-soft); border-radius:var(--radius-card); padding:var(--space-32) var(--space-28); height:100%;}
.product-detail-box h4{font-size:var(--font-size-18); font-weight:700; color:var(--color-main); margin-bottom:var(--space-20);}
.product-detail-list{display:flex; flex-direction:column; gap:12px;}
.product-detail-list li{font-size:var(--font-size-15); color:var(--color-steel); line-height:1.7; padding-left:var(--space-16); position:relative;}
.product-detail-list li::before{content:''; position:absolute; left:0; top:11px; width:6px; height:6px; border-radius:50%; background:var(--color-point);}
.product-detail-section--band{background:var(--color-main); border-radius:var(--radius-card); padding:var(--space-40) var(--space-36); margin-bottom:var(--space-48); color:#fff;}
.product-detail-section--band .product-detail-section__title{color:#fff; border-bottom-color:var(--color-point);}
.product-detail-section--band .facility-sheet-sec-title{color:#fff; margin-bottom:var(--space-24);}
.product-process-item{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:var(--space-24) var(--space-20);}
.product-process-item strong{display:block; font-size:var(--font-size-15); font-weight:700; color:var(--color-point); margin-bottom:10px;}
.product-process-item p{font-size:14px; color:rgba(255,255,255,.82); line-height:1.75; margin:0;}
.product-process-note{margin-top:var(--space-24); font-size:var(--font-size-15); color:rgba(255,255,255,.88); line-height:1.85;}
.product-process-note p{margin-bottom:10px;}
.facility-sheet-body{display:grid; grid-template-columns:46% 54%; gap:var(--space-36); align-items:start; margin-bottom:var(--space-48);}
.facility-sheet{width:100%;}
.facility-sheet-head{display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-24); margin-bottom:var(--space-36); padding-bottom:var(--space-32); border-bottom:1px solid var(--color-hairline);}
.facility-sheet-head h3{font-size:var(--font-size-32); font-weight:800; color:var(--color-main); margin-bottom:14px; line-height:1.3;}
.facility-sheet-lead{font-size:var(--font-size-16); color:var(--color-steel); line-height:1.85;}
.facility-sheet-patent{flex-shrink:0; font-size:13px; font-weight:700; color:#c0392b; white-space:nowrap; padding-top:6px;}
.facility-sheet-sec-title{display:flex; align-items:center; gap:10px; font-size:var(--font-size-17); font-weight:700; color:var(--color-main); margin-bottom:var(--space-16);}
.facility-sheet-check{width:22px; height:22px; border-radius:50%; background:var(--color-point); flex-shrink:0; position:relative;}
.facility-sheet-check::after{content:''; position:absolute; left:7px; top:5px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);}
.facility-sheet-imgbox img{width:100%; height:100%; object-fit:cover;}
.facility-sheet-imgbox{position:relative; overflow:hidden; width:100%; aspect-ratio:4/5; border:2px solid rgba(0,153,204,.35); border-radius:16px; background:var(--color-surface-soft); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; color:var(--color-steel); box-shadow:0 8px 28px rgba(12,31,51,.08);}
.facility-sheet-imgbox--wide{aspect-ratio:21/9; margin-top:12px;}
.facility-sheet-info{display:flex; flex-direction:column; gap:var(--space-28);}
.facility-sheet-block{padding-bottom:var(--space-24); border-bottom:1px solid var(--color-hairline);}
.facility-sheet-block:last-child{border-bottom:none; padding-bottom:0;}
.facility-sheet-list{display:flex; flex-direction:column; gap:10px;}
.facility-sheet-list li{font-size:var(--font-size-15); color:var(--color-steel); line-height:1.75; padding-left:var(--space-18); position:relative;}
.facility-sheet-list li::before{content:''; position:absolute; left:0; top:10px; width:7px; height:7px; background:var(--color-steel); opacity:.45;}
.facility-sheet-list li em{font-style:normal; color:var(--color-point); font-weight:700;}
.facility-sheet-list li strong{color:var(--color-main); font-weight:700;}
.facility-sheet-install{margin-bottom:8px;}
.facility-sheet-extra{margin-bottom:var(--space-48);}
.facility-sheet-extra:last-child{margin-bottom:0;}
.facility-sheet-backwash{margin-bottom:var(--space-28);}
.svc-zigzag .zz-row{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-48); align-items:center; margin-bottom:var(--space-56);}
.svc-zigzag .zz-row:nth-child(even) .zz-img{order:2;}
.svc-zigzag .zz-row:nth-child(even) .zz-text{order:1;}
.zz-img{aspect-ratio:4/3; border-radius:var(--radius-card); background:var(--color-surface-soft); display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--color-steel); font-weight:600;}
.direct-intro-card{margin-bottom:var(--space-48);}
.svc-tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:var(--space-28);}
.svc-tab-btn{padding:10px var(--space-22); border-radius:100px; border:1px solid var(--color-hairline); background:#fff; font-size:14px; font-weight:600; cursor:pointer;}
.svc-tab-btn.active{background:var(--color-main); color:#fff; border-color:var(--color-main);}
.svc-tab-panel{display:none;}
.svc-tab-panel.active{display:block;}
.svc-steps{display:flex; flex-direction:column; gap:var(--space-36);}
.svc-step{display:grid; grid-template-columns:72px 1fr; gap:var(--space-20);}
.svc-step__num{font-size:var(--font-size-44); font-weight:900; color:var(--color-point); line-height:1;}
/* 장치형·자연형·터널 공통 시트 */
.tunnel-fig-slider{width:100%;}
.tunnel-fig.tunnel-fig-slider__viewport{position:relative; display:block; overflow:hidden; width:100%; padding:var(--space-60);}
.tunnel-fig-slider__clip{overflow:hidden; width:100%;}
.tunnel-fig.tunnel-fig-slider__viewport .swiper,.tunnel-fig.tunnel-fig-slider__viewport .swiper-wrapper,.tunnel-fig.tunnel-fig-slider__viewport .swiper-slide{height:auto;}
.tunnel-fig-slider__track{display:flex; align-items:center; width:100%;}
.tunnel-fig-slider__slide{flex:0 0 100%; width:100%; max-width:100%; display:flex; align-items:center; justify-content:center;}
.tunnel-fig.tunnel-fig-slider__viewport .tunnel-fig-slider__slide img{display:block; width:auto; max-width:100%; max-height:720px; height:auto; margin:0 auto; object-fit:contain;}
.tunnel-fig-slider__arr{position:absolute; top:50%; z-index:2; width:48px; height:48px; margin:0; padding:0; border:none; background:none; color:#ccc; font-size:var(--font-size-48); line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transform:translateY(-50%); transition:color .2s;}
.tunnel-fig-slider__arr--prev{left:16px;}
.tunnel-fig-slider__arr--next{right:16px;}
.tunnel-fig-slider__arr:hover{color:#999;}
.tunnel-fig-slider__arr[hidden]{display:none!important;}
.tunnel-fig-pair{display:flex; justify-content:space-between; gap:var(--space-20); width:100%; margin-top:var(--space-60);}
.tunnel-fig-pair--quad{flex-wrap:nowrap; gap:var(--space-20);}
.tunnel-fig-pair--quad .tunnel-fig-pair__item{width:auto; flex:1 1 0; min-width:0;}
.tunnel-fig-pair--quad .tunnel-fig-pair__item img{width:100%; height:auto; aspect-ratio:1/1; object-fit:contain;}
.tunnel-fig-pair__item{width:690px; margin:0;}
.tunnel-fig-pair__item img{display:block; width:690px; max-width:100%; height:auto; border:1px solid #dddddd; border-radius:16px;}
.tunnel-fig-pair__item figcaption{margin-top:var(--space-20); text-align:center; font-size:var(--font-size-20); font-weight:600; color:var(--color-main); line-height:1.4;}
.tunnel-fig-pair--padded .tunnel-fig-pair__item img{padding:var(--space-30); background:#fff; height:389px; object-fit:contain;}
.tunnel-fig-pair__sub{display:block; margin-top:6px; font-size:14px; font-weight:400; color:var(--color-steel); line-height:1.45;}
.tunnel-fig-slider>.tunnel-fig-pair:first-child{margin-top:0;}
.tunnel-equip{display:flex; flex-direction:column; gap:var(--space-24);}
.tunnel-equip__row{display:flex; align-items:flex-start; gap:var(--space-40);}
.tunnel-equip__row .tunnel-spec{flex:1; min-width:0;}
.tunnel-cert-pair{display:flex; flex:0 0 auto; gap:var(--space-16);}
.tunnel-cert__row{display:flex; align-items:center; gap:var(--space-40);}
.tunnel-spec--full{grid-template-columns:1fr;}
.tunnel-table--components{min-width:720px;}
.tunnel-table--components thead th{font-size:var(--font-size-16); padding:14px 10px; line-height:1.4; word-break:keep-all;}
.tunnel-table--components tbody td{font-size:var(--font-size-16); line-height:1.75; text-align:center; padding:var(--space-20) var(--space-16);}
.tunnel-fig--photo{background:#fff; border-color:rgba(0,153,204,.2); padding:0;}
.tunnel-fig--photo img{display:block; width:100%; height:auto; object-fit:cover;}
.tunnel-sheet{width:100%; font-size:var(--font-size-18); line-height:1.78; color:var(--color-steel);}
.tunnel-sheet__brand{text-align:center; margin-bottom:var(--space-56); padding-bottom:var(--space-40); border-bottom:1px solid var(--color-hairline);}
.tunnel-sheet__badge{display:inline-block; margin-bottom:12px; padding:6px 14px; border-radius:100px; background:var(--color-point); font-size:14px; font-weight:700; color:#fff; letter-spacing:-0.02em;}
.tunnel-sheet__product{margin:0; font-size:var(--font-size-40); font-weight:800; color:var(--color-main); line-height:1.3;}
.tunnel-sheet__product-ko{display:inline; font-size:inherit; font-weight:700; margin-left:0.2em;}
.tunnel-sec{margin-bottom:var(--space-120);}
.tunnel-sec:last-child{margin-bottom:0;}
.tunnel-sec__title{display:flex; align-items:center; gap:10px; margin:0 0 var(--space-28); font-size:var(--font-size-28); font-weight:700; color:var(--color-main); line-height:1.35;}
.tunnel-sec__title--plain{font-size:var(--font-size-32); justify-content:center; text-align:center;}
.tunnel-sec__check{width:24px; height:24px; flex-shrink:0; background:url('../images/common/tunnel-sec-check.svg') center/contain no-repeat;}
.tunnel-sec__check::after{display:none;}
.tunnel-lead{margin:0 0 var(--space-28); color:var(--color-steel);}
.tunnel-note{margin:0 0 var(--space-16); font-size:14px; font-weight:600; color:var(--color-point);}
.tunnel-note--flow{text-align:center;}
.tunnel-spec{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px var(--space-32); margin:0; padding:var(--space-24) var(--space-28); border-radius:16px; background:var(--color-surface-soft); list-style:none;}
.tunnel-spec li{display:grid; grid-template-columns:7em 1fr; column-gap:12px; align-items:start; font-size:var(--font-size-18); line-height:1.65;}
.tunnel-spec strong{min-width:0; margin:0; white-space:nowrap; color:var(--color-main); font-weight:700;}
.tunnel-fig{width:100%; border-radius:16px; overflow:hidden; border:1px solid rgba(0,153,204,.2); background:#fff; box-shadow:0 8px 28px rgba(12,31,51,.06);}
.tunnel-fig img{display:block; width:100%; height:auto; object-fit:contain;}
.tunnel-fig--model,.tunnel-fig--steps,.tunnel-fig--flow{background:#fff; border-color:rgba(0,153,204,.2); padding:var(--space-60);}
.tunnel-fig--model img,.tunnel-fig--steps img,.tunnel-fig--flow img{display:block; width:100%; height:auto; object-fit:contain;}
.tunnel-table-wrap{overflow-x:auto; margin-top:var(--space-28);}
.tunnel-table-wrap+.tunnel-fig-slider{margin-top:var(--space-40);}
.tunnel-table{width:100%; border-collapse:collapse; border-spacing:0px; min-width:520px; font-size:var(--font-size-18); line-height:1.5em;}
.tunnel-table thead th{background:var(--color-main); color:#fff; font-size:var(--font-size-18); font-weight:700; padding:var(--space-16) var(--space-20); text-align:center; border:1px solid rgba(255,255,255,.15);}
.tunnel-table tbody th,
.tunnel-table tbody td{padding:var(--space-16) var(--space-20); border:1px solid var(--color-hairline); vertical-align:middle; line-height:1.65;}
.tunnel-table tbody th{width:22%; background:var(--color-surface-soft); color:var(--color-main); font-weight:700; text-align:center; white-space:nowrap;}
.tunnel-table tbody td{color:var(--color-steel);}
.tunnel-table tr th:first-child,
.tunnel-table tr td:first-child {border-left:0 !important;}
.tunnel-table tr th:last-child,
.tunnel-table tr td:last-child {border-right:0 !important;}
.tunnel-table__empty{color:#aaa; text-align:center;}
.tunnel-table__sub{display:block; margin-top:2px; font-size:14px; font-weight:500; line-height:1.2; opacity:.9;}
.tunnel-table__head-col{line-height:1.25;}
.tunnel-table-foot{margin:12px 0 0; font-size:14px; color:#878787;}
.tunnel-table--quality thead th{font-size:var(--font-size-18);}
.tunnel-table--quality tbody th{width:auto; text-align:center; background:#f4f4f4; color:var(--color-main); font-weight:700; font-size:var(--font-size-18);}
.tunnel-table--quality tbody td{text-align:center; font-weight:400; font-size:var(--font-size-16); color:#505050;}
.tunnel-table--feature{min-width:0; border:none;}
.tunnel-table.tunnel-table--feature tbody th,.tunnel-table.tunnel-table--feature tbody td{text-align:left; border:none; border-bottom:1px solid var(--color-hairline); padding:var(--space-16) var(--space-24); font-size:var(--font-size-18); line-height:1.6;}
.tunnel-table--feature tbody td{color:var(--color-steel); background:#fff;}
.tunnel-table--feature tbody th{width:220px; background:#f4f4f4; color:var(--color-main); font-weight:700; white-space:nowrap; text-align:left;}
.tunnel-table--feature tbody .tunnel-table--feature__head td{background:var(--color-point); color:#fff; font-weight:700; border-color:var(--color-point);}
.tunnel-table--feature tbody .tunnel-table--feature__head em{color:#ffe14a; font-style:normal; font-weight:700;}
.tunnel-table--feature tbody .tunnel-table--feature__sub td{background:#e9e9e9; color:var(--color-main); font-weight:600;}
.tunnel-fig-slider+.tunnel-sec__title{margin-top:var(--space-56);}
.tunnel-table--backwash{min-width:0; border:none;}
.tunnel-table.tunnel-table--backwash tbody th,
.tunnel-table.tunnel-table--backwash tbody td{border:none; border:1px solid var(--color-hairline); padding:var(--space-22) 8px; font-size:var(--font-size-18); line-height:1.6; text-align:left; vertical-align:middle; background:#fff;}
.tunnel-table.tunnel-table--backwash tbody th{width:42%; color:var(--color-main); font-weight:700; white-space:normal; background:#f4f4f4; padding-left:var(--space-20);}
.tunnel-table.tunnel-table--backwash tbody td{color:var(--color-steel); padding-left:var(--space-20);}
.tunnel-table.tunnel-table--backwash tbody .tunnel-table--backwash__hl th,
.tunnel-table.tunnel-table--backwash tbody .tunnel-table--backwash__hl td{color:var(--color-point);}
.tunnel-table--backwash__desc{display:block; margin:0 0 10px; font-weight:700;}
.tunnel-table--backwash__rate{display:inline-block; background:var(--color-point); color:#fff; text-align:center; font-weight:700; padding:10px var(--space-24);}
.tunnel-cert{margin-top:var(--space-56);}
.tunnel-cert__title{margin:12px 0 0; font-size:var(--font-size-18); font-weight:700; color:var(--color-main); text-align:center;}
.tunnel-cert__doc{flex:0 0 180px; width:180px;}
.tunnel-cert__doc img{display:block; width:100%; height:auto; border:1px solid var(--color-hairline);}
.tunnel-cert__patent{margin:14px 0 0; font-size:var(--font-size-16); color:var(--color-main); line-height:1.5; text-align:left;}
.tunnel-cert__patent strong{color:var(--color-point); margin-right:8px; font-weight:700;}
.tunnel-cert__info{flex:1; min-width:0;}
.tunnel-table--cert{min-width:0; border:none;}
.tunnel-table.tunnel-table--cert tbody th,
.tunnel-table.tunnel-table--cert tbody td{border:none; border:1px solid var(--color-hairline); padding:14px var(--space-16); font-size:var(--font-size-16); line-height:1.5; text-align:left; vertical-align:middle;}
.tunnel-table.tunnel-table--cert tbody th{width:7.5em; background:#f4f4f4; color:var(--color-main); font-weight:700; white-space:nowrap;}
.tunnel-table.tunnel-table--cert tbody td{background:#fff; color:var(--color-main); width:auto;}
.tunnel-table.tunnel-table--cert tbody td strong{font-weight:800;}
.tunnel-table--process{min-width:960px; table-layout:fixed;}
.tunnel-table--process thead th{font-size:var(--font-size-18); padding:14px 8px; line-height:1.45; word-break:keep-all;}
.tunnel-table--process thead th:first-child{width:72px;}
.tunnel-table--process tbody th{background:#f4f4f4; color:var(--color-main); font-size:var(--font-size-18); font-weight:700; text-align:center; vertical-align:middle; width:72px;}
.tunnel-table--process tbody td{font-size:var(--font-size-16); padding:14px 10px; text-align:center; word-break:keep-all; line-height:1.55;}
.tunnel-table--process tbody td.tunnel-table__emphasis{font-size:var(--font-size-16); font-weight:600; color:var(--color-main); background:var(--color-surface-soft); padding:12px 10px;}
.tunnel-table__emphasis-line{display:block; line-height:1.5;}
.tunnel-table__emphasis-rule{display:block; height:1px; margin:10px 0; background:var(--color-hairline);}
.tunnel-table--process .tunnel-table__empty{background:#fff;}
.tunnel-icon-grid--pair{align-self:start;}
.tunnel-bullets__text{font-weight:400; color:var(--color-steel); margin-left:0.25em;}
.tunnel-bullets{margin:0 0 var(--space-28); padding:0; list-style:none; display:flex; flex-direction:column; gap:14px;}
.tunnel-bullets li{position:relative; padding-left:var(--space-16); font-size:var(--font-size-18); line-height:1.72; color:var(--color-steel);}
.tunnel-bullets li::before{content:''; position:absolute; left:0; top:12px; width:6px; height:6px; border-radius:50%; background:var(--color-point);}
.tunnel-bullets li strong{color:var(--color-main); font-weight:700;}
.tunnel-bullets--compact{margin-bottom:var(--space-20);}
.tunnel-icon-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-20); align-items:stretch;}
.tunnel-icon-card{display:flex; flex-direction:column; height:100%; margin:0; text-align:center;}
.tunnel-icon-card__img{aspect-ratio:1; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #ddd; margin-bottom:12px; display:flex; align-items:center; justify-content:center; padding:var(--space-30);}
.tunnel-icon-card__img img{width:100%; height:100%; object-fit:contain; object-position:center;}
.tunnel-icon-card figcaption{display:flex; flex-direction:column; gap:4px; line-height:1.45; color:var(--color-steel);}
.tunnel-icon-card figcaption strong{font-size:var(--font-size-18); font-weight:700; color:var(--color-main);}
.tunnel-icon-card figcaption span{font-size:14px; color:var(--color-steel);}

/* ========================================
   3. 자연형
======================================== */
/* 자연형은 장치형과 동일 시트(.tunnel-sheet · .product-section)를 사용합니다. */

/* ========================================
   4. 터널 오탁수 처리시설
======================================== */
.page-tunnel .sub-content--tunnel{padding-bottom:var(--sec-gap);}
.tunnel-feature-split{display:grid; grid-template-columns:1fr 1fr; column-gap:var(--space-48); row-gap:var(--space-60); align-items:stretch;}
.tunnel-feature-split__col{display:contents;}
.tunnel-feature-split .tunnel-bullets{margin-bottom:0; align-self:start;}
.tunnel-feature-split .tunnel-bullets li strong{color:var(--color-point);}
.tunnel-feature-split .tunnel-bullets li strong::after{content:':'; margin-left:0.15em;}
.tunnel-rns-grid{display:grid; grid-template-columns:600px 700px; gap:var(--space-100); align-items:start; margin-top:8px;}
.tunnel-rns-patent{width:600px; max-width:100%; padding:0; background:transparent; border:none;}
.tunnel-rns-patent__inner{display:flex; align-items:flex-start; gap:var(--space-28); width:600px; max-width:100%;}
.tunnel-rns-patent__figure{flex:0 0 240px; width:240px; margin:0; border-radius:6px; overflow:hidden; border:1px solid #ddd; background:#fff; box-shadow:0 2px 12px rgba(12,31,51,.06);}
.tunnel-rns-patent__figure img{display:block; width:100%; height:auto; object-fit:contain;}
.tunnel-rns-patent__body{flex:1; min-width:0; padding-top:4px;}
.tunnel-rns-patent__label{margin:0 0 8px; font-size:14px; font-weight:700; color:var(--color-point);}
.tunnel-rns-patent__no{margin:0 0 12px; font-size:var(--font-size-20); font-weight:700; color:var(--color-main); line-height:1.4;}
.tunnel-rns-patent__title{margin:0; font-size:var(--font-size-16); line-height:1.65; color:var(--color-steel);}
.tunnel-rns-visual{display:flex; flex-direction:column; gap:var(--space-20); width:700px; max-width:100%; min-width:0;}
.tunnel-fig--co2{width:100%; max-width:700px; margin:0 auto; border:none; box-shadow:none; background:transparent;}
.tunnel-fig--co2 img{display:block; width:100%; max-width:700px; max-height:396px; height:auto; object-fit:contain; margin:0 auto;}
.tunnel-rns-stats{display:flex; flex-wrap:wrap; gap:var(--space-16); justify-content:center;}
.tunnel-rns-stat{display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:140px; padding:var(--space-20) var(--space-24); border-radius:16px; background:var(--color-main); color:#fff; text-align:center;}
.tunnel-rns-stat--rpm{background:var(--color-point);}
.tunnel-rns-stat__val{font-size:var(--font-size-28); font-weight:800; line-height:1.1;}
.tunnel-rns-stat__val small{font-size:14px; font-weight:600;}
.tunnel-rns-stat__label{font-size:14px; font-weight:600; margin-bottom:6px; opacity:.95;}
.tunnel-rns-stat--rpm .tunnel-rns-stat__label{margin:0 0 6px;}
.tunnel-maint-flow{display:flex; align-items:flex-start; justify-content:space-between; gap:0; width:100%; margin-top:12px;}
.tunnel-maint-step__arrow{flex:0 0 28px; align-self:flex-start; margin-top:72px; height:52px; position:relative;}
.tunnel-maint-step__arrow::before,.tunnel-maint-step__arrow::after{content:''; position:absolute; left:50%; width:0; height:0; border-top:8px solid transparent; border-bottom:8px solid transparent;}
.tunnel-maint-step__arrow::before{top:2px; transform:translateX(-50%); border-left:13px solid #0070c0;}
.tunnel-maint-step__arrow::after{bottom:2px; transform:translateX(-50%); border-right:13px solid #0070c0;}
.tunnel-maint-step{flex:1 1 0; min-width:0; max-width:220px; display:flex; flex-direction:column; align-items:stretch;}
.tunnel-maint-step__icon{position:relative; width:100%; max-width:196px; margin:0 auto; aspect-ratio:1; border-radius:50%; border:6px solid var(--color-point); background:#fff; display:flex; align-items:center; justify-content:center; padding:14px;}
.tunnel-maint-step__icon img{position:relative; z-index:1; width:100px; height:100px; object-fit:contain;}
.tunnel-maint-step__label{width:100%; margin:12px 0 0; padding:14px 8px; background:#888; color:#fff; font-size:var(--font-size-16); font-weight:600; line-height:1.45; text-align:center; word-break:keep-all; border-radius:8px;}

/* ========================================
   6. 고객지원
======================================== */
.contact-head{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-24); margin-bottom:var(--space-20);}
.contact-head__title{margin:0; font-size:var(--font-size-32); font-weight:600; line-height:44px; color:#121212;}
.contact-head__note{display:flex; align-items:center; gap:5px; font-size:14px; color:#878787; flex-shrink:0;}
.contact-head__note i{width:6px; height:6px; border-radius:50%; background:var(--color-point); flex-shrink:0;}

.contact-form__submit{display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:56px; padding:0 var(--space-50); border:none; border-radius:99px; background:#0094cb; color:#fff; font-size:var(--font-size-16); font-weight:600; cursor:pointer;}
.contact-form__submit:hover{background:var(--color-point-dark);}
