/* ============================================================
   AnyNble · MEASURED AQUIFER · PHOTO PLATE
   구조 = 개편 시안 / 외피 = 브랜드 시스템 v0.4 + 현장 도판
   ============================================================ */
:root{
  --paper:#F2EFE7; --paper2:#EAE6DC; --card:#FBFAF6;
  --ink:#0A1115; --soft:#222831; --mut:#63686C;
  --aquifer:#137A80; --aquifer-t:#116E73; --aquifer-d:#0d5c61; --aquifer-l:#E3EFEF;
  --line:#D8D4C8; --line2:#C4BFB1;
  --navy:#0A1115; --navy2:#12313a; --teal:#137A80; --aqua:#137A80; --ice:#EDEAE1; --sub:#5A6165;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Consolas,'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',-apple-system,sans-serif;color:var(--ink);line-height:1.7;background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
section{padding:96px 0;scroll-margin-top:70px}
h2{font-size:33px;font-weight:700;letter-spacing:-.4px;line-height:1.35;color:var(--ink)}
h3{font-weight:700;letter-spacing:-.2px}
.eyebrow{font-family:var(--mono);color:var(--aquifer-t);font-weight:500;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
.lead{color:var(--mut);font-size:16.5px;margin-top:14px;max-width:760px}
.center{text-align:left}.center .lead{margin-left:0;margin-right:0}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:50;background:rgba(242,239,231,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:62px;padding-top:8px;padding-bottom:8px;gap:18px}
nav .wrap > .logo{justify-self:start}
nav .wrap > .menu{justify-self:center}
nav .wrap > .navright{justify-self:end}
.logo{font-size:27px;font-weight:800;color:var(--ink);white-space:nowrap;letter-spacing:-.7px}
.logo span{color:var(--aquifer)}
.menu{display:flex;align-items:center;justify-content:center;gap:clamp(11px,1.15vw,19px);font-size:clamp(12.5px,1.05vw,14px);font-weight:500;flex-wrap:nowrap;min-width:0;overflow:hidden}
.menu a{color:var(--soft);text-decoration:none;white-space:nowrap;padding-bottom:2px;border-bottom:1px solid transparent}
.menu a:hover{color:var(--aquifer);border-bottom-color:var(--aquifer)}
.menu .sep{flex:0 0 auto;width:1px;height:15px;background:var(--line2);margin:0 3px}
.menu a.kept{color:var(--soft);font-family:var(--mono);font-size:clamp(11px,.92vw,12.5px);letter-spacing:.03em}
.menu a.kept:hover{color:var(--aquifer)}
nav .menu a.on{color:var(--aquifer);font-weight:700;border-bottom-color:var(--aquifer)}
nav .navright{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:11px 22px;border-radius:2px;text-decoration:none;font-weight:600;font-size:14.5px;white-space:nowrap;border:1px solid var(--ink);transition:.15s}
.btn:hover{background:var(--aquifer);border-color:var(--aquifer)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.langs{display:flex;gap:4px}
.langs a.lg{display:inline-block;white-space:nowrap;padding:5px 11px;border:1px solid var(--line2);border-radius:2px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;color:var(--mut);text-decoration:none}
.langs a.lg.on{background:var(--aquifer);color:#fff;border-color:var(--aquifer)}
a.logo{text-decoration:none;flex:0 0 auto}

/* ---------- hero : 현장 사진 전면 ---------- */
.hero{position:relative;min-height:660px;display:flex;align-items:center;color:var(--ink);background:url('/image/photo_songdo_hero.jpg') center/cover;border-bottom:1px solid var(--line)}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(95deg,rgba(242,239,231,.96) 0%,rgba(242,239,231,.90) 34%,rgba(242,239,231,.38) 62%,rgba(242,239,231,.12) 100%)}
.hero .wrap{position:relative;padding-top:72px;padding-bottom:72px}
.hero h1{font-size:52px;font-weight:800;line-height:1.22;letter-spacing:-1.4px;color:var(--ink);max-width:660px}
.hero h1 em{font-style:normal;color:var(--aquifer)}
.hero p{margin:22px 0 34px;font-size:18px;color:var(--soft);max-width:560px;line-height:1.75}
.hero .tag{display:inline-block;background:rgba(242,239,231,.88);border:1px solid var(--line2);color:var(--soft);padding:6px 14px;border-radius:2px;font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.01em;margin-bottom:24px}
.hero::after{content:'PLATE · SONGDO CENTRAL PARK';position:absolute;right:28px;bottom:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:#fff;background:rgba(10,17,21,.55);padding:5px 10px}

/* ---------- stats ---------- */
.stats{background:var(--ink);color:var(--paper);padding:40px 0;border-bottom:1px solid var(--line)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}
.stats > div, .stats .wrap > div{border-left:1px solid rgba(242,239,231,.22);padding-left:18px}
.stats b{display:block;font-size:32px;font-weight:700;color:#fff;letter-spacing:-1px}
.stats span{font-size:13px;color:#a9b3b6;line-height:1.5;display:block;margin-top:4px}

/* ---------- 공통 카드/도판 ---------- */

.grid2 > div{min-width:0}
.grid2 > .card,.grid2 > .compbox,.grid2 > .imgframe{height:100%}
.grid2 > .card{display:flex;flex-direction:column}
.grid2 > .card > .pad{flex:1;display:flex;flex-direction:column}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:stretch}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:2px;overflow:hidden}
.card .pad{padding:24px 26px}
.card h3{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.card p{font-size:14.5px;color:var(--mut)}
.figcap{font-family:var(--mono);font-size:11.5px;color:var(--mut);margin-top:10px;letter-spacing:.03em;line-height:1.6}
.imgframe{position:relative;border:1px solid var(--line2);border-radius:0;overflow:hidden;background:#fff}
.imgframe img{width:100%}
.imgframe .cap{font-family:var(--mono);font-size:11.5px;color:var(--mut);padding:9px 12px;border-top:1px solid var(--line);background:var(--card);letter-spacing:.02em}

/* ---------- 현장 도판 갤러리 ---------- */
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.plate{position:relative;border:1px solid var(--line2);background:#fff;overflow:hidden}
.plate img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.4s}
.plate:hover img{transform:scale(1.03)}
.plate .num{position:absolute;top:0;left:0;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#fff;background:rgba(10,17,21,.62);padding:4px 9px}
.plate .meta{padding:11px 13px;border-top:1px solid var(--line)}
.plate .meta b{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.plate .meta span{display:block;font-family:var(--mono);font-size:11px;color:var(--aquifer-t);letter-spacing:.04em;margin-top:3px}
.plate .meta i{display:block;font-style:normal;font-size:11.5px;color:var(--mut);margin-top:4px}

/* ---------- dark 섹션 ---------- */
.dark{background:var(--ink);color:var(--paper)}
.dark h2{color:#fff}
.dark .lead{color:#a9b3b6}
.dark .eyebrow{color:#7fbfc3}
.metric{background:var(--paper2);border:1px solid var(--line);border-radius:0;padding:18px 16px;text-align:left}
.metric b{display:block;font-size:31px;font-weight:800;color:var(--aquifer-t);letter-spacing:-1px;line-height:1.1;white-space:nowrap}
.metric span{display:block;margin-top:6px;font-size:14.5px;font-weight:600;color:var(--soft);line-height:1.4}

/* ---------- 표 ---------- */
table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
th{background:var(--ink);color:var(--paper);padding:11px 12px;font-weight:600;text-align:center;white-space:nowrap;font-size:13px;letter-spacing:.02em}
td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center}
tr:nth-child(even) td{background:var(--ice)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line2);border-radius:0}
.good{color:var(--aquifer-t);font-weight:700}
.bad{color:#9c3a24;font-weight:600}
.stars{color:var(--aquifer);letter-spacing:1px}

/* ---------- 사례 ---------- */
.case{border:1px solid var(--line2);border-radius:0;overflow:hidden;background:var(--card);display:grid;grid-template-columns:48% 52%}
.case .ph{position:relative;min-height:320px;background-size:cover;background-position:center}

.case .ph.fit{background-size:contain;background-repeat:no-repeat;background-color:#fff}
.case .body{padding:32px 36px}
.case h3{font-size:21px;font-weight:700}
.case .sub{font-family:var(--mono);color:var(--aquifer-t);font-weight:500;font-size:11.5px;letter-spacing:.16em;margin-bottom:8px;text-transform:uppercase}
.case p{color:var(--mut);font-size:14.5px;margin:10px 0 16px}
.kpis{display:flex;gap:10px;flex-wrap:wrap}
.kpi{background:var(--aquifer-l);border:1px solid #cadede;border-radius:2px;padding:8px 13px;font-size:13px;font-weight:600;color:var(--ink)}
.kpi b{color:var(--aquifer-t);font-size:15px}
.cases{display:flex;flex-direction:column;gap:26px}
.badge{display:inline-block;background:var(--aquifer-l);color:var(--aquifer-d);border:1px solid #cadede;font-family:var(--mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:2px;letter-spacing:.08em}

/* ---------- 중문 전용 ---------- */
.cn-only{display:none}
body[data-lang="cn"] .cn-only{display:block}
.cn-note{background:#F6F1E4;border:1px solid var(--line2);border-left:3px solid var(--aquifer);border-radius:0;padding:18px 22px;font-size:14px;color:var(--soft);margin-top:22px}

/* ---------- CTA ---------- */
.cta{position:relative;color:#fff;padding:110px 0;background:url('/image/photo_reservoir_site.jpg') center/cover;border-top:1px solid var(--line)}
.cta::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,21,.88),rgba(10,17,21,.5))}
.cta-inner{position:relative;max-width:1180px;margin:0 auto;padding:0 28px}
.cta h2{color:#fff;font-size:36px;max-width:660px;margin:0}
.cta .eyebrow{color:#7fbfc3}
.cta-p{margin:16px 0 30px;color:#cfe2ee;max-width:620px;font-size:16.5px}
.cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper);font-size:16px;padding:13px 30px}
.cta .btn:hover{background:var(--aquifer);color:#fff;border-color:var(--aquifer)}

/* ---------- 멀티페이지 ---------- */
.wrapsec{padding:88px 0}
.wrapsec.alt{background:var(--paper2)}
.idxgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:0;margin-top:30px;border-top:1px solid var(--line2);border-left:1px solid var(--line2)}
.idxcard{display:block;padding:22px 20px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);background:transparent;text-decoration:none;color:inherit;transition:.2s}
.idxcard:hover{background:var(--card)}
.idxcard .num{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--aquifer);font-weight:500}
.idxcard h3{margin:10px 0 8px;font-size:17px}
.idxcard p{margin:0;font-size:13.5px;color:var(--mut);line-height:1.65}
.solgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.solcard{display:block;padding:34px 22px;border:1px solid var(--line2);border-radius:0;background:var(--card);text-decoration:none;color:var(--ink);text-align:center;font-weight:700;font-size:17px;letter-spacing:-.2px}
.solcard:hover{border-color:var(--aquifer);color:var(--aquifer)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;margin-top:26px}
.axiom{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:19px;color:var(--aquifer-t);margin-top:26px}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#9aa4a7;padding:52px 0 40px;font-size:13.5px;border-top:1px solid var(--line)}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px;text-align:left}
footer .fcol h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#7fbfc3;margin:0 0 12px;font-weight:500;text-transform:uppercase}
footer .fcol a{display:block;color:#d3dadb;text-decoration:none;font-size:13.5px;padding:3px 0}
footer .fcol a:hover{color:#fff}
footer .flogo{font-size:26px;font-weight:800;margin-bottom:14px;color:#fff;letter-spacing:-.7px}
footer .flogo span{color:#7fbfc3}
footer p{font-size:13px;line-height:1.75;color:#9aa4a7;margin:0 0 8px}

@media(max-width:1100px){
  nav .wrap{grid-template-columns:auto auto;justify-content:space-between;row-gap:8px}
  .menu{grid-column:1 / -1;grid-row:2;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;gap:16px;font-size:13px}
  .menu::-webkit-scrollbar{height:0}
}
@media(max-width:900px){
  .grid2,.grid4,.stats .wrap,.idxgrid,.solgrid,.plates,.two{grid-template-columns:1fr}
  .case{grid-template-columns:1fr}
  .hero h1{font-size:33px}
  .hero::before{background:rgba(242,239,231,.93)}
  .btn{padding:9px 16px;font-size:13.5px}
  footer .wrap{grid-template-columns:1fr}
}

/* ---------- 네이티브 컴포넌트 (이미지 텍스트 대체) ---------- */
.compbox{border:1px solid var(--line2);background:var(--card);padding:24px 26px;height:100%;display:flex;flex-direction:column}
.grid2 + .compbox,.two + .compbox{margin-top:28px}
.compbox .figcap{margin-top:14px}
.compbox .tbl-wrap{border-color:var(--line)}
.compbox h3{font-size:19px;margin-bottom:14px}
.compbox .kpis{margin-top:14px}
.compbox > .grid4{grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:12px;margin-top:auto}
.compbox .semgrid{align-items:start}
.nbgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:14px}
.nbitem{border-top:1px solid var(--line);padding-top:12px}
.nbitem .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--aquifer-t)}
.nbitem b{display:block;font-size:16px;margin:4px 0 5px}
.nbitem p{font-size:13.5px;color:var(--mut);margin:0;line-height:1.65}
.flow{display:flex;align-items:stretch;gap:10px;margin-top:16px;flex-wrap:wrap}
.flow .step{flex:1 1 150px;border:1px solid var(--line2);background:#fff;padding:16px 14px;text-align:center}
.flow .step .sn{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--aquifer-t);margin-bottom:6px}
.flow .step b{font-size:14.5px;font-weight:700}
.flow .arrow{display:flex;align-items:center;color:var(--line2);font-size:20px}
.semgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.semgrid figure{margin:0;display:flex;flex-direction:column}
.semgrid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.semgrid figcaption{flex:1}
.semgrid .cap b{color:var(--ink)}
.hygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:14px}
.hyrow{display:flex;gap:12px;border-top:1px solid rgba(242,239,231,.22);padding-top:12px}
.hyrow .hn{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#7fbfc3;padding-top:3px}
.hyrow b{display:block;font-size:15.5px;color:#fff}
.hyrow p{margin:4px 0 0;font-size:13.5px;color:#a9b3b6;line-height:1.6}
.dark-box{background:var(--ink);border-color:var(--ink)}
.dark-box .eyebrow{color:#7fbfc3}
.dark .metric{background:transparent;border-color:rgba(242,239,231,.22)}
.dark .metric b{color:#fff}
.dark .metric span{color:#c3ccce}
.certlist{list-style:none;margin:14px 0 0;padding:0}
.certlist li{font-size:14px;color:var(--soft);padding:6px 0 6px 20px;position:relative;border-top:1px solid var(--line)}
.certlist li::before{content:'✓';position:absolute;left:0;color:var(--aquifer-t);font-weight:700}
@media(max-width:900px){.nbgrid,.hygrid,.semgrid{grid-template-columns:1fr}.flow .arrow{display:none}}

/* ---------- 한글/중문 가독성: 모노+자간은 라틴 라벨에만 ---------- */
.compbox > .eyebrow{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:.01em;text-transform:none;font-size:13.5px;font-weight:700;color:var(--aquifer-t)}
.figcap{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:0;font-size:13px;line-height:1.7}
.badge{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:.01em;font-weight:600;font-size:12.5px}
.imgframe .cap{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:0;font-size:12.5px;line-height:1.65}
.plate .meta span{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:.01em;font-size:11.5px;font-weight:600}
.case .sub{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:.02em;text-transform:none;font-size:12.5px;font-weight:700}
/* 좁은 컬럼 안의 공정 흐름은 세로 배치 */
.compbox .flow{display:grid;grid-template-columns:1fr;gap:8px}
.compbox .flow .arrow{justify-content:center;transform:rotate(90deg);font-size:16px;line-height:1}

/* ---------- 접근성·사용성 기본 (WCAG 2.2 AA 기준) ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);padding:12px 20px;text-decoration:none;font-weight:700}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--aquifer);outline-offset:3px;border-radius:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--aquifer);outline-offset:3px}
::selection{background:var(--aquifer);color:#fff}
html{-webkit-text-size-adjust:100%}
img{height:auto}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .plate:hover img{transform:none}
}
@media(max-width:900px){
  .logo{font-size:23px}
  .menu a{padding:10px 2px;min-height:44px;display:flex;align-items:center}
  .langs a.lg{min-height:40px;display:inline-flex;align-items:center;padding:8px 12px}
  nav .btn{min-height:44px;display:inline-flex;align-items:center}
  footer .fcol a{padding:9px 0}
  h2{font-size:26px}
  .hero p{font-size:16px}
  section,.wrapsec{padding:56px 0}
  .cta{padding:72px 0}
  .cta h2{font-size:27px}
}
@media print{
  nav,.cta,footer,.skip{display:none}
  body{background:#fff;color:#000}
  .hero{min-height:auto;background:none;color:#000}
  .hero::before,.hero::after{display:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:10px}
}


/* ---------- FAQ ---------- */
.faqlist{margin-top:8px}
.faq{border:1px solid var(--line2);background:var(--card);margin-bottom:18px}
.faq summary{cursor:pointer;list-style:none;padding:22px 52px 22px 24px;font-size:18px;font-weight:800;color:var(--ink);position:relative;line-height:1.55;letter-spacing:-.2px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:22px;top:19px;font-size:24px;font-weight:400;color:var(--aquifer-t)}
.faq[open] summary::after{content:'−'}
.faq[open] summary{border-bottom:1px solid var(--line)}
.faq summary:hover{color:var(--aquifer-t)}
.faq .qn{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--aquifer-t);margin-right:12px;vertical-align:2px}
.faq .fa{padding:22px 52px 26px 24px;color:var(--soft);font-size:15.5px;line-height:1.9;max-width:920px}
.faq .fa a{color:var(--aquifer-t)}
.faq .src{display:block;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line2);font-size:13px;color:var(--mut)}


/* ---------- 네비 우측: 언어 버튼과 문의 버튼 높이·크기 통일 ---------- */
nav .navright{gap:8px}
.langs a.lg{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:11.5px;line-height:1}
nav .navright .btn{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 16px;font-size:12.5px;font-weight:700;line-height:1;border-radius:2px}
@media(max-width:900px){
  .langs a.lg,nav .navright .btn{height:40px;min-height:40px}
  nav .navright .btn{padding:0 14px}
}

.dark .lead{margin-left:0;margin-right:0}

/* ---------- 특허 포트폴리오 국가 그리드 ---------- */
.flaggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.flagcell{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border:1px solid var(--line2);background:#fff;font-size:14px;font-weight:700;color:var(--ink);line-height:1.3}
.flagcell svg{border:1px solid var(--line2);flex:0 0 auto}
@media(max-width:700px){.flaggrid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 문의 채널 카드 ---------- */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:26px}
.ccard{display:flex;align-items:center;gap:14px;padding:20px 22px;border:1px solid var(--line2);background:var(--card);text-decoration:none;color:var(--ink);transition:.15s}
.ccard:hover{border-color:var(--aquifer);background:#fff}
.ccard .cicon{flex:0 0 auto;color:var(--aquifer-t);display:flex}
.ccard b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.2px}
.ccard small{display:block;font-size:13px;color:var(--mut);margin-top:3px;line-height:1.5}
.ccard.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.ccard.primary .cicon{color:#7fbfc3}
.ccard.primary small{color:#a9b3b6}
.ccard.primary:hover{background:var(--aquifer);border-color:var(--aquifer)}
.ccard.off{opacity:.45;cursor:default;background:var(--paper2)}
.ccard.off:hover{border-color:var(--line2);background:var(--paper2)}
.clist{margin:14px 0 0;padding-left:22px;color:var(--soft);font-size:15px;line-height:1.9}
.clist li{padding:2px 0}

/* ---------- 제품 라인업 카드 ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.pcard{border:1px solid var(--line2);background:var(--card);display:flex;flex-direction:column;overflow:hidden}
.pimg{margin:0;background:#fff;border-bottom:1px solid var(--line)}
.pimg img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pbody{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column}
.ptag{display:inline-block;font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;font-size:12px;font-weight:700;letter-spacing:.01em;color:var(--aquifer-t);margin-bottom:8px}
.pcard h3{font-size:18px;font-weight:800;letter-spacing:-.3px;margin-bottom:8px}
.pcard p{font-size:14px;color:var(--mut);line-height:1.7;margin:0}
@media(max-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pgrid{grid-template-columns:1fr}}

/* ---------- 푸터 주소 ---------- */
.faddr{margin-top:14px;font-size:12.5px;line-height:1.75;color:#9aa4a7}
.faddr .albl{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:#7fbfc3;margin-bottom:3px;text-transform:uppercase}

/* ---------- 솔루션 한 페이지 ---------- */
.solsec{padding:76px 0;border-top:1px solid var(--line);scroll-margin-top:80px}
.solsec.alt{background:var(--paper2)}
.solgridx{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.soltext > .eyebrow{font-family:'Pretendard Variable','Pretendard','Malgun Gothic','Microsoft YaHei',sans-serif;letter-spacing:.01em;text-transform:none;font-size:13.5px;font-weight:700}
.soltext h2{font-size:31px;margin:6px 0 10px}
.solhead{font-size:19px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:12px}
.skpis{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:26px;border-top:1px solid var(--line2);border-left:1px solid var(--line2)}
.skpi{padding:16px 18px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.skpi b{display:block;font-size:25px;font-weight:800;color:var(--aquifer-t);letter-spacing:-.8px;line-height:1.15}
.skpi span{display:block;font-size:13px;color:var(--mut);margin-top:5px;line-height:1.5}
.solimg img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){.solgridx{grid-template-columns:1fr;gap:26px}.solsec{padding:52px 0}}
