
/* Layout: 지명원의 초록 물결을 이어받은 한 페이지 회사 소개 — 상단 고정 메뉴, 섹션별 앵커 */
:root{
  --bg:#ffffff;
  --bg-soft:#f1f7f2;
  --bg-tint:#e4f1e7;
  --fg:#16241d;
  --fg-mute:#5a6b62;
  --line:#d6e4da;
  --green:#1f9d5a;
  --green-deep:#0f4c3a;
  --lime:#a8cf45;
  --teal:#1ea79b;
  --on-green:#ffffff;
  --card:#ffffff;
  --head-bg:rgba(255,255,255,.92);
  --font-body:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-data:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wrap:1160px;
  --radius:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0e1814;--bg-soft:#13211b;--bg-tint:#183026;--fg:#e6efe9;--fg-mute:#9db1a5;--line:#26392f;
  --green:#3fbf78;--green-deep:#0b3a2c;--lime:#b9db62;--teal:#3cc2b5;--on-green:#06140e;--card:#13211b;--head-bg:rgba(14,24,20,.92);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e1814;--bg-soft:#13211b;--bg-tint:#183026;--fg:#e6efe9;--fg-mute:#9db1a5;--line:#26392f;
  --green:#3fbf78;--green-deep:#0b3a2c;--lime:#b9db62;--teal:#3cc2b5;--on-green:#06140e;--card:#13211b;--head-bg:rgba(14,24,20,.92);color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{text-wrap:balance;margin:0;line-height:1.3}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--green);font-weight:500}
.sec{padding-block:88px}
.sec.soft{background:var(--bg-soft)}
.sec-head{display:grid;gap:10px;margin-bottom:40px;max-width:720px}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:700;color:var(--green-deep)}
:root[data-theme="dark"] .sec-head h2{color:var(--fg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sec-head h2{color:var(--fg)}}
.sec-head p{margin:0;color:var(--fg-mute)}
.num{font-family:var(--font-data);font-variant-numeric:tabular-nums}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--head-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.brand-mark{background:#fff;border-radius:8px;padding:3px 6px}
.brand-mark img{height:30px;width:auto}
.brand b{font-size:17px;font-weight:700;letter-spacing:-.01em}
.brand small{display:block;font-size:10px;letter-spacing:.14em;color:var(--fg-mute);font-weight:400}
.nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav a{text-decoration:none;font-size:15px;padding:8px 12px;border-radius:8px;color:var(--fg)}
.nav a:hover,.nav a:focus-visible{background:var(--bg-tint);outline:none}
.call{flex-shrink:0;text-decoration:none;background:var(--green);color:var(--on-green);font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--fg);font:inherit;font-size:14px;cursor:pointer}
@media (max-width:1020px){
  .menu-btn{display:block}
  .call{display:none}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
  .nav.open{display:flex}
  .nav a{padding:12px}
}

/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}
.hero .wrap{position:relative;z-index:2;padding-block:72px 220px}
.hero h1{font-size:clamp(32px,5.2vw,60px);font-weight:300;letter-spacing:-.02em;color:var(--green-deep);max-width:15em;margin-top:18px}
:root[data-theme="dark"] .hero h1{color:var(--fg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero h1{color:var(--fg)}}
.hero h1 strong{font-weight:700;color:var(--green)}
.hero p.lede{font-size:clamp(16px,1.6vw,19px);color:var(--fg-mute);margin:20px 0 0;max-width:36em}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:15px;padding:13px 22px;border-radius:999px;border:1.5px solid var(--green)}
.btn.solid{background:var(--green);color:var(--on-green)}
.btn.ghost{color:var(--green);background:transparent}
.btn:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.sun{position:absolute;right:-60px;top:120px;width:min(46vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,#eef6c8 0%,#e3f0b0 60%,rgba(227,240,176,0) 72%);z-index:0;max-width:100%}
:root[data-theme="dark"] .sun{opacity:.18}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sun{opacity:.18}}
.waves{position:absolute;left:0;right:0;bottom:0;height:260px;z-index:1}
.waves svg{width:100%;height:100%;display:block}
.since{position:absolute;z-index:2;left:0;right:0;bottom:22px}
.since .wrap{padding-block:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:12px;letter-spacing:.3em;text-transform:uppercase}

@media (max-width:600px){.since{display:none}}
/* facts */
.facts{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-top:-48px;position:relative;z-index:3;overflow:hidden}
.fact{padding:22px 20px;border-right:1px solid var(--line);min-width:0}
.fact:last-child{border-right:0}
.fact .v{font-family:var(--font-data);font-size:30px;font-weight:500;color:var(--green);line-height:1.1}
.fact .v small{font-family:var(--font-body);font-size:14px;margin-left:2px;color:var(--fg)}
.fact .k{font-size:13px;color:var(--fg-mute);margin-top:6px;line-height:1.45}
@media (max-width:980px){.facts{grid-template-columns:repeat(3,1fr)}.fact:nth-child(3){border-right:0}.fact:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.facts{grid-template-columns:repeat(2,1fr)}.fact{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.fact:nth-child(2n){border-right:0!important}.fact:nth-last-child(-n+2){border-bottom:0}}

/* about */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.about>*{min-width:0}
.ceo p{margin:0 0 14px}
.ceo .sign{margin-top:24px;color:var(--fg-mute);font-size:14px}
.ceo .sign b{font-size:22px;color:var(--fg);letter-spacing:.2em;margin-left:8px;font-weight:700}
.info{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.info th{width:118px;text-align:left;background:var(--bg-tint);font-weight:500;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.info td{padding:11px 14px;border-bottom:1px solid var(--line)}
.info tr:last-child th,.info tr:last-child td{border-bottom:0}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.value{padding:22px;border-top:3px solid var(--green);background:var(--card)}
.value h3{font-size:18px;color:var(--green)}
.value p{margin:8px 0 0;font-size:14.5px;color:var(--fg-mute)}
@media (max-width:900px){.about{grid-template-columns:1fr}.values{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.values{grid-template-columns:1fr}}

/* history */
.hist{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.era{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}
.era h3{font-family:var(--font-data);font-weight:500;font-size:20px;color:var(--green)}
.era .t{font-size:14px;color:var(--fg-mute);margin-bottom:14px}
.era dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14.5px}
.era dt{font-family:var(--font-data);color:var(--green);font-size:13px;padding-top:2px}
.era dd{margin:0}
.org{margin-top:48px;display:grid;gap:16px}
.org-row{display:flex;flex-wrap:wrap;gap:12px}
.org-row>div{flex:1 1 150px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.org-row b{display:block;color:var(--green)}
.org-row span{font-size:13.5px;color:var(--fg-mute)}
.org-ceo{background:var(--green-deep)!important;color:#fff;border-color:var(--green-deep)!important}
.org-ceo b{color:var(--lime)!important}.org-ceo span{color:#d7e8de!important}
@media (max-width:900px){.hist{grid-template-columns:1fr}}

/* business */
.biz{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.biz-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.biz-card.main{background:var(--green);border-color:var(--green);color:var(--on-green)}
.biz-card h3{font-size:19px}
.biz-card ul{margin:0;padding-left:18px;font-size:14.5px}
.biz-card .where{margin-top:auto;font-size:13px;padding:6px 12px;border-radius:999px;background:var(--bg-tint);color:var(--green);align-self:flex-start}
.biz-card.main .where{background:rgba(255,255,255,.95);color:#0f4c3a}
@media (max-width:900px){.biz{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.biz{grid-template-columns:1fr}}

.policy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:64px;align-items:start}
.policy>*{min-width:0}
.policy h3{font-size:20px;margin-bottom:18px}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:18px;border-left:2px solid var(--line);padding-left:20px}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:-27px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--green)}
.tl li.next::before{background:#e8962e}
.tl .d{font-family:var(--font-data);font-size:13px;color:var(--green)}
.tl b{display:block}
.tl span{font-size:14px;color:var(--fg-mute)}
.scroll{overflow-x:auto}
.grade{width:100%;border-collapse:collapse;font-size:14.5px;text-align:center;min-width:420px}
.grade th,.grade td{padding:10px;border:1px solid var(--line)}
.grade thead th{background:var(--green-deep);color:#fff;font-weight:500}
.grade thead th.new{background:var(--green)}
.grade td{font-family:var(--font-data);font-size:13.5px}
.grade td.new{background:var(--bg-tint);color:var(--green);font-weight:500}
.note{font-size:12.5px;color:var(--fg-mute);margin-top:8px}
@media (max-width:900px){.policy{grid-template-columns:1fr}}

/* product */
.partner{display:flex;flex-wrap:wrap;align-items:center;gap:28px;background:var(--green-deep);color:#fff;border-radius:var(--radius);padding:26px 30px}
.partner img{background:#fff;border-radius:10px;padding:10px 16px;height:84px;width:auto}
.partner div{flex:1 1 320px;min-width:0}
.partner b{font-size:20px;display:block}
.partner p{margin:6px 0 0;color:#cfe3d7;font-size:14.5px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 22px}
.tab{font:inherit;cursor:pointer;border:1.5px solid var(--line);background:var(--card);color:var(--fg);border-radius:12px;padding:12px 18px;text-align:left;display:grid;gap:2px;min-width:0}
.tab b{font-family:var(--font-data);font-weight:500;font-size:16px}
.tab span{font-size:13px;color:var(--fg-mute)}
.tab[aria-selected="true"]{border-color:var(--green);background:var(--green);color:var(--on-green)}
.tab[aria-selected="true"] span{color:inherit;opacity:.85}
.tab:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.prod{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.prod>*{min-width:0}
.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.g{border-radius:12px;padding:14px;background:var(--bg-tint)}
.g.hi{background:var(--green);color:var(--on-green)}
.g .v{font-family:var(--font-data);font-size:22px;font-weight:500;line-height:1.2}
.g .k{font-size:12.5px;opacity:.85}
.spec{width:100%;border-collapse:collapse;font-size:14px;background:var(--card)}
.spec th{width:110px;text-align:left;font-weight:500;background:var(--bg-tint);padding:9px 12px;border:1px solid var(--line);vertical-align:top}
.spec td{padding:9px 12px;border:1px solid var(--line)}
.fig{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.fig img{width:100%;height:auto}
.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.photos figure{margin:0;min-width:0}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#fff}
.photos figcaption{font-size:12px;color:var(--fg-mute);margin-top:4px;line-height:1.35}
.common{margin-top:28px;background:var(--bg-tint);border-radius:var(--radius);padding:18px 22px;font-size:14.5px}
.common b{color:var(--green)}
@media (max-width:900px){.prod{grid-template-columns:1fr}.grades{grid-template-columns:repeat(2,1fr)}.photos{grid-template-columns:repeat(2,1fr)}}

.mats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.mat{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card);min-width:0}
.mat b{font-size:15px;display:block}
.mat span{font-size:13px;color:var(--fg-mute)}
@media (max-width:900px){.mats{grid-template-columns:repeat(2,1fr)}}

/* quality */
.qa{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.qa>*{min-width:0}
.qa .fig{padding:8px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0 28px;counter-reset:s}
.step{background:var(--bg-tint);border-radius:10px;padding:14px;min-width:0}
.step .n{font-family:var(--font-data);font-size:12px;color:var(--green)}
.step b{display:block;font-size:15px}
.step span{font-size:12.5px;color:var(--fg-mute)}
.safety{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.safety>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--card)}
.safety .v{font-family:var(--font-data);font-size:24px;color:var(--green);font-weight:500}
.safety .k{font-size:13.5px;color:var(--fg-mute)}
.policy-line{margin-top:20px;font-size:15px;padding:16px 20px;border-left:4px solid var(--green);background:var(--card)}
@media (max-width:900px){.qa{grid-template-columns:1fr}.qa .fig{max-width:300px}.steps{grid-template-columns:repeat(2,1fr)}.safety{grid-template-columns:1fr}}

/* projects */
.pj-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:13.5px;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--fg);padding:7px 13px;border-radius:999px}
.chip[aria-pressed="true"]{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}
.chip:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.search{font:inherit;font-size:14px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);width:240px;max-width:100%}
.bars{display:flex;gap:10px;align-items:flex-end;height:120px;margin:4px 0 28px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;min-width:0}
.bar i{display:block;width:100%;max-width:56px;background:var(--green);border-radius:6px 6px 0 0}
.bar .c{font-family:var(--font-data);font-size:13px;color:var(--fg)}
.bar .y{font-family:var(--font-data);font-size:12px;color:var(--fg-mute)}
.pj{width:100%;border-collapse:collapse;font-size:14px;min-width:720px;background:var(--card)}
.pj th{background:var(--green-deep);color:#fff;font-weight:500;padding:10px;text-align:left;position:sticky;top:0}
.pj td{padding:9px 10px;border-bottom:1px solid var(--line)}
.pj td.d{font-family:var(--font-data);font-size:13px;white-space:nowrap}
.pj tr:hover td{background:var(--bg-soft)}
.tag{display:inline-block;font-size:11.5px;padding:1px 7px;border-radius:999px;background:var(--bg-tint);color:var(--green);margin-left:6px;white-space:nowrap}
.pj-box{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}
.gcs{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px;font-size:14px;color:var(--fg-mute)}
.gcs b{color:var(--fg);font-weight:500}

/* docs */
.ip{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;background:var(--card)}
.ip th{background:var(--green-deep);color:#fff;font-weight:500;padding:10px;text-align:left}
.ip td{padding:9px 10px;border-bottom:1px solid var(--line)}
.ip td.k{color:var(--green);font-weight:500}
.ip td.d{font-family:var(--font-data);font-size:13px;white-space:nowrap}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.gallery figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff;border-radius:6px}
.gallery figcaption{font-size:13px;text-align:center;margin-top:8px}
.gallery figcaption span{display:block;font-size:12px;color:var(--fg-mute);font-family:var(--font-data)}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}
.credit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.credit>div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card)}
.credit .v{font-family:var(--font-data);font-size:22px;color:var(--green)}
.credit .k{font-size:13px;color:var(--fg-mute)}
@media (max-width:640px){.credit{grid-template-columns:1fr}}

/* location */
.loc{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.loc>*{min-width:0}
.loc .map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.addr{background:var(--green);color:var(--on-green);border-radius:var(--radius);padding:26px}
.addr h3{font-size:22px}
.addr p{margin:10px 0 0}
.addr .tel{font-family:var(--font-data);font-size:15px;margin-top:14px}
.ways{display:grid;gap:10px;margin-top:14px}
.ways div{background:var(--bg-tint);border-radius:10px;padding:12px 16px;font-size:15px}
.ways b{color:var(--green);font-weight:500;margin-left:6px}
.maplinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media (max-width:900px){.loc{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--green-deep);color:#cfe3d7;padding-block:44px;font-size:13.5px}
.foot .wrap{display:grid;gap:14px}
.foot b{color:#fff;font-size:16px}
.foot dl{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0}
.foot dt{display:inline;color:#8fb8a2}
.foot dd{display:inline;margin:0 0 0 6px;font-family:var(--font-data);font-size:12.5px}
.foot .c{color:#8fb8a2;font-size:12px}

/* ===== multi-page additions ===== */
.top .wrap{position:relative}
.nav{align-items:center}
.dd{position:relative}
.dd>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 0 3px 7px;opacity:.55}
.sub{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(15,76,58,.12);z-index:30}
.sub a{display:block;white-space:nowrap;font-size:14.5px}
.dd:hover .sub,.dd:focus-within .sub{display:block}
.nav a[aria-current="page"]{color:var(--green);font-weight:700}
@media (max-width:1020px){
  .dd>a::after{display:none}
  .sub{display:block;position:static;border:0;box-shadow:none;padding:0 0 6px 14px;min-width:0;background:transparent}
  .sub a{font-size:14px;color:var(--fg-mute);padding:8px 12px}
  .nav{max-height:calc(100vh - 80px);overflow-y:auto}
}

.subhero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}
.subhero .wrap{position:relative;z-index:2;padding-block:52px 104px}
.subhero h1{font-size:clamp(28px,4vw,44px);font-weight:700;color:var(--green-deep);margin-top:10px}
:root[data-theme="dark"] .subhero h1{color:var(--fg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .subhero h1{color:var(--fg)}}
.subhero p{margin:12px 0 0;color:var(--fg-mute);max-width:40em}
.crumb{font-size:13px;color:var(--fg-mute)}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--green)}
.subhero .waves{height:90px}
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.subnav a{font-size:14px;text-decoration:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px}
.subnav a:hover{border-color:var(--green);color:var(--green)}

/* home teasers */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards3>*{min-width:0}
.pcard{display:flex;flex-direction:column;gap:12px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .15s,transform .15s}
.pcard:hover{border-color:var(--green);transform:translateY(-2px)}
.pcard .code{font-family:var(--font-data);font-size:19px;color:var(--green)}
.pcard .use{font-size:14px;color:var(--fg-mute)}
.pcard .gr{display:flex;gap:8px;flex-wrap:wrap}
.pcard .gr span{font-size:13px;background:var(--bg-tint);color:var(--green);padding:4px 10px;border-radius:999px}
.pcard img{background:#fff;border-radius:8px;border:1px solid var(--line);aspect-ratio:16/10;object-fit:contain;width:100%}
.more{display:inline-flex;margin-top:auto;font-size:14px;color:var(--green);font-weight:700}
@media (prefers-reduced-motion:reduce){.pcard{transition:none}.pcard:hover{transform:none}}
@media (max-width:900px){.cards3{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.split>*{min-width:0}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.mini-pj{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);border:1px solid var(--line)}
.mini-pj td{padding:10px 12px;border-bottom:1px solid var(--line)}
.mini-pj td.d{font-family:var(--font-data);font-size:13px;color:var(--green);white-space:nowrap}
.cta-band{background:var(--green-deep);color:#fff;border-radius:var(--radius);padding:34px 32px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.cta-band b{font-size:22px;display:block}
.cta-band span{color:#cfe3d7}
.cta-band .btn.solid{background:#fff;color:#0f4c3a;border-color:#fff}

/* resources */
.laws{display:grid;gap:16px}
.law{display:grid;grid-template-columns:200px 1fr;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.law>*{min-width:0}
.law .no{font-family:var(--font-data);color:var(--green);font-size:13px}
.law h3{font-size:19px;margin-top:4px}
.law .src{font-size:12.5px;color:var(--fg-mute);margin-top:6px}
.law ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:15px}
.law blockquote{margin:12px 0 0;padding:12px 16px;border-left:3px solid var(--green);background:var(--bg-soft);font-size:14.5px}
.law .lk{display:inline-block;margin-top:12px;font-size:14px;color:var(--green);font-weight:700;text-decoration:none}
.law .lk:hover{text-decoration:underline}
@media (max-width:760px){.law{grid-template-columns:1fr;gap:12px}}
.sym{font-family:var(--font-data);font-size:.92em}
.noise{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.noise div{background:var(--bg-tint);border-radius:10px;padding:12px 14px;font-size:14px}
.noise b{font-family:var(--font-data);font-size:20px;color:var(--green);font-weight:500;display:block}
.callout{margin-top:16px;padding:14px 18px;border-radius:12px;background:var(--bg-tint);font-size:14.5px}
.callout b{color:var(--green)}

.lh{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}
.lh>*{min-width:0}
@media (max-width:900px){.lh{grid-template-columns:1fr}}
.cmp{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--card);min-width:440px}
.cmp th,.cmp td{border:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top}
.cmp thead th{background:var(--green-deep);color:#fff;font-weight:500}
.cmp thead th.hi{background:var(--green)}
.cmp td.hi{background:var(--bg-tint);color:var(--green);font-weight:500}
.cmp th[scope="row"]{background:var(--bg-soft);font-weight:500;width:120px}

.news{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.news li{border-bottom:1px solid var(--line)}
.news a{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:baseline;padding:18px 4px;text-decoration:none}
.news a:hover{background:var(--bg-soft)}
.news a:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
.news .d{font-family:var(--font-data);font-size:13px;color:var(--green)}
.news b{display:block;font-size:16px;font-weight:500}
.news span.s{display:block;font-size:14px;color:var(--fg-mute);margin-top:4px}
.news .m{font-size:13px;color:var(--fg-mute);white-space:nowrap}
.news .m::after{content:" ↗"}
@media (max-width:640px){.news a{grid-template-columns:1fr;gap:4px}.news .m{white-space:normal}}
.disclaim{font-size:12.5px;color:var(--fg-mute);margin-top:16px}

/* contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:36px}
.contact-grid>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.contact-grid .k{font-size:13px;color:var(--fg-mute)}
.contact-grid .v{font-family:var(--font-data);font-size:22px;color:var(--green);margin-top:4px;user-select:all}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr}}
.remodel{margin-top:40px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.remodel h3{font-size:18px}
.remodel p{margin:8px 0 0;font-size:14.5px;color:var(--fg-mute)}
.remodel .rows{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.remodel .rows div{border-radius:10px;padding:14px;background:var(--bg-tint);font-size:14.5px}
.remodel .rows b{display:block;color:var(--green)}
@media (max-width:640px){.remodel .rows{grid-template-columns:1fr}}
.law .grade{min-width:0}

.shpol{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.shpol h3{font-size:19px;margin:6px 0 0}
.shpol .policy-line{margin:14px 0 0}
.shpol ol{margin:14px 0 0;padding-left:20px;display:grid;gap:6px;font-size:14.5px}

/* ===== v3 additions (지명원 2026.10.27) ===== */
.sub-h{font-size:19px;margin:48px 0 16px}
.mats{margin-top:0}
.done-band{margin-top:16px;background:var(--green);color:var(--on-green);border-radius:12px;padding:14px 18px;font-size:14.5px}
.done-band b{margin-right:8px}
.factory{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:56px;align-items:start}
.factory>*{min-width:0}
.factory h3{font-size:20px;margin-top:6px}
.prods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.prods div{background:var(--bg-tint);border-radius:12px;padding:16px;min-width:0}
.prods b{display:block;color:var(--green)}
.prods span{font-size:14px;color:var(--fg-mute)}
@media (max-width:900px){.factory{grid-template-columns:1fr}}
@media (max-width:420px){.prods{grid-template-columns:1fr}}
.esg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.esg>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}
.esg h4{margin:0;font-size:18px}
.esg h4 span{font-family:var(--font-data);color:var(--green);font-size:26px;margin-right:8px}
.esg ul{margin:12px 0 0;padding-left:18px;font-size:14.5px;display:grid;gap:4px}
@media (max-width:900px){.esg{grid-template-columns:1fr}}
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.flow>div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}
.flow .n{font-family:var(--font-data);font-size:12px;color:var(--green);display:block}
.flow b{display:block;font-size:15px}
.flow span:last-child{font-size:12.5px;color:var(--fg-mute)}
@media (max-width:900px){.flow{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.flow{grid-template-columns:repeat(2,1fr)}}
.engs{margin-bottom:20px}
.eng-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.eng-facts div{background:var(--bg-tint);border-radius:10px;padding:12px 14px}
.eng-facts b{display:block;font-family:var(--font-data);font-size:22px;font-weight:500;color:var(--green)}
.eng-facts span{font-size:13px;color:var(--fg-mute)}
.chain{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.chain div{border-radius:10px;padding:12px 14px;color:#fff;min-width:0}
.chain .c1{background:var(--green-deep)}.chain .c2{background:#1f9d5a}.chain .c3{background:#7fcfa6;color:#0f4c3a}
.chain b{display:block;font-size:14.5px}
.chain span{font-size:12.5px;opacity:.9}
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.acts div{background:var(--bg-soft);border-radius:10px;padding:12px 14px;min-width:0}
.acts b{display:block;font-size:14.5px}
.acts span{font-size:12.5px;color:var(--fg-mute)}
@media (max-width:640px){.chain,.acts{grid-template-columns:1fr}}
.check{margin-top:18px}
.check h4{margin:0 0 10px;font-size:16px}
.check-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-g>div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0}
.check-g b{font-size:14.5px}
.check-g .n{font-family:var(--font-data);color:var(--green);font-size:12px}
.check-g ul{margin:6px 0 0;padding-left:16px;font-size:13.5px;color:var(--fg-mute)}
@media (max-width:480px){.check-g{grid-template-columns:1fr}}
.tsi{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 20px}
.tsi summary{cursor:pointer;font-weight:700;color:var(--green)}
.photos3{grid-template-columns:repeat(3,1fr)!important}
.gallery2{grid-template-columns:repeat(2,minmax(0,320px))}
@media (max-width:520px){.gallery2{grid-template-columns:1fr 1fr}}
.zdb-banner img{height:84px;width:auto;max-width:100%;padding:8px 14px}
.zh tr.ok td{background:var(--bg-tint)}
.zh td b{color:var(--green)}
.zdb-home{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.zdb-home>*{min-width:0}
@media (max-width:900px){.zdb-home{grid-template-columns:1fr}}
.nav .m-call{display:none}
@media (max-width:1020px){.nav .m-call{display:block;margin-top:8px;background:var(--green);color:var(--on-green);border-radius:10px;text-align:center;font-weight:700}}

/* top 10 contractors */
.top10{margin:0 0 36px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.top10-head h3{font-size:21px;margin-top:6px}
.top10-head p{margin:6px 0 0;color:var(--fg-mute);font-size:14.5px}
.t10{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.t10>div{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--bg-soft);min-width:0}
.t10 .rk{font-family:var(--font-data);font-size:12.5px;color:var(--on-green);background:var(--green);border-radius:999px;padding:2px 9px}
.t10 b{display:block;font-size:18px}
.t10 .how{display:block;font-size:13.5px;color:var(--fg-mute);margin-top:4px}
@media (max-width:820px){.t10{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.t10{grid-template-columns:1fr}}
.top10 .gcs{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.top10 .gcs b{font-weight:500;color:var(--fg);background:var(--bg-tint);border-radius:999px;padding:3px 11px;font-size:13.5px}
.gcs{align-items:center}
.t10{grid-template-columns:repeat(5,1fr)}
.t10 .st{display:inline-block;font-size:12px;border-radius:999px;padding:2px 9px;margin-bottom:8px}
.t10 .did .st{background:var(--green);color:var(--on-green)}
.t10 .can{background:var(--card)}
.t10 .can .st{border:1px solid var(--green);color:var(--green)}
.t10 b{font-size:17px}
@media (max-width:1100px){.t10{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.t10{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.t10{grid-template-columns:1fr}}
.pj-total{margin:0;font-size:14.5px;color:var(--fg-mute)}
.top10{margin-bottom:28px}

/* projects table → cards on phones */
@media (max-width:640px){
  .pj-box{max-height:none;overflow:visible;border:0;border-radius:0}
  .pj{min-width:0;background:transparent}
  .pj thead{display:none}
  .pj,.pj tbody,.pj tr,.pj td{display:block;width:100%}
  .pj tr{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  .pj tr:hover td{background:transparent}
  .pj td{border:0;padding:2px 0;font-size:14px}
  .pj td.d{color:var(--green)}
  .pj td.nm{font-weight:700;font-size:15px;padding:4px 0}
  .pj td[data-l="원도급사"]::before,.pj td[data-l="지역"]::before,.pj td[data-l="공종"]::before{content:attr(data-l) " · ";color:var(--fg-mute);font-size:12.5px}
}
@media (max-width:440px){.t10{grid-template-columns:1fr 1fr;gap:8px}.t10>div{padding:12px}.t10 b{font-size:15px}.t10 .how{font-size:12.5px}.top10{padding:18px}}
@media (max-width:640px){.pj td[data-l="지역"]{display:inline-block;width:auto;margin-right:12px}.pj td[data-l="공종"]{display:inline-block;width:auto}}
.top10 .t10{margin-top:0}
