/* 可持续发展：共享品牌导航、浅色内容区与环境及社区主题。 */
.sustainability-reference { background: #fdfcf9; color: #4d4536; }
.sustainability-reference .page-sustainability { padding-top: 132px; }
.sustain-hero { max-width: 1440px; margin: auto; padding: 38px 32px 50px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.sustain-kicker { font-size: 13px; font-weight: 750; text-transform: uppercase; letter-spacing: .14em; margin: 0 0 20px; }
.sustain-hero h1 { font-family: var(--font-latin); font-size: clamp(40px,4.5vw,68px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 24px; }
.sustain-hero__content > p:not(.sustain-kicker) { font-size: 20px; line-height: 1.6; color: #6f6250; margin-bottom: 30px; }
.sustain-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; border-radius: 999px; background: #1e1b16; color: white; padding: 14px 26px; font-weight: 700; text-decoration: none; min-height: 52px; }
.sustain-button:hover { color: #fff; background: #4d4536; }
.sustain-hero__visual { position: relative; aspect-ratio: 1; border-radius: 180px 24px 24px 24px; background: #e5e0d5; }
.sustain-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.sustain-hero__caption { position: absolute; left: 30px; bottom: 24px; background: #fffdf2ed; border-radius: 999px; padding: 10px 20px; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.sustain-leaf { position: absolute; width: 130px; height: 130px; top: -22px; right: -22px; transform: rotate(12deg); }
.sustain-mission { max-width: 880px; padding: 56px 28px 66px; text-align: center; margin: auto; }
.page-sustainability h2 { font-family: var(--font-latin); font-size: clamp(30px,3vw,44px); line-height: 1.15; letter-spacing: -.03em; margin: 0 0 22px; }
.sustain-mission > p:last-child { font-size: 19px; line-height: 1.8; color: #6f6250; }
.sustain-pillars { max-width: 1376px; margin: 0 auto 70px; padding: 0 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sustain-pillar { position: relative; padding: 48px; border-radius: 28px; overflow: hidden; }
.sustain-pillar--planet { background: #4d4536; color: #fffdf4; }
.sustain-pillar--people { background: #f3efe4; }
.sustain-pillar h2 { max-width: 10em; padding-right: 30px; }
.sustain-pillar > p:last-of-type { line-height: 1.7; font-size: 18px; max-width: 28em; }
.sustain-pillar > a { display: inline-flex; color: inherit; margin-top: 16px; font-weight: 700; text-underline-offset: 5px; }
.sustain-pillar__symbol { position: absolute; right: 32px; top: 24px; font-size: 64px; opacity: .5; }
.sustain-everyday { padding: 64px 32px 76px; background: #f3f1ea; scroll-margin-top: 130px; }
.sustain-everyday > header { max-width: 1312px; margin: 0 auto 36px; }
.sustain-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; max-width: 1312px; margin: auto; }
.sustain-action { padding: 30px; border-radius: 22px; background: #fffdf7; border: 1px solid #f0eee8; }
.sustain-action__number { display: block; margin-bottom: 28px; font-size: 14px; color: #8a8172; }
.sustain-action h3 { font-family: var(--font-latin); font-size: 23px; line-height: 1.2; margin: 0 0 14px; }
.sustain-action p { color: #6f6250; font-size: 16px; line-height: 1.75; margin: 0; }
.sustain-contact { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 70px 32px; max-width: 1376px; margin: auto; }
.sustain-contact > div { max-width: 740px; }
.sustain-contact > div > p:last-child { font-size: 18px; line-height: 1.6; color: #6f6250; }
.sustain-contact .sustain-button { flex-shrink: 0; }
.page-sustainability a:focus-visible { outline: 3px solid #a08654; outline-offset: 5px; }

@media (max-width:1000px) {
.sustain-hero { gap: 28px; } .sustain-leaf { width: 90px; height: 90px; right: -10px; } .sustain-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } .sustain-pillar { padding: 32px; }
}