*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--green:#129E7B;--green-h:#1DAC86;--green-50:#EDFCF6;--green2:#76BE57;--blue:#19B5FE;--blue-50:#F0F9FF;--bg:#FFFFFF;--bg2:#F7F7F5;--fg1:#111111;--fg2:#6B7280;--muted:#AAAAAA;--border:#E8E8E6;--font:'Pretendard Variable','Pretendard',-apple-system,sans-serif;--max-w:1400px}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--fg1);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
nav{position:sticky;top:0;z-index:300;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:.5px solid var(--border);padding:0 80px;height:68px;display:flex;align-items:center}
.nav-logo{flex-shrink:0}
.nav-center{display:flex;align-items:center;gap:104px;flex:1;justify-content:center}
.nav-btn{font-size:15px;font-weight:500;color:var(--fg2);padding:8px 14px;border-radius:9px;cursor:pointer;transition:color 150ms,background 150ms;background:none;border:none;font-family:var(--font);display:flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}
.nav-btn:hover{color:var(--green);background:var(--green-50)}
.nav-btn.active{color:var(--green);background:var(--green-50)}
.nav-right{display:flex;align-items:center;gap:24px;flex-shrink:0}
.nav-cta{padding:11px 24px;background:var(--green);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:background 150ms}
.nav-cta:hover{background:var(--green-h)}
.mega-wrap{position:fixed;top:68px;left:0;right:0;z-index:299}
.mega-panel{position:relative;z-index:2;background:#fff;border-bottom:.5px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,.07);padding:20px 0 24px;display:none}
.mega-wrap.open .mega-panel{display:block;animation:megaSlide 180ms ease}
@keyframes megaSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mega-inner{max-width:var(--max-w);margin:0 auto;position:relative;padding:4px 80px 20px;min-height:20px}
.mega-col{position:absolute;top:0;min-width:160px;display:none;box-sizing:border-box;padding-right:12px}
.mega-col:first-child{min-width:170px}
.mega-col .mega-item,.mega-col .mega-simple{word-break:keep-all;overflow-wrap:break-word}
.mega-wrap.open .mega-col{display:block}
.mega-item{display:block;padding:10px 12px;border-radius:10px;transition:background 180ms,color 180ms;color:var(--fg1);font-size:14px;font-weight:500;margin-bottom:2px;line-height:1.3;position:relative;text-decoration:none;cursor:pointer}
.mega-item:hover{background:var(--green-50);color:var(--green)}
.mega-item:hover .mega-item-sub{color:rgba(18,158,123,.75)}
.mega-item-sub{display:block;font-size:12px;color:rgba(0,0,0,.35);margin-top:3px;font-weight:400;transition:color 180ms}
.mega-simple{display:block;padding:10px 12px;border-radius:10px;transition:background 180ms,color 180ms;font-size:14px;font-weight:500;color:var(--fg1);margin-bottom:2px;text-decoration:none;cursor:pointer}
.mega-simple:hover{background:var(--green-50);color:var(--green)}
.mega-overlay{position:fixed;inset:0;top:0;z-index:1;display:none}
.mega-wrap.open .mega-overlay{display:block}
.nav-burger{display:none;background:none;border:none;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;flex-direction:column;gap:4px;padding:0}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--fg1);border-radius:2px;transition:transform 200ms,opacity 150ms}
.nav-burger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mobile-drawer{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:#fff;z-index:295;overflow-y:auto;padding:24px 20px 40px;flex-direction:column;gap:4px}
.mobile-drawer.open{display:flex;animation:megaSlide 200ms ease}
.md-group{padding:8px 0;border-bottom:.5px solid var(--border)}
.md-group:last-child{border-bottom:none}
.md-head{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;margin-bottom:4px}
.md-link{display:block;font-size:16px;font-weight:500;color:var(--fg1);padding:12px;border-radius:10px}
.md-link:hover{background:var(--green-50);color:var(--green)}
.md-link-sub{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:400}
.md-cta{margin-top:24px;padding:14px;text-align:center;background:var(--green);color:#fff;border-radius:999px;font-weight:500;font-size:16px;display:block;text-decoration:none}

@media (max-width:768px){.nav-center{display:none}.nav-burger{display:flex}nav{padding:0 20px}}
footer{background:#111;padding:64px 80px}
.foot-inner{max-width:var(--max-w);margin:0 auto}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;margin-bottom:48px;padding-bottom:48px;border-bottom:.5px solid rgba(255,255,255,.07)}
.foot-tagline{font-size:14px;color:rgba(255,255,255,.35);line-height:1.8;margin-top:14px}
.foot-col-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.35);margin-bottom:18px}
.foot-links{display:flex;flex-direction:column;gap:12px}
.foot-links a{font-size:15px;color:rgba(255,255,255,.5);transition:color 150ms}
.foot-links a:hover{color:rgba(255,255,255,.85)}
.foot-bottom{display:flex;justify-content:space-between;align-items:flex-end}
.foot-info{font-size:12px;color:rgba(255,255,255,.22);line-height:1.9}
.foot-copy{font-size:12px;color:rgba(255,255,255,.18)}
.btn-p{padding:13px 28px;background:var(--green);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:background 150ms;display:inline-flex;align-items:center;gap:8px}
.btn-p:hover{background:var(--green-h)}
.btn-g{padding:13px 28px;background:transparent;color:var(--fg1);border:.5px solid var(--border);border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:border-color 150ms;display:inline-flex;align-items:center;gap:8px}
.btn-g:hover{border-color:#999}
.page-hero{padding:100px 80px 80px;min-height: calc(100vh + 68px); max-width:var(--max-w);margin:0 auto}
.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:20px}
.h1{font-size:64px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1)}
.h1 .m{color:var(--muted)}
.lead{font-size:18px;color:var(--fg2);line-height:1.75;margin-top:24px;max-width:500px}
.btns{display:flex;gap:12px;margin-top:36px}
.tag{display:inline-flex;align-items:center;gap:6px;background:var(--green-50);border:.5px solid rgba(18,158,123,.2);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;color:var(--green);margin-bottom:28px}
.tag .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.pain-section{background:var(--bg2);padding:80px 80px;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.pain-inner{max-width:var(--max-w);margin:0 auto}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.pain-card{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:28px}
.pain-num{font-size:11px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.pain-title{font-size:18px;font-weight:700;color:var(--fg1);margin-bottom:10px;letter-spacing:0.01em}
.pain-desc{font-size:14px;color:var(--fg2);line-height:1.7}
.feature-section{padding:100px 80px}
.feature-inner{max-width:var(--max-w);margin:0 auto}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.feat-card{background:var(--bg2);border:.5px solid var(--border);border-radius:16px;padding:28px;transition:border-color 200ms,transform 200ms}
.feat-card:hover{border-color:rgba(18,158,123,.3);transform:translateY(-2px)}
.feat-icon{width:44px;height:44px;border-radius:11px;background:var(--green-50);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.feat-title{font-size:17px;font-weight:700;color:var(--fg1);margin-bottom:8px}
.feat-desc{font-size:14px;color:var(--fg2);line-height:1.7}
.split-section{padding:100px 80px;background:var(--bg2)}
.split-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split-section.alt{background:#fff}
.stats-banner{padding:80px 80px;background:#fff;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.stats-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-col{padding:0 40px;border-right:.5px solid var(--border)}
.stat-col:first-child{padding-left:0}
.stat-col:last-child{border-right:none;padding-right:0}
.stat-big{font-size:52px;font-weight:700;letter-spacing:-1.5px;line-height:1;color:var(--fg1)}
.stat-big .g{color:var(--green)}
.stat-arrow{font-size:28px;color:var(--muted)}
.stat-lbl{font-size:13px;color:var(--green);font-weight:500;margin-top:6px}
.stat-note{font-size:13px;color:var(--fg2);margin-top:4px;line-height:1.5}
.cta-banner{position:relative;overflow:hidden;padding:160px 80px;background:#FFFFFF url('/theme/basic/assets/Shadow.png') center center / cover no-repeat}
.cta-inner{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-btns{display:flex;flex-direction:column;align-items:flex-start;gap:25px}
.cta-btn-row{display:flex;gap:14px;align-items:center}
.cta-btn-row .btn-g{background:#fff;font-size:16px;padding:16px 36px;min-width:180px;justify-content:center;border:1px solid var(--green);color:var(--green)}
.cta-btn-row .btn-p{font-size:16px;padding:16px 36px;min-width:180px;justify-content:center}
.cta-h{font-size:40px;font-weight:700;line-height:1.15;color:var(--fg1)}
.cta-m{font-size:40px;font-weight:700;line-height:1.15;color:var(--muted);margin-top: 10px;}
.mockup{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 2px 24px rgba(0,0,0,.04)}
.mock-head{font-size:13px;font-weight:700;color:var(--fg1);margin-bottom:16px}
.mock-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:.5px solid var(--bg2)}
.mock-row:last-child{border-bottom:none}
.mock-label{font-size:13px;color:var(--fg2)}
.mock-val{font-size:13px;font-weight:600;color:var(--fg1)}
.bar-track{height:6px;background:var(--bg2);border-radius:999px;overflow:hidden;margin:4px 0}
.bar-fill{height:6px;border-radius:999px;background:var(--green)}
.pill{font-size:11px;font-weight:500;padding:4px 12px;border-radius:999px}
.pill-g{background:var(--green-50);color:var(--green)}
.pill-b{background:var(--blue-50);color:var(--blue)}
.pill-y{background:#FFF8E1;color:#D97706}
.sh{font-size:52px;font-weight:700;line-height:1.15;color:var(--fg1);text-shadow:0 2px 4px rgba(0,0,0,.12),0 1px 0 rgba(0,0,0,.08)}
.sm{font-size:52px;font-weight:700;line-height:1.05;color:var(--muted);text-shadow:0 2px 4px rgba(0,0,0,.12),0 1px 0 rgba(0,0,0,.08)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/* RenewEarth Lab logo + title reveal */
.logo-title-row{opacity:0;transform:translateY(32px);transition:opacity 900ms cubic-bezier(.22,.61,.36,1),transform 900ms cubic-bezier(.22,.61,.36,1)}
.logo-title-row.show{opacity:1;transform:translateY(0)}
.logo-title-row img{transition:transform 900ms cubic-bezier(.22,.61,.36,1) 150ms;transform:scale(.85)}
.logo-title-row.show img{transform:scale(1)}
/* Customer logos staggered reveal — row by row */
.logo-marquee-wrap{overflow:hidden;position:relative;width:100%}
.logo-marquee-wrap::before,.logo-marquee-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2}
.logo-marquee-wrap::before{left:0;background:linear-gradient(to right,#fff,transparent)}
.logo-marquee-wrap::after{right:0;background:linear-gradient(to left,#fff,transparent)}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.logo-marquee-track{display:flex;align-items:center;width:max-content;animation:marqueeScroll 28s linear infinite}
.logo-marquee-track:hover{animation-play-state:paused}
.cust-logo-item{display:flex;align-items:center;justify-content:center;height:100px;padding:0 48px;flex-shrink:0}
.cust-logo-item img{max-height:72px;max-width:160px;object-fit:contain;opacity:0.7;transition:opacity 200ms}
.cust-logo-item:hover img{opacity:1}

/* === Mobile common fixes (append-only) === */
@media (max-width: 1024px) {
  html, body { overflow-x: hidden; max-width: 100vw; }
  img, svg, video, canvas { max-width: 100%; height: auto; }
  h1, h2, h3, .h1, .h2, .h3, .page-hero .h1, .hero-title { white-space: normal; word-break: keep-all; }
}

/* 모바일 전용 줄바꿈 — 데스크톱에서 숨김 */
.mo-br { display: none; }

/* === company 모바일 (data 페이지 폰트 통일 + 고객 로고/타임라인 overflow 방지) === */
@media (max-width: 768px) {
  /* Hero */
  .page-hero-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .h1 { font-size: 28px !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; }
  .lead { font-size: 14px !important; margin-top: 14px !important; line-height: 1.5 !important; max-width: 100% !important; }

  /* ── 배너 (case-study 모바일 동일) ── */
  [style*="padding:80px"][style*="min-height:100vh"] { padding: 20px 20px !important; min-height: calc(100vh - 60px) !important; height: calc(100vh - 60px) !important; display: flex !important; flex-direction: column !important; justify-content: center !important; box-sizing: border-box !important; }
  [style*="padding:80px"][style*="min-height:100vh"] .sh { font-size: 26px !important; letter-spacing: -0.5px !important; line-height: 1.2 !important; word-break: keep-all !important; }
  [style*="padding:80px"][style*="min-height:100vh"] .sm { font-size: 22px !important; letter-spacing: -0.4px !important; line-height: 1.3 !important; word-break: keep-all !important; }
  [style*="padding:80px"][style*="min-height:100vh"] .sm { margin-top: 12px !important; margin-bottom: 20px !important; }
  [style*="padding:80px"][style*="min-height:100vh"] #hero-cta button { font-size: 14px !important; padding: 14px 24px !important; min-width: 0 !important; width: auto !important; }

  /* Section headings */
  .sh, .sm { font-size: 24px !important; letter-spacing: -0.5px !important; line-height: 1.25 !important; }
  /* Hero 타이틀 더 작게 */
  body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) .sh { font-size: 22px !important; letter-spacing: -0.8px !important; line-height: 1.2 !important; }
  body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) .sm { font-size: 20px !important; letter-spacing: -0.6px !important; }
  /* CTA 히어로(Building the Carbon Data Network) — 패딩 20px, 과도한 세로 여백 제거 */
  [style*="padding:80px;min-height:clamp"] { padding: 20px !important; }
  /* 모바일 히어로: 바우처처럼 한 화면에 꽉차게 (모바일 nav = 60px) */
  body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) { min-height: calc(100vh - 60px) !important; padding: 20px !important; justify-content: center !important; }
  /* Task 6: 고객사 로고 섹션 */
  .cust-section { padding-left: 20px !important; padding-right: 20px !important; padding-top: 60px !important; padding-bottom: 60px !important; }
  /* 제목: 더 작게 (히어로 sm 와 비슷한 수준) */
  .logo-title-row { font-size: 20px !important; letter-spacing: -0.4px !important; line-height: 1.4 !important; margin-bottom: 32px !important; }
  .logo-title-row img { height: 24px !important; vertical-align: middle !important; }
  /* 로고 그리드: 3열 × 3행 + 마지막 2개 중앙정렬 = 6단 그리드 */
  .cust-logo-grid {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px 12px !important;
    max-width: 100% !important;
  }
  .cust-logo { grid-column: span 2 !important; height: auto !important; min-height: 90px !important; padding: 10px !important; }
  .cust-logo:nth-child(7) { grid-column: 2 / 4 !important; }
  .cust-logo:nth-child(8) { grid-column: 4 / 6 !important; }
  .cust-logo img { max-height: 72px !important; max-width: 100% !important; }

  /* Task 7: 글로벌 임팩트 heading — 히어로 폰트(28px)와 동일 */
  .global-impact-section { padding: 150px 20px !important; min-height: auto !important; }
  .global-impact-heading { font-size: 28px !important; letter-spacing: -0.6px !important; line-height: 1.3 !important; margin-bottom: 40px !important; }

  /* Task 8: 글로벌 임팩트 숫자 → 세로 1열 */
  .global-stats-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .global-stats-grid > div { padding: 32px 20px !important; border-right: none !important; }
  
  .stat-count { font-size: 56px !important; }
  .global-stats-grid [style*="font-size:21px"] { font-size: 16px !important; white-space: normal !important; margin-top: 12px !important; }
  .global-stats-grid [style*="font-size:14px"] { font-size: 13px !important; }

  /* Task 9: 연혁 타이틀 — 로고 다음 줄바꿈 */
  .tl-header { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 12px !important; margin-bottom: 40px !important; }
  .tl-header span { font-size: 28px !important; letter-spacing: -0.6px !important; }

  /* 모바일 줄바꿈 표시 */
  .mo-br { display: inline !important; }

  /* Task 10: 연혁 레이아웃 — 좌↘우↙좌 지그재그 (ㄴ자 꺾임) */
  .tl-wrap {
    padding: 0 !important;
    max-width: 100% !important;
    border: none !important;
    overflow: visible !important;
  }
  /* 중앙 세로선 숨김 */
  .tl-center-line { display: none !important; }

  /* 각 연도 row: grid 해제, 블록 */
  .tl-row {
    display: block !important;
    position: relative !important;
    margin-bottom: 80px !important;
  }

  /* ── 홀수 행(2025, ~2023): 콘텐츠 좌측, 선 왼쪽 ── */
  .tl-odd {
    padding-left: 32px !important;
    padding-right: 0 !important;
    border: none !important;
  }
  /* ── 짝수 행(2024): 콘텐츠 우측, 선 오른쪽 ── */
  .tl-even {
    padding-right: 32px !important;
    padding-left: 0 !important;
    border: none !important;
  }
  /* 연결 레일 — 둥근 모서리 지그재그 */
  .tl-odd::before, .tl-even::before {
    content: '' !important;
    position: absolute !important;
    left: 11px !important;
    right: 11px !important;
    width: auto !important;
    background: transparent !important;
    border: 0 solid var(--border) !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }
  /* 2025: 왼쪽 레일 ↓ + ╰ 곡선 (좌하) — 가로선 끝을 28px 앞에서 멈춰 2024 ╮ 곡선 안 덮음 */
  .tl-first::before {
    top: 6px !important;
    right: 39px !important;
    bottom: -40px !important;
    border-left-width: 2px !important;
    border-bottom-width: 2px !important;
    border-bottom-left-radius: 28px !important;
  }
  /* 2024: 오른쪽 레일 + ╮ 곡선(우상) + ╯ 곡선(우하) — 좌측 시작을 28px 안으로 (이웃 곡선 안 덮음) */
  .tl-even::before {
    top: -40px !important;
    left: 39px !important;
    bottom: -40px !important;
    border-top-width: 2px !important;
    border-right-width: 2px !important;
    border-bottom-width: 2px !important;
    border-top-right-radius: 28px !important;
    border-bottom-right-radius: 28px !important;
  }
  /* ~2023: 왼쪽 레일 + ╭ 곡선(좌상) — 가로선 끝을 28px 앞에서 멈춰 2024 ╯ 곡선 안 덮음 */
  .tl-odd:not(.tl-first)::before {
    top: -40px !important;
    right: 39px !important;
    bottom: 6px !important;
    border-top-width: 2px !important;
    border-left-width: 2px !important;
    border-top-left-radius: 28px !important;
  }
  /* 2026: 오른쪽 레일 ↓ + ╯ 곡선 (우하) — 첫 번째 행이지만 RIGHT side */
  .tl-first-right::before {
    top: 6px !important;
    left: 39px !important;
    bottom: -40px !important;
    border-right-width: 2px !important;
    border-bottom-width: 2px !important;
    border-bottom-right-radius: 28px !important;
    border-top-width: 0 !important;
    border-left-width: 0 !important;
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }
  /* 2025 (중간 행): 왼쪽 ∪ 모양 — 위(2026)·아래(2024) 모두 연결 */
  .tl-middle-left::before {
    top: -40px !important;
    right: 39px !important;
    bottom: -40px !important;
    border-top-width: 2px !important;
    border-left-width: 2px !important;
    border-bottom-width: 2px !important;
    border-top-left-radius: 28px !important;
    border-bottom-left-radius: 28px !important;
    border-right-width: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
  /* ::after 곡선 제거 (튀어나오는 선 유발 → 사용자 요청으로 삭제) */
  .tl-even::after, .tl-odd:not(.tl-first)::after { display: none !important; }
  /* 기존 tl-first::after 만 숨김 */
  .tl-first::after, .tl-first-right::after, .tl-middle-left::after { display: none !important; }

  /* 홀수 행 콘텐츠 — 첫 번째 자식에 내용, 두 번째(빈) 숨김 */
  .tl-odd > div:first-child { padding: 0 !important; text-align: left !important; display: block !important; }
  .tl-odd > div:last-child:empty { display: none !important; }
  /* 짝수 행 콘텐츠 — 첫 번째(빈) 숨김, 두 번째에 내용 */
  .tl-even > div:first-child:empty { display: none !important; }
  .tl-even > div:last-child { padding: 0 !important; text-align: right !important; display: block !important; }

  /* 연도 숫자 크기 */
  .tl-row [style*="font-size:64px"] { font-size: 40px !important; letter-spacing: -1.5px !important; margin-bottom: 20px !important; }
  /* 기존 절대위치 도트 숨김 */
  .tl-odd [style*="position:absolute;right:-61px"] { display: none !important; }
  .tl-even [style*="position:absolute;left:-61px"] { display: none !important; }

  /* ── 도트: 선의 중심에 정렬 ── */
  /* 홀수 행 도트 — 선 center(left:12px)에 맞춤: reveal left:-24px → dot center = 32-24+4 = 12px ✓ */
  .tl-odd > div:first-child > div > .reveal { padding-left: 4px !important; position: relative !important; }
  .tl-odd > div:first-child > div > .reveal::before {
    content: '' !important;
    position: absolute !important;
    left: -24px !important;
    top: 8px !important;
    width: 8px !important;
    height: 8px !important;
    background: var(--green) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--green) !important;
  }
  /* 짝수 행 도트 — 선 center(right:12px)에 맞춤: right:-24px → dot center = right 12px ✓ */
  .tl-even > div:last-child > div > .reveal { padding-right: 4px !important; position: relative !important; }
  .tl-even > div:last-child > div > .reveal::before {
    content: '' !important;
    position: absolute !important;
    right: -24px !important;
    left: auto !important;
    top: 8px !important;
    width: 8px !important;
    height: 8px !important;
    background: var(--green) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--green) !important;
  }

  /* 연혁 섹션 패딩 조정 */
  [style*="padding:100px 80px;max-width:var(--max-w);margin:0 auto"] {
    padding: 60px 20px !important;
  }

  /* Task 11: 미디어→뉴스 섹션 패딩 */
  .media-section { padding: 60px 20px !important; }

  /* Task 12: 뉴스 카드 세로 1열 + 이미지 잘림 없이 100% 노출 */
  .media-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .media-grid [style*="height:180px"] { height: auto !important; max-height: none !important; overflow: visible !important; }
  .media-grid [style*="height:180px"] img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top !important; }
  .media-grid [style*="font-size:15px"] { font-size: 17px !important; line-height: 1.5 !important; }
  .media-grid [style*="padding:20px 22px"] { padding: 16px 18px !important; }

  /* 지도 높이 모바일 조정 */
  .map-link { height: 560px !important; }

  /* CTA banner */
  /* ── CTA ── */
  .cta-banner { padding: 60px 20px !important; }
  .cta-h, .cta-m { font-size: 24px !important; }
  .cta-btn-row { justify-content: center !important; flex-wrap: wrap !important; }
  .cta-btn-row .btn-p { font-size: 12px !important; padding: 14px 20px !important; justify-content: center!important; flex-wrap: wrap !important; }
  .cta-btn-row .btn-g { background: #fff; font-size: 12px!important; padding: 14px 20px!important; justify-content: center!important; border: 1px solid var(--green); color: var(--green); }
  /* .cta-banner { text-align: center !important; padding: 40px 20px !important; }
  .cta-inner { flex-direction: column !important; align-items: center !important; gap: 24px !important; justify-content: center !important; flex-wrap: wrap !important; }
  .cta-inner > div:first-child { width: 100% !important; }
  .cta-h, .cta-m {
    font-size: 26px !important;
    letter-spacing: -0.6px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
  .cta-inner > div:last-child {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 8px !important;
    justify-content: center !important;
  }
  .cta-inner > div:last-child .btn-g,
  .cta-inner > div:last-child .btn-p {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 12px 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    justify-content: center !important;
    text-align: center !important; */
  }

  /* 모든 desktop 80px 측면 padding 섹션을 데이터 페이지 기준 20px 로 통일 */
  .feature-section, .pain-section, .split-section, .stats-banner,
  [style*="padding:100px 80px"],
  [style*="padding:80px 80px"],
  [style*="padding:72px 80px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }


/* === 회사소개 페이지 수정사항 === */
/* 1. 메인 hero — 데스크탑 한 페이지에 꽉차게 (바우처와 동일) + 자간 조정 */
body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]){min-height:100vh !important;height:100vh !important;max-height:none !important;justify-content:center !important;align-items:center !important}
body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) .sh{letter: spacing -1px !important;line-height:1.3 !important}
body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) .sm{letter-spacing:-1px !important;line-height:1.3 !important}
/* 4. 히어로 CTA 버튼 녹색 (강화: btn-g 전체 + 인라인 style 덮어쓰기) */
body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) .btn-g,
body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) button.btn-g{background:var(--green) !important;color:#fff !important;border:none !important;border-color:var(--green) !important;box-shadow:0 4px 14px rgba(18,158,123,.32) !important;padding:14px 32px !important;font-size:16px !important;font-weight:600 !important}
body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]) .btn-g:hover{background:var(--green-h) !important;border-color:var(--green-h) !important;box-shadow:0 6px 20px rgba(18,158,123,.4) !important}
/* 모바일 hero override (mobile nav 60px) — 데스크탑 룰 뒤에 와야 우선 적용됨 */
@media (max-width:768px){
  body > div[style*="min-height:clamp(720px,calc(100vh - 68px)"]:not([class]){min-height:calc(100vh - 60px) !important;height:calc(100vh - 60px) !important}
}

/* 3. 물결 애니메이션 제거됨 (원래 hero 배경 그대로) */
.company-wave-svg{display:none !important}

/* 6. 글로벌 임팩트 서브텍스트 키움 */
.global-impact-section div[style*="font-size:14px"][style*="color:rgba(255,255,255,.55)"]{font-size:16px !important;line-height:1.7 !important;margin-top:18px !important}

/* 9. 뉴스 섹션을 지도 섹션 위로 (flex order) — 부모 wrapper 통해 처리 */
/* CSS order는 같은 부모 안 형제들에 작동. 뉴스/지도가 body 직속이면 적용 어려움 → JS로 DOM 순서 변경 */

@media (max-width: 768px) {
  .cta-btn-row .btn-p { font-size: 12px; padding: 14px 20px; justify-content: center; }
  .cta-btn-row .btn-g { background: #fff; font-size: 12px; padding: 14px 20px; justify-content: center; border: 1px solid var(--green); color: var(--green); }
}
.cta-inner .sh, .cta-inner .sm { text-align: left; }
@media (max-width: 768px) {
  .cta-inner .sh, .cta-inner .sm { text-align: center; }
}
.mob-br { display: none; }
@media (max-width: 768px) { .mob-br { display: inline; } }
@media (max-width: 768px) { .tl-symbol { margin-bottom: 40px; } }
@media (max-width: 768px) {
  #company-hero { padding: 68px 20px 20px !important; min-height: calc(100vh + 68px) !important; box-sizing: border-box !important; }
@media (max-width: 1024px) {
  #hero-sh span:first-child { display: block !important; }
}
}