@charset "utf-8";
.page-facilities .sub-metrics .facility-count { font:inherit; font-variant-numeric:tabular-nums; color:#8cc63f; }
.page-facilities .sub-full-page .sub-metrics strong { font-size:68px; font-weight:700; line-height:1; letter-spacing:-.04em; }
@media(max-width:640px) { .page-facilities .sub-full-page .sub-metrics strong { font-size:40px; } }

/* 신규 전체시안 12페이지 — 사업소개 카드·타이포그래피 기준 */
.sub-full-page .sub-intro { display:grid; grid-template-columns:1fr 1fr; gap:32px 64px; align-items:center; margin:0 0 64px; padding:36px 0; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.sub-full-page .sub-intro-kicker { display:none; }
.sub-full-page .sub-intro h4 { margin:0; color:#242424; font-size:clamp(26px,2.5vw,36px); font-weight:600; line-height:1.45; letter-spacing:-.035em; }
.sub-full-page .sub-intro p { margin:0; color:#545454; font-size:19px; line-height:1.8; word-break:keep-all; }
.sub-full-page .sub-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:56px; }
.sub-full-page .sub-feature { padding:40px 48px; background:#f8f8f8; border:1px solid #ddd; border-radius:24px; }
.sub-full-page .sub-feature-no { display:inline-flex; align-items:center; justify-content:center; min-width:46px; height:30px; padding:0 10px; border-radius:20px; background:#8cc63f; color:#fff; font-size:15px; font-weight:700; }
.sub-full-page .sub-feature h4 { margin:20px 0 18px; color:#242424; font-size:32px; line-height:1.4; letter-spacing:-.03em; font-weight:600; }
.sub-full-page .sub-feature p { margin:0; padding-top:24px; border-top:1px solid #ddd; color:#545454; font-size:19px; line-height:1.8; }
.page-philosophy .sub-full-page .sub-feature-grid { margin-top:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.page-philosophy .sub-full-page .sub-feature { padding:36px; }
.sub-full-page .sub-statement { margin:64px 0 0; padding:56px 64px; border:1px solid #ddd; border-radius:24px; background:#f8f8f8; color:#242424; font-size:clamp(26px,3vw,44px); font-weight:600; line-height:1.45; letter-spacing:-.035em; }
.sub-full-page .sub-timeline { margin:0; border-top:1px solid #ddd; }
.sub-full-page .sub-timeline article { display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px; padding:44px 0; border-bottom:1px solid #ddd; }
.sub-full-page .sub-timeline strong { color:#242424; font-size:56px; font-weight:600; line-height:1.1; letter-spacing:-.04em; }
.sub-full-page .history-events { display:grid; gap:24px; }
.sub-full-page .history-month { display:grid; grid-template-columns:70px minmax(0,1fr); gap:24px; align-items:start; }
.sub-full-page .history-month b { color:#8cc63f; font-size:20px; font-weight:600; }
.sub-full-page .history-month ul { margin:0; padding:0; list-style:none; }
.sub-full-page .history-month li { position:relative; padding-left:18px; color:#454545; font-size:18px; line-height:1.8; word-break:keep-all; }
.sub-full-page .history-month li::before { content:''; position:absolute; left:0; top:.78em; width:5px; height:5px; border-radius:50%; background:#8cc63f; }
.sub-full-page .history-month li+li { margin-top:8px; }
.sub-full-page .sub-org { padding:64px; border:1px solid #ddd; border-radius:24px; background:#f8f8f8; text-align:center; }
.sub-full-page .sub-org-lead { display:inline-flex; align-items:center; gap:24px; padding:26px 48px; border-radius:16px; background:#193829; color:#fff; font-size:18px; }
.sub-full-page .sub-org-lead strong { font-size:30px; font-weight:600; }
.sub-full-page .sub-org-branches { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; max-width:960px; margin:64px auto 0; }
.sub-full-page .sub-org-branches::before { content:''; position:absolute; bottom:100%; left:50%; height:64px; border-left:1px solid #bbb; }
.sub-full-page .sub-org-branches span { position:relative; padding:26px 16px; border:1px solid #ddd; border-radius:16px; background:#fff; color:#242424; font-size:20px; font-weight:600; }
.sub-full-page .sub-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 64px; padding:40px 0; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.sub-full-page .sub-metrics>div { min-width:0; padding:0 32px; }
.sub-full-page .sub-metrics>div+div { border-left:1px solid #ddd; }
.sub-full-page .sub-metrics strong { display:block; color:#242424; font-size:clamp(32px,4vw,60px); font-weight:600; letter-spacing:-.04em; line-height:1.2; }
.sub-full-page .sub-metrics small { margin-left:6px; color:#454545; font-size:18px; letter-spacing:0; }
.sub-full-page .sub-metrics span { display:block; margin-top:20px; color:#454545; font-size:18px; }
.page-management .sub-full-page .sub-metrics { margin-top:64px; }
.sub-full-page .sub-data-section { margin-top:64px; }
.sub-full-page .sub-data-section h5 { margin:0 0 28px; color:#242424; font-size:32px; font-weight:600; letter-spacing:-.03em; }
.sub-full-page .sub-table-wrap { overflow-x:auto; border:1px solid #ddd; border-radius:20px; }
.sub-full-page .sub-data-table { width:100%; min-width:700px; border-collapse:collapse; font-size:17px; line-height:1.8; }
.sub-full-page .sub-data-table th,.sub-full-page .sub-data-table td { padding:20px 24px; border-bottom:1px solid #ddd; text-align:left; vertical-align:top; color:#454545; }
.sub-full-page .sub-data-table th { background:#f3f3f3; color:#242424; font-weight:600; white-space:nowrap; }
.sub-full-page .sub-data-table tbody tr:last-child td { border-bottom:0; }
.sub-full-page .sub-data-table tbody tr:nth-child(even) { background:#fafafa; }
.sub-full-page .sub-source-note { margin:24px 0 0; color:#737373; font-size:14px; line-height:1.8; }
.sub-full-page .sub-media-grid { display:grid; gap:40px; margin-top:56px; counter-reset:subcard; }
.sub-full-page .sub-media-grid article { counter-increment:subcard; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; padding:24px; overflow:hidden; border:1px solid #ddd; border-radius:24px; background:#f8f8f8; }
.sub-full-page .sub-media-grid img { display:block; width:100%; height:100%; min-height:340px; max-height:440px; object-fit:cover; border-radius:16px; }
.sub-full-page .sub-media-grid article>div { align-self:center; min-width:0; padding:40px 48px; }
.sub-full-page .sub-media-grid article>div::before { content:counter(subcard,decimal-leading-zero); display:table; margin-bottom:20px; padding:5px 14px; border-radius:20px; background:#8cc63f; color:#fff; font-size:15px; font-weight:700; }
.sub-full-page .sub-media-grid article>div>span { display:none; }
.sub-full-page .sub-media-grid h4 { margin:0; color:#242424; font-size:34px; font-weight:600; line-height:1.4; letter-spacing:-.03em; }
.sub-full-page .sub-media-grid p { margin:24px 0 0; padding-top:24px; border-top:1px solid #ddd; color:#545454; font-size:19px; line-height:1.8; }
.page-certificates .sub-full-page .sub-media-grid img { object-fit:contain; padding:20px; background:#fff; }
.sub-full-page .sub-wide-image { margin:64px 0 0; padding:24px; border:1px solid #ddd; border-radius:24px; background:#f8f8f8; }
.sub-full-page .sub-wide-image img { display:block; width:100%; max-height:560px; object-fit:cover; border-radius:16px; }
.sub-full-page .sub-chip-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:56px; }
.sub-full-page .sub-chip-list span { padding:36px 28px; border:1px solid #ddd; border-radius:20px; background:#f8f8f8; color:#242424; font-size:24px; font-weight:600; text-align:center; }
.sub-full-page .sub-news-list { margin-top:56px; border-top:1px solid #ddd; }
.sub-full-page .sub-news-list article { display:grid; grid-template-columns:160px minmax(0,1fr) 28px; gap:32px; align-items:center; padding:36px 16px; border-bottom:1px solid #ddd; }
.sub-full-page .sub-news-list time { color:#737373; font-size:17px; }
.sub-full-page .sub-news-list h4 { margin:0; color:#242424; font-size:24px; font-weight:600; line-height:1.5; }
.sub-full-page .sub-news-list article>span { color:#8cc63f; font-size:26px; }
@media(max-width:1000px){.sub-full-page .sub-intro{gap:32px}.sub-full-page .sub-feature,.sub-full-page .sub-media-grid article>div{padding:28px}.page-philosophy .sub-full-page .sub-feature-grid{grid-template-columns:1fr}.sub-full-page .sub-timeline article{grid-template-columns:150px minmax(0,1fr);gap:24px}.sub-full-page .sub-media-grid img{min-height:280px}.sub-full-page .sub-metrics>div{padding:0 20px}.sub-full-page .sub-chip-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sub-full-page .sub-intro{grid-template-columns:1fr;gap:20px;padding:28px 0;margin-bottom:40px}.sub-full-page .sub-intro p,.sub-full-page .sub-feature p,.sub-full-page .sub-media-grid p{font-size:17px}.sub-full-page .sub-feature-grid{grid-template-columns:1fr;gap:20px;margin-top:32px}.sub-full-page .sub-feature{padding:28px 24px;border-radius:20px}.sub-full-page .sub-feature h4{font-size:26px}.sub-full-page .sub-statement{margin-top:40px;padding:32px 24px;border-radius:20px}.sub-full-page .sub-timeline article{grid-template-columns:1fr;padding:30px 0;gap:24px}.sub-full-page .sub-timeline strong{font-size:40px}.sub-full-page .history-month{grid-template-columns:44px minmax(0,1fr);gap:16px}.sub-full-page .history-month b,.sub-full-page .history-month li{font-size:16px}.sub-full-page .sub-org{padding:32px 20px;border-radius:20px}.sub-full-page .sub-org-lead{padding:22px 26px;gap:16px}.sub-full-page .sub-org-branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:40px}.sub-full-page .sub-org-branches::before{height:40px}.sub-full-page .sub-org-branches span{padding:22px 8px;font-size:17px}.sub-full-page .sub-metrics{grid-template-columns:1fr;padding:0;margin-bottom:40px}.sub-full-page .sub-metrics>div{padding:26px 16px}.sub-full-page .sub-metrics>div+div{border-left:0;border-top:1px solid #ddd}.sub-full-page .sub-metrics strong{font-size:40px}.sub-full-page .sub-metrics span{font-size:16px;margin-top:12px}.sub-full-page .sub-data-section{margin-top:40px}.sub-full-page .sub-data-section h5{font-size:26px;margin-bottom:20px}.sub-full-page .sub-data-table{font-size:15px}.sub-full-page .sub-data-table th,.sub-full-page .sub-data-table td{padding:16px}.sub-full-page .sub-media-grid{gap:24px;margin-top:32px}.sub-full-page .sub-media-grid article{grid-template-columns:1fr;padding:18px;border-radius:20px}.sub-full-page .sub-media-grid img{height:260px;min-height:0;border-radius:12px}.sub-full-page .sub-media-grid article>div{padding:28px 8px 12px}.sub-full-page .sub-media-grid h4{font-size:26px}.sub-full-page .sub-wide-image{padding:18px;margin-top:40px;border-radius:20px}.sub-full-page .sub-chip-list{gap:12px;margin-top:32px}.sub-full-page .sub-chip-list span{padding:24px 12px;font-size:18px;border-radius:16px}.sub-full-page .sub-news-list{margin-top:32px}.sub-full-page .sub-news-list article{grid-template-columns:1fr 24px;gap:10px;padding:26px 0}.sub-full-page .sub-news-list time{grid-column:1/-1;font-size:15px}.sub-full-page .sub-news-list h4{font-size:20px}}


/* ===== 공통 ===== */
.skip { position: fixed; top: 0; left: 0; z-index: 200; padding: var(--sp-12) var(--sp-20); background: var(--c-ink); color: var(--c-white); transform: translateY(-120%); transition: transform 0.2s; }
.skip:focus { transform: translateY(0); }
.inner { width: min(var(--w-inner), calc(100% - var(--sp-80))); margin: 0 auto; }
.sec { padding: var(--sp-160) 0; }
@media (prefers-reduced-motion: no-preference) {
  #main > section.is-scroll-reveal .about-top,
  #main > section.is-scroll-reveal .about-stats,
  #main > section.is-scroll-reveal .values,
  #main > section.is-scroll-reveal .values-list li,
  #main > section.is-scroll-reveal .sec-head-row,
  #main > section.is-scroll-reveal .biz-item,
  #main > section.is-scroll-reveal .process-list li,
  #main > section.is-scroll-reveal .process-list .pc-img,
  #main > section.is-scroll-reveal .news-list li,
  #main > section.is-scroll-reveal .contact-copy,
  #main > section.is-scroll-reveal .contact-box,
  #main > section.is-scroll-reveal .contact-bg img { transition: opacity 0.75s var(--ease), transform 0.75s var(--ease), clip-path 0.85s var(--ease), filter 0.75s var(--ease); }
  #main > section.about.is-scroll-reveal:not(.is-revealed) .about-top { opacity: 0; transform: translateX(-48px); }
  #main > section.about.is-scroll-reveal:not(.is-revealed) .about-stats { opacity: 0; transform: translateX(48px); }
  #main > section.about.is-scroll-reveal:not(.is-revealed) .values { opacity: 0; transform: translateY(36px); }
  #main > section.about.is-scroll-reveal:not(.is-revealed) .values-list li { opacity: 0; transform: translateY(20px); }
  #main > section.about.is-scroll-reveal.is-revealed .about-top { transition-delay: 0s; }
  #main > section.about.is-scroll-reveal.is-revealed .about-stats { transition-delay: 0.12s; }
  #main > section.about.is-scroll-reveal.is-revealed .values { transition-delay: 0.22s; }
  #main > section.about.is-scroll-reveal.is-revealed .values-list li:nth-child(1) { transition-delay: 0.32s; }
  #main > section.about.is-scroll-reveal.is-revealed .values-list li:nth-child(2) { transition-delay: 0.4s; }
  #main > section.about.is-scroll-reveal.is-revealed .values-list li:nth-child(3) { transition-delay: 0.48s; }
  #main > section.about.is-scroll-reveal.is-revealed .values-list li:nth-child(4) { transition-delay: 0.56s; }
  #main > section.biz.is-scroll-reveal:not(.is-revealed) .sec-head-row { opacity: 0; transform: translateY(-28px); }
  #main > section.biz.is-scroll-reveal:not(.is-revealed) .biz-item { opacity: 0; transform: translateY(72px) scale(0.96); filter: brightness(0.85); }
  #main > section.biz.is-scroll-reveal.is-revealed .sec-head-row { transition-delay: 0s; }
  #main > section.biz.is-scroll-reveal.is-revealed .biz-item:nth-child(1) { transition-delay: 0.08s; }
  #main > section.biz.is-scroll-reveal.is-revealed .biz-item:nth-child(2) { transition-delay: 0.16s; }
  #main > section.biz.is-scroll-reveal.is-revealed .biz-item:nth-child(3) { transition-delay: 0.24s; }
  #main > section.biz.is-scroll-reveal.is-revealed .biz-item:nth-child(4) { transition-delay: 0.32s; }
  #main > section.process.is-scroll-reveal:not(.is-revealed) .sec-head-row { opacity: 0; transform: translateY(32px); }
  #main > section.process.is-scroll-reveal:not(.is-revealed) .process-list li { opacity: 0; transform: translateY(40px); }
  #main > section.process.is-scroll-reveal:not(.is-revealed) .process-list .pc-img { transform: scale(1.08); clip-path: inset(100% 0 0 0); }
  #main > section.process.is-scroll-reveal.is-revealed .sec-head-row { transition-delay: 0s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(1) { transition-delay: 0.06s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(2) { transition-delay: 0.14s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(3) { transition-delay: 0.22s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(4) { transition-delay: 0.3s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(5) { transition-delay: 0.38s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list .pc-img { transition: clip-path 0.85s var(--ease), transform 0.85s var(--ease); }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(1) .pc-img { transition-delay: 0.1s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(2) .pc-img { transition-delay: 0.18s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(3) .pc-img { transition-delay: 0.26s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(4) .pc-img { transition-delay: 0.34s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list li:nth-child(5) .pc-img { transition-delay: 0.42s; }
  #main > section.process.is-scroll-reveal.is-revealed .process-list .pc-img { clip-path: inset(0 0 0 0); transform: scale(1); }
  #main > section.news.is-scroll-reveal:not(.is-revealed) .sec-head-row { opacity: 0; transform: translateX(-32px); }
  #main > section.news.is-scroll-reveal:not(.is-revealed) .news-list li { opacity: 0; transform: translateY(36px) scale(0.97); }
  #main > section.news.is-scroll-reveal.is-revealed .sec-head-row { transition-delay: 0s; }
  #main > section.news.is-scroll-reveal.is-revealed .news-list li:nth-child(1) { transition-delay: 0.1s; }
  #main > section.news.is-scroll-reveal.is-revealed .news-list li:nth-child(2) { transition-delay: 0.18s; }
  #main > section.news.is-scroll-reveal.is-revealed .news-list li:nth-child(3) { transition-delay: 0.26s; }
  #main > section.news.is-scroll-reveal.is-revealed .news-list li:nth-child(4) { transition-delay: 0.34s; }
  #main > section.contact.is-scroll-reveal:not(.is-revealed) .contact-copy { opacity: 0; transform: translateX(-56px); }
  #main > section.contact.is-scroll-reveal:not(.is-revealed) .contact-box { opacity: 0; transform: translateX(56px); }
  #main > section.contact.is-scroll-reveal:not(.is-revealed) .contact-bg img { transform: scale(1.08); }
  #main > section.contact.is-scroll-reveal.is-revealed .contact-copy { transition-delay: 0.05s; }
  #main > section.contact.is-scroll-reveal.is-revealed .contact-box { transition-delay: 0.18s; }
  #main > section.contact.is-scroll-reveal.is-revealed .contact-bg img { transition: transform 1.2s var(--ease); transform: scale(1); }
  #main > section.about.is-scroll-reveal.is-revealed .about-top,
  #main > section.about.is-scroll-reveal.is-revealed .about-stats,
  #main > section.about.is-scroll-reveal.is-revealed .values,
  #main > section.about.is-scroll-reveal.is-revealed .values-list li,
  #main > section.biz.is-scroll-reveal.is-revealed .sec-head-row,
  #main > section.biz.is-scroll-reveal.is-revealed .biz-item,
  #main > section.process.is-scroll-reveal.is-revealed .sec-head-row,
  #main > section.process.is-scroll-reveal.is-revealed .process-list li,
  #main > section.news.is-scroll-reveal.is-revealed .sec-head-row,
  #main > section.news.is-scroll-reveal.is-revealed .news-list li,
  #main > section.contact.is-scroll-reveal.is-revealed .contact-copy,
  #main > section.contact.is-scroll-reveal.is-revealed .contact-box { opacity: 1; transform: none; filter: none; }
}
.eyebrow { display: flex; align-items: center; gap: var(--sp-10); margin-bottom: var(--sp-20); font-size: var(--fs-15); font-weight: 600; color: var(--c-green-2); }
.eyebrow::before { content: ""; width: var(--sp-20); height: var(--sp-2); background: var(--c-lime); }
.eyebrow-w { color: var(--c-lime); }
.sec-title { font-size: var(--fs-56); font-weight: 700; line-height: 1.25; color: var(--c-ink); }
.sec-desc { font-size: var(--fs-19); line-height: 1.7; color: var(--c-text-2); }
.sec-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--sp-40); margin-bottom: var(--sp-64); }
.link-arrow { display: inline-flex; align-items: center; gap: var(--sp-10); padding-bottom: var(--sp-6); border-bottom: 1px solid currentColor; font-size: var(--fs-17); font-weight: 600; color: var(--c-ink); transition: gap 0.3s var(--ease); }
.link-arrow:hover { gap: var(--sp-16); }
.btn { display: inline-flex; align-items: center; justify-content: center; height: 60px; padding: 0 var(--sp-32); border-radius: var(--r-full); font-size: var(--fs-17); font-weight: 600; transition: background 0.3s, color 0.3s, border-color 0.3s; }
.btn-lime { background: var(--c-lime); color: var(--c-ink); }
.btn-lime:hover { background: var(--c-white); }
.btn-line-w { border: 1px solid rgba(255, 255, 255, 0.5); color: var(--c-white); }
.btn-line-w:hover { border-color: var(--c-white); background: rgba(255, 255, 255, 0.1); }
.btn-ink { background: var(--c-ink); color: var(--c-white); }
.btn-ink:hover { background: var(--c-green); }

/* ===== 헤더 ===== */
.hd { position: fixed; top: 0; left: 0; right: 0; z-index: 100; color: var(--c-white); border-bottom: 1px solid var(--c-line-dark); transition: background 0.3s, color 0.3s, border-color 0.3s; }
.hd-inner { display: flex; align-items: flex-start; justify-content: space-between; width: min(var(--w-inner), calc(100% - var(--sp-80))); margin: 0 auto; }
.hd-logo { display: flex; align-items: center; height: var(--h-header); }
.hd-logo a { display: block; }
.logo-color { display: none; }
.gnb-list { display: flex; }
.gnb-item { width: 150px; text-align: center; }
.gnb-link { display: flex; align-items: center; justify-content: center; height: var(--h-header); font-size: var(--fs-18); font-weight: 600; transition: color 0.2s; }
.gnb-sub { display: none; padding: var(--sp-8) 0 var(--sp-40); }
.gnb-sub a { display: block; padding: var(--sp-6) 0; font-size: var(--fs-16); color: var(--c-text-2); transition: color 0.2s; }
.gnb-sub a:hover { color: var(--c-green-2); }
.gnb-sub a.is-unlinked,
.lnb-list a.is-unlinked { color: var(--c-text-3); cursor: default; pointer-events: none; opacity: 0.5; }
.hd:not(.is-scrolled):not(.is-open) .gnb-sub a.is-unlinked { color: rgba(255, 255, 255, 0.4); }
.gnb-link.is-unlinked { cursor: default; pointer-events: none; opacity: 0.55; }
.ft-menu a.is-unlinked { opacity: 0.55; pointer-events: none; cursor: default; }
.hd-util { display: flex; align-items: center; gap: var(--sp-24); height: var(--h-header); }
.hd-tel { display: flex; align-items: center; gap: var(--sp-8); font-size: var(--fs-17); font-weight: 600; }
.hd-cta { padding: var(--sp-10) var(--sp-24); border-radius: var(--r-full); background: var(--c-lime); color: var(--c-white); font-size: var(--fs-15); font-weight: 700; border: 2px solid var(--c-lime); transition: background 0.25s var(--ease), color 0.25s, border-color 0.25s, transform 0.25s; }
.hd-cta:hover { background: var(--c-white); color: var(--c-green-2); border-color: var(--c-white); transform: translateY(-2px); }
.hd-cta:active { transform: translateY(0); }
.hd.is-scrolled .hd-cta:hover,
.hd.is-open .hd-cta:hover { background: var(--c-green); color: var(--c-white); border-color: var(--c-green); }
.hd-menu { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: var(--sp-6); width: 44px; height: 44px; }
.hd-menu span { display: block; width: 26px; height: 2px; background: currentColor; }
.hd-menu span:nth-child(2) { width: 18px; }
.hd.is-scrolled, .hd.is-open { background: var(--c-white); color: var(--c-ink); border-bottom-color: var(--c-line); }
.hd.is-scrolled .logo-white, .hd.is-open .logo-white { display: none; }
.hd.is-scrolled .logo-color, .hd.is-open .logo-color { display: block; }
.hd.is-open { box-shadow: 0 20px 40px rgba(15, 26, 20, 0.08); }
.hd.is-open .gnb-sub { display: block; }
.hd.is-open .gnb-item:hover .gnb-link { color: var(--c-green-2); }

/* ===== 01 메인 비주얼 ===== */
.hero { display: grid; min-height: 100vh; min-height: 100svh; background: var(--c-ink); overflow: hidden; }
.hero > * { grid-area: 1 / 1; }
.hero-slides { display: grid; min-width: 0; overflow: hidden; }
.hero-video { grid-area: 1 / 1; min-width: 0; width: 100%; height: 0; min-height: 100%; object-fit: cover; }
.hero-slides::after { content: ""; grid-area: 1 / 1; z-index: 1; background: linear-gradient(180deg, rgba(10, 20, 14, 0.6) 0%, rgba(10, 20, 14, 0) 22%), linear-gradient(90deg, rgba(10, 20, 14, 0.86) 0%, rgba(10, 20, 14, 0.55) 50%, rgba(10, 20, 14, 0.2) 100%), linear-gradient(0deg, rgba(10, 20, 14, 0.75) 0%, rgba(10, 20, 14, 0) 40%); }
.hero-slide { grid-area: 1 / 1; opacity: 0; transition: opacity 1.2s var(--ease); }
.hero-slide.is-active { opacity: 1; }
.hero-slide img { width: 100%; height: 0; min-height: 100%; object-fit: cover; }
.hero-slide.is-active img { animation: heroZoom 9s linear forwards; }
.hero.is-paused .hero-slide img { animation-play-state: paused; }
@keyframes heroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.hero-inner { display: grid; grid-template-rows: 1fr auto; width: min(var(--w-inner), calc(100% - var(--sp-80))); margin: 0 auto; padding-top: var(--h-header); color: var(--c-white); z-index: 2; }
.hero-copy { align-self: center; padding: var(--sp-64) 0; }
.hero-eyebrow { margin-bottom: var(--sp-28); font-size: var(--fs-17); font-weight: 500; color: var(--c-lime); }
.hero-title { font-size: var(--fs-96); font-weight: 800; line-height: 1.14; }
.hero-desc { margin-top: var(--sp-32); font-size: var(--fs-20); line-height: 1.75; color: rgba(255, 255, 255, 0.84); }
.hero-btns { display: flex; gap: var(--sp-12); margin-top: var(--sp-48); }
.hero-bar { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-32) 0 var(--sp-40); border-top: 1px solid var(--c-line-dark); }
.hero-ctrl { display: flex; align-items: center; gap: var(--sp-20); font-size: var(--fs-15); color: rgba(255, 255, 255, 0.7); }
.hero-now { color: var(--c-white); font-weight: 700; }
.hero-progress { display: block; width: 160px; height: 2px; background: rgba(255, 255, 255, 0.25); overflow: hidden; }
.hero-progress i { display: block; width: 100%; height: 100%; background: var(--c-lime); transform-origin: left; transform: scaleX(0); }
.hero-progress i.is-run { animation: heroBar 6s linear forwards; }
.hero.is-paused .hero-progress i { animation-play-state: paused; }
@keyframes heroBar { to { transform: scaleX(1); } }
.hero-toggle { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: var(--r-full); color: var(--c-white); }
.hero-toggle .i-play { display: none; }
.hero.is-paused .hero-toggle .i-play { display: block; }
.hero.is-paused .hero-toggle .i-pause { display: none; }
.hero-facts { display: flex; gap: var(--sp-64); }
.hero-facts li { display: flex; flex-direction: column; gap: var(--sp-4); }
.hero-facts strong { font-size: var(--fs-40); font-weight: 700; line-height: 1.1; }
.hero-facts small { margin-left: var(--sp-4); font-size: var(--fs-17); font-weight: 500; }
.hero-facts span { font-size: var(--fs-15); color: rgba(255, 255, 255, 0.7); }

/* ===== 02 회사소개 ===== */
.about { background: var(--c-white); }
.about-top { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--sp-80); align-items: end; }
.about-text p { font-size: var(--fs-19); line-height: 1.8; color: var(--c-text-2); }
.about-text p:first-child { font-weight: 400; color: var(--c-ink); }
.about-text p + p { margin-top: var(--sp-12); font-weight: 400; color: var(--c-text-2); }
.about-text .link-arrow { margin-top: var(--sp-32); }
.about-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: var(--sp-96); border-top: 1px solid var(--c-ink); }
.about-stats li { display: flex; flex-direction: column; padding: var(--sp-32) var(--sp-32) var(--sp-40); border-right: 1px solid var(--c-line); }
.about-stats li:first-child { padding-left: 0; }
.about-stats li:last-child { border-right: 0; }
.stat-label { font-size: var(--fs-16); font-weight: 600; color: var(--c-text-2); }
.stat-num { margin-top: var(--sp-24); font-size: var(--fs-80); font-weight: 700; line-height: 1; color: var(--c-green); }
.stat-num small { margin-left: var(--sp-6); font-size: var(--fs-24); font-weight: 600; color: var(--c-ink); }
.stat-note { margin-top: var(--sp-16); font-size: var(--fs-16); color: var(--c-text-3); }
.values { display: grid; grid-template-columns: 240px 1fr; gap: var(--sp-40); margin-top: var(--sp-80); padding: var(--sp-48); border-radius: var(--r-16); background: var(--c-bg); }
.values-title { font-size: var(--fs-24); color: var(--c-ink); }
.values-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-32); }
.values-list li { padding-left: var(--sp-24); border-left: 2px solid var(--c-lime); }
.val-key { display: block; font-size: var(--fs-24); font-weight: 700; color: var(--c-green); }
.values-list p { margin-top: var(--sp-12); min-height: calc(1.65em * 2); font-size: var(--fs-17); line-height: 1.65; color: var(--c-text-2); }

/* ===== 03 사업분야 ===== */
.biz { background: var(--c-bg); }
.biz-list { display: flex; gap: var(--sp-16); height: 620px; }
.biz-item { display: grid; flex: 1; min-width: 0; border-radius: var(--r-16); overflow: hidden; background: var(--c-ink); cursor: pointer; transition: flex 0.7s var(--ease); }
.biz-item > * { grid-area: 1 / 1; }
.biz-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.biz-item::after { content: ""; grid-area: 1 / 1; z-index: 1; background: linear-gradient(0deg, rgba(10, 20, 14, 0.88) 0%, rgba(10, 20, 14, 0.25) 60%, rgba(10, 20, 14, 0.1) 100%); }
.biz-item.is-active { flex: 2.8; }
.biz-item.is-active img { transform: scale(1.03); }
.biz-body { align-self: end; padding: var(--sp-40); color: var(--c-white); z-index: 2; }
.biz-item:not(.is-active) .biz-body { padding: var(--sp-20) var(--sp-14); }
.biz-num { font-size: var(--fs-15); font-weight: 700; color: var(--c-lime); }
.biz-item:not(.is-active) .biz-num { font-size: var(--fs-15); }
.biz-name { margin-top: var(--sp-8); font-size: var(--fs-22); font-weight: 700; line-height: 1.35; white-space: normal; word-break: keep-all; transition: font-size 0.5s var(--ease); }
.biz-item.is-active .biz-name { font-size: var(--fs-28); line-height: 1.3; white-space: nowrap; }
.biz-more { display: none; max-width: 560px; }
.biz-item.is-active .biz-more { display: block; animation: fadeUp 0.6s var(--ease) both; }
.biz-more p { margin-top: var(--sp-16); font-size: var(--fs-18); line-height: 1.7; color: rgba(255, 255, 255, 0.86); }
.biz-tags { display: flex; flex-wrap: wrap; gap: var(--sp-8); margin-top: var(--sp-24); }
.biz-tags li { padding: var(--sp-6) var(--sp-14); border: 1px solid rgba(255, 255, 255, 0.35); border-radius: var(--r-full); font-size: var(--fs-15); }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ===== 04 처리공정 ===== */
.process { background: var(--c-ink); color: var(--c-white); }
.process .sec-title { color: var(--c-white); }
.process .sec-desc { color: rgba(255, 255, 255, 0.7); }
.process .eyebrow { color: var(--c-lime); }
.process-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-24); counter-reset: step; }
.process-list li { padding-top: var(--sp-24); border-top: 1px solid var(--c-line-dark); }
.pc-img { aspect-ratio: 4 / 5; border-radius: var(--r-12); overflow: hidden; }
.pc-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85); transition: transform 0.8s var(--ease); }
.process-list li:hover .pc-img img { transform: scale(1.05); }
.pc-step { display: block; margin-top: var(--sp-28); font-size: var(--fs-14); font-weight: 700; color: var(--c-lime); }
.process-list h3 { margin-top: var(--sp-8); font-size: var(--fs-28); font-weight: 700; }
.process-list p { margin-top: var(--sp-12); min-height: calc(1.65em * 2); font-size: var(--fs-17); line-height: 1.65; color: rgba(255, 255, 255, 0.7); }

/* ===== 05 제품소개 ===== */
.product { background: var(--c-white); overflow: hidden; }
.product-inner { display: grid; grid-template-columns: 380px 1fr; gap: var(--sp-80); }
.product-side { display: flex; flex-direction: column; align-items: flex-start; }
.product-side .sec-desc { margin-top: var(--sp-24); }
.product-ctrl { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: auto; padding: var(--sp-24) 0; border-top: 1px solid var(--c-line); }
.product-count { font-size: var(--fs-16); color: var(--c-text-3); }
.product-now { color: var(--c-ink); }
.product-arrows { display: flex; gap: var(--sp-8); }
.arrow-btn { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid var(--c-line); border-radius: var(--r-full); color: var(--c-ink); transition: background 0.2s, color 0.2s, border-color 0.2s; }
.arrow-btn:hover { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-white); }
.arrow-btn:disabled { opacity: 0.35; pointer-events: none; }
.product-side .btn { margin-top: var(--sp-16); }
.product-viewport { margin-right: calc((var(--w-inner) - 100vw) / 2); overflow: hidden; }
.product-track { display: flex; gap: var(--sp-24); transition: transform 0.7s var(--ease); }
.pd-card { flex: 0 0 340px; }
.pd-img { aspect-ratio: 3 / 4; border-radius: var(--r-12); overflow: hidden; background: var(--c-bg); }
.pd-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease); }
.pd-card:hover .pd-img img { transform: scale(1.05); }
.pd-cat { display: block; margin-top: var(--sp-24); font-size: var(--fs-14); font-weight: 600; color: var(--c-green-2); }
.pd-card h3 { margin-top: var(--sp-6); font-size: var(--fs-24); color: var(--c-ink); }
.pd-card p { margin-top: var(--sp-8); font-size: var(--fs-17); color: var(--c-text-2); }
.material { margin-top: var(--sp-120); }
.material-title { margin-bottom: var(--sp-24); font-size: var(--fs-22); color: var(--c-ink); }
.material-list { display: grid; grid-template-columns: repeat(8, 1fr); column-gap: var(--sp-24); border-top: 1px solid var(--c-ink); }
.material-list li { display: flex; flex-direction: column; gap: var(--sp-4); padding: var(--sp-24) 0; border-bottom: 1px solid var(--c-line); }
.material-list b { font-size: var(--fs-20); font-weight: 700; color: var(--c-ink); }
.material-list span { font-size: var(--fs-14); line-height: 1.45; color: var(--c-text-3); }

/* ===== 06 시설·거점 ===== */
.infra { background: var(--c-bg); }
.infra-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: var(--sp-80); }
.infra-metrics li { padding: var(--sp-32) 0 var(--sp-40); border-top: 1px solid var(--c-ink); }
.infra-metrics li + li { border-top-color: var(--c-line); }
.im-label { font-size: var(--fs-17); font-weight: 600; color: var(--c-text-2); }
.infra-metrics strong { display: block; margin-top: var(--sp-12); font-size: var(--fs-80); font-weight: 700; line-height: 1; color: var(--c-green); }
.infra-metrics small { margin-left: var(--sp-8); font-size: var(--fs-24); font-weight: 600; color: var(--c-ink); }
.infra-metrics p { margin-top: var(--sp-14); font-size: var(--fs-17); color: var(--c-text-3); }
.infra-network { padding: var(--sp-48); border-radius: var(--r-16); background: var(--c-white); }
.net-head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: var(--sp-24); border-bottom: 1px solid var(--c-ink); }
.net-head h3 { font-size: var(--fs-28); color: var(--c-ink); }
.net-head span { font-size: var(--fs-16); color: var(--c-text-3); }
.net-list li { display: grid; grid-template-columns: 72px 120px 1fr; align-items: center; gap: var(--sp-16); padding: var(--sp-24) 0; border-bottom: 1px solid var(--c-line); }
.net-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.net-region { justify-self: start; padding: var(--sp-4) var(--sp-12); border-radius: var(--r-full); background: var(--c-lime-soft); font-size: var(--fs-14); font-weight: 600; color: var(--c-green); }
.net-list li.is-main .net-region { background: var(--c-green); color: var(--c-white); }
.net-list b { font-size: var(--fs-19); color: var(--c-ink); }
.net-list address { font-size: var(--fs-17); color: var(--c-text-2); }

/* ===== 07 협력기관 ===== */
.partner { background: var(--c-white); }
.pg-title { margin-bottom: var(--sp-16); font-size: var(--fs-17); font-weight: 600; color: var(--c-text-2); }
.pg-list { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--c-ink); border-left: 1px solid var(--c-line); }
.pg-list li { display: flex; align-items: center; justify-content: center; height: 120px; padding: 0 var(--sp-16); border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); font-size: var(--fs-22); font-weight: 700; color: var(--c-text-2); text-align: center; transition: color 0.2s, background 0.2s; }
.pg-list li:hover { background: var(--c-bg); color: var(--c-green); }
.pg-3 { grid-template-columns: repeat(3, 1fr); }
.pg-1 { grid-template-columns: 1fr; }
.partner-row { display: grid; grid-template-columns: 3fr 1fr; gap: var(--sp-24); margin-top: var(--sp-48); }
.trust { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-16); margin-top: var(--sp-80); }
.trust li { display: flex; flex-direction: column; gap: var(--sp-8); padding: var(--sp-28) var(--sp-28) var(--sp-32); border-radius: var(--r-12); background: var(--c-green); color: var(--c-white); }
.trust-k { font-size: var(--fs-14); font-weight: 600; color: var(--c-lime); }
.trust b { font-size: var(--fs-19); font-weight: 700; }

/* ===== 08 소식 ===== */
.news { background: var(--c-bg); }
.news-tabs { display: flex; align-items: center; gap: var(--sp-8); }
.news-tab { height: 48px; padding: 0 var(--sp-24); border: 1px solid var(--c-line); border-radius: var(--r-full); background: var(--c-white); font-size: var(--fs-16); font-weight: 600; color: var(--c-text-2); transition: background 0.2s, color 0.2s; }
.news-tab.is-active { border-color: var(--c-ink); background: var(--c-ink); color: var(--c-white); }
.news-more { display: grid; place-items: center; width: 48px; height: 48px; margin-left: var(--sp-8); border: 1px solid var(--c-ink); border-radius: var(--r-full); font-size: var(--fs-24); font-weight: 300; color: var(--c-ink); transition: background 0.25s var(--ease), color 0.25s, border-color 0.25s, transform 0.25s var(--ease); }
.news-more:hover { background: var(--c-lime); border-color: var(--c-lime); color: var(--c-white); transform: rotate(90deg); }
.news-more:active { transform: rotate(90deg) scale(0.94); }
.news-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-24); }
.news-list a { display: block; }
.nw-img { aspect-ratio: 1 / 1; border-radius: var(--r-12); overflow: hidden; background: var(--c-white); }
.nw-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease); }
.news-list a:hover .nw-img img { transform: scale(1.04); }
.nw-cat { display: block; margin-top: var(--sp-24); font-size: var(--fs-14); font-weight: 600; color: var(--c-green-2); }
.news-list h3 { display: -webkit-box; margin-top: var(--sp-8); font-size: var(--fs-20); font-weight: 600; line-height: 1.5; color: var(--c-ink); overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.news-list time { display: block; margin-top: var(--sp-12); font-size: var(--fs-15); color: var(--c-text-3); }

/* ===== 문의 배너 ===== */
.contact { display: grid; overflow: hidden; background: var(--c-ink); }
.contact > * { grid-area: 1 / 1; }
.contact-bg { display: grid; }
.contact-bg img { grid-area: 1 / 1; width: 100%; height: 0; min-height: 100%; object-fit: cover; }
.contact-bg::after { content: ""; grid-area: 1 / 1; z-index: 1; background: linear-gradient(90deg, rgba(10, 20, 14, 0.9) 0%, rgba(10, 20, 14, 0.55) 60%, rgba(10, 20, 14, 0.35) 100%); }
.contact-inner { display: grid; grid-template-columns: 1fr 520px; align-items: center; gap: var(--sp-80); padding: var(--sp-120) 0; z-index: 2; }
.contact-title { font-size: var(--fs-56); font-weight: 700; line-height: 1.25; color: var(--c-white); }
.contact-desc { margin-top: var(--sp-24); font-size: var(--fs-19); color: rgba(255, 255, 255, 0.8); }
.contact-box { padding: var(--sp-48); border: 1px solid var(--c-line-dark); border-radius: var(--r-16); background: rgba(15, 26, 20, 0.72); backdrop-filter: blur(10px); color: var(--c-white); }
.cb-label { font-size: var(--fs-15); font-weight: 600; color: var(--c-lime); }
.cb-tel { display: block; margin-top: var(--sp-8); font-size: var(--fs-56); font-weight: 700; line-height: 1.15; }
.cb-info { display: grid; grid-template-columns: auto 1fr; gap: var(--sp-6) var(--sp-16); margin-top: var(--sp-20); font-size: var(--fs-16); color: rgba(255, 255, 255, 0.8); }
.cb-info dt { font-weight: 600; color: rgba(255, 255, 255, 0.55); }
.cb-btns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-12); margin-top: var(--sp-32); }

/* ===== 푸터 ===== */
.ft { padding: var(--sp-72) 0 var(--sp-48); background: #0b130e; color: rgba(255, 255, 255, 0.66); }
.ft-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: var(--sp-40); border-bottom: 1px solid var(--c-line-dark); }
.ft-menu { display: flex; gap: var(--sp-40); }
.ft-menu a { font-size: var(--fs-17); font-weight: 600; color: var(--c-white); }
.ft-mid { display: flex; justify-content: space-between; gap: var(--sp-40); padding: var(--sp-40) 0; }
.ft-info p { font-size: var(--fs-16); line-height: 2; }
.ft-info span + span::before { content: ""; display: inline-block; width: 1px; height: 12px; margin: 0 var(--sp-14); background: rgba(255, 255, 255, 0.25); }
.ft-branch { color: rgba(255, 255, 255, 0.5); }
.ft-extra { display: flex; flex-direction: column; align-items: flex-end; gap: var(--sp-24); }
.ft-policy { display: flex; gap: var(--sp-24); font-size: var(--fs-16); white-space: nowrap; }
.ft-policy b { color: var(--c-white); }
.ft-sns { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--sp-10); max-width: 280px; }
.ft-sns-link { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.22); color: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.04); transition: color 0.25s, border-color 0.25s, background 0.25s, transform 0.25s, opacity 0.25s; }
.ft-sns-link:hover { color: var(--c-white); border-color: var(--c-lime); background: rgba(140, 198, 63, 0.2); transform: translateY(-2px); }
.ft-sns-link:active { transform: translateY(0); background: rgba(140, 198, 63, 0.28); }
.ft-sns-link.is-unlinked { opacity: 0.65; cursor: default; }
.ft-sns-link.is-unlinked:hover { opacity: 1; }
.ft-sns-ico { display: block; width: 22px; height: 22px; }
.gnb-item.is-single .gnb-link.is-unlinked { cursor: default; opacity: 0.85; }
.ft-copy { font-size: var(--fs-15); color: rgba(255, 255, 255, 0.45); }
.ft-copy a { color: rgba(255, 255, 255, 0.75); }
.ft-copy a:hover { color: var(--c-lime); }

/* ===== 반응형 ===== */
@media (max-width: 1520px) {
  .product-viewport { margin-right: calc(var(--sp-40) * -1); }
  .gnb-item { width: 120px; }
}
@media (max-width: 1280px) {
  .gnb { display: none; }
  .hero-title { font-size: var(--fs-80); }
  .material-list { grid-template-columns: repeat(4, 1fr); }
  .values { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .sec { padding: var(--sp-120) 0; }
  .sec-title, .contact-title { font-size: var(--fs-40); }
  .sec-head-row { flex-direction: column; align-items: flex-start; }
  .hd-tel { display: none; }
  .hero-title { font-size: var(--fs-64); }
  .hero-bar { flex-direction: column; align-items: flex-start; gap: var(--sp-24); }
  .about-top, .infra-grid, .product-inner, .contact-inner { grid-template-columns: 1fr; gap: var(--sp-48); }
  .about-stats { grid-template-columns: repeat(2, 1fr); }
  .about-stats li:nth-child(2n) { border-right: 0; }
  .about-stats li:nth-child(odd) { padding-left: 0; }
  .values-list { grid-template-columns: repeat(2, 1fr); }
  .biz-list { flex-direction: column; height: auto; }
  .biz-item { min-height: 160px; }
  .biz-item.is-active { min-height: 460px; }
  .process-list { grid-template-columns: repeat(3, 1fr); row-gap: var(--sp-48); }
  .product-ctrl { margin-top: var(--sp-40); }
  .pg-list { grid-template-columns: repeat(3, 1fr); }
  .partner-row { grid-template-columns: 1fr; }
  .trust { grid-template-columns: repeat(3, 1fr); }
  .news-list { grid-template-columns: repeat(2, 1fr); row-gap: var(--sp-48); }
  .ft-top, .ft-mid { flex-direction: column; align-items: flex-start; gap: var(--sp-24); }
  .ft-extra { align-items: flex-start; }
  .ft-sns { justify-content: flex-start; max-width: none; }
  .ft-menu { flex-wrap: wrap; gap: var(--sp-16) var(--sp-24); }
}
@media (max-width: 640px) {
  :root { --h-header: 68px; }
  .inner, .hd-inner, .hero-inner { width: calc(100% - var(--sp-40)); }
  .sec { padding: var(--sp-80) 0; }
  .sec-title, .contact-title { font-size: var(--fs-32); }
  .sec-desc, .about-text p { font-size: var(--fs-16); }
  .sec-desc br, .hero-desc br { display: none; }
  .hd-logo img { width: 150px; height: auto; }
  .hd-cta { display: none; }
  .hero-title { font-size: var(--fs-40); }
  .hero-desc { font-size: var(--fs-16); }
  .hero-btns { flex-direction: column; }
  .hero-facts { gap: var(--sp-24); }
  .hero-facts strong { font-size: var(--fs-28); }
  .stat-num, .infra-metrics strong { font-size: var(--fs-56); }
  .about-stats li { padding: var(--sp-24) var(--sp-16) var(--sp-24) 0; }
  .values { padding: var(--sp-32) var(--sp-24); }
  .values-list { grid-template-columns: 1fr; }
  .biz-body { padding: var(--sp-24); }
  .biz-item:not(.is-active) .biz-body { padding: var(--sp-24); }
  .biz-name { font-size: var(--fs-20); white-space: normal; }
  .biz-item.is-active .biz-name { font-size: var(--fs-24); white-space: normal; }
  .process-list { grid-template-columns: repeat(2, 1fr); gap: var(--sp-16); }
  .process-list h3 { font-size: var(--fs-22); }
  .process-list p { font-size: var(--fs-15); }
  .product-viewport { margin-right: calc(var(--sp-20) * -1); }
  .pd-card { flex-basis: 260px; }
  .material-list { grid-template-columns: repeat(2, 1fr); }
  .infra-network { padding: var(--sp-24); }
  .net-list li { grid-template-columns: 56px 1fr; }
  .net-list address { grid-column: 1 / -1; font-size: var(--fs-15); }
  .pg-list { grid-template-columns: repeat(2, 1fr); }
  .pg-list li { height: 88px; font-size: var(--fs-17); }
  .trust { grid-template-columns: 1fr 1fr; }
  .news-tabs { flex-wrap: wrap; }
  .news-list { grid-template-columns: 1fr; }
  .contact-box { padding: var(--sp-28); }
  .cb-tel { font-size: var(--fs-40); }
  .cb-btns { grid-template-columns: 1fr; }
  .ft-info span { display: block; }
  .ft-info span + span::before { display: none; }
}

/* ============================================================
   서브페이지 공통
   ============================================================ */
.hd.is-sub { background: var(--c-white); color: var(--c-ink); border-bottom-color: var(--c-line); }
.hd.is-sub .logo-white { display: none; }
.hd.is-sub .logo-color { display: block; }
.gnb-link.is-current { color: var(--c-green-2); }

/* 서브 비주얼 */
.sv { display: grid; height: 440px; margin-top: var(--h-header); background: var(--c-ink); overflow: hidden; }
.sv > * { grid-area: 1 / 1; }
.sv-bg { display: grid; overflow: hidden; }
.sv-bg img { grid-area: 1 / 1; width: 100%; height: 0; min-height: 100%; object-fit: cover; animation: svZoom 10s var(--ease) forwards; }
.sv-bg::after { content: ""; grid-area: 1 / 1; z-index: 1; background: linear-gradient(90deg, rgba(10, 20, 14, 0.82) 0%, rgba(10, 20, 14, 0.45) 60%, rgba(10, 20, 14, 0.2) 100%); }
@keyframes svZoom { from { transform: scale(1.06); } to { transform: scale(1); } }
.sv-inner { display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: var(--sp-64); color: var(--c-white); z-index: 2; }
.sv-eyebrow { margin-bottom: var(--sp-12); font-size: var(--fs-17); font-weight: 500; color: var(--c-lime); }
.sv-title { font-size: var(--fs-64); font-weight: 700; line-height: 1.2; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: var(--sp-10); margin-top: var(--sp-20); font-size: var(--fs-15); color: rgba(255, 255, 255, 0.72); }
.breadcrumb li + li::before { content: "/"; margin-right: var(--sp-10); color: rgba(255, 255, 255, 0.4); }
.breadcrumb [aria-current] { color: var(--c-white); font-weight: 600; }

/* 서브 탭 메뉴(LNB) */
.lnb { position: sticky; top: var(--h-header); z-index: 50; background: var(--c-white); border-bottom: 1px solid var(--c-line); }
.lnb-list { display: flex; gap: var(--sp-48); overflow-x: auto; }
.lnb-list a { display: flex; align-items: center; height: 72px; margin-bottom: -1px; border-bottom: 2px solid transparent; font-size: var(--fs-17); font-weight: 500; color: var(--c-text-2); white-space: nowrap; transition: color 0.2s, border-color 0.2s; }
.lnb-list a:hover { color: var(--c-ink); }
.lnb-list a.is-active { border-bottom-color: var(--c-green); font-weight: 700; color: var(--c-ink); }

/* 본문 공통 */
.sub-cont { padding: var(--sp-120) 0 var(--sp-160); }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--sp-40); margin-bottom: var(--sp-80); padding-bottom: var(--sp-48); border-bottom: 1px solid var(--c-ink); }
.page-title { font-size: var(--fs-48); font-weight: 700; color: var(--c-ink); }
.page-desc { font-size: var(--fs-19); line-height: 1.7; color: var(--c-text-2); }
.sub-block + .sub-block { margin-top: var(--sp-120); }
.block-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--sp-24); margin-bottom: var(--sp-40); }
.block-en { display: block; margin-bottom: var(--sp-8); font-size: var(--fs-15); font-weight: 600; color: var(--c-green-2); }
.block-title { font-size: var(--fs-32); font-weight: 700; color: var(--c-ink); }
.block-note { font-size: var(--fs-16); color: var(--c-text-3); }
.tag { display: inline-block; padding: var(--sp-4) var(--sp-12); border: 1px solid var(--c-line); border-radius: var(--r-full); background: var(--c-white); font-size: var(--fs-15); color: var(--c-text-2); }

/* 하단 상담 배너 */
.sub-cta { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-40); padding: var(--sp-56) var(--sp-64); border-radius: var(--r-16); background: var(--c-ink); color: var(--c-white); }
.sub-cta h4 { font-size: var(--fs-32); font-weight: 700; }
.sub-cta p { margin-top: var(--sp-8); font-size: var(--fs-18); color: rgba(255, 255, 255, 0.7); }
.sub-cta-btns { display: flex; flex-shrink: 0; gap: var(--sp-12); }

/* ===== 회사소개 > 인사말 ===== */
.greet { display: grid; grid-template-columns: 1fr 1.25fr; gap: var(--sp-96); }
.greet-quote { position: sticky; top: calc(var(--h-header) + 112px); align-self: start; }
.greet-quote p { font-size: var(--fs-40); font-weight: 700; line-height: 1.4; color: var(--c-ink); }
.greet-quote em { font-style: normal; color: var(--c-green); }
.greet-text p { font-size: var(--fs-19); line-height: 1.9; color: var(--c-text-2); }
.greet-text p + p { margin-top: var(--sp-24); }
.greet-text strong { font-weight: 600; color: var(--c-ink); }
.greet-sign { margin-top: var(--sp-48); padding-top: var(--sp-32); border-top: 1px solid var(--c-line); font-size: var(--fs-17); color: var(--c-text-2); }
.greet-sign b { display: block; margin-top: var(--sp-6); font-size: var(--fs-24); color: var(--c-ink); }
.wide-photo { aspect-ratio: 1440 / 560; border-radius: var(--r-16); overflow: hidden; }
.wide-photo img { width: 100%; height: 100%; object-fit: cover; }
.promise-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-24); }
.promise-list li { padding: var(--sp-40); border-radius: var(--r-16); background: var(--c-bg); }
.promise-num { font-size: var(--fs-15); font-weight: 700; color: var(--c-green-2); }
.promise-list h4 { margin-top: var(--sp-40); font-size: var(--fs-28); color: var(--c-ink); }
.promise-list p { margin-top: var(--sp-12); font-size: var(--fs-17); line-height: 1.7; color: var(--c-text-2); }
.overview { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: var(--sp-64); border-top: 1px solid var(--c-ink); }
.overview > div { display: grid; grid-template-columns: 160px 1fr; gap: var(--sp-16); padding: var(--sp-24) 0; border-bottom: 1px solid var(--c-line); font-size: var(--fs-18); }
.overview .is-full { grid-column: 1 / -1; }
.overview dt { font-weight: 600; color: var(--c-ink); }
.overview dd { color: var(--c-text-2); }

/* ===== 사업분야 > 사업소개 ===== */
.struct { display: flex; flex-direction: column; align-items: center; }
.struct-core { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 280px; height: 280px; border: 12px solid var(--c-lime-soft); border-radius: 50%; background: var(--c-green); color: var(--c-white); text-align: center; }
.struct-core span { font-size: var(--fs-15); font-weight: 600; color: var(--c-lime); }
.struct-core strong { margin-top: var(--sp-8); font-size: var(--fs-24); font-weight: 700; line-height: 1.4; }
.struct-stem { width: 1px; height: var(--sp-48); background: var(--c-text-3); }
.struct-rail { width: 75%; height: 1px; background: var(--c-text-3); }
.struct-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-24); width: 100%; }
.struct-list > li { display: flex; flex-direction: column; }
.struct-list > li::before { content: ""; align-self: center; width: 1px; height: var(--sp-40); background: var(--c-text-3); }
.struct-card { flex: 1; border: 1px solid var(--c-line); border-radius: var(--r-12); background: var(--c-white); overflow: hidden; }
.struct-card h4 { padding: var(--sp-20) var(--sp-24); background: var(--c-green); font-size: var(--fs-20); color: var(--c-white); text-align: center; }
.struct-list > li:nth-child(2) .struct-card h4 { background: var(--c-green-2); }
.struct-list > li:nth-child(3) .struct-card h4 { background: var(--c-lime); color: var(--c-ink); }
.struct-list > li:nth-child(4) .struct-card h4 { background: var(--c-ink); }
.struct-card ul { padding: var(--sp-28) var(--sp-24) var(--sp-32); }
.struct-card li { padding: var(--sp-6) 0; font-size: var(--fs-17); line-height: 1.6; color: var(--c-text-2); }
.struct-card li::before { content: "·"; margin-right: var(--sp-6); color: var(--c-green-2); font-weight: 700; }
.struct-note { margin-top: var(--sp-8); padding: var(--sp-14) var(--sp-16); border-radius: var(--r-8); background: var(--c-bg); font-size: var(--fs-15); line-height: 1.7; color: var(--c-text-2); }
.biz-row { display: grid; grid-template-columns: 1fr 1fr; min-height: 440px; border-radius: var(--r-16); background: var(--c-bg); overflow: hidden; }
.biz-row + .biz-row { margin-top: var(--sp-24); }
.biz-row:nth-child(even) .biz-row-img { order: 2; }
.biz-row-img img { width: 100%; height: 100%; object-fit: cover; }
.biz-row-body { display: flex; flex-direction: column; justify-content: center; padding: var(--sp-64); }
.biz-row-num { font-size: var(--fs-15); font-weight: 700; color: var(--c-green-2); }
.biz-row-body h4 { margin-top: var(--sp-12); font-size: var(--fs-32); font-weight: 700; color: var(--c-ink); }
.biz-row-body ul { margin-top: var(--sp-28); border-bottom: 1px solid var(--c-line); }
.biz-row-body li { padding: var(--sp-14) 0; border-top: 1px solid var(--c-line); font-size: var(--fs-18); color: var(--c-text); }
.biz-row-body li small { display: block; margin-top: var(--sp-4); font-size: var(--fs-16); line-height: 1.6; color: var(--c-text-3); }
.addon-list { display: grid; grid-template-columns: repeat(5, 1fr); column-gap: var(--sp-24); border-top: 1px solid var(--c-ink); }
.addon-list li { padding: var(--sp-32) 0 var(--sp-40); border-bottom: 1px solid var(--c-line); }
.addon-num { font-size: var(--fs-15); font-weight: 700; color: var(--c-green-2); }
.addon-list b { display: block; margin-top: var(--sp-20); font-size: var(--fs-20); line-height: 1.45; color: var(--c-ink); }

/* ===== 처리공정 > 폐기물처리 서비스 ===== */
.flow3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-24); }
.flow3 > li { display: flex; flex-direction: column; padding: var(--sp-40); border-radius: var(--r-16); background: var(--c-bg); }
.flow3-num { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--c-green); font-size: var(--fs-16); font-weight: 700; color: var(--c-white); }
.flow3 h4 { margin-top: var(--sp-28); font-size: var(--fs-28); color: var(--c-ink); }
.flow3 p { margin-top: var(--sp-12); font-size: var(--fs-17); line-height: 1.7; color: var(--c-text-2); }
.flow3-partner { margin-top: var(--sp-28); padding-top: var(--sp-24); border-top: 1px solid var(--c-line); }
.flow3-partner dt { font-size: var(--fs-14); font-weight: 600; color: var(--c-green-2); }
.flow3-partner dd { display: flex; flex-wrap: wrap; gap: var(--sp-6); margin-top: var(--sp-10); }
.flow3-partner dd + dt { margin-top: var(--sp-20); }
.target-list { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--sp-32); border-top: 1px solid var(--c-ink); }
.target-list li { display: flex; gap: var(--sp-16); padding: var(--sp-20) 0; border-bottom: 1px solid var(--c-line); font-size: var(--fs-18); color: var(--c-text); }
.target-list li span { flex: 0 0 28px; padding-top: var(--sp-2); font-size: var(--fs-15); font-weight: 700; color: var(--c-green-2); }
.tabs { display: flex; gap: var(--sp-8); margin-bottom: var(--sp-40); }
.tab-btn { height: 56px; padding: 0 var(--sp-28); border: 1px solid var(--c-line); border-radius: var(--r-full); background: var(--c-white); font-size: var(--fs-17); font-weight: 600; color: var(--c-text-2); transition: background 0.2s, color 0.2s; }
.tab-btn.is-active { border-color: var(--c-ink); background: var(--c-ink); color: var(--c-white); }
.tab-panel[hidden] { display: none; }
.flow { display: grid; grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr; align-items: center; gap: var(--sp-12); }
.flow-arrow { display: grid; place-items: center; color: var(--c-green-2); }
.flow-col { display: grid; gap: var(--sp-16); }
.flow-card { border-radius: var(--r-12); background: var(--c-bg); overflow: hidden; }
.fc-img { aspect-ratio: 4 / 3.4; overflow: hidden; }
.flow-col.is-split .fc-img { aspect-ratio: 16 / 8; }
.fc-img img { width: 100%; height: 100%; object-fit: cover; }
.fc-cap { display: flex; align-items: baseline; gap: var(--sp-10); padding: var(--sp-16) var(--sp-20); }
.fc-cap span { font-size: var(--fs-14); font-weight: 700; color: var(--c-green-2); }
.fc-cap b { font-size: var(--fs-19); color: var(--c-ink); }
.res-title { margin: var(--sp-64) 0 var(--sp-20); font-size: var(--fs-22); color: var(--c-ink); }
.res-list { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-12); }
.res-list li { display: flex; align-items: center; justify-content: center; height: 72px; padding: 0 var(--sp-8); border: 1px solid var(--c-line); border-radius: var(--r-12); font-size: var(--fs-18); font-weight: 600; color: var(--c-ink); text-align: center; }

/* ===== 게시판 페이지 ===== */
.board-wrap { min-height: 480px; }

/* 서브 반응형 */
@media (max-width: 1024px) {
  .sv { height: 360px; }
  .sv-title { font-size: var(--fs-48); }
  .page-head { flex-direction: column; align-items: flex-start; }
  .page-title { font-size: var(--fs-40); }
  .greet, .biz-row { grid-template-columns: 1fr; gap: var(--sp-40); }
  .greet-quote { position: static; }
  .biz-row:nth-child(even) .biz-row-img { order: 0; }
  .biz-row-img { aspect-ratio: 16 / 9; }
  .promise-list, .flow3 { grid-template-columns: 1fr; }
  .struct-list, .target-list { grid-template-columns: repeat(2, 1fr); }
  .struct-rail, .struct-list > li::before { display: none; }
  .struct-stem { height: var(--sp-32); }
  .addon-list { grid-template-columns: repeat(3, 1fr); }
  .flow { grid-template-columns: 1fr; }
  .flow-arrow { transform: rotate(90deg); }
  .res-list { grid-template-columns: repeat(4, 1fr); }
  .sub-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .sv { height: 280px; }
  .sv-inner { padding-bottom: var(--sp-32); }
  .sv-title { font-size: var(--fs-32); }
  .lnb-list { gap: var(--sp-24); }
  .lnb-list a { height: 56px; font-size: var(--fs-15); }
  .sub-cont { padding: var(--sp-64) 0 var(--sp-96); }
  .page-head { margin-bottom: var(--sp-48); padding-bottom: var(--sp-28); }
  .page-title { font-size: var(--fs-32); }
  .page-desc, .greet-text p { font-size: var(--fs-16); }
  .sub-block + .sub-block { margin-top: var(--sp-80); }
  .block-title { font-size: var(--fs-24); }
  .greet-quote p { font-size: var(--fs-28); }
  .overview { grid-template-columns: 1fr; }
  .overview > div { grid-template-columns: 96px 1fr; font-size: var(--fs-16); }
  .struct-core { width: 220px; height: 220px; }
  .struct-list, .target-list, .addon-list { grid-template-columns: 1fr; }
  .biz-row-body { padding: var(--sp-28); }
  .biz-row-body h4 { font-size: var(--fs-24); }
  .res-list { grid-template-columns: repeat(2, 1fr); }
  .sub-cta { padding: var(--sp-32) var(--sp-24); }
  .sub-cta h4 { font-size: var(--fs-24); }
  .sub-cta-btns { flex-direction: column; width: 100%; }
}

/* 사업구조 카드 내 보조설명 위치 (추가) */
.struct-card .struct-note { margin: calc(var(--sp-16) * -1) var(--sp-24) var(--sp-32); }

/* 게시판 상세: 제목 영역 구분선 중복 제거 (추가) */
.page-head.is-plain { margin-bottom: var(--sp-48); padding-bottom: 0; border-bottom: 0; }

/* LNB 세로 스크롤바 제거 (추가) */
.lnb-list { overflow-y: hidden; scrollbar-width: none; }
.lnb-list::-webkit-scrollbar { display: none; }
.lnb-list a { margin-bottom: 0; }

/* ==========================================================
   2차 수정 (추가) — 템플릿형 장식 축소 · 실제 정보 중심 위계
   ========================================================== */

/* 메인 > 기업이념: 배경 박스 제거, 구분선 기반 */
.values { padding: var(--sp-40) 0 0; border-top: 1px solid var(--c-ink); border-radius: 0; background: transparent; }
.values-list { gap: 0; }
.values-list li { padding: 0 var(--sp-24); border-left: 1px solid var(--c-line); }

/* 메인 > 사업분야: pill 태그 → 텍스트, 실제 수치 */
.biz-item { border-radius: var(--r-4); }
.biz-tags { gap: var(--sp-4) var(--sp-12); margin-top: var(--sp-20); }
.biz-tags li { padding: 0; border: 0; border-radius: 0; font-size: var(--fs-16); color: rgba(255, 255, 255, 0.8); }
.biz-tags li + li::before { content: "·"; margin-right: var(--sp-12); color: rgba(255, 255, 255, 0.45); }
.biz-fact { margin-top: var(--sp-24); padding-top: var(--sp-20); border-top: 1px solid rgba(255, 255, 255, 0.25); }
.biz-fact dt { font-size: var(--fs-14); font-weight: 600; color: var(--c-lime); }
.biz-fact dd { margin-top: var(--sp-4); font-size: var(--fs-40); font-weight: 700; line-height: 1.2; color: var(--c-white); }
.biz-fact dd small { margin-left: var(--sp-6); font-size: var(--fs-16); font-weight: 400; color: rgba(255, 255, 255, 0.75); }

/* 메인 > 처리공정: 타임라인형 */
.process-list { gap: 0; }
.process-list li { position: relative; display: flex; flex-direction: column; padding: var(--sp-32) var(--sp-24) 0 0; }
.process-list li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--c-lime); }
.pc-step { order: -1; margin: 0 0 var(--sp-20); font-size: var(--fs-40); font-weight: 700; line-height: 1; color: var(--c-lime); }
.pc-img { aspect-ratio: 4 / 3; border-radius: var(--r-4); }
.process-out { display: grid; grid-template-columns: 1fr 1.4fr; margin-top: var(--sp-80); border-top: 1px solid var(--c-line-dark); }
.process-out > div { padding: var(--sp-28) var(--sp-32) 0 0; }
.process-out > div + div { padding-left: var(--sp-32); border-left: 1px solid var(--c-line-dark); }
.process-out dt { font-size: var(--fs-15); font-weight: 600; color: var(--c-lime); }
.process-out dd { margin-top: var(--sp-10); font-size: var(--fs-20); line-height: 1.6; color: var(--c-white); }

/* 메인 > 소식: 대표 1건 + 목록형 */
.news-tabs { gap: var(--sp-24); }
.news-tab { height: 48px; padding: 0 var(--sp-2); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
.news-tab.is-active { border-color: var(--c-ink); background: transparent; color: var(--c-ink); }
.news-list { grid-template-columns: 1.25fr 1fr; gap: 0 var(--sp-64); }
.news-list li:first-child { grid-row: span 3; }
.news-list li:not(:first-child) { padding: var(--sp-24) 0; border-bottom: 1px solid var(--c-line); }
.news-list li:nth-child(2) { padding-top: 0; }
.news-list li:not(:first-child) a { display: grid; grid-template-columns: 160px 1fr; grid-template-rows: auto auto 1fr; column-gap: var(--sp-24); }
.news-list li:not(:first-child) .nw-img { grid-row: 1 / -1; aspect-ratio: 4 / 3; }
.news-list li:not(:first-child) .nw-cat { margin-top: 0; }
.news-list li:first-child .nw-img { aspect-ratio: 16 / 10; }
.news-list li:first-child h3 { font-size: var(--fs-28); }
.nw-img { border-radius: var(--r-4); }

/* 메인 > 견적·상담 */
.contact-box { border-radius: var(--r-4); }

/* 서브 공통: 라운드·장식 축소 */
.wide-photo { border-radius: 0; }
.sub-cta { border-radius: var(--r-4); }
.greet-label { display: block; margin-bottom: var(--sp-8); font-size: var(--fs-15); font-weight: 600; color: var(--c-green-2); }
.table-scroll { overflow-x: auto; }

/* 핵심 수치 스트립 */
.fact-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--c-ink); border-bottom: 1px solid var(--c-line); }
.fact-strip > div { padding: var(--sp-32); border-right: 1px solid var(--c-line); }
.fact-strip > div:first-child { padding-left: 0; }
.fact-strip > div:last-child { border-right: 0; }
.fact-strip dt { font-size: var(--fs-16); font-weight: 600; color: var(--c-text-2); }
.fact-strip dd { margin-top: var(--sp-12); font-size: var(--fs-18); color: var(--c-text-2); }
.fact-strip dd strong { margin-right: var(--sp-4); font-size: var(--fs-56); font-weight: 700; line-height: 1; color: var(--c-ink); }

/* 정보 표 (사업 구성 · 사업장 현황) */
.info-table { width: 100%; border-top: 2px solid var(--c-ink); border-collapse: collapse; }
.info-table th, .info-table td { padding: var(--sp-24) var(--sp-20); border-bottom: 1px solid var(--c-line); font-size: var(--fs-17); line-height: 1.6; color: var(--c-text); text-align: left; vertical-align: top; }
.info-table thead th { padding: var(--sp-16) var(--sp-20); background: var(--c-bg); font-size: var(--fs-15); font-weight: 600; color: var(--c-text-2); }
.info-table tbody th { font-size: var(--fs-19); font-weight: 700; color: var(--c-ink); }
.info-table td li + li { margin-top: var(--sp-6); }
.biz-table td:last-child { font-size: var(--fs-16); color: var(--c-text-2); }
.site-table tbody td, .site-table tbody th { vertical-align: middle; }
.it-num { display: block; margin-bottom: var(--sp-6); font-size: var(--fs-14); font-weight: 700; color: var(--c-green-2); }
.it-badge { display: inline-block; padding: var(--sp-2) var(--sp-10); border-radius: var(--r-4); background: var(--c-green); font-size: var(--fs-14); font-weight: 600; color: var(--c-white); }

/* 사업분야 > 주요사업현황: 박스 제거 */
.biz-row { min-height: 0; column-gap: var(--sp-64); padding-top: var(--sp-40); border-top: 1px solid var(--c-ink); border-radius: 0; background: transparent; }
.biz-row + .biz-row { margin-top: var(--sp-80); }
.biz-row-img { aspect-ratio: 4 / 3; overflow: hidden; }
.biz-row-body { justify-content: flex-start; padding: 0; }
.biz-row-num { font-size: var(--fs-40); line-height: 1; }

/* 처리공정 > 처리 흐름: 카드 → 구분선 단계 */
.flow3 { gap: 0; border-top: 2px solid var(--c-ink); }
.flow3 > li { padding: var(--sp-32) var(--sp-32) var(--sp-40); border-right: 1px solid var(--c-line); border-radius: 0; background: transparent; }
.flow3 > li:first-child { padding-left: 0; }
.flow3 > li:last-child { border-right: 0; }
.flow3-num { display: block; width: auto; height: auto; border-radius: 0; background: transparent; font-size: var(--fs-40); line-height: 1; color: var(--c-green); }
.flow3-partner dd { display: block; }
.flow3 .tag { display: block; padding: var(--sp-8) 0; border: 0; border-bottom: 1px solid var(--c-line); border-radius: 0; background: transparent; font-size: var(--fs-16); color: var(--c-text); }

/* 처리공정 > 탭 · 공정 카드 · 재생원료 */
.tabs { gap: 0; border-bottom: 1px solid var(--c-line); }
.tab-btn { margin-bottom: -1px; padding: 0 var(--sp-24); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
.tab-btn.is-active { border-color: var(--c-ink); background: transparent; color: var(--c-ink); }
.flow-card { border-radius: 0; }
.res-list { gap: 0; border-top: 1px solid var(--c-ink); border-left: 1px solid var(--c-line); }
.res-list li { border: 0; border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); border-radius: 0; }

/* 2차 수정 반응형 */
@media (max-width: 1024px) {
  .values-list { row-gap: var(--sp-32); }
  .process-list { row-gap: var(--sp-48); }
  .news-list { grid-template-columns: 1fr; }
  .news-list li:first-child { grid-row: auto; margin-bottom: var(--sp-32); }
  .news-list li:nth-child(2) { padding-top: var(--sp-24); border-top: 1px solid var(--c-line); }
  .fact-strip { grid-template-columns: repeat(2, 1fr); }
  .fact-strip > div:nth-child(2) { border-right: 0; }
  .fact-strip > div:nth-child(3) { padding-left: 0; }
  .fact-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--c-line); }
  .biz-row { row-gap: var(--sp-32); }
  .flow3 > li { padding: var(--sp-32) 0; border-right: 0; border-bottom: 1px solid var(--c-line); }
  .process-out { grid-template-columns: 1fr; }
  .process-out > div + div { margin-top: var(--sp-24); padding-left: 0; border-left: 0; }
}
@media (max-width: 640px) {
  .values-list li { padding: 0 0 0 var(--sp-20); }
  .biz-fact dd { font-size: var(--fs-28); }
  .pc-step { font-size: var(--fs-28); }
  .news-list li:not(:first-child) a { grid-template-columns: 112px 1fr; column-gap: var(--sp-16); }
  .news-list li:first-child h3 { font-size: var(--fs-22); }
  .fact-strip > div { padding: var(--sp-24) var(--sp-16); }
  .fact-strip > div:nth-child(odd) { padding-left: 0; }
  .fact-strip dd strong { font-size: var(--fs-40); }
  .biz-row-body { padding: 0; }
  .info-table { min-width: 720px; }
  .info-table th, .info-table td { padding: var(--sp-16) var(--sp-14); font-size: var(--fs-15); }
  .info-table tbody th { font-size: var(--fs-17); }
}
/* 메인 2차 — 블랙·차콜 무드, 기존 CI 연두색 포인트 */
.home-dark { background: #070808; color: #fff; --c-line: rgba(255,255,255,.16); }
.home-dark #main { overflow-x: clip; }
.home-dark .sec { padding: 140px 0; }
.home-dark .sec-title { color: #fff; letter-spacing: -.045em; }
.home-dark .sec-desc { color: #b3b8b5; }
.home-dark .eyebrow { color: var(--c-lime); font-size: 14px; letter-spacing: .08em; }
.home-dark .eyebrow::before { background: var(--c-lime); }
:is(.home-dark,.shared-header-page) .hd { background: transparent; border-bottom-color: rgba(255,255,255,.15); color: #fff; }
:is(.home-dark,.shared-header-page) .hd.is-scrolled, :is(.home-dark,.shared-header-page) .hd.is-open { background: rgba(8,10,9,.96); border-color: rgba(255,255,255,.12); color: #fff; }
:is(.home-dark,.shared-header-page) .hd .logo-white { display: block; }
:is(.home-dark,.shared-header-page) .hd .logo-color { display: none; }
:is(.home-dark,.shared-header-page) .hd .gnb-sub a { color: #c4c8c5; }
:is(.home-dark,.shared-header-page) .hd .gnb-sub a:hover, :is(.home-dark,.shared-header-page) .hd .gnb-link:hover { color: var(--c-lime); }
:is(.home-dark,.shared-header-page) .hd .gnb-sub a.is-unlinked { color: #747a76; }
:is(.home-dark,.shared-header-page) .hd .hd-cta { background: transparent; border: 1px solid rgba(255,255,255,.45); color: #fff; }
:is(.home-dark,.shared-header-page) .hd .hd-cta:hover { background: var(--c-lime); border-color: var(--c-lime); color: #10150b; }
.home-dark .hero { background: #070808; }
.home-dark .hero-slides::after { background: rgba(0,0,0,.4); }
.home-dark .hero-copy { align-self: end; justify-self: end; max-width: 1050px; padding: 100px 0 64px; text-align: right; }
.home-dark .hero-title { font-size: clamp(48px,5.6vw,88px); font-weight: 700; letter-spacing: -.055em; }
.home-dark .hero-eyebrow { color: var(--c-lime); font-size: 15px; }
.home-dark .hero-desc { font-size: 18px; color: rgba(255,255,255,.9); }
.home-dark .hero-btns { justify-content: flex-end; margin-top: 32px; }
.home-dark .btn { height: 52px; padding: 0 28px; font-size: 15px; }
.home-dark .btn-lime { color: #10150b; }
.home-dark .hero-bar { border-color: rgba(255,255,255,.3); }
.home-dark .hero-progress { width: 240px; }
.home-dark .hero-facts strong { color: var(--c-lime); }
.home-dark .about { background: #070808; }
.home-dark .about-top { display: block; max-width: 1000px; margin: 0 auto; text-align: center; }
.home-dark .about .eyebrow { justify-content: center; }
.home-dark .about .sec-title { font-size: clamp(36px,4.2vw,64px); }
.home-dark .about-text { max-width: 740px; margin: 32px auto 0; }
.home-dark .about-text p, .home-dark .about-text p:first-child { color: #c1c5c2; font-size: 17px; }
.home-dark .about-text .link-arrow { color: #fff; border: 1px solid #454a46; padding: 10px 12px 10px 24px; border-radius: 40px; font-size: 14px; }
.home-dark .about-text .link-arrow svg { box-sizing: content-box; padding: 8px; background: var(--c-lime); color: #10150b; border-radius: 50%; }
.home-dark .about-stats { margin-top: 80px; background: #101212; border-top: 1px solid #292c29; }
.home-dark .about-stats li, .home-dark .about-stats li:first-child { padding: 32px; }
.home-dark .stat-label { color: #e5e7e5; }
.home-dark .stat-num { color: var(--c-lime); font-size: clamp(48px,5vw,72px); font-weight: 500; }
.home-dark .stat-num small { color: #d1f7a8; font-size: 19px; }
.home-dark .stat-note { color: #949b95; font-size: 14px; }
.home-dark .values { grid-template-columns: 180px 1fr; border-color: #292c29; margin-top: 56px; }
.home-dark .values-title { color: #fff; font-size: 20px; }
.home-dark .val-key { color: var(--c-lime); font-size: 20px; }
.home-dark .values-list p { color: #a8aea9; font-size: 15px; }
.home-dark .biz { background: #0c0e0d; padding-top: 100px; }
.home-dark .biz-list { gap: 3px; height: 640px; }
.home-dark .biz-item { border-radius: 0; background: #161a16; }
.home-dark .biz-item.is-active { flex: 4.6; grid-template-columns: minmax(270px,.85fr) 1fr; }
.home-dark .biz-item.is-active > img { grid-column: 2; }
.home-dark .biz-item.is-active::after { display: none; }
.home-dark .biz-item.is-active .biz-body { grid-column: 1; align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 32px; background: var(--c-lime); color: #10150b; }
.home-dark .biz-item.is-active .biz-name { white-space: normal; font-size: 32px; letter-spacing: -.04em; }
.home-dark .biz-item.is-active .biz-num, .home-dark .biz-item.is-active .biz-fact dt, .home-dark .biz-item.is-active .biz-fact dd { color: #10150b; }
.home-dark .biz-item.is-active .biz-more p, .home-dark .biz-item.is-active .biz-tags li, .home-dark .biz-item.is-active .biz-fact dd small { color: #233217; }
.home-dark .biz-item.is-active .biz-tags li + li::before { color: #3b5228; }
.home-dark .biz-item.is-active .biz-fact { border-color: rgba(16,21,11,.3); }
.home-dark .biz-more p { font-size: 16px; }
.home-dark .biz-tags li { font-size: 14px; }
.home-dark .biz-item:not(.is-active) .biz-name { font-size: 20px; }
.home-dark .biz-item:nth-child(2) img { object-position: 85% center; }
.home-dark .biz-item::after { background: linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.12) 65%); }
.home-dark .process { background: #070808; }
.home-dark .process .sec-head-row { display: block; text-align: center; }
.home-dark .process .eyebrow { justify-content: center; }
.home-dark .process .sec-desc { margin-top: 24px; }
.home-dark .pc-step { font-size: 34px; font-weight: 500; }
.home-dark .pc-img { border-radius: 0; }
.home-dark .pc-img img { filter: none; }
.home-dark .process-out dd { color: #c6cbc7; font-size: 17px; }
.home-dark .news { background: #0d1011; }
.home-dark .news > .inner { display: grid; grid-template-columns: .7fr 1.3fr; gap: 72px; align-items: start; }
.home-dark .news .sec-head-row { display: block; margin: 0; position: sticky; top: 140px; }
.home-dark .news .sec-title { max-width: 280px; font-size: 64px; }
.home-dark .news-tabs { flex-wrap: wrap; gap: 20px; margin-top: 40px; }
.home-dark .news-tab { color: #b2b9b3; font-size: 15px; }
.home-dark .news-tab.is-active { color: var(--c-lime); border-color: var(--c-lime); }
.home-dark .news-more { color: var(--c-lime); border-color: #4c554b; }
.home-dark .news-list { grid-template-columns: 1fr 1fr; gap: 24px; }
.home-dark .news-list li:first-child { grid-row: auto; margin-bottom: 0; }
.home-dark .news-list li, .home-dark .news-list li:not(:first-child), .home-dark .news-list li:nth-child(2) { padding: 0; border: 0; background: #191d1e; }
.home-dark .news-list li:nth-child(even) { position: relative; top: 60px; }
.home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { display: block; padding: 20px 20px 28px; }
.home-dark .news-list li .nw-img, .home-dark .news-list li:first-child .nw-img, .home-dark .news-list li:not(:first-child) .nw-img { aspect-ratio: 4 / 3; border-radius: 0; }
.home-dark .news-list li .nw-cat, .home-dark .news-list li:not(:first-child) .nw-cat { margin-top: 24px; color: var(--c-lime); }
.home-dark .news-list li h3, .home-dark .news-list li:first-child h3 { color: #fff; font-size: 21px; }
.home-dark .news-list time { color: #a2aaa4; }
.home-dark .news-list li:first-child { background: var(--c-lime); }
.home-dark .news-list li:first-child h3, .home-dark .news-list li:first-child .nw-cat, .home-dark .news-list li:first-child time { color: #17230e; }
.home-dark .news-list li:hover { outline: 1px solid var(--c-lime); }
.home-dark .contact-bg::after { background: rgba(0,0,0,.68); }
.home-dark .contact-inner { padding: 150px 0; }
.home-dark .contact-title { color: #fff; letter-spacing: -.045em; }
.home-dark .contact-desc { color: #c6cdc8; }
.home-dark .contact-box { border-radius: 0; background: rgba(9,13,11,.84); border-color: rgba(140,198,63,.45); }
.home-dark .cb-label, .home-dark .cb-tel { color: var(--c-lime); }
.home-dark .ft { background: #050606; }
.home-dark .ft-sns-link:hover { color: var(--c-lime); }
@media (max-width: 1200px) {
 .home-dark .biz-list { height: 620px; }
 .home-dark .biz-item.is-active { grid-template-columns: minmax(240px,1fr) .8fr; }
 .home-dark .biz-item.is-active .biz-body { padding: 24px; }
 .home-dark .news > .inner { gap: 36px; grid-template-columns: .6fr 1.4fr; }
 .home-dark .news .sec-title { font-size: 48px; }
}
@media (max-width: 1024px) {
 .home-dark .sec { padding: 96px 0; }
 .home-dark .hero-copy { max-width: 850px; }
 .home-dark .values { grid-template-columns: 1fr; }
 .home-dark .biz-list { height: auto; }
 .home-dark .biz-item.is-active { min-height: 500px; }
 .home-dark .biz-item:not(.is-active) { min-height: 150px; }
 .home-dark .news > .inner { display: block; }
 .home-dark .news .sec-head-row { position: static; margin-bottom: 40px; }
 .home-dark .news .sec-title { max-width: none; }
 .home-dark .news-list { margin-bottom: 60px; }
}
@media (max-width: 640px) {
 .home-dark .sec { padding: 72px 0; }
 .home-dark .hero-copy { padding: 80px 0 40px; text-align: left; }
 .home-dark .hero-title { font-size: 40px; }
 .home-dark .hero-eyebrow { font-size: 13px; }
 .home-dark .hero-desc { font-size: 16px; }
 .home-dark .hero-progress { width: 160px; }
 .home-dark .hero-slide:first-child img { object-position: 75% center; }
 .home-dark .about-stats { margin-top: 48px; }
 .home-dark .about-stats li, .home-dark .about-stats li:first-child { padding: 24px 16px; }
 .home-dark .stat-num { font-size: 44px; }
 .home-dark .stat-num small { font-size: 15px; }
 .home-dark .values-list { grid-template-columns: 1fr 1fr; }
 .home-dark .biz-item.is-active { grid-template-columns: 1fr; grid-template-rows: 240px auto; }
 .home-dark .biz-item.is-active > img { grid-column: 1; grid-row: 1; }
 .home-dark .biz-item.is-active .biz-body { grid-column: 1; grid-row: 2; padding: 28px 24px; }
 .home-dark .biz-item.is-active .biz-name { font-size: 28px; }
 .home-dark .news .sec-title { font-size: 40px; }
 .home-dark .news-list { gap: 16px; }
 .home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { padding: 12px 12px 20px; }
 .home-dark .news-list li:nth-child(even) { top: 30px; }
 .home-dark .news-list li h3, .home-dark .news-list li:first-child h3 { font-size: 17px; }
 .home-dark .news-list time { font-size: 12px; }
 .home-dark .contact-inner { padding: 88px 0; }
 .home-dark .contact-bg img { object-position: right center; }
}

/* 메인 슬로건 정리 · 전체화면 메뉴 */
.home-dark .hero-bar { border-top: 0; padding-top: 16px; }
.home-dark .hero-copy { padding-bottom: 56px; }
:is(.home-dark,.shared-header-page) .hd-menu { position: relative; width: 48px; height: 48px; gap: 0; align-items: center; }
:is(.home-dark,.shared-header-page) .hd-menu span { position: absolute; left: 7px; top: 18px; width: 34px; height: 2px; transition: width .25s, background .25s; }
:is(.home-dark,.shared-header-page) .hd-menu span:nth-child(2) { top: 28px; width: 34px; }
:is(.home-dark,.shared-header-page) .hd-menu:hover span { background: var(--c-lime); }
:is(.home-dark,.shared-header-page) .hd-menu:hover span:nth-child(2) { width: 24px; }
html.has-full-menu { overflow: hidden; }
.full-menu { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #fff; color: #202322; overflow-y: auto; overscroll-behavior: contain; }
.full-menu[open] { display: flex; flex-direction: column; animation: fullMenuIn .3s var(--ease); }
.full-menu::backdrop { background: #fff; }
.full-menu-top { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; height: var(--h-header); padding: 0 40px; background: #fff; }
.full-menu-top img { width: 191px; height: auto; }
.full-menu-close { position: relative; width: 48px; height: 48px; flex-shrink: 0; }
.full-menu-close span { position: absolute; left: 4px; top: 23px; width: 40px; height: 2px; background: #202322; transform: rotate(45deg); transition: background .2s; }
.full-menu-close span:last-child { transform: rotate(-45deg); }
.full-menu-close:hover span { background: var(--c-lime); }
.full-menu-body { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 24px 100px; }
.full-menu-nav { width: min(640px,100%); text-align: center; }
.full-menu-list > li + li { margin-top: 22px; }
.full-menu-heading { display: inline-block; padding: 4px 12px; font-size: clamp(28px,2.6vw,38px); line-height: 1.35; font-weight: 600; letter-spacing: -.04em; color: #252a27; transition: color .2s; }
.full-menu-heading:hover, .full-menu-heading[aria-expanded="true"] { color: var(--c-lime); }
.full-menu-heading[aria-disabled="true"] { color: #868b87; cursor: default; }
.full-menu-sub { padding: 12px 0 2px; }
.full-menu-sub[hidden] { display: none; }
.full-menu-sub a { display: inline-block; padding: 6px 18px; font-size: 18px; color: #515853; line-height: 1.5; transition: color .2s; }
.full-menu-sub a:hover { color: #8cc63f; }
.full-menu-sub a[aria-disabled="true"] { color: #a2a7a3; cursor: default; }
@keyframes fullMenuIn { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {
 .full-menu-top { padding: 0 20px; }
 .full-menu-top img { width: 150px; }
 .full-menu-close { width: 44px; height: 44px; }
 .full-menu-close span { width: 32px; left: 6px; top: 21px; }
 .full-menu-body { padding: 28px 20px 56px; }
 .full-menu-list > li + li { margin-top: 18px; }
 .full-menu-heading { font-size: 28px; }
 .full-menu-sub a { font-size: 16px; }
 .home-dark .hero-copy { padding-bottom: 40px; }
}

/* 메인 비주얼: 좌측 대형 슬로건 / 전폭 구분선 / 하단 설명·우측 링크 */
.home-dark .hero-inner { width: 87.5%; max-width: 1760px; grid-template-rows: 1fr auto; }
.home-dark .hero-copy { justify-self: start; align-self: end; max-width: none; padding: 120px 0 54px; text-align: left; }
.home-dark .hero-title { font-size: clamp(52px,5.1vw,100px); line-height: 1.14; letter-spacing: -.045em; font-weight: 700; }
.home-dark .hero-bar { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; align-items: start; gap: 28px 36px; min-height: 220px; padding: 44px 0 42px; }
.home-dark .hero-bar::before { content: ""; position: absolute; top: 0; left: 50%; width: 100vw; height: 1px; background: rgba(255,255,255,.55); transform: translateX(-50%); }
.home-dark .hero-bar .hero-desc { grid-column: 1; grid-row: 1; margin: 0; font-size: clamp(16px,1.15vw,22px); line-height: 1.7; font-weight: 500; color: #fff; }
.home-dark .hero-bar .hero-btns { grid-column: 2; grid-row: 1 / 3; align-self: end; flex-direction: row; margin: 0; gap: 12px; }
.home-dark .hero-btns .btn { gap: 18px; height: 56px; padding: 0 24px; border: 1px solid rgba(255,255,255,.65); background: transparent; color: #fff; }
.home-dark .hero-btns .btn span { font-size: 24px; line-height: 1; color: var(--c-lime); }
.home-dark .hero-btns .btn:hover { background: var(--c-lime); border-color: var(--c-lime); color: #13200c; }
.home-dark .hero-btns .btn:hover span { color: #13200c; }
.home-dark .hero-ctrl { grid-column: 1; grid-row: 2; align-self: end; gap: 16px; }
.home-dark .hero-progress { width: 140px; }
@media (max-width: 1024px) {
 .home-dark .hero-inner { width: calc(100% - 64px); }
 .home-dark .hero-copy { padding-bottom: 40px; }
 .home-dark .hero-bar { min-height: 240px; padding: 32px 0; }
 .home-dark .hero-bar .hero-desc { grid-column: 1 / -1; }
 .home-dark .hero-bar .hero-btns { grid-row: 2; }
 .home-dark .hero-desc br { display: none; }
}
@media (max-width: 640px) {
 .home-dark .hero-inner { width: calc(100% - 40px); }
 .home-dark .hero-copy { padding: 120px 0 32px; }
 .home-dark .hero-title { font-size: clamp(30px,8.2vw,40px); line-height: 1.25; }
 .home-dark .hero-bar { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 24px; min-height: 0; padding: 28px 0; }
 .home-dark .hero-bar .hero-desc { grid-column: 1; font-size: 15px; }
 .home-dark .hero-bar .hero-btns { grid-column: 1; grid-row: 2; justify-self: end; gap: 8px; }
 .home-dark .hero-btns .btn { height: 46px; padding: 0 16px; gap: 10px; font-size: 13px; }
 .home-dark .hero-ctrl { grid-row: 3; }
}

/* 인사말: 넓은 여백과 대형 타이포그래피 중심의 회사소개 */
.page-greeting { --greeting-accent: #8cc63f; background: #fff; }
.page-greeting .sv { height: 400px; }
.page-greeting .sv-bg img { object-position: center 65%; }
.page-greeting .sv-bg::after { background: rgba(0,0,0,.28); }
.page-greeting .sv-inner { justify-content: center; padding: 0; }
.page-greeting .sv-title { font-size: clamp(40px,5vw,72px); letter-spacing: -.04em; }
.page-greeting .lnb { position: relative; top: auto; }
.page-greeting .lnb-list a.is-active { border-color: var(--greeting-accent); }
.page-greeting .sub-cont { padding: 110px 0 140px; }
.page-greeting .page-head { display: block; margin-bottom: 56px; padding: 0; border: 0; }
.page-greeting .greeting-eyebrow { display: block; margin-bottom: 28px; font-size: 16px; font-weight: 700; }
.page-greeting .page-title { font-size: clamp(34px,3.8vw,60px); line-height: 1.35; letter-spacing: -.045em; word-break: keep-all; }
.page-greeting .page-title em { color: var(--greeting-accent); font-style: normal; }
.page-greeting .page-desc { margin-top: 26px; font-size: 18px; line-height: 1.8; }
.page-greeting .greeting-visual { position: relative; aspect-ratio: 2.2; border-radius: 20px; overflow: hidden; isolation: isolate; }
.page-greeting .greeting-visual img { width: 100%; height: 100%; object-fit: cover; }
.page-greeting .greeting-visual::after { content:none; }
.page-greeting .greeting-visual figcaption { position: absolute; left: 5%; bottom: 10%; z-index: 1; color: #fff; }
.page-greeting .greeting-visual figcaption span { display: block; margin-bottom: 14px; font-size: 16px; }
.page-greeting .greeting-visual figcaption strong { display: block; font-size: clamp(28px,3vw,46px); line-height: 1.3; letter-spacing: -.035em; }
.page-greeting .greeting-visual + .sub-block { margin-top: 110px; }
.page-greeting .greet { max-width:1440px; margin-inline:auto; grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr); gap:80px; align-items:start; letter-spacing:-.025em; }
.page-greeting .greet-quote { position: static; }
.page-greeting .greet-label { display: block; margin-bottom: 28px; font-size: 15px; font-weight: 600; color: #666; }
.page-greeting .greet-label::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin: 0 10px 2px 0; background: var(--greeting-accent); }
.page-greeting .greet-quote h4 { font-size: clamp(28px,2.9vw,44px); line-height: 1.45; letter-spacing: -.045em; font-weight: 700; }
.page-greeting .greet-quote em { color: var(--greeting-accent); }
.page-greeting .greet-text p { font-size: 18px; line-height: 1.85; word-break: keep-all; }
.page-greeting .greet-text p + p { margin-top:24px; }
.page-greeting .greet-text p:first-child { font-size: 24px; line-height: 1.55; margin-bottom: 32px; letter-spacing: inherit; }
.page-greeting .greet-sign { display: flex; justify-content: flex-end; align-items: baseline; gap: 16px; margin-top: 36px; padding-top: 24px; font-size:16px; }
.page-greeting .greet-sign b { margin: 0; font-size: 20px; font-weight:600; }
.page-greeting .greeting-overview { padding-top: 90px; border-top: 1px solid #dedede; }
.page-greeting .block-title { font-size: 38px; letter-spacing: -.04em; }
.page-greeting .overview { column-gap: 70px; border-color: #222; }
.page-greeting .overview > div { padding: 28px 0; grid-template-columns: 110px 1fr; }
.page-greeting .overview dt { color: #555; font-size: 16px; font-weight: 500; }
.page-greeting .overview dd { color: #222; font-size: 19px; font-weight: 600; line-height: 1.6; }
.page-greeting .overview > div:nth-child(3) dd,
.page-greeting .overview > div:nth-child(4) dd,
.page-greeting .overview > div:nth-child(6) dd { color: #8cc63f; }
.page-greeting .info-table thead th { background: #f6f7f4; }
.page-greeting .it-badge { background: #edf5e3; color: #8cc63f; }
@media (max-width: 1024px) {
 .page-greeting .sub-cont { padding: 80px 0 100px; }
 .page-greeting .greet { gap: 44px; grid-template-columns: 1fr 1.4fr; }
 .page-greeting .overview { column-gap: 30px; }
 .page-greeting .overview > div { grid-template-columns: 80px 1fr; }
}
@media (max-width: 640px) {
 .page-greeting .sv { height: 280px; }
 .page-greeting .sv-inner { padding: 0; }
 .page-greeting .sub-cont { padding: 58px 0 80px; }
 .page-greeting .page-head { margin-bottom: 32px; }
 .page-greeting .greeting-eyebrow { font-size: 13px; margin-bottom: 20px; }
 .page-greeting .page-title { font-size: 30px; }
 .page-greeting .page-desc { font-size: 15px; margin-top: 20px; }
 .page-greeting .greeting-visual { aspect-ratio: 1.1; border-radius: 12px; }
 .page-greeting .greeting-visual figcaption { left: 24px; bottom: 28px; }
 .page-greeting .greeting-visual figcaption span { font-size: 13px; }
 .page-greeting .greeting-visual figcaption strong { font-size: 28px; }
 .page-greeting .greeting-visual + .sub-block { margin-top: 60px; }
 .page-greeting .greet { grid-template-columns: 1fr; gap: 36px; }
 .page-greeting .greet-quote h4 { font-size: 30px; }
 .page-greeting .greet-text p { font-size: 16px; }
 .page-greeting .greet-text p:first-child { font-size: 21px; }
 .page-greeting .greet-sign { gap: 12px; font-size: 15px; }
 .page-greeting .greet-sign b { font-size: 18px; }
 .page-greeting .sub-block + .sub-block { margin-top: 70px; }
 .page-greeting .greeting-overview { padding-top: 60px; }
 .page-greeting .block-head { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 28px; }
 .page-greeting .block-title { font-size: 30px; }
 .page-greeting .overview { grid-template-columns: 1fr; }
 .page-greeting .overview > div { padding: 21px 0; }
 .page-greeting .overview dd { font-size: 16px; }
}

/* 메인 고객 코멘트: 영상 타임라인 · 네트워크 · 서비스 · 소식 */
:is(.home-dark,.shared-header-page) .hd-inner { width: 87.5%; max-width: 1760px; padding-left: 0; padding-right: 0; }
.home-dark .hero-bar { grid-template-rows: auto; min-height: 190px; }
.home-dark .hero-bar::before { display: none; }
.home-dark .hero-bar .hero-btns { grid-row: 1; }
.home-dark .hero-timeline { position: absolute; top: 0; left: 50%; width: 100vw; height: 1px; transform: translateX(-50%); background: rgba(255,255,255,.24); }
.home-dark .hero-timeline i { display: block; width: 100%; height: 100%; background: #fff; transform: scaleX(0); transform-origin: left; box-shadow: 0 0 6px rgba(255,255,255,.4); }
@property --border-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes borderFlow { to { --border-angle: 360deg; } }
.home-dark .hero-btns .btn { position: relative; border: 0; border-radius: 999px; padding: 0 28px; height: 60px; background: rgba(15,20,15,.12); backdrop-filter: blur(4px); transition: background .35s, transform .35s; }
.home-dark .hero-btns .btn::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px; background: conic-gradient(from var(--border-angle),rgba(255,255,255,.4) 0deg 245deg,#8cc63f 280deg,#e5ffd0 300deg,rgba(255,255,255,.4) 330deg); mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite: exclude; pointer-events: none; animation: borderFlow 4s linear infinite; }
.home-dark .hero-btns .btn:nth-child(2)::before { animation-delay: -2s; }
.home-dark .hero-btns .btn span { color: #fff; transition: transform .35s; }
.home-dark .hero-btns .btn:hover, .home-dark .hero-btns .btn:focus-visible { background: rgba(140,198,63,.2); color: #fff; transform: translateY(-3px); }
.home-dark .hero-btns .btn:hover span { color: var(--c-lime); transform: translateX(5px); }
.home-dark .about { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 60% 50%,#172b26 0,#07100e 45%,#050807 78%); padding: 150px 0 170px; }
.home-dark .network-globe { position: absolute; z-index: -1; width: min(1000px,86vw); aspect-ratio: 1; top: 48%; left: 62%; transform: translate(-50%,-50%); opacity: .85; pointer-events: none; }
.home-dark .network-globe canvas { width: 100%; height: 100%; display: block; }
.home-dark .about-top { max-width: 850px; margin: 0; text-align: left; }
.home-dark .about .eyebrow { justify-content: flex-start; }
.home-dark .about .sec-title { font-size: clamp(34px,3.8vw,60px); }
.home-dark .about-text { max-width: 630px; margin: 28px 0 0; }
.home-dark .about-text p { text-shadow: 0 2px 12px #030a07; }
.home-dark .about-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; background: none; border: 0; margin-top: 90px; }
.home-dark .about-stats li, .home-dark .about-stats li:first-child { display: flex; flex-direction: column; padding: 30px; min-height: 236px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: linear-gradient(125deg,rgba(255,255,255,.15),rgba(255,255,255,.035)); box-shadow: inset 0 1px 0 rgba(255,255,255,.1),0 20px 45px rgba(0,0,0,.15); backdrop-filter: blur(15px); transition: background .35s,translate .35s; }
.home-dark .about-stats li:nth-child(even) { translate: 0 44px; }
.home-dark .about-stats li:hover { background: rgba(255,255,255,.17); translate: 0 -6px; }
.home-dark .about-stats .stat-num { font-size: clamp(40px,4.2vw,66px); color: var(--c-lime); margin: 24px 0 18px; }
.home-dark .about-stats .stat-label { color: #fff; }
.home-dark .about-stats .stat-note { color: #d1dad3; margin-top: auto; font-size: 14px; }
.home-dark .biz { padding: 120px 0; background: #f7f8f5; color: #17221a; }
.home-dark .biz .sec-title { color: #152019; }
.home-dark .biz .eyebrow { color: #8cc63f; }
.home-dark .biz .sec-desc { color: #566058; font-size: 16px; }
.home-dark .biz-heading-side { display: grid; justify-items: end; gap: 24px; }
.home-dark .biz-heading-side .link-arrow { color: #293b23; font-size: 15px; }
.home-dark .biz-list { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); height: 620px; gap: 0; border-radius: 18px; overflow: hidden; isolation: isolate; background: #12221c; }
.home-dark .biz-item, .home-dark .biz-item.is-active, .home-dark .biz-item:not(.is-active) { position: static; display: block; min-width: 0; min-height: 0; border-radius: 0; background: transparent; }
.home-dark .biz-item::after { display: none; }
.home-dark .biz-item > img, .home-dark .biz-item.is-active > img { position: absolute; grid-area: auto; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transform: scale(1.035); transition: opacity .8s ease,transform 5s ease; z-index: -2; }
.home-dark .biz-item.is-active > img { opacity: 1; transform: scale(1); }
.home-dark .biz-list::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(2,15,10,.83),rgba(4,19,12,.38) 70%); z-index: -1; pointer-events: none; }
.home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { position: relative; height: 100%; display: flex; flex-direction: column; align-items: stretch; padding: 40px 26px; background: transparent; color: #fff; border-right: 1px solid rgba(255,255,255,.25); transition: background .5s; }
.home-dark .biz-item:last-child .biz-body { border: 0; }
.home-dark .biz-item.is-active .biz-body { background: rgba(11,30,19,.2); justify-content: flex-start; }
.home-dark .biz-item .biz-num, .home-dark .biz-item.is-active .biz-num { order: 0; color: #c3ed98; font-size: 14px; margin-bottom: 24px; }
.home-dark .biz-item .biz-name, .home-dark .biz-item.is-active .biz-name, .home-dark .biz-item:not(.is-active) .biz-name { order: 2; white-space: normal; font-size: clamp(23px,2vw,32px); line-height: 1.35; margin: auto 0 0; color: #fff; opacity: .65; writing-mode: horizontal-tb; transform: none; }
.home-dark .biz-item.is-active .biz-name { opacity: 1; order: 1; margin: 0 0 12px; }
.home-dark .biz-select { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; border: 0; padding: 12px 0; color: inherit; font: inherit; font-weight: 700; text-align: left; background: none; cursor: pointer; }
.home-dark .biz-select span { flex-shrink: 0; font-size: 25px; color: var(--c-lime); transition: transform .3s; }
.home-dark .biz-select:hover span { transform: translate(3px,-3px); }
.home-dark .biz-select:focus-visible { outline: 2px solid var(--c-lime); outline-offset: 5px; }
.home-dark .biz-item .biz-more { order: 1; display: block; max-height: none; margin: 0; opacity: 0; visibility: hidden; transform: translateY(18px); transition: opacity .45s,transform .45s,visibility .45s; }
.home-dark .biz-item.is-active .biz-more { opacity: 1; visibility: visible; transform: none; order: 2; }
.home-dark .biz-item.is-active .biz-more p, .home-dark .biz-item.is-active .biz-tags li, .home-dark .biz-item.is-active .biz-fact dd small { color: #e5eae6; }
.home-dark .biz-item.is-active .biz-fact dt, .home-dark .biz-item.is-active .biz-fact dd { color: #d6f6b7; }
.home-dark .biz-item.is-active .biz-fact { border-color: rgba(255,255,255,.3); }
.home-dark .biz-item.is-active .biz-tags li + li::before { color: #c3ed98; }
.home-dark #main > .biz.is-scroll-reveal .biz-item { opacity: 1; transform: none; filter: none; }
.home-dark .news { position: relative; background: #050706 url('../images/main/hero-nature.webp') center -18vw / 100% auto no-repeat; isolation: isolate; padding: 150px 0 170px; }
.home-dark .news::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(2,8,5,.4),rgba(2,8,5,.82) 25vw,#050706 36vw); }
.home-dark .news > .inner { grid-template-columns: .8fr 1.2fr; gap: 90px; }
.home-dark .news .sec-title { max-width: 330px; line-height: 1.18; }
.home-dark .news-list { gap: 24px; }
.home-dark .news-list li, .home-dark .news-list li:not(:first-child), .home-dark .news-list li:nth-child(2) { border-radius: 12px; background: rgba(21,25,23,.94); overflow: hidden; box-shadow: 0 12px 36px rgba(0,0,0,.15); transition: translate .35s,background .35s; }
.home-dark .news-list li:first-child { background: #8cc63f; }
.home-dark .news-list li:nth-child(even) { top: 86px; }
.home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { position: relative; display: flex; flex-direction: column; min-height: 330px; padding: 34px 30px; }
.home-dark .news-list li .nw-cat, .home-dark .news-list li:not(:first-child) .nw-cat { margin: 0 0 24px; font-size: 13px; }
.home-dark .news-list li h3, .home-dark .news-list li:first-child h3 { font-size: 24px; line-height: 1.45; margin: 0 0 18px; word-break: keep-all; }
.home-dark .nw-desc { font-size: 15px; line-height: 1.8; color: #aeb8b1; margin-bottom: 28px; }
.home-dark .news-list li:first-child .nw-desc { color: #31471c; }
.home-dark .news-list time { margin-top: auto; font-size: 13px; }
.home-dark .nw-arrow { position: absolute; bottom: 28px; right: 28px; font-size: 22px; transition: transform .3s; }
.home-dark .news-list li:hover { outline: none; translate: 0 -7px; background: #283823; }
.home-dark .news-list li:first-child:hover { background: #a5dc5e; }
.home-dark .news-list li:hover .nw-arrow { transform: translate(3px,-3px); }
@media (max-width: 1200px) {
 .home-dark .about-stats { gap: 16px; }
 .home-dark .about-stats li, .home-dark .about-stats li:first-child { padding: 24px; }
 .home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { padding: 30px 20px; }
 .home-dark .biz-item .biz-name, .home-dark .biz-item.is-active .biz-name, .home-dark .biz-item:not(.is-active) .biz-name { font-size: 24px; }
 .home-dark .news > .inner { gap: 44px; grid-template-columns: .6fr 1.4fr; }
}
@media (max-width: 1024px) {
 :is(.home-dark,.shared-header-page) .hd-inner { width: calc(100% - 64px); }
 .home-dark .hero-bar { grid-template-rows: auto auto; }
 .home-dark .hero-bar .hero-btns { grid-row: 2; }
 .home-dark .about-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .home-dark .about-stats li:nth-child(even) { translate: none; }
 .home-dark .about { padding: 100px 0; }
 .home-dark .network-globe { width: 1000px; left: 70%; }
 .home-dark .biz .sec-head-row { display: block; }
 .home-dark .biz-heading-side { justify-items: start; margin-top: 24px; }
 .home-dark .biz-list { height: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px; }
 .home-dark .biz-item, .home-dark .biz-item.is-active, .home-dark .biz-item:not(.is-active) { position: relative; isolation: isolate; min-height: 530px; }
 .home-dark .biz-item > img { opacity: 1; }
 .home-dark .biz-list::after { display: none; }
 .home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { background: linear-gradient(0deg,rgba(2,15,10,.86),rgba(4,19,12,.65)); border: 0; padding: 30px; }
 .home-dark .biz-item .biz-more { opacity: 1; visibility: visible; transform: none; }
 .home-dark .biz-item .biz-more p, .home-dark .biz-item .biz-tags li, .home-dark .biz-item .biz-fact dd small { color: #e5eae6; }
 .home-dark .biz-item .biz-fact dt, .home-dark .biz-item .biz-fact dd { color: #d6f6b7; }
 .home-dark .biz-item .biz-name { opacity: 1; }
 .home-dark .news > .inner { display: block; }
 .home-dark .news .sec-head-row { position: static; margin-bottom: 48px; }
 .home-dark .news .sec-title { max-width: none; }
}
@media (max-width: 640px) {
 :is(.home-dark,.shared-header-page) .hd-inner { width: calc(100% - 40px); }
 .home-dark .hero-bar { min-height: 0; }
 .home-dark .hero-btns .btn { font-size: 13px; height: 48px; padding: 0 18px; gap: 12px; }
 .home-dark .about { padding: 80px 0; }
 .home-dark .network-globe { top: 48%; left: 65%; width: 700px; opacity: .65; }
 .home-dark .about-text p, .home-dark .about-text p:first-child { font-size: 15px; }
 .home-dark .about-stats { margin-top: 44px; gap: 12px; }
 .home-dark .about-stats li, .home-dark .about-stats li:first-child { padding: 20px 16px; min-height: 192px; }
 .home-dark .about-stats .stat-num { font-size: 40px; margin: 18px 0 12px; }
 .home-dark .about-stats .stat-num small { font-size: 14px; }
 .home-dark .about-stats .stat-note { font-size: 12px; }
 .home-dark .biz { padding: 75px 0; }
 .home-dark .biz-list { grid-template-columns: 1fr; border-radius: 12px; gap: 12px; background: transparent; overflow: visible; }
 .home-dark .biz-item, .home-dark .biz-item.is-active, .home-dark .biz-item:not(.is-active) { min-height: 480px; overflow: hidden; border-radius: 12px; }
 .home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { padding: 28px; min-height: 480px; }
 .home-dark .biz-item .biz-name, .home-dark .biz-item.is-active .biz-name, .home-dark .biz-item:not(.is-active) .biz-name { font-size: 27px; }
 .home-dark .news { padding: 80px 0; background-size: auto 800px; background-position: center -130px; }
 .home-dark .news::before { background: linear-gradient(180deg,rgba(2,8,5,.4),rgba(2,8,5,.82) 400px,#050706 640px); }
 .home-dark .news-list { grid-template-columns: 1fr; gap: 16px; margin-bottom: 0; }
 .home-dark .news-list li:nth-child(even) { top: 0; }
 .home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { min-height: 280px; padding: 28px; }
 .home-dark .news-list li h3, .home-dark .news-list li:first-child h3 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
 .home-dark .hero-btns .btn::before { animation: none; }
 .home-dark .biz-item > img, .home-dark .biz-item .biz-more, .home-dark .about-stats li, .home-dark .news-list li { transition: none; }
}

/* 메인 푸터: 슬로건과 사이트 메뉴, 하단 회사정보 */
.home-dark .ft-editorial { padding: 85px 0 52px; background: #111; border-top: 1px solid #242424; color: #999; }
.home-dark .ft-editorial > .inner { width: 87.5%; max-width: 1760px; }
.ft-editorial .ft-top { display: grid; grid-template-columns: 1fr 1.5fr; gap: 60px; align-items: start; padding: 0; margin: 0; border: 0; }
.ft-editorial .ft-statement { color: #f5f5f5; font-size: clamp(30px,2.7vw,48px); line-height: 1.45; font-weight: 700; letter-spacing: -.045em; word-break: keep-all; }
.ft-editorial .ft-statement span { color: #fff; }
.ft-editorial .ft-nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 22px; padding-top: 5px; }
.ft-editorial .ft-nav h3 { font-size: 15px; font-weight: 600; color: #e3e3e3; margin-bottom: 22px; white-space: nowrap; }
.ft-editorial .ft-nav li { margin-top: 10px; font-size: 13px; line-height: 1.6; word-break: keep-all; }
.ft-editorial .ft-nav a { transition: color .2s; }
.ft-editorial .ft-nav a:hover { color: var(--c-lime); }
.ft-editorial .ft-pending { color: inherit; }
.ft-editorial .ft-mid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 48px; margin-top: 145px; padding: 0; border: 0; }
.ft-editorial .ft-info p { color: #9c9c9c; font-size: 13px; line-height: 1.8; }
.ft-editorial .ft-info p + p { margin-top: 6px; }
.ft-editorial .ft-info p span { margin-right: 18px; }
.ft-editorial .ft-info p span::after { display: none; }
.ft-editorial .ft-branches { margin-top: 14px; font-size: 12px; color: #999; }
.ft-editorial .ft-branches summary { width: fit-content; cursor: pointer; padding: 3px 0; }
.ft-editorial .ft-branches[open] summary { margin-bottom: 12px; color: #d0d0d0; }
.ft-editorial .ft-branches .ft-branch { max-width: 800px; font-size: 12px; }
.ft-editorial .ft-extra { position: relative; display: flex; align-items: flex-end; flex-direction: column; gap: 22px; padding-right: 92px; }
.ft-editorial .ft-policy { justify-content: flex-end; gap: 20px; font-size: 12px; }
.ft-editorial .ft-policy a { color: #aaa; }
.ft-editorial .ft-sns { gap: 8px; }
.ft-editorial .ft-sns-link { width: 28px; height: 28px; background: none; border-color: #333; }
.ft-editorial .ft-sns-ico { width: 14px; height: 14px; }
.ft-editorial .ft-to-top { position: absolute; bottom: 0; right: 0; display: grid; place-items: center; width: 64px; height: 64px; border: 0; border-radius: 15px 15px 15px 0; background: var(--c-lime); color: #142009; transition: background .25s,transform .25s; cursor: pointer; }
.ft-editorial .ft-to-top:hover { background: #a6dc62; transform: translateY(-4px); }
.ft-editorial .ft-copy { margin-top: 30px; padding: 0; border: 0; color: #707070; font-size: 12px; line-height: 1.8; }
.ft-editorial .ft-copy a { color: #888; margin-left: 14px; }
@media (max-width: 1200px) {
 .ft-editorial .ft-top { grid-template-columns: .8fr 1.5fr; gap: 40px; }
 .ft-editorial .ft-nav { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
 .ft-editorial .ft-nav h3 { margin-bottom: 14px; }
 .ft-editorial .ft-mid { margin-top: 80px; align-items: start; }
 .ft-editorial .ft-extra { padding-right: 0; padding-bottom: 85px; }
}
@media (max-width: 768px) {
 .home-dark .ft-editorial { padding: 60px 0 36px; }
 .home-dark .ft-editorial > .inner { width: calc(100% - 40px); }
 .ft-editorial .ft-top { grid-template-columns: 1fr; gap: 48px; }
 .ft-editorial .ft-statement { font-size: 32px; }
 .ft-editorial .ft-nav { gap: 30px 18px; }
 .ft-editorial .ft-nav h3 { font-size: 14px; }
 .ft-editorial .ft-nav li { font-size: 12px; }
 .ft-editorial .ft-mid { grid-template-columns: 1fr; margin-top: 60px; gap: 30px; }
 .ft-editorial .ft-info p span { display: block; margin: 0; }
 .ft-editorial .ft-extra { align-items: flex-start; min-height: 70px; padding: 0 75px 0 0; gap: 18px; }
 .ft-editorial .ft-policy { justify-content: flex-start; flex-wrap: wrap; gap: 12px; }
 .ft-editorial .ft-to-top { width: 54px; height: 54px; }
 .ft-editorial .ft-copy { margin-top: 30px; font-size: 11px; }
 .ft-editorial .ft-copy a { display: block; margin: 4px 0 0; }
}

/* 버튼 통일 · 소식 글래스/스크롤 · 원형 문의 링크 */
.home-dark .flow-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 24px; height: 60px; padding: 0 28px; border-radius: 999px; color: #fff; background: rgba(15,20,15,.12); backdrop-filter: blur(4px); font-size: 16px; font-weight: 600; transition: background .35s,translate .35s; }
.home-dark .flow-button::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px; background: conic-gradient(from var(--border-angle),rgba(255,255,255,.4) 0deg 245deg,#8cc63f 280deg,#e5ffd0 300deg,rgba(255,255,255,.4) 330deg); mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite: exclude; animation: borderFlow 4s linear infinite; pointer-events: none; }
.home-dark .flow-button span { font-size: 24px; transition: transform .35s; }
.home-dark .flow-button:hover { background: rgba(140,198,63,.2); translate: 0 -3px; }
.home-dark .flow-button:hover span { color: var(--c-lime); transform: translateX(5px); }
.home-dark .about-text .flow-button { margin-top: 32px; }
.home-dark .biz .sec-head-row { display: block; text-align: center; }
.home-dark .biz .eyebrow { justify-content: center; }
.home-dark .news > .inner { grid-template-columns: 1fr 1.2fr; gap: 65px; }
.home-dark .news .sec-title { max-width: none; font-size: clamp(32px,2.9vw,54px); line-height: 1.4; letter-spacing: -.045em; white-space: nowrap; }
.home-dark .news-actions { margin-top: 36px; }
.home-dark .news-list li, .home-dark .news-list li:not(:first-child), .home-dark .news-list li:nth-child(2) { background: linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.055)); border: 1px solid rgba(255,255,255,.26); backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12),0 20px 50px rgba(0,0,0,.12); }
.home-dark .news-list li:first-child { background: linear-gradient(135deg,rgba(140,198,63,.48),rgba(83,126,36,.18)); border-color: rgba(179,232,120,.6); }
.home-dark .news-list li:first-child h3, .home-dark .news-list li:first-child time { color: #fff; }
.home-dark .news-list li:first-child .nw-cat { color: #d2f7ae; }
.home-dark .news-list li:first-child .nw-desc { color: #d3dfcb; }
.home-dark .news-list li:hover, .home-dark .news-list li:first-child:hover { background: rgba(155,191,130,.22); }
.home-dark #main > .news.is-scroll-reveal .news-list li { opacity: 1; transform: translateY(var(--news-shift,0px)); transition: background .35s,translate .35s; }
.home-dark .contact-circles { position: relative; display: block; min-height: 820px; padding: 110px 0 90px; background: #fff; color: #17221a; overflow: hidden; isolation: isolate; }
.home-dark .contact-circles .contact-bg { position: absolute; inset: 0 0 0 30%; z-index: -1; display: block; }
.home-dark .contact-circles .contact-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; }
.home-dark .contact-circles .contact-bg::after { position: absolute; inset: 0; background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.65) 24%,rgba(255,255,255,.1) 70%); }
.home-dark .contact-circles .contact-inner { display: block; padding: 0; }
.home-dark .contact-circles .contact-copy { max-width: 760px; }
.home-dark .contact-circles .eyebrow { color: #8cc63f; }
.home-dark .contact-circles .contact-title { font-size: clamp(36px,3.4vw,60px); line-height: 1.3; color: #18211a; }
.home-dark .contact-circles .contact-title > span { font-weight: 400; }
.home-dark .contact-circles .contact-desc { margin-top: 24px; color: #59625c; font-size: 17px; }
.home-dark .contact-circle-links { --circle-size: 180px; --circle-step: 164px; --spread: 1; position: relative; height: var(--circle-size); margin-top: 55px; }
.home-dark .contact-circles.has-scroll-motion .contact-circle-links { --spread: var(--circle-progress,0); }
.home-dark .contact-circles .contact-circle-links:focus-within { --spread: 1; }
.home-dark .contact-circle { position: absolute; top: 0; left: 0; width: var(--circle-size); height: var(--circle-size); border: 1px solid #aab3aa; border-radius: 50%; background: rgba(255,255,255,.9); color: #505b51; display: flex; gap: 8px; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; transform: translateX(calc(var(--circle-index) * var(--circle-step) * var(--spread))); transition: background .25s,color .25s; }
.home-dark .contact-circle.is-primary { border-color: var(--c-lime); background: var(--c-lime); color: #fff; z-index: 2; }
.home-dark .contact-circle:hover { background: #eaf3df; color: #2d4916; }
.home-dark .contact-circle.is-primary:hover { background: #8cc63f; color: #fff; }
.home-dark .contact-direct { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; color: #647063; font-size: 14px; }
.home-dark #main > .contact-circles.is-scroll-reveal .contact-copy { opacity: 1; transform: none; }
.home-dark .ft-editorial .ft-nav h3 { font-size: 17px; }
.home-dark .ft-editorial .ft-nav li { font-size: 15px; }
.home-dark .ft-editorial .ft-info p { font-size: 15px; }
.home-dark .ft-editorial .ft-branches, .home-dark .ft-editorial .ft-branches .ft-branch, .home-dark .ft-editorial .ft-policy, .home-dark .ft-editorial .ft-copy { font-size: 14px; }
.home-dark .ft-editorial .ft-to-top { color: #fff; }
.home-dark .ft-editorial .ft-sns-link { width: 42px; height: 42px; }
.home-dark .ft-editorial .ft-sns-ico { width: 23px; height: 23px; }
.home-dark .ft-editorial .ft-nav { gap: 18px; }
@media (max-width: 1200px) {
 .home-dark .news > .inner { gap: 36px; }
 .home-dark .news .sec-title { font-size: 32px; }
 .home-dark .ft-editorial .ft-mid { grid-template-columns: 1fr; }
 .home-dark .ft-editorial .ft-extra { align-items: flex-start; padding: 0 90px 0 0; min-height: 80px; }
}
@media (max-width: 1024px) {
 .home-dark .news > .inner { display: block; }
 .home-dark .news .sec-head-row { margin-bottom: 80px; }
 .home-dark .contact-circles { min-height: 760px; padding: 80px 0; }
}
@media (max-width: 640px) {
 .home-dark .flow-button { height: 52px; font-size: 15px; }
 .home-dark .news .sec-title { font-size: clamp(26px,7.3vw,36px); }
 .home-dark .news .sec-head-row { margin-bottom: 48px; }
 .home-dark .contact-circles { padding: 65px 0; min-height: 680px; }
 .home-dark .contact-circles .contact-bg { left: 0; opacity: .3; }
 .home-dark .contact-circles .contact-bg::after { background: linear-gradient(90deg,#fff,rgba(255,255,255,.45)); }
 .home-dark .contact-circles .contact-title { font-size: 36px; }
 .home-dark .contact-circles .contact-desc { font-size: 16px; }
 .home-dark .contact-circle-links { --circle-size: 112px; --circle-step: 104px; margin-top: 42px; }
 .home-dark .contact-circle { font-size: 14px; gap: 4px; }
 .home-dark .contact-direct { flex-direction: column; gap: 8px; }
 .home-dark .ft-editorial .ft-nav li { font-size: 14px; }
 .home-dark .ft-editorial .ft-nav h3 { font-size: 16px; }
 .home-dark .ft-editorial .ft-sns { gap: 7px; }
 .home-dark .ft-editorial .ft-extra { padding-right: 0; padding-bottom: 72px; }
}
@media (max-width: 360px) {
 .home-dark .contact-circle-links { --circle-size: 100px; --circle-step: 91px; }
}
@media (prefers-reduced-motion: reduce) {
 .home-dark .flow-button::before { animation: none; }
 .home-dark #main > .news.is-scroll-reveal .news-list li { transform: none; }
}

/* 메인 후속 정리: 투명 헤더·간결한 사업정보·그라데이션 버튼 */
:is(.home-dark,.shared-header-page) .hd.is-scrolled:not(.is-open) { background: rgba(0,0,0,.2); backdrop-filter: blur(8px); }
.home-dark .about-top { max-width: none; }
.home-dark .about-top .sec-head { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 40px; align-items: end; }
.home-dark .about-top .sec-head .eyebrow { grid-column: 1 / -1; }
.home-dark .about-top .sec-head .flow-button { align-self: end; margin-bottom: 8px; }
.home-dark .biz-item .biz-num, .home-dark .biz-item.is-active .biz-num { font-size: 36px; font-weight: 600; line-height: 1; margin-bottom: 32px; }
.home-dark .biz-more p { line-height: 1.85; word-break: keep-all; }
.home-dark .biz-fact { margin-top: 28px; }
.home-dark .biz-item:last-child .biz-fact dd { font-size: 24px; line-height: 1.45; }
.home-dark .hero-btns .btn:hover, .home-dark .hero-btns .btn:focus-visible,
.home-dark .flow-button:hover, .home-dark .flow-button:focus-visible,
.home-dark .contact-circle:hover, .home-dark .contact-circle:focus-visible,
.home-dark .contact-circle.is-primary:hover, .home-dark .contact-circle.is-primary:focus-visible,
.home-dark .ft-to-top:hover, .home-dark .ft-to-top:focus-visible { background: linear-gradient(110deg,#a7d94b 0%,#80b836 45%,#367d39 100%); color: #fff; border-color: transparent; }
.home-dark .hero-btns .btn:hover span, .home-dark .hero-btns .btn:focus-visible span,
.home-dark .flow-button:hover span, .home-dark .flow-button:focus-visible span { color: #fff; }
.home-dark .hero-btns .btn:hover::before, .home-dark .hero-btns .btn:focus-visible::before,
.home-dark .flow-button:hover::before, .home-dark .flow-button:focus-visible::before { opacity: 0; }
.ft-editorial .ft-brand { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 218px; }
.ft-editorial .ft-brand-symbol { display: block; width: 98px; height: 80px; overflow: hidden; }
.ft-editorial .ft-brand-symbol img { display: block; max-width: none; width: 382px; height: 80px; }
.ft-editorial .ft-brand-wordmark { display: block; width: 207px; height: 60px; overflow: hidden; }
.ft-editorial .ft-brand-wordmark img { display: block; max-width: none; width: 286.5px; height: 60px; margin-left: -79.5px; }
@media (max-width: 1024px) {
 .home-dark .about-top .sec-head { column-gap: 24px; }
 .home-dark .about-top .sec-head .flow-button { height: 52px; padding: 0 20px; gap: 14px; }
}
@media (max-width: 640px) {
 .home-dark .about-top .sec-head { grid-template-columns: 1fr; gap: 0; }
 .home-dark .about-top .sec-head .flow-button { justify-self: end; margin-top: 24px; margin-bottom: 0; }
 .home-dark .biz-item .biz-num, .home-dark .biz-item.is-active .biz-num { font-size: 32px; }
}

/* 메인 콘텐츠 공통 폭과 섹션 정렬 */
.home-dark { --main-content-width: min(87.5%,1760px); }
:is(.home-dark,.shared-header-page) .hd-inner, .home-dark .hero-inner, .home-dark #main > section > .inner, .home-dark .ft-editorial > .inner { width: var(--main-content-width); max-width: 1760px; margin-left: auto; margin-right: auto; }
.home-dark .about-top { text-align: center; }
.home-dark .about-top .sec-head { display: block; }
.home-dark .about .eyebrow { justify-content: center; }
.home-dark .about .eyebrow::before { display: none; }
.home-dark .about-text { max-width: 840px; margin: 28px auto 0; text-align: center; }
.home-dark .about-actions { display: flex; justify-content: center; margin-top: 100px; }
.home-dark .biz { background: #fff; }
.home-dark .biz .sec-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; text-align: left; }
.home-dark .biz .eyebrow { justify-content: flex-start; }
.home-dark .flow-button-dark { color: #253723; background: rgba(255,255,255,.75); flex-shrink: 0; }
.home-dark .flow-button-dark::before { background: conic-gradient(from var(--border-angle),#aab6a4 0deg 245deg,#8cc63f 280deg,#3a752c 300deg,#aab6a4 330deg); }
.home-dark .flow-button-dark:hover, .home-dark .flow-button-dark:focus-visible { color: #fff; }
.home-dark .news-list li:first-child { background: linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.055)); border-color: rgba(255,255,255,.26); }
.home-dark .news-list li:first-child .nw-cat { color: var(--c-lime); }
.home-dark .news-list li:first-child .nw-desc { color: #aeb8b1; }
.home-dark .news-list li:first-child time { color: #a2aaa4; }
.home-dark .news-list li:hover, .home-dark .news-list li:first-child:hover, .home-dark .news-list li:focus-within { background: #8cc63f; border-color: #8cc63f; }
.home-dark .news-list li:hover h3, .home-dark .news-list li:hover .nw-cat, .home-dark .news-list li:hover .nw-desc, .home-dark .news-list li:hover time, .home-dark .news-list li:hover .nw-guide, .home-dark .news-list li:hover .nw-arrow,
.home-dark .news-list li:focus-within h3, .home-dark .news-list li:focus-within .nw-cat, .home-dark .news-list li:focus-within .nw-desc, .home-dark .news-list li:focus-within time, .home-dark .news-list li:focus-within .nw-guide, .home-dark .news-list li:focus-within .nw-arrow { color: #17230e; }
.home-dark .nw-guide { margin-top: auto; font-size: 14px; color: #a2aaa4; }
.home-dark .contact-circle-links { display: flex; flex-wrap: wrap; gap: 14px; height: auto; margin-top: 48px; }
.home-dark .contact-circles { min-height: 700px; }
@media (max-width: 1024px) {
 .home-dark { --main-content-width: calc(100% - 64px); }
 .home-dark .about-actions { margin-top: 48px; }
}
@media (max-width: 640px) {
 .home-dark { --main-content-width: calc(100% - 40px); }
 .home-dark .biz .sec-head-row { display: block; }
 .home-dark .biz .sec-head-row > .flow-button { margin-top: 28px; }
 .home-dark .contact-circle-links { gap: 12px; }
 .home-dark .contact-circle-links .flow-button { padding: 0 20px; gap: 16px; }
 .home-dark .contact-circles { min-height: 600px; }
}

/* 사업별 신규 이미지 · 소식 숲 배경 · 다크 문의 패널 */
.home-dark .biz .eyebrow::before, .home-dark .news .eyebrow::before, .home-dark .contact-circles .eyebrow::before { display: none; }
.home-dark .news { background-image: url('../images/main/news-forest-r2.webp'); background-position: center top; background-size: 100% auto; }
.home-dark .news::before { background: linear-gradient(180deg,rgba(3,12,8,.48),rgba(3,12,8,.72) 25vw,#050706 52vw); }
.home-dark .contact-circles { min-height: 0; padding: 70px 0 110px; color: #fff; background: #050706; }
.home-dark .contact-circles .contact-inner { padding: 80px 72px; border: 1px solid rgba(190,219,174,.25); border-radius: 24px; background: radial-gradient(ellipse at 90% 15%,rgba(126,182,67,.16),transparent 58%),linear-gradient(120deg,#14291f,#0c1510 70%); position: relative; overflow: hidden; }
.home-dark .contact-circles .contact-inner::after { content: ''; position: absolute; width: 460px; height: 460px; right: -150px; bottom: -280px; border: 1px solid rgba(175,217,131,.14); border-radius: 50%; box-shadow: 0 0 0 48px rgba(175,217,131,.035),0 0 0 96px rgba(175,217,131,.025); pointer-events: none; }
.home-dark .contact-circles .contact-copy { max-width: none; position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 64px; align-items: end; }
.home-dark .contact-circles .eyebrow { grid-column: 1 / -1; color: var(--c-lime); }
.home-dark .contact-circles .contact-title { font-size: clamp(32px,2.9vw,52px); color: #fff; grid-column: 1; line-height: 1.4; word-break: keep-all; }
.home-dark .contact-circles .contact-title > span { font-weight: 500; color: #c3d5c7; }
.home-dark .contact-circles .contact-desc { grid-column: 1; color: #b3c3b9; margin-top: 24px; line-height: 1.8; }
.home-dark .contact-circles .contact-circle-links { grid-column: 2; grid-row: 2 / 4; flex-direction: column; align-items: stretch; gap: 12px; margin-top: 0; min-width: 190px; }
.home-dark .contact-circles .flow-button { justify-content: space-between; background-color: rgba(255,255,255,.035); }
@media (max-width: 1024px) {
 .home-dark .contact-circles .contact-inner { padding: 56px 40px; }
 .home-dark .contact-circles .contact-copy { display: block; }
 .home-dark .contact-circles .contact-circle-links { flex-direction: row; margin-top: 36px; }
 .home-dark .news { background-size: auto 1000px; }
 .home-dark .news::before { background: linear-gradient(180deg,rgba(3,12,8,.48),rgba(3,12,8,.72) 450px,#050706 950px); }
}
@media (max-width: 640px) {
 .home-dark .contact-circles { padding: 24px 0 64px; }
 .home-dark .contact-circles .contact-inner { padding: 40px 24px; border-radius: 18px; }
 .home-dark .contact-circles .contact-title { font-size: 30px; }
 .home-dark .contact-circles .contact-circle-links { flex-direction: column; align-items: stretch; }
 .home-dark .contact-circles .contact-desc { font-size: 16px; }
}

/* 메인 상세 조정: 가로 전체메뉴·화이트 헤더·한 화면 소식 */
:is(.home-dark,.shared-header-page) .hd.is-open, :is(.home-dark,.shared-header-page) .hd.is-open, :is(.home-dark,.shared-header-page) .hd.is-open { background: #fff; color: #242424; backdrop-filter: none; }
:is(.home-dark,.shared-header-page) .hd.is-open, :is(.home-dark,.shared-header-page) .hd.is-open { background: #fff; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-link, :is(.home-dark,.shared-header-page) .hd.is-open .gnb-link, :is(.home-dark,.shared-header-page) .hd.is-open .gnb-link { color: #242424; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-item:hover .gnb-link { color: #242424; }
:is(.home-dark,.shared-header-page) .hd.is-open .logo-white, :is(.home-dark,.shared-header-page) .hd.is-open .logo-white, :is(.home-dark,.shared-header-page) .hd.is-open .logo-white { display: none; }
:is(.home-dark,.shared-header-page) .hd.is-open .logo-color, :is(.home-dark,.shared-header-page) .hd.is-open .logo-color, :is(.home-dark,.shared-header-page) .hd.is-open .logo-color { display: block; }
:is(.home-dark,.shared-header-page) .hd.is-open .hd-menu span, :is(.home-dark,.shared-header-page) .hd.is-open .hd-menu span { background: #242424; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub { background: #fff; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a, :is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a.is-unlinked { color: #454545; }
.full-menu-nav { width: min(1760px,100%); }
.full-menu-list { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; align-items: start; }
.full-menu-list > li + li { margin-top: 0; }
.full-menu-heading { font-size: clamp(22px,1.8vw,34px); padding: 8px 0; }
.full-menu-sub a { display: block; padding: 8px 4px; }
.home-dark .network-globe { left: 50%; top: 50%; }
.home-dark .about { overflow: clip; background: radial-gradient(ellipse at 50% 50%,#172b26 0,#07100e 45%,#050807 78%); }
.home-dark .biz .eyebrow { color: var(--c-lime); }
.home-dark .news { height: 100svh; min-height: 650px; padding: 0; background-size: cover; background-position: center; overflow: hidden; }
.home-dark .news::before { display: none; }
.home-dark .news > .inner { height: 100%; display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 64px; padding-top: var(--h-header); }
.home-dark .news .sec-head-row { position: static; margin: 0; align-self: center; text-shadow: 0 2px 16px rgba(0,0,0,.6); }
.home-dark .news-viewport { height: 100%; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.5) transparent; padding: 48px 6px 48px 0; }
.home-dark .news-viewport:focus-visible { outline: 2px solid var(--c-lime); outline-offset: -3px; }
.home-dark .news-list { margin: 0; padding-bottom: 86px; }
.home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { min-height: 410px; }
.home-dark #main > .news.is-scroll-reveal .news-list li { transform: none; }
@media (max-width: 1024px) {
 .full-menu-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px 20px; }
 .home-dark .news > .inner { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); gap: 24px; padding-top: calc(var(--h-header) + 30px); }
 .home-dark .news .sec-head-row { margin: 0; }
 .home-dark .news-actions { margin-top: 18px; }
 .home-dark .news-viewport { padding-top: 12px; }
 .home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { min-height: 360px; }
}
@media (max-width: 640px) {
 .full-menu-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 12px; }
 .full-menu-heading { font-size: 22px; }
 .home-dark .hero-title { font-size: clamp(38px,10vw,62px); }
 .home-dark .news { min-height: 620px; }
 .home-dark .news > .inner { gap: 20px; padding-top: calc(var(--h-header) + 20px); }
 .home-dark .news .sec-title { font-size: 28px; }
 .home-dark .news-list { padding-bottom: 20px; }
 .home-dark .news-list li a, .home-dark .news-list li:not(:first-child) a { min-height: 340px; }
}

/* 배경 이미지·사업 화살표 고정·푸터 저작권 정렬 */
.home-dark .biz-select span { position: absolute; right: 26px; bottom: 54px; }
.home-dark .biz-select { padding-right: 30px; }
.home-dark .news { background-image: url('../images/main/hero-campus.webp'); }
.home-dark .news::before { display: block; background: rgba(0,0,0,.3); pointer-events: none; }
.home-dark .news-list li, .home-dark .news-list li:not(:first-child), .home-dark .news-list li:first-child, .home-dark .news-list li:nth-child(2) { background: rgba(17,35,28,.68); }
.home-dark .news-list li:hover, .home-dark .news-list li:first-child:hover, .home-dark .news-list li:focus-within { background: #8cc63f; }
.home-dark .news-viewport { scrollbar-width: none; -ms-overflow-style: none; padding-right: 0; }
.home-dark .news-viewport::-webkit-scrollbar { display: none; width: 0; height: 0; }
.home-dark .contact-circles { background: #fff; }
.home-dark .contact-circles .contact-inner { background: #eff4f4 url('../images/main/contact-forest.webp') center / cover no-repeat; border-color: #dce4de; }
.home-dark .contact-circles .contact-inner::after { display: none; }
.home-dark .contact-circles .contact-title { color: #1b2c22; }
.home-dark .contact-circles .contact-title > span { color: #3d5746; }
.home-dark .contact-circles .contact-desc { color: #455a4d; }
.home-dark .contact-circles .eyebrow { color: #8cc63f; }
.home-dark .contact-circles .flow-button { color: #253723; background-color: rgba(255,255,255,.85); }
.home-dark .contact-circles .flow-button::before { background: conic-gradient(from var(--border-angle),#aab6a4 0deg 245deg,#8cc63f 280deg,#3a752c 300deg,#aab6a4 330deg); }
.home-dark .contact-circles .flow-button:hover, .home-dark .contact-circles .flow-button:focus-visible { color: #fff; }
.home-dark .ft-editorial .ft-copy { text-align: right; margin-left: auto; }
@media (max-width: 1440px) and (min-width: 1025px) {
 .home-dark .biz-select span { right: 20px; bottom: 44px; }
}
@media (max-width: 1024px) {
 .home-dark .biz-select span { right: 30px; bottom: 44px; }
}
@media (max-width: 640px) {
 .home-dark .biz-select span { right: 28px; bottom: 42px; }
 .home-dark .contact-circles .contact-inner { background-position: 65% center; }
 .home-dark .ft-editorial .ft-copy { max-width: 100%; }
}

/* 영상 진행선과 사업분야 정보 강조 */
.home-dark .hero-timeline i { background: var(--c-lime); box-shadow: 0 0 6px rgba(140,198,63,.4); }
.home-dark .biz-list::after { background: rgba(0,0,0,.3); }
.home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { --biz-inset: 26px; --biz-bottom: 54px; background: transparent; }
.home-dark .biz-item .biz-num, .home-dark .biz-item.is-active .biz-num { color: #fff; }
.home-dark .biz-item.is-active .biz-name { margin-bottom: 4px; }
.home-dark .biz-item .biz-more, .home-dark .biz-item.is-active .biz-more { position: static; transform: none; animation: none; }
.home-dark .biz-more p { margin-top: 0; }
.home-dark .biz-item .biz-fact { position: absolute; left: var(--biz-inset); right: var(--biz-inset); bottom: var(--biz-bottom); margin: 0; padding: 18px 40px 0 0; }
.home-dark .biz-item .biz-fact dt { font-size: 18px; line-height: 1.4; }
.home-dark .biz-item .biz-fact dd { font-size: 60px; line-height: 1.05; margin-top: 8px; }
.home-dark .biz-item .biz-fact dd small { font-size: 19px; }
.home-dark .biz-item:last-child .biz-fact dd { font-size: 28px; line-height: 1.3; }
.home-dark .biz-select span { right: var(--biz-inset); bottom: var(--biz-bottom); }
@media (max-width: 1440px) and (min-width: 1025px) {
 .home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { --biz-inset: 20px; --biz-bottom: 44px; }
 .home-dark .biz-item .biz-fact dd { font-size: 52px; }
 .home-dark .biz-item .biz-fact dt { font-size: 16px; }
}
@media (max-width: 1024px) {
 .home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { --biz-inset: 30px; --biz-bottom: 44px; background: rgba(0,0,0,.3); justify-content: flex-start; }
 .home-dark .biz-item .biz-name, .home-dark .biz-item.is-active .biz-name, .home-dark .biz-item:not(.is-active) .biz-name { order: 1; margin: 0 0 4px; }
 .home-dark .biz-item .biz-more { order: 2; }
}
@media (max-width: 640px) {
 .home-dark .biz-item .biz-body, .home-dark .biz-item.is-active .biz-body { --biz-inset: 28px; --biz-bottom: 42px; }
 .home-dark .biz-item .biz-fact dd { font-size: 54px; }
}

/* 회사소개 페이지 공통 헤더 */
.shared-header-page { --main-content-width: min(87.5%,1760px); }
.shared-header-page .breadcrumb a { display: inline-flex; align-items: center; vertical-align: middle; }
@media (max-width:1024px) { .shared-header-page { --main-content-width: calc(100% - 64px); } }
@media (max-width:640px) { .shared-header-page { --main-content-width: calc(100% - 40px); } }

/* 사업 정보 통일 및 밝은 배경의 블루 포인트 버튼 */
.home-dark .biz-item .biz-fact dt, .home-dark .biz-item.is-active .biz-fact dt { color: #fff; opacity: 1; }
.home-dark .biz-item .biz-fact dd, .home-dark .biz-item.is-active .biz-fact dd,
.home-dark .biz-item .biz-fact dd small, .home-dark .biz-item.is-active .biz-fact dd small { color: #8cc63f; opacity: 1; }
.home-dark .biz-item:last-child .biz-fact dd { font-size: 60px; line-height: 1.05; }
.home-dark .biz-item.is-active .biz-select { padding-top: 0; }
.home-dark .flow-button-dark::before, .home-dark .contact-circles .flow-button::before { padding: 3px; background: conic-gradient(from var(--border-angle),#e8eaed 0deg 65deg,var(--c-lime) 105deg,#c3e5a0 145deg,#e8eaed 180deg 245deg,var(--c-lime) 285deg,#c3e5a0 325deg,#e8eaed 360deg); }
.home-dark .flow-button-dark, .home-dark .contact-circles .flow-button { color: #242a34; }
.home-dark .flow-button-dark:hover, .home-dark .contact-circles .flow-button:hover, .home-dark .flow-button-dark:focus-visible, .home-dark .contact-circles .flow-button:focus-visible { color: #fff; }
@media (max-width:1440px) and (min-width:1025px) { .home-dark .biz-item:last-child .biz-fact dd { font-size: 52px; } }
@media (max-width:1024px) { .home-dark .biz-select { padding-top: 0; } }
@media (max-width:640px) { .home-dark .biz-item:last-child .biz-fact dd { font-size: 54px; } }

/* Footer: brand mark and company details above copyright */
.home-dark .ft-editorial .ft-brand { display:block; width:260px; max-width:100%; }
.home-dark .ft-editorial .ft-brand img { display:block; width:100%; height:auto; }
.home-dark .ft-editorial .ft-mid { margin-top:100px; align-items:end; }
.home-dark .ft-editorial .ft-details { min-width:0; }
.home-dark .ft-editorial .ft-details .ft-copy { margin:20px 0 0; text-align:left; color:#707070; }
@media(max-width:1200px) {
 .home-dark .ft-editorial .ft-mid { margin-top:60px; }
}
@media(max-width:768px) {
 .home-dark .ft-editorial .ft-brand { width:220px; }
 .home-dark .ft-editorial .ft-mid { margin-top:48px; }
}

/* Always-visible business indices and darker contact image */
.home-dark .biz-item .biz-num,
.home-dark .biz-item.is-active .biz-num { display:block; flex-shrink:0; order:0; color:#fff; opacity:1; margin-bottom:24px; }
.home-dark .contact-circles .contact-inner { background-image:linear-gradient(rgba(8,27,19,.78),rgba(8,27,19,.78)),url('../images/main/contact-forest.webp'); background-color:#10291d; border-color:#314c3d; }
.home-dark .contact-circles .contact-title { color:#fff; }
.home-dark .contact-circles .contact-title > span { color:#e1ece4; }
.home-dark .contact-circles .contact-desc { color:#d0dfd5; }
.home-dark .contact-circles .eyebrow { color:#a7d86d; }
.home-dark .contact-circles .flow-button { background:#fff; color:#242a34; }
.home-dark .contact-circles .flow-button:hover,
.home-dark .contact-circles .flow-button:focus-visible { color:#fff; }
@media(max-width:640px) {
 .home-dark .biz-item .biz-num,
 .home-dark .biz-item.is-active .biz-num { margin-bottom:20px; }
}

/* Subpages share the main header, dark visual and lime navigation */
.shared-header-page .hd { background:rgba(8,20,14,.55); }
.shared-header-page .hd.is-scrolled:not(.is-open) { background:rgba(8,20,14,.94); }
.shared-header-page .hd.is-open,
.shared-header-page .hd.is-open,
.shared-header-page .hd.is-open,
.shared-header-page .hd.is-open { background:#fff; }
.shared-header-page .sv { height:520px; margin-top:0; position:relative; background:#0c2118; }
.shared-header-page .sv-bg img { animation:none; object-position:center 60%; }
.shared-header-page .sv-bg::after { background:linear-gradient(90deg,rgba(5,22,14,.78),rgba(5,22,14,.3)),linear-gradient(180deg,rgba(5,22,14,.3),transparent); }
.shared-header-page .sv-inner { width:var(--main-content-width); max-width:1760px; justify-content:flex-end; padding:calc(var(--h-header) + 32px) 0 72px; }
.shared-header-page .sv-title { font-size:clamp(44px,4.5vw,76px); line-height:1.15; letter-spacing:-.045em; }
.shared-header-page .breadcrumb { margin-top:24px; color:#d9e4dc; }
.shared-header-page .breadcrumb li[aria-current] { color:#b8e68a; }
.shared-header-page .lnb { position:relative; top:auto; background:#f5f7f3; border-bottom:1px solid #e1e7dc; }
.shared-header-page .lnb > .inner { width:var(--main-content-width); max-width:1760px; }
.shared-header-page .lnb-list { gap:10px; padding:20px 0; }
.shared-header-page .lnb-list a { height:48px; padding:0 26px; margin:0; border:1px solid #dce3d6; border-radius:999px; color:#344a3c; background:#fff; font-size:16px; transition:background .2s,color .2s,border-color .2s; }
.shared-header-page .lnb-list a:hover { background:#e8f2df; border-color:#8cc63f; }
.shared-header-page .lnb-list a.is-active { background:#8cc63f; border-color:#8cc63f; color:#13220d; font-weight:700; }
.shared-header-page .lnb-list a.is-unlinked { color:#84917f; background:transparent; opacity:.65; }
@media(max-width:640px) {
 .shared-header-page .sv { height:380px; }
 .shared-header-page .sv-inner { padding-bottom:48px; }
 .shared-header-page .sv-title { font-size:44px; }
 .shared-header-page .lnb-list { gap:8px; padding:14px 0; }
 .shared-header-page .lnb-list a { height:42px; padding:0 20px; font-size:14px; }
}

/* Large photographic subvisual with integrated two-level navigation */
.shared-header-page .hd:not(.is-scrolled):not(.is-open) { background:transparent; border-color:transparent; }
.shared-header-page .sv-reference { height:100svh; min-height:680px; overflow:visible; }
.shared-header-page .sv-reference .sv-bg { position:absolute; inset:0; }
.shared-header-page .sv-reference .sv-bg img { height:100%; object-position:center; }
.shared-header-page .sv-reference .sv-bg::after { background:linear-gradient(180deg,rgba(5,20,13,.32),rgba(5,20,13,.08) 40%,rgba(5,20,13,.55)); }
.shared-header-page .sv-reference .sv-inner { position:relative; display:flex; flex-direction:row; justify-content:space-between; align-items:flex-end; gap:40px; padding:180px 0 17vh; }
.shared-header-page .sv-copy { flex:1; min-width:0; }
.shared-header-page .sv-reference .sv-title { font-size:clamp(64px,5.5vw,108px); letter-spacing:-.035em; line-height:1.08; }
.sv-description { margin-top:30px; font-size:clamp(18px,1.25vw,24px); font-weight:600; line-height:1.65; word-break:keep-all; color:#fff; }
.sv-navigation { display:flex; width:560px; flex-shrink:0; border-radius:999px; background:rgba(255,255,255,.2); backdrop-filter:blur(18px); }
.sv-dropdown { width:50%; position:relative; }
.sv-dropdown summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; padding:0 30px; height:64px; font-size:18px; font-weight:700; color:#fff; cursor:pointer; border-radius:999px; }
.sv-dropdown summary::-webkit-details-marker { display:none; }
.sv-category summary { background:#8cc63f; color:#14230f; }
.sv-dropdown summary:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.sv-dropdown[open] summary span { transform:rotate(180deg); }
.sv-dropdown ul { position:absolute; bottom:calc(100% + 12px); left:0; width:100%; max-height:360px; overflow:auto; padding:12px; background:#fff; border-radius:20px; box-shadow:0 16px 40px #0003; }
.sv-dropdown li a,.sv-dropdown li > span { display:block; padding:12px 14px; border-radius:10px; font-size:15px; color:#24392b; }
.sv-dropdown li a:hover,.sv-dropdown li a:focus-visible,.sv-dropdown li a.is-active { background:#edf5e5; color:#8cc63f; }
.sv-dropdown li .is-unlinked,.sv-dropdown li [aria-disabled=true] { color:#9ba59c; pointer-events:none; }
.sv-scroll { position:absolute; bottom:7vh; right:6.25%; width:56px; border-top:1px solid #fff; color:#fff; text-align:center; padding-top:14px; font-size:24px; z-index:2; }
@media(max-width:1200px) {
 .shared-header-page .sv-reference .sv-inner { flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:36px; padding-bottom:14vh; }
 .shared-header-page .sv-copy { flex:0; }
 .sv-navigation { width:520px; max-width:100%; }
}
@media(max-width:640px) {
 .shared-header-page .sv-reference { min-height:640px; }
 .shared-header-page .sv-reference .sv-inner { padding-top:150px; padding-bottom:110px; gap:34px; }
 .shared-header-page .sv-reference .sv-title { font-size:54px; }
 .sv-description { font-size:17px; margin-top:20px; }
 .sv-dropdown summary { padding:0 18px; height:56px; font-size:14px; }
 .sv-dropdown ul { padding:6px; max-height:260px; }
 .sv-dropdown li a,.sv-dropdown li > span { padding:11px 8px; font-size:13px; }
 .sv-scroll { bottom:32px; right:20px; }
}
@media(max-width:1200px) {
 .shared-header-page .sv-reference .sv-inner { min-width:0; width:calc(100vw - 64px); }
 .shared-header-page .sv-copy { width:100%; }
}
@media(max-width:640px) {
 .shared-header-page .sv-reference .sv-inner { width:calc(100vw - 40px); }
 .sv-navigation { width:100%; min-width:0; }
 .sv-dropdown { min-width:0; }
}
/* Reference proportion refinement: broad framing and architectural crop */
@media(min-width:1201px) {
 .shared-header-page { --main-content-width:93%; }
 .shared-header-page .hd-inner { width:87.5%; max-width:1760px; }



 .shared-header-page .sv-reference { height:min(100svh,920px); min-height:720px; }
 .shared-header-page .sv-reference .sv-inner { width:93%; max-width:none; padding:180px 0 155px; }
 .shared-header-page .sv-reference .sv-title { font-size:100px; font-weight:700; }
 .sv-description { margin-top:28px; font-size:24px; }
 .sv-navigation { width:600px; }
 .sv-dropdown summary { height:60px; padding:0 34px; }
 .shared-header-page .sv-reference::after { content:''; position:absolute; left:3.5%; right:3.5%; bottom:100px; height:1px; background:rgba(255,255,255,.17); pointer-events:none; }
 .sv-scroll { right:3.5%; bottom:99px; height:2px; padding:0; }
 .sv-scroll span { display:none; }
}
.shared-header-page .sv-reference .sv-bg img[src*='hero-campus'] { transform:scale(1.65); transform-origin:85% 100%; }
.shared-header-page .sv-reference .sv-bg::after { background:linear-gradient(180deg,rgba(8,18,15,.25),rgba(8,18,15,.02) 40%,rgba(8,18,15,.35)); }
.sv-dropdown summary > span { display:block; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; font-size:0; transform:rotate(45deg); margin-top:-5px; }
.sv-dropdown[open] summary > span { transform:rotate(225deg); margin-top:5px; }
@media(max-width:1200px) {
 .shared-header-page .sv-reference { height:min(100svh,820px); }
}
@media(max-width:640px) {
 .shared-header-page .sv-reference { height:min(100svh,740px); }
 .shared-header-page .sv-reference .sv-bg img[src*='hero-campus'] { transform:scale(1.3); transform-origin:90% 100%; object-position:75% center; }
}
/* Subvisual hairline and traveling white highlight */
.shared-header-page .sv-reference::after { display:none; }
.sv-reference .sv-light-line { position:absolute; left:3.5%; right:3.5%; bottom:100px; height:1px; overflow:hidden; background:rgba(255,255,255,.2); pointer-events:none; z-index:3; }
.sv-light-line::before { content:''; position:absolute; inset:0 auto 0 0; width:18%; background:#fff; animation:svLineTravel 5s linear infinite; }
@keyframes svLineTravel { from { transform:translateX(-100%); } to { transform:translateX(556%); } }
@media(min-width:1201px) { .sv-reference .sv-scroll { border:0; } }
@media(max-width:1200px) { .sv-reference .sv-light-line { left:32px; right:32px; bottom:64px; } }
@media(max-width:640px) { .sv-reference .sv-light-line { left:20px; right:20px; bottom:76px; } }
@media(prefers-reduced-motion:reduce) { .sv-light-line::before { animation:none; left:32%; transform:none; } }

/* Joined downward dropdown panels, matching the brand accent */
.shared-header-page .sv-reference .sv-inner { z-index:4; }
.sv-dropdown[open] { z-index:5; }
.sv-dropdown summary { position:relative; z-index:2; }
.sv-dropdown[open] summary { background:#8cc63f; color:#14230f; outline:1px solid rgba(255,255,255,.9); outline-offset:-3px; }
.sv-dropdown ul { top:calc(100% - 30px); bottom:auto; padding:38px 20px 20px; border-radius:0 0 30px 30px; background:#8cc63f; box-shadow:none; max-height:370px; }
.sv-dropdown li a,.sv-dropdown li > span { color:#14230f; padding:10px 14px; font-weight:600; }
.sv-dropdown li a:hover,.sv-dropdown li a:focus-visible,.sv-dropdown li a.is-active { color:#14230f; background:rgba(255,255,255,.22); }
.sv-dropdown li .is-unlinked,.sv-dropdown li [aria-disabled=true] { color:#8cc63f; }
.shared-header-page .sv-reference .sv-bg::after { background:rgba(0,0,0,.3); }
@media(max-width:640px) { .sv-dropdown ul { padding:36px 8px 14px; max-height:310px; } }
/* White dropdown typography without the hover outline */
.sv-category summary,
.sv-dropdown[open] summary,
.sv-dropdown li a,
.sv-dropdown li > span,
.sv-dropdown li a:hover,
.sv-dropdown li a:focus-visible,
.sv-dropdown li a.is-active,
.sv-dropdown li .is-unlinked,
.sv-dropdown li [aria-disabled=true] { color:#fff; }
.sv-dropdown[open] summary { outline:none; }
.sv-dropdown summary:focus-visible { outline:2px solid #244b26; outline-offset:3px; }

/* Match the main header and keep the greeting quote on two lines. */
.shared-header-page .hd:not(.is-scrolled):not(.is-open) { border-bottom-color:rgba(255,255,255,.15); }
.shared-header-page .hd.is-scrolled:not(.is-open) { background:rgba(0,0,0,.2); backdrop-filter:blur(8px); }
.shared-header-page .hd.is-open,
.shared-header-page .hd.is-open { background:#fff; backdrop-filter:none; }
.page-greeting .greet-quote h4 { font-size:clamp(28px,2.05vw,34px); line-height:1.5; letter-spacing:-.025em; font-weight:600; }
.page-greeting .greet-quote h4 > span { display:block; white-space:nowrap; }
@media(max-width:1200px) { .page-greeting .greet { grid-template-columns:1fr; gap:36px; max-width:880px; } }
@media(max-width:640px) {
 .page-greeting .greet-quote h4 { font-size:clamp(20px,5.7vw,28px); }
 .page-greeting .greet-text p { font-size:16px; line-height:1.85; }
 .page-greeting .greet-text p:first-child { font-size:20px; line-height:1.6; margin-bottom:28px; }
 .page-greeting .greet-intro-break { display:none; }
 .page-greeting .greet-sign { font-size:16px; }
 .page-greeting .greet-sign b { font-size:18px; }
}

/* Header color and submenu visibility switch together on GNB activation. */
:is(.home-dark,.shared-header-page) .hd,
:is(.home-dark,.shared-header-page) .hd .gnb-link { transition:none; }
/* White scrolled header across main and subpages. */
:is(.home-dark,.shared-header-page) .hd.is-scrolled,
:is(.home-dark,.shared-header-page) .hd.is-scrolled:not(.is-open) { background:#fff; color:#242424; border-bottom-color:#e5e8e3; backdrop-filter:none; }
:is(.home-dark,.shared-header-page) .hd.is-scrolled .logo-white { display:none; }
:is(.home-dark,.shared-header-page) .hd.is-scrolled .logo-color { display:block; }
:is(.home-dark,.shared-header-page) .hd.is-scrolled .gnb-link { color:#242424; }
:is(.home-dark,.shared-header-page) .hd.is-scrolled .hd-menu span { background:#242424; }

/* Header divider and consistent interactive menu feedback. */
.hd.is-open::after { content:""; position:absolute; top:var(--h-header); left:0; right:0; height:1px; background:#e5e8e3; pointer-events:none; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-item:hover > .gnb-link,
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-link:focus-visible { color:#8cc63f; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a:not(.is-unlinked) { border-radius:6px; transition:background .2s,color .2s; }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a:not(.is-unlinked):hover,
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a:not(.is-unlinked):focus-visible { color:#8cc63f; background:transparent; text-decoration:underline; text-underline-offset:5px; }

/* r1 content, r2 visual language: process / newsroom / contact. */
.home-dark .recycling-flow { background:#101e18; color:#fff; padding:120px 0; }
.home-dark .recycling-flow .sec-title { color:#fff; }
.home-dark .recycling-flow .eyebrow { color:var(--c-lime); }
.recycling-flow .sec-head-row { margin-bottom:26px; }
.flow-intro { color:#b8c4bc; font-size:17px; line-height:1.9; margin-bottom:56px; }
.recycling-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.recycling-steps li { position:relative; padding:28px 22px 32px; border:1px solid #405047; border-radius:18px; background:linear-gradient(145deg,#24392d,#15261d); transition:transform .25s,border-color .25s; }
.recycling-steps li:hover { transform:translateY(-8px); border-color:var(--c-lime); }
.recycling-number { display:block; font-size:15px; letter-spacing:.1em; color:#a7b7ad; }
.recycling-steps .process-icon { display:block; width:76px; height:76px; margin:30px 0; color:var(--c-lime); }
.recycling-steps h3 { color:#fff; font-size:26px; margin-bottom:18px; }
.recycling-steps p { font-size:15px; line-height:1.9; color:#c4cec8; word-break:keep-all; }
.recycling-steps li:not(:last-child)::after { content:"→"; position:absolute; right:-17px; top:46%; z-index:1; color:var(--c-lime); background:#18291f; width:30px; text-align:center; }
.home-dark .company-stories { padding:120px 0; background:#fff; color:#152018; }
.home-dark .company-stories .sec-title { color:#152018; }
.stories-links { display:flex; align-items:center; gap:28px; font-size:15px; }
.stories-links > a:first-child:hover { color:#8cc63f; }
.stories-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.stories-grid a { display:block; }
.story-photo { overflow:hidden; border-radius:16px; aspect-ratio:1.35; background:#e9eee7; }
.story-photo img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.stories-grid a:hover img,.stories-grid a:focus-visible img { transform:scale(1.045); }
.story-copy { position:relative; padding:25px 0 22px; border-bottom:1px solid #dce2d9; }
.story-copy > span { font-size:13px; color:#8cc63f; font-weight:600; }
.story-copy h3 { font-size:22px; line-height:1.5; min-height:66px; margin:12px 0 24px; word-break:keep-all; }
.story-copy time { color:#798179; font-size:14px; }
.story-copy b { position:absolute; right:4px; bottom:18px; font-size:25px; font-weight:400; transition:transform .25s,color .25s; }
.stories-grid a:hover b { color:#8cc63f; transform:translate(3px,-3px); }
.home-dark .contact-renewed { padding:0 0 110px; background:#fff; }
.contact-panel { padding:76px 64px; border-radius:24px; display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; background:linear-gradient(90deg,rgba(10,30,21,.94),rgba(10,30,21,.8)),url('../images/main/contact-forest.webp') center/cover; color:#fff; }
.contact-panel .eyebrow { color:var(--c-lime); }
.contact-panel h2 { font-size:clamp(30px,3vw,48px); line-height:1.45; color:#fff; letter-spacing:-.04em; word-break:keep-all; }
.contact-explain { color:#ced8d1; line-height:1.9; margin-top:24px; font-size:16px; }
.contact-service { border-left:1px solid #526459; padding-left:56px; }
.contact-service > span { color:#c6d4cb; font-size:15px; }
.service-phone { display:block; font-size:clamp(28px,3vw,46px); font-weight:600; letter-spacing:-.035em; white-space:nowrap; margin:12px 0 22px; }
.contact-service dl { font-size:15px; color:#c6d4cb; line-height:1.9; }
.contact-service dl div { display:flex; gap:20px; }
.contact-service dt { width:48px; }
.service-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.service-actions .flow-button { min-width:0; padding:0 24px; }
@media(max-width:1200px) {
 .recycling-steps { gap:12px; }.recycling-steps li { padding:24px 16px; }.recycling-steps p br { display:none; }
 .stories-grid { gap:20px; }.story-copy h3 { font-size:19px; }
 .contact-panel { padding:56px 40px; gap:32px; }.contact-service { padding-left:32px; }
}
@media(max-width:900px) {
 .recycling-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }.recycling-steps li::after { display:none; }
 .stories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; }
 .contact-panel { grid-template-columns:1fr; }.contact-service { border-left:0; border-top:1px solid #526459; padding:32px 0 0; }
}
@media(max-width:640px) {
 .home-dark .recycling-flow,.home-dark .company-stories { padding:72px 0; }
 .recycling-flow .sec-head-row,.company-stories .sec-head-row { align-items:flex-start; flex-direction:column; gap:24px; }
 .flow-intro { font-size:14px; margin-bottom:32px; }.flow-intro br { display:none; }
 .recycling-steps { grid-template-columns:1fr; gap:12px; }
 .recycling-steps li { padding:24px 24px 24px 112px; min-height:158px; }
 .recycling-steps .process-icon { position:absolute; left:22px; top:52px; width:62px; height:62px; margin:0; }
 .recycling-number { position:absolute; left:28px; top:24px; }
 .recycling-steps h3 { font-size:23px; margin-bottom:10px; }.recycling-steps p { font-size:14px; }
 .stories-grid { grid-template-columns:1fr; gap:32px; }.story-copy h3 { min-height:0; font-size:22px; }
 .stories-links { gap:20px; flex-wrap:wrap; }
 .home-dark .contact-renewed { padding-bottom:64px; }.contact-panel { padding:36px 24px; border-radius:18px; }
 .contact-panel h2 { font-size:29px; }.contact-explain { font-size:14px; }.contact-explain br { display:none; }
 .contact-service dl { font-size:13px; }.contact-service dl div { gap:8px; }.service-phone { font-size:32px; }
 .service-actions { flex-direction:column; }.service-actions .flow-button { justify-content:space-between; }
}
@media(prefers-reduced-motion:reduce) { .recycling-steps li,.story-photo img,.story-copy b { transition:none; } }

/* Lower section headings follow the BUSINESS typography. */
.home-dark :is(.recycling-flow,.company-stories,.contact-renewed) .eyebrow {
 display:flex; justify-content:flex-start; margin-bottom:var(--sp-20);
 color:var(--c-lime); font-size:14px; font-weight:600; letter-spacing:.08em;
}

/* Main refinement: aligned hero, centered process, photographic stories. */
.home-dark .hero-bar { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto; align-items:center; min-height:0; gap:36px; padding:36px 0; }
.home-dark .hero-bar .hero-desc { grid-column:1; grid-row:1; }
.home-dark .hero-bar .hero-btns { grid-column:2; grid-row:1; align-self:center; justify-self:end; }
.home-dark .about-stats .stat-value { font-weight:750; }
.home-dark .recycling-flow .sec-head-row { display:block; text-align:center; margin-bottom:64px; }
.home-dark .recycling-flow .sec-head-row .eyebrow { justify-content:center; }
.process-actions { display:flex; justify-content:center; margin-top:64px; }
.stories-grid { gap:22px; }
.stories-grid > li > a { position:relative; isolation:isolate; min-height:440px; height:100%; overflow:hidden; border-radius:20px; background:#183225; }
.story-photo { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; border-radius:0; z-index:-2; }
.story-photo img { transition:transform .65s; }
.stories-grid > li > a::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(4,20,12,.06) 15%,rgba(4,20,12,.25) 40%,rgba(4,20,12,.92) 100%); }
.story-copy { display:flex; flex-direction:column; justify-content:flex-end; min-height:440px; padding:30px 26px; border:0; color:#fff; }
.story-copy > span { align-self:flex-start; padding:6px 12px; background:rgba(255,255,255,.15); border-radius:30px; color:#fff; font-size:13px; }
.story-copy h3 { color:#fff; font-size:23px; min-height:0; margin:10px 0 14px; line-height:1.45; }
.story-copy time { color:#d4ded6; font-size:13px; }
.story-copy b { right:24px; bottom:24px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.14); font-size:22px; }
.stories-grid a:hover b { background:var(--c-lime); color:#142016; }
.stories-grid > li > a { transition:transform .35s ease,box-shadow .35s ease; }
.story-copy > span { transition:background-color .3s ease,color .3s ease; }
.stories-grid > li > a:focus-visible { outline:2px solid var(--c-lime); outline-offset:5px; transform:translateY(-8px); box-shadow:0 16px 32px rgba(15,35,22,.18); }
.stories-grid a:focus-visible img { transform:scale(1.06); }
.stories-grid a:focus-visible .story-copy > span { background:var(--c-lime); color:#142016; }
@media(hover:hover) and (pointer:fine) {
 .stories-grid > li > a:hover { transform:translateY(-8px); box-shadow:0 16px 32px rgba(15,35,22,.18); }
 .stories-grid a:hover img { transform:scale(1.06); }
 .stories-grid a:hover .story-copy > span { background:var(--c-lime); color:#142016; }
}
@media(prefers-reduced-motion:reduce) {
 .stories-grid > li > a,.stories-grid .story-photo img,.story-copy > span { transition:none; }
 .stories-grid > li > a:is(:hover,:focus-visible),.stories-grid a:is(:hover,:focus-visible) img { transform:none; }
}
.home-dark .contact-renewed { width:100%; max-width:none; margin:0; padding:100px 0; background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)),url('../images/main/contact-desk-r2.webp') center/cover no-repeat; }
.home-dark #main > .contact-renewed > .inner { width:var(--main-content-width); }
.home-dark .contact-panel > div:first-child { padding-left:0; }
.home-dark .contact-panel > .contact-service { padding-right:0; }
.home-dark .contact-panel { text-shadow:none; }
.home-dark .contact-explain { color:#fff; }
.home-dark .contact-service > span { color:#fff; font-size:16px; font-weight:600; }
.home-dark .contact-service dl { color:#fff; font-size:17px; font-weight:600; line-height:2; }
.home-dark .contact-service dt { width:56px; flex-shrink:0; }
@media(max-width:640px) {
 .home-dark .contact-service dl { font-size:15px; }
}
.home-dark .contact-panel { padding:0; border-radius:0; background:none; }
@media(max-width:1100px) {
 .stories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-dark .hero-bar { grid-template-columns:1fr; gap:24px; }
 .home-dark .hero-bar .hero-btns { grid-column:1; grid-row:2; justify-self:start; }
}
@media(max-width:640px) {
 .home-dark .hero-bar { padding:24px 0 30px; gap:22px; }
 .home-dark .recycling-flow .sec-head-row { margin-bottom:36px; }
 .process-actions { margin-top:36px; }
 .stories-grid { grid-template-columns:1fr; gap:20px; }
 .stories-grid > li > a,.story-copy { min-height:390px; }
 .story-copy { padding:26px; }
 .home-dark .contact-renewed { padding:64px 0; margin-bottom:0; }
}
.home-dark :is(.recycling-flow,.company-stories,.contact-renewed) .eyebrow::before { display:none; }
.home-dark .contact-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.home-dark .contact-service { padding-left:0; border-left:0; }
@media(max-width:900px) {
 .home-dark .contact-panel { grid-template-columns:1fr; gap:32px; }
 .home-dark #main > .contact-renewed > .inner { width:var(--main-content-width); }
 .home-dark .contact-panel > div:first-child { padding-left:0; }
 .home-dark .contact-panel > .contact-service { padding-right:0; }
}
.home-dark :is(.recycling-flow,.company-stories) .sec-title,
.home-dark .contact-panel h2 {
 font-size:var(--fs-56); font-weight:700; line-height:1.25; letter-spacing:-.045em;
}
@media(max-width:1024px) {
 .home-dark :is(.recycling-flow,.company-stories) .sec-title,
 .home-dark .contact-panel h2 { font-size:var(--fs-40); }
}
@media(max-width:640px) {
 .home-dark :is(.recycling-flow,.company-stories) .sec-title,
 .home-dark .contact-panel h2 { font-size:var(--fs-32); }
}

.recycling-steps .process-icon { object-fit:contain; mix-blend-mode:screen; }

/* Open process sequence: shared line, geometric icons and clear step hierarchy. */
.home-dark .recycling-flow { background:radial-gradient(ellipse at 50% 48%,#193b2b 0%,#0c1b14 58%,#060d09 100%); }
.home-dark #process-title { white-space:nowrap; }
.home-dark .recycling-flow .sec-head-row { margin-bottom:84px; }
.recycling-steps { gap:0; }
.recycling-steps li { padding:38px 24px 12px; border:0; border-top:1px solid rgba(178,209,185,.28); border-radius:0; background:none; text-align:center; }
.recycling-steps li::before { content:""; position:absolute; top:-5px; left:calc(50% - 5px); width:9px; height:9px; border-radius:50%; background:var(--c-lime); box-shadow:0 0 0 6px rgba(140,198,63,.08); }
.recycling-steps li:not(:last-child)::after { display:none; }
.recycling-steps li:hover { transform:none; border-color:var(--c-lime); }
.recycling-number { position:static; color:#9bae9f; font-size:14px; letter-spacing:.14em; }
.recycling-number::before { content:"STEP "; }
.recycling-steps .process-icon { position:static; width:100px; height:100px; margin:24px auto 28px; transition:transform .3s ease; }
.recycling-steps li:hover .process-icon { transform:translateY(-5px); }
.recycling-steps h3 { font-size:28px; margin-bottom:16px; }
.recycling-steps p { color:#c0ccc3; }
@media(max-width:900px) {
 .recycling-steps { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .recycling-steps li { padding:30px 10px 8px; }
 .recycling-steps h3 { font-size:22px; }
 .recycling-steps p { font-size:13px; }
 .recycling-steps .process-icon { width:76px; height:76px; }
}
@media(max-width:640px) {
 .home-dark #process-title { font-size:clamp(18px,5.65vw,32px); }
 .home-dark .recycling-flow .sec-head-row { margin-bottom:44px; }
 .recycling-steps { grid-template-columns:1fr; }
 .recycling-steps li { min-height:164px; margin-left:5px; padding:0 0 32px 112px; border-top:0; border-left:1px solid rgba(178,209,185,.28); text-align:left; }
 .recycling-steps li:last-child { padding-bottom:0; }
 .recycling-steps li::before { top:5px; left:-5px; }
 .recycling-steps .process-icon { position:absolute; left:20px; top:28px; width:68px; height:68px; margin:0; }
 .recycling-number { margin-bottom:10px; font-size:12px; }
 .recycling-steps h3 { margin-bottom:10px; }
 .recycling-steps p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .recycling-steps .process-icon { transition:none; }
 .recycling-steps li:hover .process-icon { transform:none; }
}

/* Main heading weight and focused business content. */
.home-dark #main { --main-title-weight:600; }
.home-dark #main :is(.hero-title,.sec-title,#contact-title) { font-weight:var(--main-title-weight); }
@media(min-width:1025px) {
 .home-dark .biz-item .biz-body > * { transition:opacity .25s ease; }
 .home-dark .biz-list:has(.is-active):focus-within .biz-item:not(.is-active) .biz-body > * { opacity:0; }
}
@media(min-width:1025px) and (hover:hover) {
 .home-dark .biz-list:has(.is-active):hover .biz-item:not(.is-active) .biz-body > * { opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
 .home-dark .biz-item .biz-body > * { transition:none; }
}
@media(min-width:1025px) {
 .home-dark .biz-list { background:#12221c url('../images/main/biz-cover-r2.webp') center/cover no-repeat; }
 .home-dark .biz-list:not(:has(.is-active)) .biz-item .biz-name { opacity:1; }
}

/* Compact photographic news cards with a restrained hover treatment. */
.stories-grid > li > a,.stories-grid .story-copy { min-height:350px; }
.stories-grid .story-copy { height:350px; padding:28px 26px; }
.stories-grid > li > a::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,rgba(4,19,12,.04),rgba(4,19,12,.55)); opacity:0; transition:opacity .4s ease; }
.story-heading { position:absolute; left:26px; right:26px; top:100%; transform:translateY(calc(-100% - 64px)); transition:top .45s ease,transform .45s ease; }
.story-heading > span { display:inline-block; padding:6px 12px; border-radius:30px; background:rgba(255,255,255,.15); color:#fff; font-size:13px; font-weight:600; transition:color .3s,background .3s; }
.stories-grid .story-heading h3 { margin:10px 0 0; transition:color .3s; }
.stories-grid .story-copy time { position:absolute; bottom:28px; left:26px; transition:color .3s; }
.stories-grid .story-copy > .story-arrow { position:absolute; right:24px; bottom:22px; display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:50%; background:#152b1a; color:#fff; font-size:26px; opacity:0; transform:translateY(10px); transition:opacity .3s,transform .3s; }
.stories-grid > li > a:focus-visible::before { opacity:1; }
.stories-grid a:focus-visible .story-heading { top:100%; transform:translateY(calc(-100% - 72px)); }
.stories-grid a:focus-visible .story-heading > span { color:#fff; background:rgba(255,255,255,.25); }
.stories-grid a:focus-visible .story-heading h3,.stories-grid a:focus-visible time { color:#fff; }
.stories-grid a:focus-visible .story-copy > .story-arrow { opacity:1; transform:none; }
.home-dark .stories-grid a .story-copy > .story-arrow { background:var(--c-lime); color:#fff; line-height:1; }
.story-arrow svg { display:block; width:24px; height:24px; }
@media(hover:hover) and (pointer:fine) {
 .stories-grid > li > a:hover::before { opacity:1; }
 .stories-grid a:hover .story-heading { top:100%; transform:translateY(calc(-100% - 72px)); }
 .stories-grid a:hover .story-heading > span { color:#fff; background:rgba(255,255,255,.25); }
 .stories-grid a:hover .story-heading h3,.stories-grid a:hover time { color:#fff; }
 .stories-grid a:hover .story-copy > .story-arrow { opacity:1; transform:none; }
}
@media(max-width:640px) {
 .stories-grid > li > a,.stories-grid .story-copy { min-height:320px; }
 .stories-grid .story-copy { height:320px; }
}
@media(prefers-reduced-motion:reduce) {
 .stories-grid > li > a::before,.story-heading,.story-heading > span,.stories-grid .story-heading h3,.stories-grid .story-copy time,.stories-grid .story-copy > .story-arrow { transition:none; }
}

.home-dark .stories-grid > li > a:is(:hover,:focus-visible) { transform:none; box-shadow:0 12px 26px rgba(15,35,22,.12); }
.home-dark :is(.hero-btns .btn,.flow-button) .cta-diagonal { display:inline-flex; align-items:center; justify-content:center; align-self:center; width:24px; height:24px; flex-shrink:0; line-height:1; }
.cta-diagonal svg { display:block; width:24px; height:24px; }

/* Original AI artwork rendered at high resolution, with its native proportions. */
:is(.home-dark,.shared-header-page) .hd-logo { flex:0 0 auto; margin:0; align-items:center; }
:is(.home-dark,.shared-header-page) .hd-logo a { display:flex; align-items:center; width:208px; line-height:0; }
:is(.home-dark,.shared-header-page) .hd-logo img { width:100%; height:auto; object-fit:contain; }
.full-menu-top > a img { display:block; width:208px; height:auto; }
.ft-top > img { display:block; width:220px; height:auto; }
@media(max-width:640px) {
 :is(.home-dark,.shared-header-page) .hd-logo a { width:160px; }
}

/* Full menu — main page brand palette and editorial navigation */
.full-menu { background:radial-gradient(ellipse at 0% 80%,#193c2c 0,transparent 55%),#0b1913; color:#fff; }
.full-menu::backdrop { background:#0b1913; }
.full-menu-top { height:96px; padding:0 6.25%; background:#0b1913; border-bottom:1px solid rgba(255,255,255,.12); }
.full-menu-close { border:1px solid rgba(255,255,255,.3); border-radius:50%; transition:background .25s,border-color .25s; }
.full-menu-close span { width:20px; left:13px; background:#fff; }
.full-menu-close:hover { background:var(--c-lime); border-color:var(--c-lime); }
.full-menu-close:hover span { background:#102018; }
.full-menu-body { width:87.5%; max-width:1760px; margin:auto; padding:64px 0; display:grid; grid-template-columns:.85fr 2fr; align-items:start; gap:8%; flex:1 0 auto; }
.full-menu-intro > span { color:var(--c-lime); font-size:12px; font-weight:600; letter-spacing:.12em; }
.full-menu-intro p { margin:24px 0; font-size:clamp(30px,2.8vw,52px); line-height:1.4; letter-spacing:-.045em; font-weight:600; }
.full-menu-intro p span { color:var(--c-lime); }
.full-menu-intro > div { color:#a7b8af; font-size:16px; line-height:1.9; }
.full-menu-nav { width:100%; text-align:left; }
.full-menu-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 32px; counter-reset:menu; }
.full-menu-list > li { padding-top:15px; border-top:1px solid rgba(255,255,255,.22); counter-increment:menu; }
.full-menu-list > li::before { content:'0' counter(menu); display:block; margin-bottom:10px; color:var(--c-lime); font-size:12px; letter-spacing:.08em; }
.full-menu-heading { padding:0; color:#fff; font-size:clamp(22px,1.7vw,30px); line-height:1.5; }
.full-menu-heading[aria-expanded="true"] { color:#fff; }
.full-menu-heading:hover { color:var(--c-lime); }
.full-menu-heading[aria-controls]::after { content:'−'; display:inline-block; margin-left:14px; font-size:16px; color:#859d8e; vertical-align:middle; }
.full-menu-heading[aria-expanded="false"]::after { content:'+'; }
.full-menu-heading[aria-disabled="true"] { color:#c0cbc4; }
.full-menu-sub { padding:16px 0 0; }
.full-menu-sub a { width:fit-content; padding:5px 0; color:#e0e6e2; font-size:16px; line-height:1.6; transition:color .2s,transform .2s; }
.full-menu-sub a:hover { color:var(--c-lime); transform:translateX(4px); }
.full-menu-sub a[aria-disabled="true"] { color:#8ea197; }
.full-menu :is(a,button):focus-visible { outline:2px solid var(--c-lime); outline-offset:5px; }
.full-menu-contact { width:87.5%; max-width:1760px; margin:0 auto; padding:26px 0; border-top:1px solid rgba(255,255,255,.18); display:flex; align-items:center; gap:32px; }
.full-menu-contact > span { margin-right:auto; font-size:14px; color:#a7b8af; }
.full-menu-contact a { color:#fff; font-size:15px; }
.full-menu-contact a[href^="tel"] { font-size:26px; font-weight:600; letter-spacing:-.02em; }
.full-menu-contact a span { color:var(--c-lime); margin-left:12px; }
.full-menu-contact a:hover { color:var(--c-lime); }
@media(max-width:1100px) {
 .full-menu-body { grid-template-columns:1fr; gap:40px; padding:40px 0; }
 .full-menu-intro p { margin:12px 0 0; font-size:34px; }
 .full-menu-intro p br { display:none; }
 .full-menu-intro > div { display:none; }
}
@media(max-width:640px) {
 .full-menu-top { height:76px; padding:0 20px; }
 .full-menu-top > a img { width:160px; }
 .full-menu-close span { left:11px; top:21px; }
 .full-menu-body { width:calc(100% - 40px); padding:32px 0; gap:28px; }
 .full-menu-intro p { font-size:27px; }
 .full-menu-intro > span { font-size:10px; }
 .full-menu-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
 .full-menu-heading { font-size:21px; }
 .full-menu-heading[aria-controls]::after { margin-left:8px; }
 .full-menu-sub { padding-top:12px; }
 .full-menu-sub a { font-size:14px; padding:6px 0; }
 .full-menu-contact { width:calc(100% - 40px); flex-wrap:wrap; gap:12px 20px; padding:24px 0 32px; }
 .full-menu-contact > span { width:100%; }
 .full-menu-contact a[href^="tel"] { font-size:24px; }
 .full-menu-contact a { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
 .full-menu[open] { animation:none; }
 .full-menu * { transition:none!important; }
}
.full-menu-body > #full-menu-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

/* Directions — branch information and expandable maps */
.directions-intro { padding:0 0 42px; border-bottom:2px solid #18261e; }
.directions-intro > p { color:#8cc63f; font-size:12px; font-weight:600; letter-spacing:.1em; margin-bottom:16px; }
.directions-intro h4 { font-size:clamp(26px,2.5vw,42px); line-height:1.4; font-weight:600; letter-spacing:-.04em; }
.directions-intro h4 span { color:#8cc63f; }
.directions-intro > div { display:flex; justify-content:space-between; gap:20px; margin-top:22px; color:#6a736c; font-size:15px; }
.location-card { padding:48px 0; border-bottom:1px solid #e4e8e4; }
.location-summary { display:grid; grid-template-columns:32% 1fr; align-items:center; gap:6%; }
.location-art { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; min-height:240px; padding:32px; border-radius:20px; background:radial-gradient(ellipse at 100% 100%,#375c3c,transparent 70%),#10261b; color:#fff; }
.location-art::after { content:''; position:absolute; width:240px; height:240px; border:1px solid #ffffff16; border-radius:50%; right:-90px; bottom:-110px; box-shadow:0 0 0 35px #ffffff04,0 0 0 70px #ffffff04; }
.location-index { font-size:11px; letter-spacing:.1em; color:#a3be96; margin-bottom:auto; }
.location-art > svg { position:absolute; right:32px; top:30px; width:30px; height:30px; color:var(--c-lime); }
.location-art strong { font-size:32px; font-weight:600; margin-top:38px; letter-spacing:-.03em; }
.location-art small { margin-top:8px; font-size:12px; letter-spacing:.16em; color:#abc29e; }
.location-title { display:flex; align-items:center; gap:18px; margin-bottom:24px; }
.location-title h5 { font-size:30px; font-weight:600; letter-spacing:-.035em; }
.location-toggle { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; border-radius:50%; background:#f0f4ec; color:#8cc63f; transition:background .2s,color .2s,transform .2s; }
.location-toggle svg { width:23px; height:23px; }
.location-toggle:hover,.location-toggle[aria-expanded="true"] { background:var(--c-lime); color:#10261b; }
.location-toggle:hover { transform:translateY(-2px); }
.location-toggle:focus-visible { outline:2px solid #8cc63f; outline-offset:4px; }
.location-info dl { display:grid; gap:14px; }
.location-info dl > div { display:grid; grid-template-columns:74px 1fr; gap:18px; font-size:16px; line-height:1.6; }
.location-info dt { color:#243128; font-weight:600; }
.location-info dd { color:#707970; word-break:keep-all; }
.location-info dd a:hover { color:#8cc63f; }
.location-map { margin-top:28px; border:1px solid #e4e8e0; border-radius:18px; overflow:hidden; background:#f2f4ef; }
.location-map[hidden] { display:none; }
.location-map iframe { display:block; width:100%; height:400px; border:0; }
.location-map-bottom { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 24px; font-size:14px; line-height:1.6; }
.location-map-bottom a { flex-shrink:0; color:#8cc63f; font-weight:600; }
@media(max-width:700px) {
 .directions-intro { padding-bottom:28px; }
 .directions-intro > div { flex-direction:column; gap:8px; font-size:13px; }
 .location-card { padding:30px 0; }
 .location-summary { grid-template-columns:1fr; gap:24px; }
 .location-art { min-height:170px; padding:24px; border-radius:14px; }
 .location-art strong { font-size:27px; margin-top:24px; }
 .location-title { gap:14px; margin-bottom:18px; }
 .location-title h5 { font-size:25px; }
 .location-info dl > div { grid-template-columns:48px 1fr; gap:14px; font-size:15px; }
 .location-map iframe { height:300px; }
 .location-map-bottom { align-items:flex-start; flex-direction:column; padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .location-toggle { transition:none; } }

/* Subvisual dropdown type and notice page heading */
.sv-dropdown li a,.sv-dropdown li > span { font-size:16px; }
.notice-page-head { display:block; margin-bottom:48px; }
.notice-page-head .greeting-eyebrow { display:block; color:#8cc63f; font-size:13px; letter-spacing:.04em; margin-bottom:24px; }
.notice-page-head .page-title { color:#14241a; font-weight:600; }
.notice-page-head .page-desc { margin-top:22px; color:#707970; }

/* Full menu — translucent, six-column navigation */
.full-menu { background:rgba(5,15,10,.43); }
.full-menu::backdrop { background:rgba(0,0,0,.48); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.full-menu-top { height:140px; padding:0 4%; background:transparent; border:0; position:relative; }
.full-menu-top > a img { width:208px; }
.full-menu-close { width:64px; height:64px; border:0; border-radius:0; }
.full-menu-close span { width:58px; height:2px; top:31px; left:3px; background:#fff; }
.full-menu-close:hover { background:transparent; }
.full-menu-close:hover span { background:var(--c-lime); }
.full-menu-intro,.full-menu-contact { display:none; }
.full-menu-body { display:flex; align-items:center; width:81%; max-width:1640px; padding:60px 0 160px; margin:0 auto; flex:1; }
.full-menu-list { grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px; }
.full-menu-list > li { position:relative; padding:0; border:0; }
.full-menu-list > li::before { content:''; position:absolute; top:-26px; left:0; width:9px; height:9px; margin:0; border-radius:50%; background:var(--c-lime); opacity:0; transform:translateY(8px) scale(.5); transition:opacity .25s,transform .25s; }
.full-menu-list > li:hover::before,.full-menu-list > li:focus-within::before { opacity:1; transform:translateY(0) scale(1); }
.full-menu-heading { font-size:clamp(22px,1.7vw,32px); font-weight:600; white-space:nowrap; color:#fff; letter-spacing:-.035em; }
.full-menu-heading[aria-controls]::after { display:none; }
.full-menu-heading[aria-disabled="true"] { color:#fff; }
.full-menu-sub { padding-top:58px; }
.full-menu-sub a { position:relative; padding:7px 0; color:#fff; font-size:16px; font-weight:400; transition:color .2s; }
.full-menu-sub a[aria-disabled="true"] { color:#c2c8c3; }
.full-menu-sub a::after { content:''; position:absolute; bottom:3px; left:0; width:100%; height:1px; background:var(--c-lime); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.full-menu-sub a:not([aria-disabled="true"]):hover,.full-menu-sub a:focus-visible { color:var(--c-lime); transform:none; }
.full-menu-sub a:not([aria-disabled="true"]):hover::after,.full-menu-sub a:focus-visible::after { transform:scaleX(1); }
@media(max-width:1100px) {
 .full-menu-top { height:110px; }
 .full-menu-body { width:87.5%; padding:50px 0 80px; }
 .full-menu-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px 30px; }
 .full-menu-sub { padding-top:24px; }
}
@media(max-width:640px) {
 .full-menu-top { height:90px; padding:0 20px; }
 .full-menu-top > a img { width:160px; }
 .full-menu-close { width:44px; height:44px; }
 .full-menu-close span { width:36px; top:21px; left:4px; }
 .full-menu-body { width:calc(100% - 40px); padding:36px 0 50px; align-items:flex-start; }
 .full-menu-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 20px; }
 .full-menu-heading { font-size:22px; }
 .full-menu-sub { padding-top:20px; }
 .full-menu-sub a { font-size:15px; padding:7px 0; }
 .full-menu-list > li::before { top:-16px; width:6px; height:6px; }
}

/* Reference alignment: one heading, restrained rows, 3:2 visual panels. */
.page-directions .sub-cont > .inner { width:calc(100% - 80px); max-width:1400px; }
.page-directions .sub-cont { padding:100px 0 120px; }
.directions-intro { position:relative; padding:0 0 54px; border-bottom:2px solid #222; }
.directions-intro > p:first-child { color:#222; font-size:14px; font-weight:600; letter-spacing:0; margin-bottom:26px; }
.directions-intro h3 { padding-right:250px; font-size:40px; font-weight:600; letter-spacing:-.04em; line-height:1.4; }
.directions-intro h3 span { color:#8cc63f; }
.directions-intro > .directions-count { position:absolute; top:45px; right:0; display:flex; align-items:center; justify-content:center; gap:20px; margin:0; padding:15px 25px; background:#f4f4f4; border-radius:999px; color:#424940; font-size:14px; }
.directions-count i { width:1px; height:14px; background:#d3d8d0; }
.directions-intro > .directions-help { color:#858b84; font-weight:400; letter-spacing:0; margin:22px 0 0; font-size:14px; }
.location-card { padding:60px 0; border-bottom:1px solid #ededed; }
.location-summary { grid-template-columns:34.3% 1fr; gap:5.5%; }
.location-art { min-height:0; aspect-ratio:3 / 2; padding:32px; border-radius:20px; background:#f3f5f1; color:#243b27; }
.location-art::after { width:250px; height:250px; right:-85px; bottom:-125px; border-color:#dce7d4; box-shadow:0 0 0 35px #eaf0e4,0 0 0 70px #eef3ea; }
.location-index { color:#85947b; font-size:11px; }
.location-art strong { position:relative; z-index:1; font-size:30px; margin-top:auto; }
.location-art small { position:relative; z-index:1; color:#7a8c70; font-size:12px; }
.location-art > svg { color:#86b64b; }
.location-title { gap:20px; margin-bottom:26px; }
.location-title h5 { font-size:28px; color:#171d18; }
.location-toggle { width:48px; height:48px; background:#8cc63f; color:#fff; }
.location-toggle[aria-expanded="true"],.location-toggle:hover,.location-toggle:focus-visible { color:#fff; background:#003808; }
.location-info dl { gap:16px; }
.location-info dl > div { grid-template-columns:90px 1fr; gap:20px; }
.location-map { margin-top:30px; border:0; border-radius:18px; }
.location-map iframe { height:400px; }
.location-map-bottom { background:#f7f8f5; }
@media(max-width:1000px) {
 .directions-intro h3 { padding-right:0; font-size:34px; }
 .directions-intro > .directions-count { position:static; width:fit-content; margin-top:22px; padding:10px 20px; }
 .location-info dl > div { grid-template-columns:55px 1fr; gap:12px; }
}
@media(max-width:700px) {
 .page-directions .sub-cont > .inner { width:calc(100% - 40px); }
 .page-directions .sub-cont { padding:60px 0 80px; }
 .directions-intro { padding-bottom:30px; }
 .directions-intro h3 { font-size:28px; }
 .directions-intro > p:first-child { font-size:12px; margin-bottom:18px; }
 .directions-intro > .directions-count { flex-direction:row; gap:16px; font-size:13px; }
 .directions-intro > .directions-help { font-size:12px; line-height:1.6; }
 .location-card { padding:32px 0; }
 .location-summary { grid-template-columns:1fr; gap:24px; }
 .location-art { aspect-ratio:3 / 2; padding:26px; }
 .location-title h5 { font-size:24px; }
 .location-title { margin-bottom:20px; }
 .location-map iframe { height:300px; }
}

/* Shared editorial titles, matching the CEO message page. */
.sub-cont .editorial-page-head { display:block; margin-bottom:56px; padding:0; border:0; }
.sub-cont .editorial-page-head .greeting-eyebrow { display:block; margin-bottom:28px; font-size:16px; font-weight:700; color:#101c15; letter-spacing:0; }
.sub-cont .editorial-page-head .page-title { font-size:clamp(34px,3.8vw,60px); line-height:1.35; letter-spacing:-.045em; word-break:keep-all; color:#101c15; }
.sub-cont .editorial-page-head .page-title em { color:#8cc63f; font-style:normal; }
.sub-cont .editorial-page-head .page-desc { margin-top:26px; font-size:18px; line-height:1.8; color:#566158; }
.directions-list-label { padding-bottom:24px; border-bottom:2px solid #222; text-align:right; color:#7a8379; font-size:14px; }
@media(max-width:640px) {
 .sub-cont .editorial-page-head { margin-bottom:32px; }
 .sub-cont .editorial-page-head .greeting-eyebrow { font-size:13px; margin-bottom:20px; }
 .sub-cont .editorial-page-head .page-title { font-size:30px; }
 .sub-cont .editorial-page-head .page-desc { font-size:16px; margin-top:20px; }
}

/* Location information typography measured from the supplied reference. */
.location-info { font-family:'Pretendard',sans-serif; }
.location-title { margin-bottom:30px; }
.location-title h5 { font-family:inherit; font-size:30px; font-weight:700; line-height:1.1; letter-spacing:normal; color:#000; }
.location-toggle { width:50px; height:50px; }
.location-info dl { gap:20px; }
.location-info dl > div { font-size:18px; line-height:1.445; letter-spacing:normal; }
.location-info dt { font-weight:700; color:#000; }
.location-info dd { font-weight:500; color:rgba(0,0,0,.6); }
.location-info dd a { font:inherit; color:inherit; }
@media(max-width:700px) {
 .location-title h5 { font-size:26px; }
 .location-title { margin-bottom:24px; }
 .location-info dl > div { font-size:16px; }
 .location-info dl { gap:16px; }
}
/* Preserve the locations divider after removing its count caption. */
.directions-sites > .directions-list { border-top:2px solid #222; }

/* Consistent subpage eyebrow marker; CEO message retains two lines. */
.sub-cont .page-head .greeting-eyebrow::before { content:''; display:inline-block; width:8px; height:8px; margin-right:10px; border-radius:50%; background:#8cc63f; vertical-align:middle; }
body .sub-cont .editorial-page-head .page-title { color:#242424; }
.sub-cont .page-head.is-single-line .page-title { white-space:nowrap; }
@media(max-width:640px) {
 .sub-cont .page-head.is-single-line .page-title { font-size:clamp(23px,6.6vw,30px); }
 .sub-cont .page-head .greeting-eyebrow::before { width:7px; height:7px; margin-right:8px; }
}

/* Compact contact banner: copy and actions only. */
.home-dark .contact-renewed { padding:88px 0; }
.home-dark .contact-panel { display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:40px; }
.home-dark .contact-panel > div:first-child { flex:1; min-width:0; }
.home-dark .contact-panel .eyebrow { margin-bottom:var(--sp-20); }
.home-dark .contact-panel #contact-title { white-space:normal; }
.home-dark .contact-panel .contact-explain { font-size:17px; line-height:1.8; margin-top:20px; white-space:normal; word-break:keep-all; font-weight:400; }
.home-dark .contact-panel .contact-service { flex:0 0 auto; }
.home-dark .contact-panel .service-actions { margin:0; display:flex; flex-direction:row; gap:12px; }
@media(max-width:1300px) {
 .home-dark .contact-panel { flex-direction:column; align-items:flex-start; gap:30px; }
}
@media(max-width:640px) {
 .home-dark .contact-renewed { padding:56px 0; }
.home-dark .contact-panel #contact-title { word-break:keep-all; }
 .home-dark .contact-panel .contact-explain { font-size:15px; white-space:normal; word-break:keep-all; }
 .home-dark .contact-panel .service-actions { flex-wrap:wrap; gap:10px; }
 .home-dark .contact-panel .service-actions .flow-button { padding:0 18px; gap:14px; }
}

/* Main newsroom: text-led list instead of photo cards. */
.home-news-list { border-top:2px solid #18281d; }
.home-news-list > li { border-bottom:1px solid #e0e6de; }
.home-news-list > li > a { display:grid; grid-template-columns:110px minmax(0,1fr) 120px; gap:28px; align-items:center; padding:28px 24px; color:#18281d; transition:background .25s; }
.home-news-category { justify-self:start; display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:6px 14px; border-radius:999px; background:#8cc63f; color:#fff; font-size:14px; font-weight:600; }
.home-news-list h3 { font-size:24px; font-weight:600; line-height:1.5; letter-spacing:-.025em; }
.home-news-list time { color:#7b857b; font-size:16px; }
.home-news-list a:hover,.home-news-list a:focus-visible { background:#f4f8ef; }
.home-news-list a:focus-visible { outline:2px solid #8cc63f; outline-offset:-2px; }
@media(max-width:700px) {
 .home-news-list > li > a { grid-template-columns:1fr; gap:12px; padding:24px 4px; }
 .home-news-category { grid-column:1; font-size:12px; padding:4px 12px; min-width:64px; }
 .home-news-list h3 { grid-column:1; font-size:19px; }
 .home-news-list time { grid-column:1; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .home-news-list a { transition:none; } }

/* Preserve pill buttons; replace only the trailing arrow with a small dot. */
:is(.flow-button,.btn) > .cta-dot { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex:0 0 24px; font-size:0; line-height:0; }
:is(.flow-button,.btn) > .cta-dot::before { content:''; display:block; width:6px; height:6px; border-radius:50%; background:currentColor; }

/* Align contact actions to the content area's right edge. */
.home-dark .contact-panel .contact-service { align-self:flex-end; }
.home-dark .contact-panel .service-actions { justify-content:flex-end; }

/* CTA arrows and white hover labels. */
:is(.flow-button,.btn) > .cta-arrow { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex:0 0 24px; line-height:0; }
:is(.flow-button,.btn) > .cta-arrow svg { display:block; width:24px; height:24px; }
.home-dark #main :is(.flow-button,.btn):is(:hover,:focus-visible),
.home-dark #main :is(.flow-button,.btn):is(:hover,:focus-visible) > span { color:#fff; }

/* Supporting copy beneath the main section titles. */
.home-dark .section-explain { margin-top:20px; font-size:17px; font-weight:400; line-height:1.8; color:#566158; word-break:keep-all; }
.home-dark .recycling-flow .section-explain { color:#c1c5c2; }
#process-title { scroll-margin-top:140px; }
@media(max-width:640px) { .home-dark .section-explain { font-size:15px; } }

/* Main gallery feature and notice list. */
.news-board-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:64px; align-items:start; }
.home-board-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.home-board-heading h3 { font-size:24px; font-weight:600; color:#18281d; }
.home-board-heading > a { font-size:14px; color:#697568; }
.home-board-heading > a:hover { color:#8cc63f; }
.home-gallery-feature { display:block; color:#18281d; }
.home-gallery-photo { aspect-ratio:16 / 10; overflow:hidden; border-radius:16px; background:#eff4e9; }
.home-gallery-photo img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.home-gallery-feature:hover img { transform:scale(1.035); }
.home-gallery-caption { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px 18px; padding-top:24px; }
.home-gallery-caption h4 { font-size:24px; line-height:1.4; font-weight:600; letter-spacing:-.025em; }
.home-gallery-caption time { grid-column:2; color:#7b857b; font-size:15px; }
.news-board-layout .home-news-list > li > a { grid-template-columns:72px minmax(0,1fr); gap:12px 24px; padding:26px 24px; }
.news-board-layout .home-news-category { min-width:72px; padding:6px 12px; }
.news-board-layout .home-news-list .home-news-category { grid-column:1; grid-row:1 / 3; align-self:center; }
.news-board-layout .home-news-list h3 { grid-column:2; font-size:21px; line-height:1.45; word-break:keep-all; }
.news-board-layout .home-news-list time { grid-column:2; font-size:15px; }
@media(max-width:1100px) { .news-board-layout { gap:32px; } .news-board-layout .home-news-list h3,.home-gallery-caption h4 { font-size:19px; } }
@media(max-width:800px) {
 .news-board-layout { grid-template-columns:1fr; gap:48px; }
 .home-board-heading { margin-bottom:20px; }
 .home-board-heading h3 { font-size:22px; }
 .news-board-layout .home-news-list > li > a { padding:24px 16px; gap:10px 16px; }
 .news-board-layout .home-news-list time,.home-gallery-caption time { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .home-gallery-photo img { transition:none; } }
/* News board typography follows the main site's Pretendard hierarchy. */
.home-dark .news-board-layout { font-family:'Pretendard',sans-serif; color:var(--c-ink); }
.home-board-heading h3 { font-size:28px; font-weight:600; line-height:1.4; letter-spacing:-.035em; }
.home-board-heading > a { font-size:16px; font-weight:400; line-height:1.8; }
.home-gallery-caption { grid-template-columns:72px minmax(0,1fr) auto; gap:18px; }
.home-gallery-caption h4,.news-board-layout .home-news-list h3 { font-size:22px; font-weight:600; line-height:1.5; letter-spacing:-.025em; }
.home-gallery-caption time { grid-column:3; justify-self:end; font-size:16px; font-weight:400; white-space:nowrap; }
.news-board-layout .home-news-list > li > a { grid-template-columns:72px minmax(0,1fr) auto; gap:20px; min-height:120px; }
.news-board-layout .home-news-list .home-news-category { grid-row:1; }
.news-board-layout .home-news-list time { grid-column:3; justify-self:end; font-size:16px; font-weight:400; white-space:nowrap; }
@media(max-width:1200px) {
 .home-gallery-caption { grid-template-columns:72px minmax(0,1fr); gap:12px 16px; }
 .home-gallery-caption time { grid-column:2; }
 .news-board-layout .home-news-list > li > a { grid-template-columns:64px minmax(0,1fr); gap:10px 16px; }
 .news-board-layout .home-news-list time { grid-column:2; }
 .home-gallery-caption h4,.news-board-layout .home-news-list h3 { font-size:20px; }
}
@media(max-width:640px) {
 .home-board-heading h3 { font-size:24px; }
 .home-board-heading > a { font-size:15px; }
 .home-gallery-caption h4,.news-board-layout .home-news-list h3 { font-size:18px; }
 .home-gallery-caption time,.news-board-layout .home-news-list time { font-size:14px; }
}

.home-gallery-photo { position:relative; }
.gallery-image-note { position:absolute; right:14px; bottom:12px; padding:4px 8px; border-radius:4px; background:rgba(0,0,0,.5); color:#fff; font-size:11px; font-weight:400; }

/* Shared pill actions beside the newsroom section heading. */
.home-dark .company-stories .stories-links { gap:12px; flex-shrink:0; }
@media(max-width:640px) { .home-dark .company-stories .stories-links { gap:10px; flex-wrap:wrap; } }
/* Process sequence: a clear active stage, shared by autoplay and hover. */
.recycling-steps li { transition:background .35s ease,border-color .35s ease,box-shadow .35s ease; }
.recycling-steps li::before { transition:background .35s ease,box-shadow .35s ease,transform .35s ease; }
.recycling-steps h3,.recycling-number { transition:color .35s ease; }
.recycling-steps li.is-active { background:linear-gradient(180deg,rgba(140,198,63,.17),rgba(140,198,63,.025)); border-color:#a8e65b; box-shadow:inset 0 2px 0 #a8e65b; }
.recycling-steps li.is-active::before { background:#ceff91; transform:scale(1.45); box-shadow:0 0 0 7px rgba(140,198,63,.2),0 0 24px rgba(168,230,91,.8); }
.recycling-steps li.is-active .process-icon { transform:translateY(-8px) scale(1.1); filter:brightness(1.3); }
.recycling-steps li.is-active h3,.recycling-steps li.is-active .recycling-number { color:#caff8b; }
.recycling-steps svg.process-icon { display:block; overflow:visible; }
.recycling-steps .process-part { transform:translate(var(--part-x),var(--part-y)) scale(var(--part-scale)); }
.recycling-steps.is-running li.is-active .process-part { animation:process-merge 1.8s ease-in-out infinite; }
@keyframes process-merge {
 0%,100% { transform:translate(var(--part-x),var(--part-y)) scale(var(--part-scale)); }
 50% { transform:translate(50px,50px) scale(1); stroke:#d6ffa5; }
}
@media(prefers-reduced-motion:reduce) { .recycling-steps.is-running li.is-active .process-part { animation:none; } }
@media(max-width:640px) { .recycling-steps li.is-active { box-shadow:inset 2px 0 0 #a8e65b; } }
@media(prefers-reduced-motion:reduce) {
 .recycling-steps li,.recycling-steps li::before,.recycling-steps h3,.recycling-number { transition:none; }
 .recycling-steps li.is-active .process-icon { transform:none; }
}
/* One tracking value across main content, regardless of size or weight. */
.home-dark #main { --main-tracking:-.025em; }
.home-dark #main * { letter-spacing:var(--main-tracking); }
.home-dark #main :is(.eyebrow,.recycling-number) { letter-spacing:.08em; }
/* Main page minimum type size: 16px on desktop and mobile. */
.home-dark #main :is(.eyebrow,.stat-note,.recycling-number,.gallery-image-note,.home-news-category,.hero-btns .btn,.flow-button),
.home-dark #main .recycling-steps p,
.home-dark #main .news-board-layout time,
.home-dark .ft-editorial :is(.ft-nav-group ul,.ft-nav-group ul a,.ft-pending,.ft-info,.ft-info span,.ft-copy,.ft-copy a,.ft-policy,.ft-policy a),
.home-dark .full-menu-sub a { font-size:16px; }
@media(max-width:640px) {
 .home-dark #main :is(.hero-desc,.about-text p,.section-explain,.contact-explain,.stat-num small) { font-size:16px; }
}
/* More compact location rows and the headquarters concept photograph. */
.location-card { padding:44px 0; }
.location-photo { position:relative; overflow:hidden; aspect-ratio:3 / 2; border-radius:20px; margin:0; }
.location-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.location-photo figcaption { position:absolute; right:12px; bottom:12px; padding:4px 8px; border-radius:4px; background:rgba(0,0,0,.58); color:#fff; font-size:16px; }
@media(max-width:700px) { .location-card { padding:26px 0; } .location-photo { border-radius:14px; } }
/* CEO message visual expands horizontally with scroll, without stretching. */
.page-greeting .greeting-visual {
 width:calc(100% + var(--greeting-extra,0px));
 margin-left:calc(var(--greeting-extra,0px) / -2);
 height:440px; aspect-ratio:auto;
 border-radius:var(--greeting-radius,30px);
}
.page-greeting .greeting-visual img { display:block; }
@media(max-width:640px) { .page-greeting .greeting-visual { height:360px; } }

/* Company editorial layout and glass surfaces — 2026-10-06. */
.brand-lockup { position:relative; width:100%; line-height:0; }
.brand-lockup .brand-word { display:block; width:100%; height:auto; clip-path:inset(0 0 0 27%); }
.brand-lockup .brand-symbol { position:absolute; inset:0; display:block; width:100%; height:auto; clip-path:inset(0 73% 0 0); transform:scale(.9); transform-origin:13.5% 50%; }
.ft-top > .brand-lockup { display:block; width:220px; }
.ft-brand > .brand-lockup { display:block; }
.page-greeting .greet-editorial { grid-template-columns:1fr 1fr; gap:100px; max-width:1440px; }
.page-greeting .greet-editorial .greet-quote h4 { font-size:clamp(28px,2.3vw,38px); line-height:1.5; font-weight:600; letter-spacing:-.035em; }
.page-greeting .greet-editorial .greet-text p { font-size:17px; line-height:1.8; }
.page-greeting .greet-editorial .greet-text p:first-child { font-size:19px; line-height:1.7; margin-bottom:26px; }
.page-greeting .greet-editorial .greet-intro-break { display:none; }
.page-greeting .greet-editorial .greet-sign { border:0; padding-top:8px; margin-top:24px; }
.greet-watermark { margin:40px 0 -80px; color:#edf4e7; font-size:clamp(110px,24vw,420px); font-weight:300; line-height:.9; letter-spacing:-.065em; text-align:center; overflow:hidden; user-select:none; }
.page-overview .company-profile { display:grid; grid-template-columns:.85fr 1.55fr; gap:64px; border-top:1px solid #dfe5db; padding-top:48px; }
.profile-intro { position:relative; display:flex; flex-direction:column; padding:44px; border-radius:24px; background:#193829; color:#fff; overflow:hidden; }
.profile-intro::after { content:''; position:absolute; width:320px; height:320px; border:1px solid rgba(186,223,158,.2); border-radius:50%; right:-150px; bottom:-120px; box-shadow:0 0 0 40px rgba(186,223,158,.035),0 0 0 80px rgba(186,223,158,.025); pointer-events:none; }
.profile-kicker { color:#b5d991; font-size:14px; letter-spacing:.08em; }
.profile-intro h4 { margin:34px 0 24px; font-size:36px; line-height:1.5; font-weight:600; letter-spacing:-.035em; }
.profile-intro p { font-size:16px; line-height:1.9; color:#c6d3c9; }
.profile-since { margin-top:auto; padding-top:60px; font-size:14px; letter-spacing:.08em; color:#b5d991; }
.profile-since strong { display:block; font-size:64px; line-height:1.2; font-weight:500; letter-spacing:-.04em; color:#fff; }
.profile-metrics { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.profile-metrics > div { padding:30px 32px; background:#f3f7ed; border-radius:18px; }
.profile-metrics span { display:block; font-size:16px; color:#63705c; }
.profile-metrics strong { display:block; margin-top:16px; font-size:58px; font-weight:600; letter-spacing:-.04em; color:#517d29; line-height:1.2; }
.profile-metrics small { margin-left:8px; font-size:20px; font-weight:500; }
.profile-facts { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; margin-top:20px; }
.profile-facts > div { padding:26px 0; border-bottom:1px solid #e2e7df; }
.profile-facts > .is-full { grid-column:1/-1; display:grid; grid-template-columns:100px 1fr; gap:20px; }
.profile-facts dt { margin-bottom:10px; font-size:16px; color:#7a8276; }
.profile-facts dd { font-size:19px; line-height:1.7; font-weight:500; color:#242424; }
.profile-contact { display:block; margin-top:8px; color:#7a8276; font-size:15px; font-weight:400; }
.home-dark .about-stats li,.home-dark .about-stats li:first-child { position:relative; isolation:isolate; overflow:hidden; border:1px solid rgba(255,255,255,.36); background:linear-gradient(125deg,rgba(239,255,246,.22),rgba(208,241,223,.07) 48%,rgba(255,255,255,.12)); backdrop-filter:blur(28px) saturate(150%); -webkit-backdrop-filter:blur(28px) saturate(150%); box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 1px 0 0 rgba(255,255,255,.12),0 18px 44px rgba(0,0,0,.18); border-radius:20px; }
.home-dark .about-stats li::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,rgba(255,255,255,.15),transparent 45%); pointer-events:none; }
.home-dark .about-stats li:hover { background:linear-gradient(125deg,rgba(239,255,246,.29),rgba(208,241,223,.12) 48%,rgba(255,255,255,.18)); }
@media(max-width:1100px) { .page-greeting .greet-editorial { gap:50px; } .page-overview .company-profile { gap:32px; grid-template-columns:1fr 1.4fr; } .profile-intro { padding:30px; } .profile-intro h4 { font-size:28px; } }
@media(max-width:760px) {
 .page-greeting .greet-editorial { grid-template-columns:1fr; gap:32px; }
 .page-greeting .greet-editorial .greet-quote h4 { font-size:28px; }
 .page-greeting .greet-editorial .greet-text p { font-size:16px; }
 .page-greeting .greet-editorial .greet-text p:first-child { font-size:18px; }
 .greet-watermark { margin:40px 0 -40px; }
 .page-overview .company-profile { grid-template-columns:1fr; gap:28px; padding-top:28px; }
 .profile-intro h4 { margin-top:24px; } .profile-since { padding-top:32px; }
 .profile-metrics { gap:12px; } .profile-metrics > div { padding:24px 20px; }
 .profile-metrics strong { font-size:44px; } .profile-metrics small { font-size:16px; }
 .profile-facts { column-gap:20px; } .profile-facts dd { font-size:17px; }
 .profile-facts > .is-full { display:block; } .profile-contact { font-size:14px; }
}

/* Supplied About video and balanced greeting columns. */
.home-dark .about-background-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; pointer-events:none; }
.home-dark .about::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:rgba(3,13,10,.36); }
.page-greeting .greet-editorial { grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
.page-greeting .greet-editorial > div { min-width:0; }
.page-greeting .greet-editorial .greet-quote h4 { font-size:clamp(23px,1.85vw,32px); line-height:1.6; }
.page-greeting .greet-editorial .greet-quote h4 > span { display:block; white-space:nowrap; }
.page-greeting .greet-editorial .greet-text p:first-child { font-size:clamp(21px,1.45vw,25px); line-height:1.65; margin-bottom:30px; }
.greet-watermark { font-size:clamp(30px,8.5vw,160px); letter-spacing:-.05em; white-space:nowrap; margin-top:68px; line-height:1.1; }
@media(max-width:1000px) {
 .page-greeting .greet-editorial { grid-template-columns:1fr; gap:32px; }
 .page-greeting .greet-editorial .greet-quote h4 { font-size:clamp(18px,4.6vw,30px); }
 .page-greeting .greet-editorial .greet-text p:first-child { font-size:21px; }
 .greet-watermark { margin-top:48px; font-size:8vw; }
}
/* Keep the full company wordmark inside its content width. */
.greet-watermark { font-size:clamp(24px,6.7vw,120px); }

/* Readable address and map action across all branches. */
.location-map-bottom { font-size:18px; padding:20px 24px; }
.location-map-bottom a { font-size:18px; }
@media(max-width:640px) { .location-map-bottom { font-size:16px; padding:18px; } .location-map-bottom a { font-size:16px; } }

/* Refined company typography and greeting composition. */
.profile-metrics > div { background:#f4f5f3; border:1px solid #e1e5de; }
.profile-metrics span { font-size:18px; color:#454545; }
.profile-metrics strong { color:#193829; }
.profile-metrics small { color:#64765b; }
.profile-facts dt { font-size:18px; color:#686e65; }
.profile-facts > div:first-child dd { font-weight:600; }
.profile-facts > .profile-business { display:block; }
.profile-facts > .profile-business dd { font-size:18px; letter-spacing:-.035em; }
.page-greeting .greet-editorial { gap:64px; padding-top:36px; border-top:1px solid #dfe5da; }
.page-greeting .greet-editorial .greet-quote { position:relative; top:auto; align-self:start; padding:38px 32px; border-radius:18px; background:#f4f7ee; border-top:3px solid #8cc63f; }
.page-greeting .greet-editorial .greet-quote h4 { font-size:clamp(23px,1.7vw,30px); line-height:1.7; letter-spacing:-.04em; color:#193829; }
.page-greeting .greet-editorial .greet-text { padding-top:8px; }
.page-greeting .greet-editorial .greet-text p { line-height:1.95; color:#545b51; }
.page-greeting .greet-editorial .greet-text p:first-child { color:#242424; margin-bottom:32px; }
.page-greeting .greet-editorial .greet-sign { margin-top:32px; padding-top:24px; border-top:1px solid #dfe5da; }
@media(max-width:1100px) { .page-greeting .greet-editorial { gap:32px; } .page-greeting .greet-editorial .greet-quote { padding:28px 20px; } }
@media(max-width:1000px) { .page-greeting .greet-editorial .greet-quote h4 { font-size:clamp(17px,4.35vw,30px); } }
@media(max-width:760px) { .profile-facts > .profile-business dd { font-size:17px; line-height:1.8; } }

/* Business page aligned with the company subpages. */
.page-business .fact-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; border:0; }
.page-business .fact-strip > div { padding:30px; border:1px solid #e1e5de; border-radius:18px; background:#f4f5f3; }
.page-business .fact-strip dt { font-size:18px; color:#454545; }
.page-business .fact-strip dd { color:#64765b; margin-top:20px; }
.page-business .fact-strip dd strong { color:#193829; font-size:52px; font-weight:600; }
.page-business .block-head { margin-bottom:32px; }
.page-business .block-title { font-weight:600; color:#242424; }
.business-areas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.business-area { padding:36px; border:1px solid #e1e5de; border-radius:18px; background:#fff; }
.business-area-num { font-size:18px; font-weight:600; color:#8cc63f; }
.business-area h5 { margin:14px 0 24px; color:#193829; font-size:26px; font-weight:600; }
.business-area ul { display:grid; gap:10px; font-size:18px; line-height:1.7; color:#454545; }
.business-area-note { margin-top:24px; padding-top:20px; border-top:1px solid #e1e5de; font-size:16px; line-height:1.8; color:#73786f; }
.page-business .biz-row { padding:0; gap:0; border:1px solid #e1e5de; border-radius:18px; background:#f4f5f3; }
.page-business .biz-row + .biz-row { margin-top:32px; }
.page-business .biz-row-img { aspect-ratio:4/3; }
.page-business .biz-row-body { justify-content:center; padding:40px; }
.page-business .biz-row-num { font-size:22px; color:#8cc63f; font-weight:600; }
.page-business .biz-row-body h4 { font-size:28px; font-weight:600; color:#193829; line-height:1.45; }
.page-business .biz-row-body li { line-height:1.8; }
.home-dark .about-stats li,.home-dark .about-stats li:first-child { background:rgba(12,27,23,.16); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); border-color:rgba(255,255,255,.3); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.home-dark .about-stats li::before { background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 45%); }
.home-dark .about-stats li:hover { background:rgba(12,27,23,.24); }
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a:not(.is-unlinked):hover,
:is(.home-dark,.shared-header-page) .hd.is-open .gnb-sub a:not(.is-unlinked):focus-visible { color:#8cc63f; background:transparent; }
@media(max-width:1000px) { .page-business .fact-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } .page-business .biz-row { grid-template-columns:1fr; } .page-business .biz-row:nth-child(even) .biz-row-img { order:0; } }
@media(max-width:640px) { .page-business .fact-strip { gap:12px; } .page-business .fact-strip > div { padding:22px 16px; } .page-business .fact-strip dt { font-size:16px; } .page-business .fact-strip dd strong { font-size:36px; } .business-areas { grid-template-columns:1fr; gap:16px; } .business-area { padding:26px 22px; } .business-area h5 { font-size:24px; } .business-area ul { font-size:17px; } .page-business .biz-row-body { padding:28px 22px; } .page-business .biz-row-body h4 { font-size:24px; } }

/* Match the gallery bottom to the notice list; keep mobile naturally stacked. */
@media(min-width:801px) {
 .news-board-layout { align-items:stretch; }
 .news-board-layout .home-gallery-board { contain:size; min-height:0; }
 .news-board-layout .home-gallery-feature { height:100%; display:grid; grid-template-rows:minmax(0,1fr) auto; }
 .news-board-layout .home-gallery-photo { position:relative; min-height:0; aspect-ratio:auto; }
 .news-board-layout .home-gallery-photo img { position:absolute; inset:0; }
}

/* Company metrics and consistently aligned full-width facts. */
.page-overview .profile-metrics > div { background:#f0f7e5; border-color:#d9e8c4; }
.page-overview .profile-metrics strong { color:#79b52f; }
.page-overview .profile-count { font:inherit; font-variant-numeric:tabular-nums; }
.page-overview .profile-metrics small { color:#527d29; }
.page-overview .profile-facts > .is-full { display:block; padding:26px 0; }
.page-overview .profile-facts > .is-full dt { margin:0 0 12px; }
.page-overview .profile-facts > .is-full dd { margin:0; line-height:1.8; }
.page-overview .profile-contact { margin-top:8px; font-size:16px; line-height:1.7; }
@media(max-width:640px) { .page-overview .profile-facts > .is-full { padding:22px 0; } }

/* Business headings: overlapping brand circles. */
.page-business .block-title { display:flex; align-items:center; gap:18px; font-weight:600; color:#242424; }
.page-business .block-title::before { content:''; flex:0 0 29px; width:29px; height:17px; background:radial-gradient(circle at 20.5px 8.5px,#8cc63f 8.5px,transparent 9px),radial-gradient(circle at 8.5px 8.5px,#193829 8.5px,transparent 9px); }
.page-business .fact-strip > div { background:#f0f7e5; border-color:#d9e8c4; }
.page-business .fact-strip dd { color:#527d29; }
.page-business .fact-strip dd strong { color:#79b52f; }
.page-business .business-count { font:inherit; font-variant-numeric:tabular-nums; }
@media(max-width:640px) { .page-business .block-title { gap:12px; } }

/* Greeting editorial statement and Figma 216:270 signature composition. */
.page-greeting .greet-editorial .greet-quote { padding:30px 0 0; background:transparent; border:0; border-radius:0; }
.page-greeting .greet-editorial .greet-quote::before { content:none; }
.page-greeting .greet-editorial .greet-quote h4 { color:#242424; font-weight:600; line-height:1.8; }
.page-greeting .greet-editorial .greet-quote h4 em { color:#79b52f; }
.page-greeting .greet-editorial .greet-sign { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px 20px; padding-top:40px; margin-top:40px; border-top:1px solid #ddd; color:#242424; text-align:left; }
.page-greeting .greet-editorial .greet-sign > span:not(.greet-sign-script) { font-size:18px; font-weight:400; line-height:26px; }
.page-greeting .greet-editorial .greet-sign b { margin:0; font-size:22px; font-weight:600; line-height:30px; }
.page-greeting .greet-editorial .greet-sign .greet-sign-script { font-family:'Freestyle Script','Segoe Script','Brush Script MT',cursive; font-size:44px; font-weight:400; line-height:48px; color:#193829; }
@media(max-width:640px) { .page-greeting .greet-editorial .greet-quote { padding-top:8px; } .page-greeting .greet-editorial .greet-sign { gap:10px 14px; padding-top:28px; margin-top:28px; } .page-greeting .greet-editorial .greet-sign .greet-sign-script { font-size:38px; } }

/* Clear metric labels and a more visible map address/action bar. */
.page-overview .profile-metrics > div > span { color:#242424; font-weight:600; }
.page-overview .company-profile { border-top:0; }
.location-map-bottom { background:#f0f5e9; border-top:1px solid #d6e1ca; padding:22px 28px; gap:20px; }
.location-map-bottom > span { color:#242424; font-size:20px; font-weight:600; line-height:1.6; }
.location-map-bottom > a { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:10px 22px; border-radius:8px; background:#193829; color:#fff; font-size:17px; font-weight:600; line-height:1.5; transition:background .2s; }
.location-map-bottom > a:hover { background:#315b30; }
.location-map-bottom > a:focus-visible { outline:3px solid #8cc63f; outline-offset:3px; }
.location-map-bottom > a > span { font-size:22px; line-height:1; }
@media(max-width:640px) { .location-map-bottom { padding:20px; gap:16px; } .location-map-bottom > span { font-size:18px; } .location-map-bottom > a { align-self:stretch; font-size:16px; } }

/* Smaller paired dots for business section headings. */
.page-business .block-title { gap:12px; }
.page-business .block-title::before { flex-basis:17px; width:17px; height:10px; background:radial-gradient(circle at 12px 5px,#8cc63f 5px,transparent 5.4px),radial-gradient(circle at 5px 5px,#193829 5px,transparent 5.4px); }

/* Use the shared page-heading spacing without a second inset. */
.page-overview .company-profile { padding-top:0; }

/* Tall metric cards: title/icon above, large count anchored below. */
.page-business .fact-strip { gap:24px; }
.page-business .fact-strip > div { display:flex; flex-direction:column; justify-content:space-between; min-height:280px; padding:32px 28px; border:0; border-radius:16px; background:#f0f7e5; }
.page-business .fact-strip dt { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; font-size:21px; font-weight:600; line-height:1.5; color:#242424; }
.page-business .metric-icon { width:38px; height:38px; flex:0 0 38px; color:#94bd6d; }
.page-business .fact-strip dd { display:flex; align-items:baseline; gap:8px; margin-top:56px; color:#687360; font-size:17px; white-space:nowrap; }
.page-business .fact-strip dd strong { font-size:64px; font-weight:500; line-height:1; letter-spacing:-.04em; color:#527d29; }
@media(max-width:1200px) and (min-width:1001px) { .page-business .fact-strip { gap:16px; } .page-business .fact-strip > div { padding:26px 20px; } .page-business .fact-strip dt { font-size:18px; } .page-business .metric-icon { width:30px; height:30px; flex-basis:30px; } .page-business .fact-strip dd strong { font-size:52px; } }
@media(max-width:640px) { .page-business .fact-strip { gap:12px; } .page-business .fact-strip > div { padding:22px 16px; min-height:210px; } .page-business .fact-strip dt { font-size:16px; gap:8px; flex-wrap:wrap; } .page-business .metric-icon { width:28px; height:28px; flex-basis:28px; margin-left:auto; } .page-business .fact-strip dd { gap:5px; margin-top:30px; font-size:14px; } .page-business .fact-strip dd strong { font-size:42px; } }

/* Progressive sticky stack, enabled only when each card fits the viewport. */
.page-business .biz-rows.is-card-stack { position:relative; isolation:isolate; padding-bottom:8vh; }
.page-business .is-card-stack .biz-row { position:sticky; top:calc(var(--stack-top) + var(--card-index) * 16px); z-index:calc(1 + var(--card-index)); transform:scale(var(--card-scale,1)); transform-origin:50% 0; box-shadow:0 12px 36px rgba(25,56,41,.08); }
.page-business .is-card-stack .biz-row + .biz-row { margin-top:100px; }
.page-business .biz-rows.is-card-reveal .biz-row { transition:opacity .65s ease,transform .65s ease; }
.page-business .biz-rows.is-card-reveal .biz-row:not(.is-card-visible) { opacity:0; transform:translateY(36px); }
@media(prefers-reduced-motion:reduce) { .page-business .biz-rows .biz-row { transition:none; transform:none; } }

/* Business metric palette refinement. */
.page-business .fact-strip > div { background:#f8f8f8; }
.page-business .fact-strip dd strong { font-weight:700; color:#8cc63f; }

/* Business content follows the shared neutral and lime palette. */
.page-business .business-area { display:flex; flex-direction:column; padding:36px; border:1px solid #e5e5e5; border-radius:16px; background:#f8f8f8; }
.page-business .business-area-num,.page-business .biz-row-num { color:#8cc63f; font-size:18px; line-height:1.5; font-weight:600; }
.page-business .business-area h5,.page-business .biz-row-body h4 { color:#242424; font-weight:600; letter-spacing:-.025em; line-height:1.5; }
.page-business .business-area h5 { margin:12px 0 24px; font-size:26px; }
.page-business .business-area ul { color:#454545; font-size:18px; line-height:1.8; margin-bottom:24px; }
.page-business .business-area-note { margin-top:auto; padding-top:20px; border-color:#dedede; color:#767676; font-size:16px; line-height:1.8; }
.page-business .biz-row { background:#f8f8f8; border-color:#e5e5e5; border-radius:16px; }
.page-business .biz-row-body { padding:44px; background:#f8f8f8; }
.page-business .biz-row-body h4 { margin-top:12px; font-size:28px; }
.page-business .biz-row-body ul { margin-top:28px; border-color:#dedede; }
.page-business .biz-row-body li { color:#454545; font-size:18px; line-height:1.8; border-color:#dedede; padding:16px 0; }
.page-business .biz-row-body li small { color:#767676; font-size:16px; line-height:1.8; margin-top:6px; }
@media(max-width:640px) { .page-business .business-area,.page-business .biz-row-body { padding:28px 22px; } .page-business .business-area h5,.page-business .biz-row-body h4 { font-size:24px; } .page-business .business-area ul,.page-business .biz-row-body li { font-size:17px; } }

/* Balanced letter columns beneath the shared statement. */
.page-greeting .greet-editorial { column-gap:64px; row-gap:40px; }
.page-greeting .greet-editorial .greet-quote { grid-column:1 / -1; padding:0; }
.page-greeting .greet-editorial .greet-quote h4 { font-size:32px; line-height:1.6; }
.page-greeting .greet-editorial .greet-quote h4 > span { white-space:normal; word-break:keep-all; }
.page-greeting .greet-editorial .greet-text { padding-top:0; }
.page-greeting .greet-editorial .greet-text p,
.page-greeting .greet-editorial .greet-text p:first-child { font-size:20px; line-height:1.85; color:#454545; margin-bottom:0; }
.page-greeting .greet-editorial .greet-text p + p { margin-top:26px; }
.page-greeting .greet-editorial .greet-text p.greet-opening { font-size:24px; line-height:1.65; }
.page-business .fact-strip dd { color:#454545; font-weight:600; }
@media(max-width:1000px) {
 .page-greeting .greet-editorial { row-gap:28px; }
 .page-greeting .greet-editorial .greet-quote h4 { font-size:28px; }
}
@media(max-width:640px) {
 .page-greeting .greet-editorial .greet-quote h4 { font-size:25px; }
 .page-greeting .greet-editorial .greet-text p,
 .page-greeting .greet-editorial .greet-text p:first-child { font-size:18px; }
 .page-greeting .greet-editorial .greet-text p.greet-opening { font-size:22px; }
}

/* Greeting: shared introduction followed by aligned body columns. */
.page-greeting .greet-editorial { border-top:0; padding-top:0; }
.page-greeting .greet-editorial .greet-quote h4 { font-size:44px; line-height:1.5; }
.page-greeting .greet-editorial .greet-introduction { grid-column:1 / -1; }
@media(max-width:1000px) { .page-greeting .greet-editorial .greet-quote h4 { font-size:36px; } }
@media(max-width:640px) { .page-greeting .greet-editorial .greet-quote h4 { font-size:30px; } }

/* Keep the complete greeting letter together on the right. */
.page-greeting .greet-editorial .greet-quote { grid-column:auto; }

/* Business composition: open editorial rows with a dedicated title column. */
.page-business .business-areas { display:block; border-top:2px solid #242424; }
.page-business .business-area { display:grid; grid-template-columns:64px minmax(220px,.8fr) minmax(0,1.6fr); column-gap:32px; row-gap:22px; padding:40px 8px; border:0; border-bottom:1px solid #dedede; border-radius:0; background:#fff; align-items:start; }
.page-business .business-area-num { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:#eff6e5; color:#6eaa27; font-size:20px; font-weight:600; grid-column:1; grid-row:1 / 3; }
.page-business .business-area h5 { grid-column:2; grid-row:1 / 3; margin:8px 0 0; font-size:28px; word-break:keep-all; }
.page-business .business-area ul { grid-column:3; margin:6px 0 0; gap:10px; }
.page-business .business-area li { position:relative; padding-left:16px; word-break:keep-all; }
.page-business .business-area li::before { content:''; position:absolute; left:0; top:.75em; width:5px; height:5px; border-radius:50%; background:#8cc63f; }
.page-business .business-area-note { grid-column:3; margin:0; padding:16px 20px; border:0; border-left:3px solid #8cc63f; border-radius:0 8px 8px 0; background:#f8f8f8; color:#666; }
@media(max-width:1000px) {
 .page-business .business-area { grid-template-columns:48px minmax(160px,.8fr) minmax(0,1.4fr); column-gap:20px; }
 .page-business .business-area-num { width:44px; height:44px; font-size:18px; }
 .page-business .business-area h5 { font-size:24px; margin-top:4px; }
}
@media(max-width:640px) {
 .page-business .business-area { grid-template-columns:40px minmax(0,1fr); gap:20px 14px; padding:28px 0; }
 .page-business .business-area-num { grid-row:1; width:40px; height:40px; }
 .page-business .business-area h5 { grid-row:1; margin-top:2px; }
 .page-business .business-area ul,.page-business .business-area-note { grid-column:1 / -1; margin:0; }
 .page-business .business-area-note { padding:14px 16px; font-size:15px; }
}

/* Stronger business hierarchy with branded title panels. */
.page-business .business-areas { display:grid; grid-template-columns:1fr; gap:24px; border:0; }
.page-business .business-area { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:0; padding:0; overflow:hidden; border:1px solid #e1e5de; border-radius:16px; background:#fff; }
.page-business .business-area-heading { padding:36px; background:#193829; }
.page-business .business-area-content { padding:32px 40px; min-width:0; }
.page-business .business-area .business-area-num { display:block; width:auto; height:auto; border-radius:0; background:none; color:#a9d965; font-size:36px; line-height:1.2; }
.page-business .business-area h5 { margin:22px 0 0; color:#fff; font-size:32px; line-height:1.5; }
.page-business .business-area ul { margin:0; gap:12px; font-size:21px; line-height:1.8; color:#454545; }
.page-business .business-area li { padding-left:18px; }
.page-business .business-area li::before { width:6px; height:6px; }
.page-business .business-area-note { margin-top:24px; padding:18px 22px; background:#f3f6ef; color:#454545; font-size:18px; }
.page-business .block-title { font-size:32px; font-weight:700; }
@media(max-width:1000px) {
 .page-business .business-area-heading { padding:28px; }
 .page-business .business-area-content { padding:28px; }
 .page-business .business-area h5 { font-size:28px; }
 .page-business .business-area ul { font-size:19px; }
}
@media(max-width:640px) {
 .page-business .business-areas { gap:20px; }
 .page-business .business-area { grid-template-columns:1fr; padding:0; }
 .page-business .business-area-heading { display:flex; align-items:center; gap:16px; padding:24px; }
 .page-business .business-area .business-area-num { font-size:26px; flex-shrink:0; }
 .page-business .business-area h5 { margin:0; font-size:24px; }
 .page-business .business-area-content { padding:24px; }
 .page-business .business-area ul { font-size:18px; }
 .page-business .business-area-note { padding:16px; font-size:16px; }
 .page-business .block-title { font-size:28px; }
}
.page-business .business-area-heading { align-self:stretch; }

/* Signature lockup based on the supplied company/title/name reference. */
.page-greeting .greet-editorial .greet-sign-reference { border:0; margin-top:44px; padding-top:0; gap:18px 24px; }
.page-greeting .greet-editorial .greet-sign-reference > span:not(.greet-sign-script) { color:#242424; font-size:20px; font-weight:500; line-height:1.5; }
.page-greeting .greet-editorial .greet-sign-reference b { color:#242424; font-size:32px; font-weight:700; line-height:1.4; }
.page-greeting .greet-editorial .greet-sign-reference .greet-sign-script { color:#454545; font-size:54px; line-height:1.2; transform:rotate(-7deg); }
@media(max-width:640px) {
 .page-greeting .greet-editorial .greet-sign-reference { margin-top:36px; gap:14px 18px; }
 .page-greeting .greet-editorial .greet-sign-reference > span:not(.greet-sign-script) { font-size:17px; }
 .page-greeting .greet-editorial .greet-sign-reference b { font-size:28px; }
 .page-greeting .greet-editorial .greet-sign-reference .greet-sign-script { font-size:46px; }
}

/* Reference-style white feature cards on a brand-color field. */
.page-business .business-areas { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:28px; border-radius:24px; background:#79b52f; }
.page-business .business-area { display:flex; flex-direction:column; gap:0; padding:40px; border:0; border-radius:22px; background:#fff; }
.page-business .business-area-heading { padding:0; background:transparent; }
.page-business .business-area-icon { display:block; width:100px; height:100px; margin-bottom:32px; filter:drop-shadow(2px 5px 2px rgba(55,105,34,.13)); }
.page-business .business-area h5 { margin:0; color:#242424; font-size:30px; }
.page-business .business-area-content { display:flex; flex-direction:column; padding:0; }
.page-business .business-area-note { order:-1; margin:16px 0 26px; padding:0; border:0; border-radius:0; background:none; font-size:18px; color:#666; line-height:1.8; }
.page-business .business-area ul { font-size:19px; gap:12px; }
.page-business .business-area li { padding-left:34px; }
.page-business .business-area li::before { content:'✓'; display:flex; align-items:center; justify-content:center; top:.35em; width:22px; height:22px; background:#79b52f; color:#fff; border-radius:50%; font-size:14px; font-weight:700; line-height:1; }
@media(max-width:1000px) {
 .page-business .business-areas { padding:20px; gap:20px; }
 .page-business .business-area { padding:28px; }
 .page-business .business-area h5 { font-size:26px; }
 .page-business .business-area ul { font-size:18px; }
}
@media(max-width:640px) {
 .page-business .business-areas { grid-template-columns:1fr; padding:14px; gap:14px; border-radius:20px; }
 .page-business .business-area { padding:26px 20px; border-radius:16px; }
 .page-business .business-area-heading { display:block; padding:0; }
 .page-business .business-area-icon { width:76px; height:76px; margin-bottom:24px; }
 .page-business .business-area h5 { font-size:24px; }
 .page-business .business-area-content { padding:0; }
 .page-business .business-area-note { font-size:16px; margin:14px 0 22px; padding:0; }
 .page-business .business-area ul { font-size:17px; }
}

@font-face {
 font-family:'Prestige Signature Script Demo';
 src:url('../fonts/PrestigeSignatureScript-Demo.ttf') format('truetype');
 font-style:normal;
 font-weight:400;
 font-display:swap;
}
.page-greeting .greet-editorial .greet-sign-reference b { font-size:26px; }
.page-greeting .greet-editorial .greet-sign-reference .greet-sign-script { font-family:'Prestige Signature Script Demo',cursive; font-weight:400; transform:none; }
@media(max-width:640px) { .page-greeting .greet-editorial .greet-sign-reference b { font-size:24px; } }

/* Image-backed business feature cards with progressive stacking. */
.page-business .business-areas { display:block; padding:0; border-radius:0; background:none; }
.page-business .business-area { display:grid; grid-template-columns:1fr 1fr; gap:0; min-height:440px; padding:12px; overflow:hidden; border:1px solid #eef0eb; border-radius:24px; background:#fff; box-shadow:0 12px 40px rgba(25,56,41,.09); }
.page-business .business-area + .business-area { margin-top:40px; }
.page-business .business-area-text { align-self:center; min-width:0; padding:40px; }
.page-business .business-area-photo { align-self:stretch; min-height:416px; overflow:hidden; border-radius:16px; }
.page-business .business-area-photo img { display:block; width:100%; height:100%; min-height:416px; object-fit:cover; }
.page-business .business-areas.is-card-stack { position:relative; isolation:isolate; padding-bottom:0; }
.page-business .business-areas.is-card-stack .business-area { position:sticky; top:calc(var(--stack-top) + var(--card-index) * 16px); z-index:calc(1 + var(--card-index)); transform:scale(var(--card-scale,1)); transform-origin:50% 0; }
.page-business .business-areas.is-card-stack .business-area + .business-area { margin-top:140px; }
.page-business .business-areas.is-card-reveal .business-area { transition:opacity .65s ease,transform .65s ease; }
.page-business .business-areas.is-card-reveal .business-area:not(.is-card-visible) { opacity:0; transform:translateY(36px); }
@media(max-width:1000px) {
 .page-business .business-area-text { padding:28px; }
 .page-business .business-area { min-height:380px; }
 .page-business .business-area-photo,.page-business .business-area-photo img { min-height:356px; }
}
@media(max-width:640px) {
 .page-business .business-area { grid-template-columns:1fr; padding:10px; min-height:0; border-radius:20px; }
 .page-business .business-area-text { padding:22px 14px 28px; }
 .page-business .business-area-photo { min-height:0; aspect-ratio:4 / 3; border-radius:12px; }
 .page-business .business-area-photo img { min-height:0; height:100%; }
 .page-business .business-area + .business-area { margin-top:24px; }
}
@media(prefers-reduced-motion:reduce) { .page-business .business-areas .business-area { transition:none; transform:none; } }

/* Wider letter column and a quieter signature. */
@media(min-width:1201px) {
 .page-greeting .greet-editorial { grid-template-columns:minmax(0,calc(50% - 192px)) minmax(0,calc(50% + 128px)); }
}
.page-greeting .greet-editorial .greet-sign-reference .greet-sign-script { font-size:42px; }
@media(max-width:640px) { .page-greeting .greet-editorial .greet-sign-reference .greet-sign-script { font-size:36px; } }

/* Compact step badges above each business title. */
.page-business .business-step-badge { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:28px; padding:0 10px; margin-bottom:18px; border-radius:20px; background:#79b52f; color:#fff; font-size:15px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums; }
@media(max-width:640px) { .page-business .business-step-badge { margin-bottom:14px; } }

/* Refine feature-card typography, spacing, and content hierarchy. */
.page-business .business-area-text { padding:44px 48px; }
.page-business .business-step-badge { min-width:46px; height:30px; margin-bottom:20px; background:#8cc63f; }
.page-business .business-area h5 { font-size:34px; line-height:1.4; letter-spacing:-.03em; }
.page-business .business-area-note { color:#545454; margin:18px 0 0; }
.page-business .business-area ul { margin-top:26px; padding-top:24px; border-top:1px solid #e7ebe3; gap:14px; }
.page-business .business-area { box-shadow:0 10px 32px rgba(25,56,41,.07); }
@media(max-width:1000px) {
 .page-business .business-area-text { padding:28px; }
 .page-business .business-area h5 { font-size:28px; }
}
@media(max-width:640px) {
 .page-business .business-area-text { padding:24px 14px 28px; }
 .page-business .business-step-badge { height:28px; min-width:42px; margin-bottom:16px; }
 .page-business .business-area h5 { font-size:26px; }
 .page-business .business-area-note { margin-top:14px; }
 .page-business .business-area ul { margin-top:22px; padding-top:20px; gap:12px; }
}

/* Text-only business cards retain their scroll stack. */
.page-business .business-area { grid-template-columns:minmax(0,1fr); min-height:380px; }
.page-business .business-area-text { width:100%; box-sizing:border-box; padding:40px 48px; }
@media(max-width:1000px) { .page-business .business-area-text { padding:28px; } }
@media(max-width:640px) {
 .page-business .business-area { min-height:0; }
 .page-business .business-area-text { padding:24px 14px 28px; }
}

.page-business .business-step-badge { background:#193829; }

/* Newly generated business photography: image left, text right. */
.page-business .business-area { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:440px; }
.page-business .business-area-photo { position:relative; min-height:416px; align-self:stretch; }
.page-business .business-area-photo img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; }
.page-business .business-step-badge { background:#8cc63f; color:#fff; }
@media(max-width:1000px) { .page-business .business-area-photo { min-height:356px; } }
@media(max-width:640px) {
 .page-business .business-area { grid-template-columns:1fr; min-height:0; }
 .page-business .business-area-photo { min-height:0; aspect-ratio:4 / 3; }
}

/* 회사개요 — 서브페이지 공통 타이포·컬러톤 */
.page-overview .profile-kicker,
.page-overview .profile-since { color:#8cc63f; font-size:15px; font-weight:500; }
.page-overview .profile-intro h4 { font-size:40px; line-height:1.5; color:#fff; font-weight:600; }
.page-overview .profile-intro p { font-size:18px; line-height:1.85; color:#e3e9e5; }
.page-overview .profile-since strong { font-size:64px; font-weight:700; }
.page-overview .profile-metrics > div { background:#f8f8f8; border-color:#f8f8f8; }
.page-overview .profile-metrics > div > span { font-size:21px; color:#242424; font-weight:600; }
.page-overview .profile-metrics strong { font-size:64px; font-weight:700; color:#8cc63f; }
.page-overview .profile-metrics small { font-size:18px; font-weight:400; color:#454545; letter-spacing:0; }
.page-overview .profile-facts dt { font-size:18px; font-weight:600; color:#242424; }
.page-overview .profile-facts dd,
.page-overview .profile-facts > .profile-business dd { font-size:20px; font-weight:400; color:#454545; line-height:1.8; letter-spacing:-.025em; }
.page-overview .profile-facts > div:first-child dd { font-weight:600; color:#242424; }
.page-overview .profile-contact { font-size:17px; color:#767676; }
@media(max-width:1100px) {
 .page-overview .profile-intro h4 { font-size:32px; }
}
@media(max-width:640px) {
 .page-overview .profile-intro h4 { font-size:30px; }
 .page-overview .profile-intro p { font-size:17px; }
 .page-overview .profile-metrics > div { padding:24px 18px; }
 .page-overview .profile-metrics > div > span { font-size:17px; }
 .page-overview .profile-metrics strong { font-size:42px; }
 .page-overview .profile-metrics small { font-size:16px; margin-left:5px; }
 .page-overview .profile-facts dt { font-size:16px; }
 .page-overview .profile-facts dd,
 .page-overview .profile-facts > .profile-business dd { font-size:18px; }
 .page-overview .profile-contact { font-size:15px; }
}

/* 공통 헤더 흰 로고 및 전체메뉴 상단 정리 */
.hd .brand-lockup.logo-white { opacity:1; }
.hd .brand-lockup.logo-white img { opacity:1; filter:brightness(0) invert(1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='opaque' color-interpolation-filters='sRGB'%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='1.7'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3C/svg%3E#opaque"); }
.full-menu-top { justify-content:flex-end; }

/* 사업 이미지와 카드 외곽 사이 여백 */
.page-business .business-area-photo { margin:12px 0 12px 12px; }
@media(max-width:640px) {
 .page-business .business-area-photo { margin:8px 8px 0; }
}

/* 사업 구성 카드 — 테두리 없는 연회색 배경 */
.page-business .business-area {
 border:0;
 background:#f8f8f8;
}

/* 사용자 요청으로 메인 회사소개 임시 숨김, hidden 제거 시 복원 */
.sec.about[hidden] { display:none !important; }

/* 회사개요 항목 하단 구분선 */
.page-overview .profile-facts > div { border-bottom-color:#ddd; }

/* 서브 페이지 이동 메뉴: 첫 화면부터 헤더 아래 고정 */
.sv-navigation.sv-navigation-top { position:fixed; top:var(--h-header); left:0; z-index:90; width:100%; max-width:none; height:58px; padding:0 max(4%,calc((100% - 1440px)/2)); box-sizing:border-box; border-radius:0; background:#fff; border-bottom:1px solid #ddd; box-shadow:0 3px 12px #00000006; backdrop-filter:none; }
.sv-navigation-top .sv-dropdown { width:260px; border-left:1px solid #e8e8e8; }
.sv-navigation-top .sv-dropdown:last-child { border-right:1px solid #e8e8e8; }
.sv-navigation-top .sv-dropdown summary { height:57px; padding:0 24px; border-radius:0; background:#fff; color:#242424; font-size:17px; font-weight:600; }
.sv-navigation-top .sv-category summary { background:#f8f8f8; color:#454545; }
.sv-navigation-top .sv-dropdown:last-child summary { color:#8cc63f; }
.sv-navigation-top .sv-dropdown[open] summary { background:#edf5e5; color:#242424; }
.sv-navigation-top .sv-dropdown ul { top:100%; bottom:auto; padding:8px; border:1px solid #ddd; border-radius:0 0 12px 12px; background:#fff; box-shadow:0 12px 24px #00000014; max-height:calc(100dvh - var(--h-header) - 80px); }
.sv-navigation-top .sv-dropdown li a,.sv-navigation-top .sv-dropdown li > span { color:#454545; font-size:16px; padding:12px; }
.sv-navigation-top .sv-dropdown li a:hover,.sv-navigation-top .sv-dropdown li a:focus-visible,.sv-navigation-top .sv-dropdown li a.is-active { background:#edf5e5; color:#8cc63f; }
.sv-navigation-top .sv-dropdown li .is-unlinked,.sv-navigation-top .sv-dropdown li [aria-disabled=true] { color:#999; }
.sv-navigation-top ~ main { scroll-margin-top:calc(var(--h-header) + 78px); }
@media(max-width:640px) {
 .sv-navigation.sv-navigation-top { height:50px; padding:0 20px; }
 .sv-navigation-top .sv-dropdown { width:50%; }
 .sv-navigation-top .sv-dropdown summary { height:49px; padding:0 14px; font-size:15px; }
 .sv-navigation-top .sv-dropdown li a,.sv-navigation-top .sv-dropdown li > span { font-size:14px; }
}

/* 메인 현장 이미지 슬라이드 */
.home-dark .hero-slide { position:relative; min-width:0; overflow:hidden; }
.home-dark .hero-slide img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; animation:none; }
.hero-slide-controls { display:flex; align-items:center; gap:16px; margin-bottom:24px; color:#fff; }
.hero-slide-controls button { display:grid; place-items:center; width:36px; height:36px; border:1px solid #ffffff70; border-radius:50%; background:transparent; color:#fff; cursor:pointer; font-size:18px; }
.hero-slide-controls button:hover { background:#ffffff25; }
.hero-slide-controls button:focus-visible { outline:2px solid #8cc63f; outline-offset:3px; }
.hero-slide-count { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
@media(prefers-reduced-motion:reduce) { .hero-slide { transition:none; } }
/* 핵심 수치: 카드 대신 구분선과 큰 숫자로 구성 */
.page-business .fact-strip { gap:0; border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:40px 0; }
.page-business .fact-strip > div { min-height:0; padding:0 36px; background:transparent; border:0; border-radius:0; }
.page-business .fact-strip > div + div { border-left:1px solid #ddd; }
.page-business .fact-strip dt { font-size:20px; }
.page-business .fact-strip dd { margin-top:28px; }
.page-business .fact-strip dd strong { font-size:68px; }
@media(max-width:1000px) {
 .page-business .fact-strip { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:36px; }
 .page-business .fact-strip > div:nth-child(3) { border-left:0; }
}
@media(max-width:640px) {
 .page-business .fact-strip { padding:28px 0; row-gap:28px; }
 .page-business .fact-strip > div { padding:0 16px; }
 .page-business .fact-strip dt { font-size:16px; }
 .page-business .fact-strip dd { margin-top:18px; }
 .page-business .fact-strip dd strong { font-size:40px; }
 .hero-slide-controls { margin-bottom:18px; gap:12px; }
}

/* 서브비주얼: 본문 접근성을 높인 낮은 배너 */
.shared-header-page .sv-reference { height:600px; min-height:0; }
.shared-header-page .sv-reference .sv-inner { width:calc(100% - 80px); max-width:1440px; margin:0 auto; padding:190px 0 64px; box-sizing:border-box; flex-direction:row; align-items:flex-end; }
.shared-header-page .sv-reference .sv-title { font-size:72px; font-weight:700; line-height:1.1; letter-spacing:-.035em; }
.shared-header-page .sv-reference .sv-description { margin-top:20px; font-size:21px; line-height:1.65; }
.shared-header-page .sv-reference .sv-bg img { object-position:center 60%; }
.shared-header-page .sv-reference .sv-bg::after { background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.14)); }
.shared-header-page .sv-reference .sv-light-line,
.shared-header-page .sv-reference .sv-scroll { display:none; }
@media(max-width:1200px) {
 .shared-header-page .sv-reference { height:520px; }
 .shared-header-page .sv-reference .sv-inner { width:calc(100% - 64px); padding-bottom:48px; }
 .shared-header-page .sv-reference .sv-title { font-size:60px; }
 .shared-header-page .sv-reference .sv-description { font-size:19px; }
}
@media(max-width:640px) {
 .shared-header-page .sv-reference { height:420px; }
 .shared-header-page .sv-reference .sv-inner { width:calc(100% - 40px); padding:150px 0 36px; }
 .shared-header-page .sv-reference .sv-title { font-size:44px; }
 .shared-header-page .sv-reference .sv-description { margin-top:16px; font-size:17px; }
}
.shared-header-page .sv-reference .sv-copy { flex:1 1 auto; width:100%; min-width:0; }

/* 겹치는 사업 카드의 앞뒤 구분 강화 */
.page-business .business-areas.is-card-stack .business-area {
 box-shadow:0 -12px 32px rgba(25,40,32,.13),0 16px 36px rgba(25,40,32,.1);
}
.page-business .business-areas.is-card-stack .business-area::after {
 content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
 border-radius:inherit; background:rgba(16,32,24,var(--card-shade,0));
}

/* 서브비주얼 하단 내비게이션 — 스크롤 시 헤더 아래 고정 */
.sv-navigation.sv-navigation-top { position:sticky; top:var(--h-header); height:64px; background:#193829; border:0; box-shadow:0 6px 18px #19382912; }
.sv-navigation-top .sv-dropdown { width:280px; border-left:1px solid #ffffff20; }
.sv-navigation-top .sv-dropdown:last-child { border-right:1px solid #ffffff20; }
.sv-navigation-top .sv-dropdown summary { height:64px; background:transparent; color:#fff; }
.sv-navigation-top .sv-category summary { background:transparent; color:#fff; }
.sv-navigation-top .sv-dropdown:last-child summary { background:#8cc63f; color:#193829; }
.sv-navigation-top .sv-dropdown[open] summary { background:#294c39; color:#fff; }
.sv-navigation-top .sv-dropdown:last-child[open] summary { background:#8cc63f; color:#193829; }
.sv-navigation-top .sv-dropdown summary:focus-visible { outline:2px solid #fff; outline-offset:-5px; }
@media(max-width:640px) {
 .sv-navigation.sv-navigation-top { height:54px; padding:0; }
 .sv-navigation-top .sv-dropdown { width:50%; }
 .sv-navigation-top .sv-dropdown summary { height:54px; padding:0 20px; }
}

/* 흰 카드와 절제된 2차 메뉴 */
.page-business .business-area { background:#f8f8f8; }
.sv-navigation.sv-secondary-tabs { height:auto; min-height:72px; padding:0 max(4%,calc((100% - 1440px)/2)); background:#fff; border-bottom:1px solid #e5e5e5; box-shadow:none; }
.sv-secondary-tabs > ul { display:flex; justify-content:safe center; align-items:stretch; gap:48px; width:100%; margin:0; padding:0; overflow-x:auto; scrollbar-width:thin; }
.sv-secondary-tabs li { flex:0 0 auto; }
.sv-secondary-tabs li a { display:flex; align-items:center; height:72px; padding:0 8px; border-bottom:3px solid transparent; box-sizing:border-box; color:#242424; font-size:17px; font-weight:500; white-space:nowrap; }
.sv-secondary-tabs li a.is-active { color:#8cc63f; font-weight:600; border-bottom-color:#8cc63f; }
.sv-secondary-tabs li a:hover { color:#242424; }
.sv-secondary-tabs li a:focus-visible { outline:2px solid #8cc63f; outline-offset:-5px; }
.sv-secondary-tabs li a.is-unlinked { color:#242424; pointer-events:none; }
@media(max-width:640px) {
 .sv-navigation.sv-secondary-tabs { min-height:60px; padding:0 20px; }
 .sv-secondary-tabs > ul { gap:28px; }
 .sv-secondary-tabs li a { height:60px; font-size:15px; padding:0 2px; }
}

/* 회사개요: 기존 좌우 구조에 밝고 절제된 스타일 */
.page-overview .profile-metrics { gap:0; padding:28px 0 32px; border-top:2px solid #242424; border-bottom:1px solid #ddd; }
.page-overview .profile-metrics > div { background:transparent; border:0; border-radius:0; padding:0 32px; }
.page-overview .profile-metrics > div:first-child { padding-left:0; }
.page-overview .profile-metrics > div + div { border-left:1px solid #ddd; }
.page-overview .profile-metrics > div > span { font-size:19px; }
.page-overview .profile-metrics strong { margin-top:16px; }
.page-overview .profile-facts { margin-top:12px; }
@media(max-width:1100px) {
}
@media(max-width:640px) {
 .page-overview .profile-metrics { padding:24px 0; }
 .page-overview .profile-metrics > div { padding:0 18px; }
 .page-overview .profile-metrics > div > span { font-size:17px; }
}


/* 회사 정보 내용 글씨 굵기 통일 */
.page-overview .profile-facts > div:first-child dd { font-weight:400; color:#454545; }

/* 사업 구성 카드: 그림자 대신 얇은 구분선 */
.page-business .business-area,
.page-business .business-areas.is-card-stack .business-area { box-shadow:none; border:1px solid #ddd; }

/* 회사개요 항목 제목의 시각적 굵기 통일 */
.page-overview .profile-metrics > div > span,
.page-overview .profile-facts dt { font-size:18px; font-weight:600; color:#242424; }
@media(max-width:640px) {
 .page-overview .profile-metrics > div > span,
 .page-overview .profile-facts dt { font-size:16px; }
}
.sv-secondary-tabs li a.is-active:hover { color:#8cc63f; }

/* 연혁 진행 포인트 */
.page-history .sub-full-page .sub-timeline { position:relative; padding-left:58px; border-top:0; }
.page-history .sub-timeline::before { content:''; position:absolute; left:12px; top:72px; bottom:40px; width:2px; background:#e0e5da; }
.page-history .sub-full-page .sub-timeline article { position:relative; border-bottom:0; padding:44px 0 60px; }
.page-history .sub-timeline article::before { content:''; position:absolute; left:-46px; top:72px; width:14px; height:14px; border:3px solid #8cc63f; border-radius:50%; background:#fff; transform:translate(-50%,-50%); transition:transform .45s ease,background .45s ease,box-shadow .45s ease; }
.page-history .sub-timeline article.is-history-active::before { background:#8cc63f; transform:translate(-50%,-50%) scale(1.55); box-shadow:0 0 0 7px #8cc63f22; }
.page-history .sub-timeline article.is-history-active>strong { color:#8cc63f; }
/* 기존 홈페이지의 조직 관계를 유지한 조직도 */
.org-chart { padding:64px 48px; border:1px solid #e1e5dd; border-radius:24px; background:linear-gradient(180deg,#f5f8f1,#fff); }
.org-spine { position:relative; }
.org-spine::before { content:''; position:absolute; top:40px; bottom:0; left:50%; width:1px; background:#bac7af; }
.org-node { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:240px; min-height:70px; margin:auto; border-radius:12px; font-size:21px; font-weight:600; letter-spacing:-.025em; }
.org-ceo { min-height:90px; background:#193829; color:#fff; box-shadow:0 8px 24px #19382912; }
.org-advisory-row { position:relative; margin-top:40px; }
.org-advisory { background:#8cc63f; color:#fff; }
.org-support { position:absolute; left:calc(50% + 190px); top:0; background:#fff; border:1px solid #b7c8a5; color:#24452e; }
.org-support::before { content:''; position:absolute; right:100%; top:50%; width:70px; height:1px; background:#bac7af; }
.org-research-row { position:relative; height:80px; }
.org-research { position:absolute; right:calc(50% + 190px); top:6px; background:#fff; border:1px solid #b7c8a5; color:#24452e; }
.org-research::after { content:''; position:absolute; left:100%; top:50%; width:190px; height:1px; background:#bac7af; }
.org-operation { background:#8cc63f; color:#193829; }
.org-teams { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:72px; }
.org-teams::before { content:''; position:absolute; top:-36px; left:calc((100% - 64px)/6); right:calc((100% - 64px)/6); border-top:1px solid #bac7af; }
.org-teams::after { content:''; position:absolute; top:-72px; left:50%; height:36px; border-left:1px solid #bac7af; }
.org-teams article { position:relative; border:1px solid #d7dfd0; border-radius:14px; background:#fff; }
.org-teams article::before { content:''; position:absolute; left:50%; top:-36px; height:36px; border-left:1px solid #bac7af; }
.org-teams h4 { margin:0; padding:22px; border-bottom:1px solid #e1e7dc; border-radius:14px 14px 0 0; background:#f0f4eb; color:#242424; font-size:22px; text-align:center; }
.org-teams ul { margin:0; padding:28px 32px; min-height:118px; list-style:none; color:#545454; font-size:18px; line-height:1.8; }
.org-teams li::before { content:'·'; margin-right:10px; color:#8cc63f; }
@media(max-width:1100px){.org-chart{padding:48px 24px}.org-node{width:190px;font-size:19px}.org-support{left:calc(50% + 130px)}.org-support::before{width:35px}.org-research{right:calc(50% + 130px)}.org-research::after{width:130px}}
@media(max-width:760px){.org-chart{padding:32px 16px}.org-node{width:150px;min-height:64px;font-size:17px}.org-advisory-row{padding-bottom:80px}.org-support{left:calc(50% + 16px);top:84px;width:calc(50% - 16px)}.org-support::before{width:16px}.org-research-row{height:80px}.org-research{right:calc(50% + 16px);top:0;width:calc(50% - 16px)}.org-research::after{width:16px}.org-teams{gap:10px;margin-top:56px}.org-teams::before{left:calc((100% - 20px)/6);right:calc((100% - 20px)/6);top:-28px}.org-teams::after{top:-56px;height:28px}.org-teams article::before{top:-28px;height:28px}.org-teams h4{font-size:16px;padding:18px 4px}.org-teams ul{padding:18px 10px;font-size:14px}.page-history .sub-full-page .sub-timeline{padding-left:34px}.page-history .sub-timeline::before{left:6px;top:52px}.page-history .sub-timeline article::before{left:-28px;top:52px;width:12px;height:12px}.page-history .sub-full-page .sub-timeline article{padding:30px 0 36px}}
@media(prefers-reduced-motion:reduce){.page-history .sub-timeline article::before{transition:none}}

.page-facilities .facility-heading-note { display:inline; margin-left:12px; font-size:17px; font-weight:400; line-height:1.7; color:#666; letter-spacing:0; }
.certificate-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; margin-top:56px; }
.certificate-card { min-width:0; margin:0; }
.certificate-preview { position:relative; display:block; aspect-ratio:225/343; overflow:hidden; background:#fff; border:1px solid #e0e0e0; box-shadow:0 5px 18px #00000008; }
.certificate-preview img { position:absolute; display:block; max-width:none; height:auto; }
.certificate-preview:focus-visible { outline:3px solid #8cc63f; outline-offset:4px; }
.certificate-card figcaption { padding:18px 4px 0; text-align:center; color:#242424; font-size:17px; font-weight:600; line-height:1.5; word-break:keep-all; }
@media(max-width:1000px){.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}}
@media(max-width:640px){.certificate-grid{gap:28px 14px;margin-top:32px}.certificate-card figcaption{font-size:14px;padding-top:12px}.page-facilities .facility-heading-note{display:block;margin:12px 0 0;font-size:15px}}

.page-facilities .facility-vehicle-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:start}.page-facilities .facility-document{margin:0;text-align:center}.facility-document img{width:100%;max-width:528px;height:auto;border:1px solid #ddd}.facility-document figcaption{font-size:14px;color:#666;margin-top:12px}.page-facilities tfoot{font-weight:700;background:#f3f5f1}.page-facilities td small{display:inline-block;font-size:12px;color:#666;line-height:1.6}.page-facilities td[rowspan]{vertical-align:middle}@media(max-width:767px){.page-facilities .facility-vehicle-layout{grid-template-columns:1fr;gap:24px}}

/* Certificate document crops and original issuing details */
.certificate-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:40px 24px}.certificate-preview{border:0;box-shadow:none}.certificate-card figcaption{font-size:16px;padding:18px 0 0}.certificate-card figcaption strong{display:block;font-weight:600;min-height:48px}.certificate-details{display:block;margin-top:10px;color:#666;font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere}@media(max-width:1100px){.certificate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.certificate-card figcaption{font-size:14px}.certificate-details{font-size:12px}}

/* Philosophy closing statement */
.page-philosophy .philosophy-statement{margin:64px 0 0;padding:64px 24px 16px;border:0;border-top:1px solid #ddd;border-radius:0;background:transparent;text-align:center;font-size:clamp(24px,2.7vw,40px);line-height:1.65;font-weight:500;letter-spacing:-.04em;word-break:keep-all;}
.page-philosophy .philosophy-statement::before{content:"";display:block;width:32px;height:3px;margin:0 auto 28px;background:#8cc63f;}
.page-philosophy .philosophy-statement p{margin:0;font:inherit;color:#242424;}
.page-philosophy .philosophy-statement strong{color:#8cc63f;font-weight:700;}
@media(max-width:640px){.page-philosophy .philosophy-statement{margin-top:40px;padding:40px 0 0;font-size:clamp(20px,5.2vw,26px);line-height:1.7;}.page-philosophy .philosophy-statement::before{margin-bottom:20px;}}

/* Shared lime emphasis for subpage headlines */
.sub-cont .title-accent{color:#8cc63f;font-style:normal;font-weight:inherit;}

/* Philosophy values: spacious cards, brand lime center card */
.page-philosophy .philosophy-values-section{background:#f5f5f5;padding:32px;border-radius:24px;}
.page-philosophy .philosophy-values{margin:0;gap:20px;}
.page-philosophy .philosophy-values .sub-feature{display:flex;flex-direction:column;align-items:flex-start;min-height:400px;padding:40px;border:0;border-radius:16px;background:#fff;}
.page-philosophy .philosophy-values .value-icon{width:42px;height:42px;margin-bottom:30px;color:#242424;}
.page-philosophy .philosophy-values h4{margin:0 0 14px;font-size:28px;line-height:1.4;}
.page-philosophy .philosophy-values p{margin:0;padding:0;border:0;font-size:17px;line-height:1.8;color:#777;}
.page-philosophy .philosophy-values .value-index{align-self:flex-end;margin-top:auto;padding-top:52px;color:#8cc63f;font-size:88px;font-weight:700;line-height:1;letter-spacing:-.05em;}
.page-philosophy .philosophy-values .sub-feature:nth-child(2){background:#8cc63f;}
.page-philosophy .philosophy-values .sub-feature:nth-child(2) :is(h4,p,.value-icon,.value-index){color:#fff;}
.page-philosophy .philosophy-values-section .philosophy-statement{margin:0;padding:56px 16px 24px;border:0;font-size:clamp(23px,2.3vw,34px);line-height:1.6;}
.page-philosophy .philosophy-values-section .philosophy-statement::before{display:none;}
.page-philosophy .philosophy-values-section .philosophy-statement strong{color:#8cc63f;}
@media(max-width:1100px){.page-philosophy .philosophy-values .sub-feature{padding:28px;min-height:360px;}.page-philosophy .philosophy-values h4{font-size:25px;}.page-philosophy .philosophy-values .value-index{font-size:72px;}}
@media(max-width:767px){.page-philosophy .philosophy-values-section{padding:20px;border-radius:20px;}.page-philosophy .philosophy-values{grid-template-columns:1fr;gap:16px;}.page-philosophy .philosophy-values .sub-feature{min-height:300px;padding:28px;}.page-philosophy .philosophy-values .value-index{padding-top:24px;font-size:64px;}.page-philosophy .philosophy-values-section .philosophy-statement{padding:36px 0 12px;font-size:22px;}}

/* Facilities table totals: brand lime */
.page-facilities .sub-data-table tfoot,
.page-facilities .sub-data-table tfoot tr,
.page-facilities .sub-data-table tfoot th,
.page-facilities .sub-data-table tfoot td{background:#f1f8e8;color:#8cc63f;font-weight:700;}

/* Uniform certificate image frames */
.page-certificates .certificate-preview{display:flex;align-items:center;justify-content:center;height:320px;aspect-ratio:auto;padding:20px 12px;border:1px solid #ddd;background:#fff;box-sizing:border-box;overflow:hidden;}
.page-certificates .certificate-crop{display:block;position:relative;height:100%;width:auto;max-width:100%;aspect-ratio:var(--certificate-ratio);overflow:hidden;flex:none;}
.page-certificates .certificate-crop img{position:absolute;max-width:none;height:auto;}
@media(max-width:640px){.page-certificates .certificate-preview{height:240px;padding:16px 10px;}}

.page-certificates .certificate-crop{height:240px;}
@media(max-width:640px){.page-certificates .certificate-crop{height:180px;}}
@media(max-width:380px){.page-certificates .certificate-preview{height:200px;padding:12px 8px;}.page-certificates .certificate-crop{height:145px;}}

/* Certificate caption sizes */
.page-certificates .certificate-card figcaption,.page-certificates .certificate-card figcaption strong{font-size:18px;line-height:1.5;}
.page-certificates .certificate-card .certificate-details{font-size:16px;line-height:1.7;}

/* Products: three cards per desktop row */
.page-products .sub-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;}
.page-products .sub-media-grid article{display:flex;flex-direction:column;align-items:stretch;padding:18px;border-radius:20px;min-width:0;}
.page-products .sub-media-grid article>img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover;border-radius:12px;}
.page-products .sub-media-grid article>div{padding:24px 8px 12px;}
.page-products .sub-media-grid article>div::before{margin-bottom:14px;}
.page-products .sub-media-grid h4{font-size:24px;line-height:1.45;word-break:keep-all;}
@media(max-width:1000px){.page-products .sub-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.page-products .sub-media-grid{grid-template-columns:1fr;gap:24px;}.page-products .sub-media-grid article{padding:16px;}.page-products .sub-media-grid h4{font-size:22px;}}

/* English value keywords */
.page-philosophy .philosophy-values .value-index{font-size:clamp(24px,2.7vw,44px);letter-spacing:-.045em;line-height:1.1;white-space:nowrap;max-width:100%;}
@media(min-width:768px) and (max-width:1100px){.page-philosophy .philosophy-values .value-index{font-size:26px;}}
@media(max-width:767px){.page-philosophy .philosophy-values .value-index{font-size:clamp(25px,7vw,40px);}}

/* Full-width philosophy background, 100px vertical spacing */
.page-philosophy .philosophy-values-section{position:relative;isolation:isolate;padding:100px 0;border-radius:0;background:transparent;}
.page-philosophy .philosophy-values-section::before{content:"";position:absolute;z-index:-1;inset:0 calc(50% - 50vw);background:#f5f5f5;pointer-events:none;}
.page-philosophy #main{overflow-x:clip;}

/* Organization canvas background removed */
.page-organization .org-chart{background:transparent;}

/* Center product card numbers and titles */
.page-products .sub-media-grid article>div{text-align:center;}
.page-products .sub-media-grid article>div::before{margin-left:auto;margin-right:auto;}
.page-products .sub-media-grid article h4{text-align:center;}

/* Recycling: expanding visual and sequential process */
.page-recycling .recycling-visual{position:relative;width:calc(100% + var(--greeting-extra,0px));margin:0 0 72px;margin-left:calc(var(--greeting-extra,0px) / -2);height:440px;border-radius:var(--greeting-radius,30px);overflow:hidden;}
.page-recycling .recycling-visual img{display:block;width:100%;height:100%;object-fit:cover;}
.page-recycling .recycling-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;margin:64px 0 0;padding:0;}
.page-recycling .recycling-step{position:relative;padding:32px 24px;background:#f8f8f8;border:1px solid #ddd;border-radius:20px;text-align:center;}
.page-recycling .recycling-step:not(:last-child)::after{content:'→';position:absolute;right:-29px;top:106px;font-size:26px;line-height:1;color:#8cc63f;}
.page-recycling .recycling-step-no{display:block;color:#8cc63f;font-size:14px;font-weight:700;letter-spacing:.08em;}
.page-recycling .recycling-step-icon{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#8cc63f;margin:22px auto;color:#fff;}
.page-recycling .recycling-step-icon svg{width:48px;height:48px;}
.page-recycling .recycling-step h4{font-size:25px;line-height:1.4;margin:0 0 16px;}
.page-recycling .recycling-step p{font-size:17px;line-height:1.8;color:#666;word-break:keep-all;margin:0;}
@media(max-width:1000px){.page-recycling .recycling-flow{grid-template-columns:1fr;gap:32px;}.page-recycling .recycling-step{display:grid;grid-template-columns:88px 1fr;column-gap:24px;text-align:left;padding:28px;}.page-recycling .recycling-step-icon{grid-column:1;grid-row:1/4;margin:0;}.page-recycling .recycling-step-no,.page-recycling .recycling-step h4,.page-recycling .recycling-step p{grid-column:2;}.page-recycling .recycling-step h4{margin:8px 0;}.page-recycling .recycling-step:not(:last-child)::after{content:'↓';top:auto;bottom:-29px;left:50%;right:auto;transform:translateX(-50%);}}
@media(max-width:640px){.page-recycling .recycling-visual{height:360px;margin-bottom:40px;}.page-recycling .recycling-flow{margin-top:40px;}.page-recycling .recycling-step{padding:24px 20px;grid-template-columns:64px 1fr;gap:0 16px;}.page-recycling .recycling-step-icon{width:64px;height:64px;}.page-recycling .recycling-step-icon svg{width:38px;height:38px;}.page-recycling .recycling-step h4{font-size:22px;}.page-recycling .recycling-step p{font-size:16px;}}

/* Original partner and waste management content */
.page-partners .partner-original>img{display:block;width:100%;max-width:100%;height:auto;margin:0 auto;}
.page-partners .sub-data-table tbody th{font-weight:500;vertical-align:middle;}
.page-management .management-original{margin-top:56px;}
.page-management .management-original th,.page-management .management-original td{vertical-align:middle;}
.page-management .management-original tbody th{width:28%;font-weight:500;color:#111;background:#f8f8f8;}
.page-management .management-original td{width:36%;}
.page-management .management-original img{display:block;width:180px;height:64px;object-fit:contain;max-width:100%;}
.page-performance .sub-data-table thead th{background:#111111;color:#fff;}
.page-performance .sub-data-table tbody td:first-child{color:#111111;font-weight:500;}

/* Organization node styling and unified type */
.page-organization .org-chart .org-ceo{width:180px;height:180px;min-height:180px;border-radius:50%;background:linear-gradient(135deg,#193829 8%,#8cc63f 100%);color:#fff;}
.page-organization .org-chart .org-advisory{background:#238b45;color:#fff;}
.page-organization .org-chart .org-operation{color:#fff;}
.page-organization .org-chart .org-node,
.page-organization .org-chart .org-teams h4,
.page-organization .org-chart .org-teams ul,
.page-organization .org-chart .org-teams li{font-size:18px;}
@media(max-width:760px){.page-organization .org-chart .org-ceo{width:150px;height:150px;min-height:150px;}.page-organization .org-chart .org-teams h4{word-break:keep-all;}.page-organization .org-chart .org-teams ul{padding:18px 8px;overflow-wrap:anywhere;}}

/* Join philosophy values background directly to footer */
.page-philosophy .sub-cont{padding-bottom:0;}

/* Waste service: photo and copy cards aligned with business pages */
.page-waste .flow3{display:grid;grid-template-columns:1fr;gap:40px;border:0;padding:0;margin:0;}
.page-waste .flow3>li{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:24px;border:1px solid #ddd;border-radius:24px;background:#f8f8f8;min-width:0;}
.page-waste .waste-service-image{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;border-radius:16px;}
.page-waste .waste-service-copy{padding:32px 40px;min-width:0;}
.page-waste .flow3 .flow3-num{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:30px;padding:0 12px;margin:0 0 22px;border-radius:999px;background:#8cc63f;color:#fff;font-size:15px;font-weight:700;}
.page-waste .flow3 h4{font-size:32px;line-height:1.4;margin:0 0 24px;letter-spacing:-.035em;}
.page-waste .flow3 p{font-size:18px;line-height:1.8;color:#545454;margin:0;}
.page-waste .flow3-partner{margin-top:28px;padding-top:24px;border-top:1px solid #ddd;}
.page-waste .flow3-partner dt{font-size:16px;font-weight:600;color:#111;margin:20px 0 12px;}
.page-waste .flow3-partner dt:first-child{margin-top:0;}
.page-waste .flow3-partner dd{display:grid;gap:12px;margin:0;}
.page-waste .flow3-partner .tag{display:flex;align-items:baseline;gap:12px;border:0;padding:0;background:none;font-size:17px;line-height:1.7;color:#545454;}
.page-waste .flow3-partner .tag::before{content:'✓';display:inline-grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#8cc63f;color:#fff;font-size:13px;line-height:20px;}
.page-waste .target-list{border-top:0;gap:16px;}
.page-waste .target-list li{padding:24px;border:1px solid #ddd;border-radius:16px;background:#f8f8f8;font-size:17px;line-height:1.7;}
.page-waste .target-list li>span{color:#8cc63f;}
.page-waste .flow-card{border:1px solid #ddd;background:#f8f8f8;border-radius:16px;overflow:hidden;}
.page-waste .flow-arrow{color:#8cc63f;}
.page-waste .res-list li{background:#f8f8f8;border:1px solid #ddd;border-radius:12px;}
@media(max-width:1000px){.page-waste .waste-service-copy{padding:24px;}.page-waste .flow3 h4{font-size:27px;}}
@media(max-width:767px){.page-waste .flow3>li{grid-template-columns:1fr;padding:18px;border-radius:20px;}.page-waste .waste-service-image{height:260px;min-height:0;}.page-waste .waste-service-copy{padding:28px 8px 12px;}.page-waste .flow3 h4{font-size:26px;}.page-waste .flow3 p{font-size:17px;}}

/* Recycling process: match the business service photo cards. */
.page-waste .waste-process-cards{display:grid;gap:32px;margin:0;padding:0;list-style:none;}
.page-waste .waste-process-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:24px;border:1px solid #ddd;border-radius:24px;background:#f8f8f8;overflow:hidden;}
.page-waste .waste-process-photo{overflow:hidden;border-radius:16px;aspect-ratio:5/3;}
.page-waste .waste-process-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.page-waste .waste-process-copy{padding:24px 36px 24px 0;min-width:0;}
.page-waste .waste-process-number{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:5px 14px;border-radius:30px;background:#8cc63f;color:#fff;font-size:16px;font-weight:700;line-height:1.3;}
.page-waste .waste-process-copy h5{margin:24px 0 0;font-size:32px;font-weight:700;line-height:1.4;color:#111;word-break:keep-all;}
@media(max-width:767px){.page-waste .waste-process-card{grid-template-columns:1fr;gap:0;padding:16px;border-radius:20px;}.page-waste .waste-process-copy{padding:24px 8px 16px;}.page-waste .waste-process-copy h5{font-size:24px;margin-top:16px;}}
/* Certificate title-to-description spacing. */
.certificate-card figcaption strong{min-height:0;margin:0;}
.certificate-card .certificate-details{margin-top:16px;}

/* Connected recycling diagram, preserving parallel A/B routes. */
.page-waste .waste-process-cards{max-width:1040px;margin:0 auto;gap:64px 48px;}
.page-waste .waste-process-card{position:relative;overflow:visible;display:block;padding:20px;}
.page-waste .waste-process-photo{aspect-ratio:16/9;}
.page-waste .waste-process-copy{padding:24px 8px 8px;text-align:center;}
.page-waste .waste-process-copy h5{font-size:24px;margin-top:16px;}
.page-waste .waste-process-cards:not(.is-branched){max-width:600px;}
.page-waste .waste-process-card:not(:first-child)::before{content:'↓';position:absolute;top:-54px;left:50%;transform:translateX(-50%);font-size:36px;line-height:40px;color:#8cc63f;}
.page-waste .waste-process-cards.is-branched{grid-template-columns:repeat(2,minmax(0,1fr));}
.page-waste .is-branched>.waste-process-card:nth-child(-n+2){grid-column:1/-1;width:calc(50% - 24px);justify-self:center;box-sizing:border-box;}
.page-waste .is-branched>.waste-process-card:nth-child(2)::after{content:'';position:absolute;left:calc(-50% - 24px);right:calc(-50% - 24px);bottom:-33px;height:16px;border-top:2px solid #8cc63f;border-left:2px solid #8cc63f;border-right:2px solid #8cc63f;pointer-events:none;}
.page-waste .is-branched>.waste-process-card:nth-child(3)::before,.page-waste .is-branched>.waste-process-card:nth-child(4)::before{top:-33px;font-size:28px;line-height:32px;}
.page-waste .resource-photo-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border:0;}
.page-waste .resource-photo-list>li{display:block;padding:12px 12px 20px;border:1px solid #ddd;border-radius:16px;background:#f8f8f8;text-align:center;overflow:hidden;}
.page-waste .resource-photo{display:block;position:relative;aspect-ratio:21/11;overflow:hidden;border-radius:10px;margin-bottom:16px;}
.page-waste .resource-photo img{position:absolute;max-width:none;height:auto;display:block;}
@media(max-width:767px){.page-waste .waste-process-cards{gap:56px 16px;}.page-waste .waste-process-card{padding:10px;}.page-waste .is-branched>.waste-process-card:nth-child(-n+2){width:75%;}.page-waste .waste-process-copy{padding:16px 0 8px;}.page-waste .waste-process-copy h5{font-size:18px;}.page-waste .is-branched>.waste-process-card:nth-child(2)::after{left:16%;right:16%;bottom:-29px;}.page-waste .resource-photo-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}}

/* Plastic recycling: one horizontal sequence with parallel processing routes. */
@media(min-width:768px){
.page-waste .waste-process-cards.is-branched{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:20px 40px;align-items:center;}
.page-waste .is-branched>.waste-process-card{width:100%;box-sizing:border-box;padding:14px;border-radius:20px;}
.page-waste .is-branched>.waste-process-card:nth-child(1){grid-column:1;grid-row:1/3;width:100%;}
.page-waste .is-branched>.waste-process-card:nth-child(2){grid-column:2;grid-row:1/3;width:100%;}
.page-waste .is-branched>.waste-process-card:nth-child(3){grid-column:3;grid-row:1;}
.page-waste .is-branched>.waste-process-card:nth-child(4){grid-column:3;grid-row:2;}
.page-waste .is-branched>.waste-process-card:nth-child(5){grid-column:4;grid-row:1;}
.page-waste .is-branched>.waste-process-card:nth-child(6){grid-column:4;grid-row:2;}
.page-waste .is-branched .waste-process-photo{aspect-ratio:16/9;border-radius:12px;}
.page-waste .is-branched .waste-process-copy{padding:16px 0 4px;}
.page-waste .is-branched .waste-process-copy h5{font-size:18px;margin-top:12px;}
.page-waste .is-branched .waste-process-number{font-size:14px;min-width:40px;padding:4px 10px;}
.page-waste .is-branched>.waste-process-card:not(:first-child)::before{content:'→';top:50%;left:-21px;transform:translate(-50%,-50%);font-size:28px;line-height:32px;}
.page-waste .is-branched>.waste-process-card:nth-child(2)::after{display:none;}
.page-waste .is-branched>.waste-process-card:nth-child(3)::after{content:'';position:absolute;left:-21px;top:50%;height:calc(100% + 20px);border-left:2px solid #8cc63f;pointer-events:none;}
}

.page-waste .waste-process-cards.is-branched{position:relative;}
.page-waste .process-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;display:none;}
@media(min-width:768px){.page-waste .is-branched.has-connectors>.waste-process-card::before,.page-waste .is-branched.has-connectors>.waste-process-card::after{display:none!important;}.page-waste .is-branched .process-connectors{display:block;}}

/* Remove the legacy text-chip height so the photo and caption remain visible. */
.page-waste .resource-photo-list>li{height:auto;min-height:0;}
.page-waste .resource-photo-list .resource-photo{width:100%;height:auto;}
.page-waste .resource-photo-list>li>span:last-child{display:block;position:static;color:#111;line-height:1.5;}
@media(min-width:768px){
.page-waste .waste-process-cards:not(.is-branched){max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;align-items:stretch;}
.page-waste .waste-process-cards:not(.is-branched)>.waste-process-card{padding:14px;min-width:0;border-radius:20px;}
.page-waste .waste-process-cards:not(.is-branched) .waste-process-copy{padding:16px 0 4px;}
.page-waste .waste-process-cards:not(.is-branched) .waste-process-copy h5{font-size:18px;margin-top:12px;}
.page-waste .waste-process-cards:not(.is-branched) .waste-process-number{font-size:14px;min-width:40px;padding:4px 10px;}
.page-waste .waste-process-cards:not(.is-branched)>.waste-process-card:not(:first-child)::before{content:'→';top:50%;left:-21px;transform:translate(-50%,-50%);font-size:28px;line-height:32px;}
}

/* Render each source-sheet photograph without offscreen lazy-loaded images. */
.page-waste .resource-photo-list .resource-photo{display:block;width:100%;height:auto;aspect-ratio:21/11;background-repeat:no-repeat;background-color:#fff;}

@media(min-width:1001px){.page-recycling .recycling-step:not(:last-child)::after{top:50%;right:-17px;width:28px;text-align:center;transform:translate(50%,-50%);}}

.page-waste #panel-1 .resource-photo-list .resource-photo{aspect-ratio:3/2;}

/* Complete S32 source content. */
.page-recycling .recycling-source-section{margin-top:80px;}
.page-recycling .recycling-source-section>h4{font-size:30px;color:#111;margin:0 0 32px;font-weight:600;}
.page-recycling .recycling-collection{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:36px;border:1px solid #ddd;border-radius:24px;background:#f8f8f8;align-items:center;}
.page-recycling .recycling-collection-photo{width:100%;max-width:274px;margin:0 auto 20px;aspect-ratio:274/280;background:url('../images/resources/s32_bg.jpg') 5.836576% 46.25% / 287.591241% 157.142857% no-repeat;border-radius:16px;}
.page-recycling .recycling-collection h5,.page-recycling .recycling-collection>div>p{text-align:center;font-size:18px;line-height:1.7;}
.page-recycling .recycling-collection ul{display:grid;gap:14px;list-style:none;padding:0;}
.page-recycling .recycling-collection li{position:relative;padding-left:20px;font-size:16px;line-height:1.7;color:#555;}
.page-recycling .recycling-collection li::before{content:'•';position:absolute;left:0;color:#8cc63f;}
.page-recycling .recycling-materials{display:grid;gap:24px;}
.page-recycling .recycling-material{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:32px;border:1px solid #ddd;border-radius:20px;background:#f8f8f8;}
.page-recycling .recycling-material h5{font-size:26px;color:#111;margin:0 0 8px;}
.page-recycling .recycling-material-copy>span{font-size:16px;color:#638a31;}
.page-recycling .recycling-material p{font-size:16px;line-height:1.8;color:#555;margin:16px 0 0;}
.page-recycling .recycling-material-photo{width:100%;max-height:200px;background-repeat:no-repeat;border-radius:12px;justify-self:center;}
.page-recycling .recycling-material:nth-last-child(-n+2) .recycling-material-photo{max-width:210px;}
.page-organization .org-chart{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;}
.page-organization .org-chart .org-node.org-ceo{font-size:26px;}
@media(max-width:767px){.page-recycling .recycling-collection,.page-recycling .recycling-material{grid-template-columns:1fr;padding:24px;gap:24px;}.page-recycling .recycling-source-section{margin-top:56px;}}

.page-philosophy .philosophy-values-section .philosophy-statement{margin:0 0 56px;padding:0 16px;}
@media(max-width:767px){.page-philosophy .philosophy-values-section .philosophy-statement{margin-bottom:36px;padding:0;}}

.page-philosophy .philosophy-values-section .philosophy-statement{margin:56px 0 0;padding:0 16px;}
.page-philosophy .philosophy-values .sub-feature p{font-size:20px;}
@media(max-width:767px){.page-philosophy .philosophy-values-section .philosophy-statement{margin:36px 0 0;padding:0;}}

/* 폐기물처리 서비스: 재활용 공정 선택을 명확하게 표시 */
.page-waste [data-tabs] > .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,720px);margin:0 auto 32px;padding:6px;border:1px solid #d9e5cb;border-radius:9999px;background:#f1f5eb;box-sizing:border-box;}
.page-waste [data-tabs] > .tabs .tab-btn{width:100%;height:60px;margin:0;padding:0 16px;border:0;border-radius:9999px;background:transparent;color:#30382b;font-size:18px;font-weight:700;line-height:1.35;white-space:normal;word-break:keep-all;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;}
.page-waste [data-tabs] > .tabs .tab-btn:hover:not(.is-active){background:#e3edda;}
.page-waste [data-tabs] > .tabs .tab-btn.is-active{background:linear-gradient(100deg,#a4d84e 0%,#438538 100%);color:#fff;box-shadow:0 2px 8px rgba(55,94,17,.2);}
.page-waste [data-tabs] > .tabs .tab-btn:focus-visible{outline:3px solid #1d4b05;outline-offset:2px;}
@media(max-width:640px){.page-waste [data-tabs] > .tabs{gap:4px;padding:4px;margin-bottom:24px;}.page-waste [data-tabs] > .tabs .tab-btn{height:56px;padding:0 8px;font-size:15px;}}

/* 리사이클링 서비스: 수집·운반 안내 및 재활용 대상 사진 */
.page-recycling .recycling-collection-section .recycling-collection{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:56px;align-items:start;padding:48px 56px;border:1px solid #dce5d8;border-radius:24px;background:#f7f9f5;}
.page-recycling .recycling-collection-intro{min-width:0;}
.page-recycling .recycling-collection-section .recycling-collection-photo{width:100%;max-width:none;height:auto;aspect-ratio:1/1;margin:0 0 20px;border-radius:16px;background:url('../images/recycling/collection.webp') center/cover no-repeat;}
.page-recycling .recycling-collection-badge{display:inline-flex;align-items:center;min-height:28px;margin-bottom:12px;padding:3px 12px;border-radius:9999px;background:#e5f1dc;color:#477b20;font-size:13px;font-weight:700;}
.page-recycling .recycling-collection-intro h5{margin:0 0 6px;color:#172015;font-size:25px;line-height:1.3;font-weight:700;word-break:keep-all;}
.page-recycling .recycling-collection-section .recycling-collection-intro p{margin:0;color:#5e685b;font-size:16px;line-height:1.6;text-align:left;}
.page-recycling .recycling-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0 14px;border-bottom:1px solid #d8e2d3;}
.page-recycling .recycling-collection-heading h5{margin:0;color:#172015;font-size:20px;font-weight:700;}
.page-recycling .recycling-collection-heading span{color:#657060;font-size:14px;white-space:nowrap;}
.page-recycling .recycling-collection-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:0;padding:0;list-style:none;counter-reset:collection-item;}
.page-recycling .recycling-collection-items li{position:relative;display:block;min-height:54px;padding:14px 0 12px 32px;border-bottom:1px solid #d8e2d3;box-sizing:border-box;color:#202820;font-size:15px;line-height:1.55;word-break:keep-all;counter-increment:collection-item;}
.page-recycling .recycling-collection-items li::before{content:counter(collection-item,decimal-leading-zero);position:absolute;top:14px;left:0;color:#548f28;font-size:14px;font-weight:700;}
.page-recycling .recycling-material-photo{width:100%;max-width:none;max-height:none;min-height:150px;aspect-ratio:3/1;background-size:cover;background-position:center;background-repeat:no-repeat;}
.page-recycling .recycling-material:nth-last-child(-n+2) .recycling-material-photo{max-width:none;}
@media(max-width:900px){.page-recycling .recycling-collection-section .recycling-collection{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:28px;padding:32px;}.page-recycling .recycling-collection-items{gap:0 20px;}}
@media(max-width:767px){.page-recycling .recycling-collection-section .recycling-collection{grid-template-columns:1fr;gap:20px;padding:20px;}.page-recycling .recycling-collection-section .recycling-collection-photo{aspect-ratio:16/10;}.page-recycling .recycling-collection-intro h5{font-size:22px;}.page-recycling .recycling-collection-items{grid-template-columns:1fr;}.page-recycling .recycling-material-photo{min-height:0;aspect-ratio:3/1;}}

/* 서브페이지 데이터 표: 열 사이 구분선 */
.sub-full-page .sub-data-table th:not(:last-child),.sub-full-page .sub-data-table td:not(:last-child){border-right:1px solid #d9dfe3;}
.page-facilities .facility-document figcaption{display:block;width:min(100%,528px);margin:12px auto 0;text-align:center;}
.page-organization .org-teams::after{top:-73px;height:38px;transform:translateX(-50%);}
.page-organization .org-teams article::before{top:-37px;height:38px;transform:translateX(-50%);}
@media(max-width:760px){.page-organization .org-teams::after{top:-57px;height:30px;}.page-organization .org-teams article::before{top:-29px;height:30px;}}

/* 수집·운반 서비스: 상단 요약과 2열 품목 목록 */
.page-recycling .recycling-collection-section .recycling-collection{display:block;padding:42px 50px 48px;border:1px solid #dce5d8;border-top:4px solid #5eaa31;border-radius:22px;background:#fff;}
.page-recycling .recycling-collection-header{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #dfe6d9;}
.page-recycling .recycling-collection-header h4{margin:10px 0 4px;color:#172015;font-size:27px;line-height:1.3;font-weight:700;}
.page-recycling .recycling-collection-header p{margin:0;color:#586558;font-size:16px;line-height:1.6;}
.page-recycling .recycling-collection-count{display:flex;align-items:baseline;gap:6px;white-space:nowrap;color:#4a9628;}
.page-recycling .recycling-collection-count strong{font-size:44px;line-height:1;font-weight:700;}
.page-recycling .recycling-collection-count span{font-size:14px;color:#455343;}
.page-recycling .recycling-collection-body{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:40px;align-items:stretch;margin-top:32px;}
.page-recycling .recycling-collection-section .recycling-collection-photo{width:100%;max-width:none;height:100%;min-height:290px;aspect-ratio:auto;margin:0;border-radius:16px;background-position:center;background-size:cover;}
.page-recycling .recycling-collection-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;align-content:stretch;margin:0;padding:0;list-style:none;background:linear-gradient(#dfe6d9,#dfe6d9) center/1px 100% no-repeat;}
.page-recycling .recycling-collection-items li{min-height:0;padding:12px 8px 12px 40px;border:0;font-size:15px;line-height:1.55;}
.page-recycling .recycling-collection-items li::before{top:12px;left:0;color:#99cd82;font-size:20px;line-height:1.2;}
@media(max-width:900px){.page-recycling .recycling-collection-section .recycling-collection{padding:32px;}.page-recycling .recycling-collection-body{grid-template-columns:220px minmax(0,1fr);gap:26px;}.page-recycling .recycling-collection-section .recycling-collection-photo{min-height:280px;}.page-recycling .recycling-collection-items li{padding-left:34px;font-size:14px;}}
@media(max-width:767px){.page-recycling .recycling-collection-section .recycling-collection{padding:24px 20px;}.page-recycling .recycling-collection-header{align-items:start;}.page-recycling .recycling-collection-header h4{font-size:22px;}.page-recycling .recycling-collection-count strong{font-size:32px;}.page-recycling .recycling-collection-body{grid-template-columns:1fr;gap:24px;}.page-recycling .recycling-collection-section .recycling-collection-photo{height:auto;min-height:0;aspect-ratio:16/10;}.page-recycling .recycling-collection-items{grid-template-columns:1fr;background:none;}}

/* 수집·운반 품목: 참조 이미지의 체크 목록 표현 */
.page-recycling .recycling-collection-items{background:none;column-gap:24px;}
.page-recycling .recycling-collection-items li{display:flex;align-items:center;min-height:56px;padding:8px 6px 8px 38px;}
.page-recycling .recycling-collection-items li::before{content:'✓';display:grid;place-items:center;top:50%;left:0;width:24px;height:24px;border-radius:50%;transform:translateY(-50%);background:#75b934;color:#fff;font-size:15px;font-weight:800;line-height:1;}
.sub-full-page .sub-intro p{text-align:right;}
@media(max-width:640px){.sub-full-page .sub-intro p{text-align:left;}}
/* 재활용시설의 병합 셀 다음 행: 마지막 DOM 셀이어도 실제 표의 둘째 열이다. */
.page-facilities .sub-data-table tbody tr:has(td[rowspan]) + tr td:nth-child(2):last-child{border-right:1px solid #d9dfe3;}
/* 사업분야 및 실적 표의 최상단 열 제목 */
:is(.page-facilities,.page-management,.page-partners,.page-performance) .sub-data-table thead th{background:#111;color:#fff;}
:is(.page-facilities,.page-management,.page-partners,.page-performance) .sub-data-table thead th:not(:last-child){border-right-color:#8b8b8b;}
.page-organization .org-teams::after,.page-organization .org-teams article::before{transform:none;}
.page-partners .partner-logo-grid{display:grid;gap:12px;margin-top:22px;}
.page-partners .partner-logo-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.page-partners .partner-logo-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.page-partners .partner-logo-card{display:flex;align-items:center;justify-content:center;min-width:0;min-height:92px;padding:10px;border:1px solid #e0e4df;border-radius:8px;background:#fff;box-sizing:border-box;}
@media(max-width:760px){.page-partners .partner-logo-grid-5,.page-partners .partner-logo-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.page-partners .partner-logo-card{min-height:82px;}}
.page-recycling .recycling-collection-items li{font-size:16px;}
.page-recycling .recycling-collection-body{grid-template-columns:320px minmax(0,1fr);}
@media(max-width:900px){.page-recycling .recycling-collection-body{grid-template-columns:minmax(220px,320px) minmax(0,1fr);}}
@media(max-width:767px){.page-recycling .recycling-collection-body{grid-template-columns:1fr;}.page-recycling .recycling-collection-section .recycling-collection-photo{width:min(100%,320px);}}
.page-partners .partner-logo-card-dark{background:#1d2b35;border-color:#1d2b35;}
.page-management .management-original img[src$="hyundai-white.png"]{padding:12px;background:#1d2b35;border-radius:6px;box-sizing:border-box;}
.page-waste .resource-photo-list .resource-photo{background-size:cover;background-position:center;}

/* 여성복지관 기존 이미지에 포함된 안쪽 테두리만 숨김 */

/* 분당서울대학교병원 로고 가독성 확대 */
.page-management .management-original img[src$="snubh.png"]{width:240px;max-width:100%;}

/* 관리 현황 표 로고 셀 중앙 정렬 */
.page-management .management-original td > img{margin-inline:auto;}

/* 협력기관 로고별 크기 및 이미지 내부 테두리 보정 */

/* 관리 현황 업체명·로고 열 흰색 배경 */
.page-management .management-original tbody td{background:#fff;}

/* 로고의 종횡비와 원본 여백을 반영한 시각적 크기 조정 */
.page-partners .partner-logo-card img{display:block;width:var(--logo-width,180px);height:auto;max-width:90%;max-height:66px;object-fit:contain;}
.page-partners .partner-logo-card img[src$="lotte.png"]{--logo-width:166px;}
.page-partners .partner-logo-card img[src$="shinsegae.png"]{--logo-width:178px;}
.page-partners .partner-logo-card img[src$="seoul-design.svg"]{--logo-width:200px;}
.page-partners .partner-logo-card img[src$="namyang.png"]{--logo-width:80px;}
.page-partners .partner-logo-card img[src$="newcore.png"]{--logo-width:166px;}
.page-partners .partner-logo-card img[src$="hansol.png"]{--logo-width:166px;}
.page-partners .partner-logo-card img[src$="ssangyong.png"]{--logo-width:82px;}
.page-partners .partner-logo-card img[src$="daewha.png"]{--logo-width:116px;}
.page-partners .partner-logo-card img[src$="hyundai-white.png"]{--logo-width:166px;}
.page-partners .partner-logo-card img[src$="s41_img1-10.webp"]{--logo-width:210px;clip-path:inset(12% 7%);}
.page-partners .partner-logo-card img[src$="environment.png"]{--logo-width:148px;}
.page-partners .partner-logo-card img[src$="keco.png"]{--logo-width:180px;}
.page-partners .partner-logo-card img[src$="kora.png"]{--logo-width:180px;}
.page-partners .partner-logo-card img[src$="resource-info.png"]{--logo-width:200px;max-height:76px;}
.page-partners .partner-logo-card img[src$="socialenterprise.svg"]{--logo-width:220px;}
.page-partners .partner-logo-card img[src$="incheon-social-enterprise.png"]{--logo-width:240px;}
.page-partners .partner-logo-card img[src$="social-enterprise-council.png"]{--logo-width:220px;}
.page-partners .partner-logo-card img.partner-logo-no-frame{--logo-width:300px;max-width:100%;max-height:68px;clip-path:inset(10% 4%);}

/* 메인 사업분야 링크와 서브 항목 이동 */
.biz-name a.biz-select{color:inherit;text-decoration:none;}
.business-area[id]{scroll-margin-top:190px;}

/* 운영팀~수집/운반팀 연결선을 같은 좌표의 한 선으로 연결 */
.page-organization .org-teams::after{top:-72px;left:50%;width:1px;height:72px;border:0;background:#bac7af;transform:none;}
.page-organization .org-teams article:nth-child(2)::before{content:none;}
@media(max-width:760px){.page-organization .org-teams::after{top:-56px;height:56px;}}

/* 공통 인터랙션: 마우스 사용 환경에서만 적용 */
@media (prefers-reduced-motion:no-preference) and (hover:hover) {
 .flow-button,.btn{transition:background-color .22s ease,color .22s ease,box-shadow .22s ease;}
 .flow-button .cta-arrow,.btn .cta-arrow{transition:transform .22s ease;}
 .flow-button:hover .cta-arrow,.btn:hover .cta-arrow{transform:translateX(4px);}
 .partner-logo-card{transition:box-shadow .25s ease,border-color .25s ease;}
 .partner-logo-card:hover{box-shadow:0 6px 18px rgba(25,56,41,.09);border-color:#a9c58c;}
 .home-gallery-feature img{transition:transform .45s ease;}
 .home-gallery-feature:hover img{transform:scale(1.035);}
}
@media (prefers-reduced-motion:reduce){
 .flow-button,.btn,.partner-logo-card,.home-gallery-feature img{transition:none;}
}

/* 스크롤 위치와 무관하게 사용할 수 있는 공통 탑버튼 */
body > .ft-to-top{position:fixed;right:28px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:90;display:grid;place-items:center;width:64px;height:64px;padding:0;border:0;border-radius:15px 15px 15px 0;background:var(--c-lime);color:#fff;box-shadow:none;cursor:pointer;transition:background .25s,transform .25s;}
body > .ft-to-top:focus-visible{outline:3px solid #193829;outline-offset:3px;}
@media(hover:hover){body > .ft-to-top:hover{background:#a6dc62;}}
@media(max-width:760px){body > .ft-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:15px 15px 15px 0;}}
