.environmental-policy {
  --eco-forest: #0d5c49;
  --eco-green: #16876a;
  --eco-teal: #0b6ab0;
  --eco-navy: #042c71;
  --eco-orange: #f36b1c;
  --eco-ink: #173d3a;
  --eco-mist: #eef8f4;
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
}

.environmental-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  margin: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(248,214,5,.14), transparent 25%),
    radial-gradient(circle at 94% 12%, rgba(22,135,106,.16), transparent 34%),
    linear-gradient(145deg, #fff, #f0f8f5);
}

.environmental-hero-copy h1 { max-width: 12ch; }
.environmental-hero-copy > p { max-width: 65ch; color: #45615e; font-size: clamp(1rem, 1.5vw, 1.14rem); line-height: 2.05; }
.environmental-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }

.environmental-hero-art { position: relative; min-height: 390px; isolation: isolate; }
.environmental-hero-art::before {
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(13,92,73,.11);
  border-radius: 42% 58% 47% 53% / 53% 42% 58% 47%;
  background:
    linear-gradient(rgba(13,92,73,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,92,73,.045) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(218,241,231,.8));
  background-size: 30px 30px, 30px 30px, auto;
  box-shadow: 0 30px 80px rgba(13,92,73,.13);
  content: "";
  transform: rotate(-3deg);
}
.eco-orbit { position: absolute; z-index: 1; inset: 18%; border: 1px solid rgba(22,135,106,.2); border-radius: 50%; }
.eco-orbit-two { inset: 27%; border-color: rgba(11,106,176,.16); transform: rotate(55deg); }
.eco-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 128px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 38px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 24px 60px rgba(13,92,73,.18);
  transform: translate(-50%,-50%);
}
.eco-core img { width: 80px; height: 80px; object-fit: contain; }
.eco-leaf { position: absolute; z-index: 2; width: 70px; height: 116px; border-radius: 100% 0 100% 0; background: linear-gradient(145deg,#48b78f,var(--eco-forest)); box-shadow: 0 16px 40px rgba(13,92,73,.22); }
.eco-leaf::after { position: absolute; top: 12%; right: 50%; width: 1px; height: 76%; background: rgba(255,255,255,.55); content: ""; transform: rotate(-28deg); transform-origin: bottom; }
.eco-leaf-one { top: 14%; right: 18%; transform: rotate(18deg); }
.eco-leaf-two { bottom: 12%; left: 19%; transform: rotate(198deg) scale(.8); }
.eco-metric {
  position: absolute;
  z-index: 4;
  padding: .62rem .86rem;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 999px;
  color: var(--eco-ink);
  background: rgba(255,255,255,.93);
  box-shadow: 0 12px 35px rgba(13,92,73,.12);
  font-size: .72rem;
  font-weight: 850;
  backdrop-filter: blur(12px);
}
.eco-metric::before { display: inline-block; width: 8px; height: 8px; margin-left: .42rem; border-radius: 50%; background: var(--eco-green); content: ""; }
.eco-metric-energy { top: 16%; left: 2%; }
.eco-metric-lifecycle { right: 0; bottom: 19%; }
.eco-metric-evidence { bottom: 5%; left: 9%; }

.environmental-workplace-photo {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(13,92,73,.12);
  border-radius: 30px;
  background: #dbe8e2;
  box-shadow: 0 24px 70px rgba(13,92,73,.14);
}
.environmental-workplace-photo picture,
.environmental-workplace-photo img { display: block; width: 100%; }
.environmental-workplace-photo img {
  aspect-ratio: 1672 / 941;
  height: auto;
  object-fit: contain;
}
.environmental-workplace-photo figcaption {
  position: absolute;
  right: clamp(1rem,3vw,2rem);
  bottom: clamp(1rem,3vw,2rem);
  max-width: calc(100% - 2rem);
  padding: .85rem 1.1rem;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 17px;
  color: #fff;
  background: rgba(13,92,73,.82);
  box-shadow: 0 14px 40px rgba(3,35,27,.24);
  font-size: clamp(.78rem,1.35vw,.95rem);
  font-weight: 850;
  line-height: 1.8;
  backdrop-filter: blur(14px);
}

.environmental-section-heading { max-width: 690px; }
.environmental-section-heading > span,.environmental-chapter > header > span { color: var(--eco-green); font-size: .72rem; font-weight: 900; letter-spacing: .03em; }
.environmental-section-heading h2,.environmental-chapter > header h2 { margin: .38rem 0 .45rem; color: var(--eco-navy); }
.environmental-section-heading p,.environmental-chapter > header p { margin: 0; color: #5a716d; line-height: 1.9; }
.environmental-principles { padding: clamp(1.2rem,3vw,2rem); border: 1px solid rgba(13,92,73,.1); border-radius: 28px; background: rgba(255,255,255,.72); }
.environmental-principle-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .8rem; margin-top: 1.35rem; }
.environmental-principle-grid article { padding: 1rem; border: 1px solid rgba(13,92,73,.1); border-radius: 20px; background: linear-gradient(150deg,#fff,var(--eco-mist)); }
.environmental-principle-grid article > span { display: grid; width: 38px; aspect-ratio: 1; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg,var(--eco-green),var(--eco-forest)); font-weight: 900; }
.environmental-principle-grid h3 { margin: .75rem 0 .3rem; color: var(--eco-ink); font-size: .9rem; }
.environmental-principle-grid p { margin: 0; color: #60716f; font-size: .74rem; line-height: 1.8; }

.environmental-toc {
  position: sticky;
  z-index: 12;
  top: 92px;
  display: flex;
  gap: .55rem;
  align-items: center;
  overflow-x: auto;
  padding: .72rem;
  border: 1px solid rgba(13,92,73,.11);
  border-radius: 18px;
  background: rgba(250,253,252,.9);
  box-shadow: 0 14px 35px rgba(13,92,73,.08);
  backdrop-filter: blur(18px);
  scrollbar-width: none;
}
.environmental-toc::-webkit-scrollbar { display: none; }
.environmental-toc strong { margin-inline: .35rem .15rem; color: var(--eco-navy); white-space: nowrap; font-size: .78rem; }
.environmental-toc a { flex: 0 0 auto; padding: .5rem .68rem; border-radius: 11px; color: #4f6662; font-size: .72rem; font-weight: 800; }
.environmental-toc a:hover { color: var(--eco-forest); background: #e5f5ee; }

.environmental-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: clamp(1.4rem,3vw,2.4rem); align-items: start; }
.environmental-main { display: grid; gap: 1.25rem; min-width: 0; }
.environmental-chapter { scroll-margin-top: 175px; padding: clamp(1.1rem,2.5vw,1.7rem); border: 1px solid rgba(13,92,73,.1); border-radius: 26px; background: rgba(255,255,255,.82); box-shadow: 0 18px 55px rgba(13,92,73,.055); }
.environmental-chapter > header { padding: .2rem .35rem 1.15rem; }
.environmental-rule { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 1rem; padding: 1.15rem .35rem; border-top: 1px solid rgba(13,92,73,.09); }
.environmental-rule h3 { margin: 0 0 .42rem; color: var(--eco-ink); font-size: 1rem; }
.environmental-rule p { margin: 0; color: #4e6461; font-size: .84rem; line-height: 2; }
.rule-number { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: var(--eco-forest); background: #e6f5ef; font-size: .75rem; font-weight: 900; }
.environmental-rule--checklist ul { display: grid; grid-template-columns: 1fr 1fr; gap: .58rem; margin: .7rem 0 0; padding: 0; list-style: none; }
.environmental-rule--checklist li { position: relative; padding: .65rem 2rem .65rem .75rem; border-radius: 13px; color: #4e6461; background: #f3faf7; font-size: .78rem; line-height: 1.8; }
.environmental-rule--checklist li::before { position: absolute; top: .66rem; right: .7rem; color: var(--eco-green); content: "✓"; font-weight: 900; }
.environmental-rule--report { margin-top: .4rem; padding: 1.15rem; border: 1px solid rgba(22,135,106,.15); border-radius: 20px; background: linear-gradient(145deg,#eef9f5,#f3f8fc); }
.reporting-label { display: inline-block; margin-bottom: .4rem; color: var(--eco-green); font-size: .68rem; font-weight: 900; }
.environmental-rule--report a { display: inline-block; margin-top: .75rem; color: var(--eco-navy); font-size: .8rem; font-weight: 900; }

.environmental-aside { position: sticky; top: 170px; display: grid; gap: 1rem; }
.environmental-nature,.environmental-version { padding: 1.35rem; border-radius: 23px; }
.environmental-nature { border: 1px solid rgba(22,135,106,.14); color: #405d58; background: linear-gradient(150deg,#eaf8f2,#fff); box-shadow: 0 15px 45px rgba(13,92,73,.07); }
.environmental-nature > span { display: grid; width: 42px; aspect-ratio: 1; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,var(--eco-green),var(--eco-forest)); font-size: 1.25rem; font-weight: 800; }
.environmental-nature h2 { margin: 1rem 0 .65rem; color: var(--eco-forest); font-size: 1.12rem; }
.environmental-nature p { margin: 0 0 .75rem; font-size: .8rem; line-height: 1.95; }
.environmental-nature p:last-child { margin-bottom: 0; }
.environmental-version { scroll-margin-top: 175px; display: grid; gap: .22rem; border: 1px solid rgba(13,92,73,.09); background: rgba(255,255,255,.82); }
.environmental-version span { margin-top: .6rem; color: #899a96; font-size: .68rem; }
.environmental-version span:first-child { margin-top: 0; }
.environmental-version strong { color: #304f49; font-size: .78rem; }

.evidence-ladder { padding: clamp(1.15rem,2.5vw,1.7rem); border-radius: 26px; color: #fff; background: linear-gradient(135deg,var(--eco-navy),var(--eco-forest)); box-shadow: 0 24px 60px rgba(4,44,113,.16); }
.evidence-ladder .environmental-section-heading > span { color: #9ee0c5; }
.evidence-ladder .environmental-section-heading h2 { color: #fff; }
.evidence-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem; margin-top: 1rem; }
.evidence-grid article { padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.08); }
.evidence-grid strong { font-size: .86rem; }
.evidence-grid p { margin: .35rem 0 0; color: rgba(255,255,255,.76); font-size: .72rem; line-height: 1.8; }

@media (max-width: 1040px) {
  .environmental-principle-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 960px) {
  .environmental-hero { grid-template-columns: 1fr; }
  .environmental-hero-art { min-height: 300px; }
  .environmental-layout { grid-template-columns: 1fr; }
  .environmental-aside { position: static; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .environmental-policy { gap: 1.6rem; }
  .environmental-hero { padding: 1.5rem 1.15rem; }
  .environmental-hero-copy h1 { font-size: 2.15rem; }
  .environmental-hero-actions .button { width: 100%; }
  .environmental-hero-art { min-height: 260px; }
  .eco-core { width: 102px; border-radius: 30px; }
  .eco-core img { width: 62px; height: 62px; }
  .eco-metric { padding: .46rem .62rem; font-size: .61rem; }
  .environmental-workplace-photo { border-radius: 20px; }
  .environmental-workplace-photo figcaption {
    right: .75rem;
    bottom: .75rem;
    max-width: calc(100% - 1.5rem);
    padding: .65rem .8rem;
    border-radius: 13px;
  }
  .environmental-principle-grid,.environmental-aside,.environmental-rule--checklist ul,.evidence-grid { grid-template-columns: 1fr; }
  .environmental-toc { top: 76px; margin-inline: -.2rem; }
  .environmental-toc strong { display: none; }
  .environmental-chapter { padding: 1rem; border-radius: 22px; }
  .environmental-rule { grid-template-columns: 1fr; padding: 1rem .2rem; }
  .environmental-rule--report { padding: 1rem; }
}
@media print {
  .site-header,.site-footer,.environmental-toc,.environmental-hero-actions,.ambient { display: none!important; }
  body { background: #fff; }
  .shell { width: 100%; }
  .page-shell { padding: 0; }
  .environmental-policy { gap: 18px; }
  .environmental-hero,.environmental-principles,.environmental-chapter,.environmental-nature,.environmental-version,.environmental-rule,.evidence-ladder { break-inside: avoid; border: 1px solid #d7dee5; box-shadow: none; background: #fff; color: #172e2a; }
  .environmental-hero { grid-template-columns: 1fr; }
  .environmental-hero-art { display: none; }
  .environmental-workplace-photo { box-shadow: none; }
  .environmental-layout { grid-template-columns: 1fr; }
  .environmental-aside { position: static; grid-template-columns: 1fr 1fr; }
  .evidence-grid p,.evidence-ladder .environmental-section-heading h2 { color: #172e2a; }
}
@media (prefers-reduced-motion: no-preference) {
  .eco-core { animation: eco-float 5.5s ease-in-out infinite; }
  @keyframes eco-float {
    0%,100% { transform: translate(-50%,-50%) rotate(-2deg); }
    50% { transform: translate(-50%,calc(-50% - 8px)) rotate(2deg); }
  }
}
