/* =============================================================
   ESG頁樣式 — 中文版 /esg.html 與英文版 /en/esg.html 共用
   ⚠ 只有這一份，改這裡兩個語言版本同時生效
   ============================================================= */
  /* ============================================================
     ESG page — specific styles
     ============================================================ */

  /* HERO BANNER (esg.png 大圖) */
  .esg-hero {
    position: relative;
    overflow: hidden;
    background: var(--ink);
    color: var(--paper);
    isolation: isolate;
  }
  .esg-hero-img {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9;
    min-height: 380px;
    background: linear-gradient(135deg, #0E2E1A 0%, #0E1410 60%, #11221a 100%);
    overflow: hidden;
  }
  .esg-hero-img img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .8;
  }
  .esg-hero-img::after {
    content: ""; position: absolute; inset: 0;
    background:
      linear-gradient(180deg, rgba(14,20,16,.25) 0%, rgba(14,20,16,.15) 50%, rgba(14,20,16,.85) 100%),
      linear-gradient(95deg, rgba(14,20,16,.4) 0%, rgba(14,20,16,0) 50%);
    pointer-events: none;
  }
  .esg-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(40px, 6vw, 90px) var(--gutter);
    max-width: var(--max-w);
    margin: 0 auto;
    width: 100%;
  }
  .esg-hero-overlay .breadcrumb {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px; letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(247,246,241,.7);
    display: flex; gap: 10px;
    margin-bottom: 28px;
  }
  .esg-hero-overlay .breadcrumb a { color: rgba(247,246,241,.7); }
  .esg-hero-overlay .breadcrumb a:hover { color: #6BFF6E; }
  .esg-hero-overlay .breadcrumb .sep { opacity: .5; }
  .esg-hero-overlay .eyebrow {
    color: #6BFF6E;
    margin-bottom: 18px;
  }
  .esg-hero-overlay .eyebrow::before { background: #6BFF6E; }
  .esg-hero-overlay h1 {
    font-family: 'Bricolage Grotesque','Noto Sans TC', sans-serif;
    font-weight: 500;
    font-size: clamp(40px, 6vw, 96px);
    line-height: 1.0;
    letter-spacing: -.025em;
    color: var(--paper);
    margin: 0;
    max-width: 960px;
  }
  .esg-hero-overlay h1 em { color: #6BFF6E; font-style: normal; font-weight: 400; }
  .esg-hero-overlay .lead {
    margin: 24px 0 0;
    max-width: 640px;
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.7;
    color: rgba(247,246,241,.85);
  }
  .esg-hero-overlay .lead strong { color: #6BFF6E; }

  /* Stat strip */
  .esg-stats {
    background: var(--paper);
    border-bottom: 1px solid var(--hair);
  }
  .esg-stats-track {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }
  @media (max-width: 800px) { .esg-stats-track { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 480px) { .esg-stats-track { grid-template-columns: 1fr; } }
  .esg-stat {
    padding: 36px clamp(20px, 3vw, 36px);
    border-right: 1px solid var(--hair);
  }
  .esg-stat:last-child { border-right: 0; }
  @media (max-width: 800px) {
    .esg-stat:nth-child(2n) { border-right: 0; }
    .esg-stat { border-bottom: 1px solid var(--hair); }
  }
  .esg-stat .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--steel);
    margin-bottom: 10px;
  }
  .esg-stat .val {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 500;
    letter-spacing: -.02em;
    color: var(--ink);
    line-height: 1;
  }
  .esg-stat .val em { font-style: normal; color: var(--green); font-weight: 400; }
  .esg-stat .desc {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--ink-2);
    max-width: 240px;
  }

  /* Pillars (4 ESG commitments) */
  .esg-pillars {
    padding: clamp(70px, 9vw, 130px) 0;
    background: var(--paper);
  }
  .esg-pillars-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 60px;
  }
  @media (max-width: 760px) { .esg-pillars-head { grid-template-columns: 1fr; } }
  .esg-pillars-head p {
    max-width: 460px;
    margin: 0 0 0 auto;
    font-size: 16px;
    line-height: 1.65;
    color: var(--ink-2);
  }
  @media (max-width: 760px) { .esg-pillars-head p { margin: 0; } }

  .esg-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--hair);
    border: 1px solid var(--hair);
  }
  @media (max-width: 760px) { .esg-grid { grid-template-columns: 1fr; } }

  .esg-card {
    background: var(--paper);
    padding: 44px 40px 40px;
    display: flex; flex-direction: column;
    gap: 22px;
    transition: background .35s var(--easing);
  }
  .esg-card:hover { background: var(--paper-2); }
  .esg-card.dark {
    background: var(--ink);
    color: var(--paper);
  }
  .esg-card.dark:hover { background: #11221a; }

  .esg-card .top { display: flex; align-items: center; gap: 16px; }
  .esg-card .icon {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--green-tint);
    color: var(--green);
    display: grid; place-items: center;
    flex-shrink: 0;
  }
  .esg-card.dark .icon {
    background: rgba(107,255,110,.12);
    color: #6BFF6E;
  }
  .esg-card .num {
    margin-left: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: var(--steel);
    letter-spacing: .14em;
  }
  .esg-card.dark .num { color: rgba(247,246,241,.5); }
  .esg-card .tagline {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--steel);
  }
  .esg-card.dark .tagline { color: rgba(247,246,241,.6); }
  .esg-card h3 {
    font-family: 'Bricolage Grotesque','Noto Sans TC', sans-serif;
    font-size: clamp(22px, 2.3vw, 30px);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.01em;
    margin: 6px 0 0;
    color: var(--ink);
  }
  .esg-card.dark h3 { color: var(--paper); }
  .esg-card h3 em { font-style: normal; color: var(--green); font-weight: 400; }
  .esg-card.dark h3 em { color: #6BFF6E; }
  .esg-card p {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--ink-2);
    margin: 0;
  }
  .esg-card.dark p { color: rgba(247,246,241,.82); }
  .esg-card .meta-tags {
    display: flex; gap: 8px; flex-wrap: wrap;
    margin-top: auto; padding-top: 8px;
  }
  .esg-card .meta-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
    border: 1px solid var(--hair);
    padding: 5px 9px;
    color: var(--ink-2);
  }
  .esg-card.dark .meta-tag {
    border-color: rgba(247,246,241,.18);
    color: rgba(247,246,241,.85);
  }

  /* Compliance band */
  .compliance-band {
    background: var(--green);
    color: var(--paper);
    padding: clamp(60px, 8vw, 100px) 0;
    position: relative;
    overflow: hidden;
  }
  .compliance-band::after {
    content: "ESG · 2026";
    position: absolute;
    bottom: -20px; right: 24px;
    font-family: 'Bricolage Grotesque', sans-serif;
    font-weight: 800;
    font-size: clamp(80px, 14vw, 200px);
    color: rgba(247,246,241,.08);
    letter-spacing: -.05em;
    line-height: 1;
    pointer-events: none;
    white-space: nowrap;
  }
  .compliance-inner {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 60px;
    align-items: start;
  }
  @media (max-width: 800px) { .compliance-inner { grid-template-columns: 1fr; } }
  .compliance-inner h2 {
    font-family: 'Bricolage Grotesque','Noto Sans TC', sans-serif;
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.05;
    margin: 14px 0 0;
    color: var(--paper);
  }
  .compliance-inner h2 em { font-style: normal; color: rgba(247,246,241,.85); font-weight: 400; }
  .compliance-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 28px;
  }
  @media (max-width: 600px) { .compliance-list { grid-template-columns: 1fr; } }
  .compliance-list .item {
    border-top: 1px solid rgba(247,246,241,.25);
    padding: 16px 0 4px;
  }
  .compliance-list .item .k {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(247,246,241,.7);
    margin-bottom: 8px;
  }
  .compliance-list .item .v {
    font-size: 17px;
    font-weight: 500;
    color: var(--paper);
    line-height: 1.4;
  }
  /* RoHS / REACH 環保合規標章 */
  .compliance-logos { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 34px; }
  .cmp-logo {
    width: 92px; height: 92px; padding: 15px;
    background: #fff; border-radius: 50%; object-fit: contain;
    box-shadow: 0 6px 20px -8px rgba(0,0,0,.45);
  }

  /* CTA */
  .cta {
    padding: clamp(80px, 9vw, 140px) 0;
    background: var(--ink);
    color: var(--paper);
    position: relative;
    overflow: hidden;
  }
  .cta::after {
    content: "ESG";
    position: absolute;
    bottom: -40px; left: 50%; transform: translateX(-50%);
    font-family: 'Bricolage Grotesque', sans-serif;
    font-weight: 800;
    font-size: clamp(120px, 22vw, 320px);
    color: rgba(247,246,241,.04);
    letter-spacing: -.05em;
    line-height: 1;
    pointer-events: none;
    white-space: nowrap;
  }
  .cta-inner {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px; align-items: center;
  }
  @media (max-width: 800px) { .cta-inner { grid-template-columns: 1fr; } }
  .cta h2 {
    font-family: 'Bricolage Grotesque','Noto Sans TC',sans-serif;
    font-size: clamp(40px, 5.5vw, 80px);
    font-weight: 500; line-height: 1; letter-spacing: -.02em;
    margin: 18px 0 0;
  }
  .cta h2 em { font-style: normal; font-weight: 400; color: #6BFF6E; }
  .cta-side p { color: rgba(247,246,241,.78); font-size: 16px; line-height: 1.7; margin: 0 0 32px; }
  .cta-actions { display: flex; flex-direction: column; gap: 0; }
  .cta-action-row { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(247,246,241,.15); padding: 18px 0; transition: padding-left .3s var(--easing); }
  .cta-action-row:last-child { border-bottom: 1px solid rgba(247,246,241,.15); }
  .cta-action-row:hover { padding-left: 12px; color: #6BFF6E; }
  .cta-action-row .lbl { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(247,246,241,.6); }
  .cta-action-row .val { font-size: 17px; font-weight: 500; margin-top: 4px; }
  .cta-action-row .arrow { font-size: 22px; }

  /* ============================================================
     Client feedback 0526 — prominent green eyebrow ×1.5
     ============================================================ */
  .esg-hero-overlay .eyebrow { font-size: 16.5px; }   /* 11 → 16.5 (×1.5) */

  /* ============================================================
     ESG content sections (PM 0628 — Goals / Environment / People)
     ============================================================ */
  .esg-section { padding: clamp(64px, 8vw, 120px) 0; border-top: 1px solid var(--hair); }
  .esg-section.tint { background: var(--paper-2); }
  .esg-sec-head { max-width: 880px; }
  .esg-sec-head .h-section { margin-top: 16px; }
  .esg-sec-head .h-section em { color: var(--green); font-style: normal; font-weight: 400; }
  .esg-sec-lead { margin: 22px 0 0; font-size: clamp(17px, 1.3vw, 19px); font-weight: 600; color: var(--ink); }
  .esg-sec-intro { margin: 14px 0 0; font-size: clamp(15.5px, 1.1vw, 17px); line-height: 1.85; color: var(--ink-2); max-width: 800px; }

  .esg-lead-img {
    margin: clamp(36px, 5vw, 56px) 0 0;
    aspect-ratio: 21 / 9; max-height: 440px; overflow: hidden;
    border: 1px solid var(--hair); background: var(--paper-2);
  }
  .esg-lead-img img { width: 100%; height: 100%; object-fit: cover; }

  .esg-focus-list { margin-top: clamp(40px, 5vw, 64px); display: flex; flex-direction: column; gap: clamp(40px, 5vw, 72px); }
  .esg-focus { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: center; }
  .esg-focus:nth-child(even) .ef-img { order: 2; }
  .ef-img { aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid var(--hair); background: var(--paper-2); }
  .ef-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--easing); }
  .esg-focus:hover .ef-img img { transform: scale(1.04); }
  .ef-num {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: 'JetBrains Mono', monospace; font-size: 12.5px; letter-spacing: .14em;
    color: var(--green); margin-bottom: 16px;
  }
  .ef-num::before { content: ""; width: 26px; height: 1px; background: var(--green); }
  .ef-text h3 {
    font-family: 'Bricolage Grotesque', 'Noto Sans TC', sans-serif;
    font-weight: 500; font-size: clamp(21px, 2.5vw, 30px);
    line-height: 1.25; letter-spacing: -.01em; color: var(--ink); margin: 0 0 16px;
  }
  .ef-text p { font-size: clamp(15px, 1.05vw, 16.5px); line-height: 1.85; color: var(--ink-2); margin: 0; }

  @media (max-width: 800px) {
    .esg-focus { grid-template-columns: 1fr; gap: 20px; }
    .esg-focus:nth-child(even) .ef-img { order: 0; }
    .esg-lead-img { aspect-ratio: 16 / 9; }
  }
