.community-gift { position: relative; isolation: isolate; background: transparent; min-height: 560px; display: grid; align-items: center; padding-block: 110px; text-align: center; }
.community-gift::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(#f7f5f0b8, #f7f5f0b8), url('/assets/images/giran-center-town.png') center / cover no-repeat; background-attachment: fixed; }
.community-gift h2 { max-width: 960px; margin: 0 auto 28px; font-size: clamp(34px, 3.7vw, 52px); line-height: 1.12; color: #30271d; text-wrap: balance; }
.community-gift p { max-width: 700px; margin: 0 auto; color: #40372b; font-size: 17px; line-height: 1.9; text-wrap: pretty; }
@media (max-width: 600px) { .community-gift { min-height: 480px; padding-block: 80px; } .community-gift p { font-size: 15px; } }
.legacy .section-intro { max-width: 100%; margin: 0 auto; text-align: center; }
.legacy .section-intro h2 { margin: 20px auto 28px; font-size: clamp(32px, 3.7vw, 52px); line-height: 1.08; text-wrap: balance; }
.legacy .section-intro > .legacy-intro { max-width: 700px; margin: 0 auto; color: #4d453a; line-height: 1.9; text-wrap: pretty; }
.legacy .legacy-divider { width: min(850px, 90%); margin: 42px auto; }
.legacy-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.legacy .legacy-art { width: 100%; max-width: 440px; aspect-ratio: 3 / 4; margin: 0 auto; }
.legacy .legacy-art > img { object-position: 39% center; }
.legacy-editorial { display: grid; gap: 32px; }
.legacy-editorial h3 { font-size: clamp(25px, 2.4vw, 32px); line-height: 1.15; margin-bottom: 10px; color: #554021; text-wrap: balance; }
.legacy-editorial p { max-width: 480px; color: #4d453a; line-height: 1.8; text-wrap: pretty; }
@media (max-width: 760px) {
  .legacy-layout { grid-template-columns: 1fr; gap: 30px; }
  .legacy .legacy-divider { margin-block: 30px; }
  .legacy .legacy-art { max-width: 380px; margin-inline: auto; }
  .legacy-editorial p { max-width: none; }
}
.server-rates { text-align: center; }
.server-rates h2 { max-width: 850px; margin: 20px auto 24px; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.12; text-wrap: balance; }
.server-rates .rates-intro { max-width: 600px; margin: 0 auto; color: #4d453a; text-wrap: pretty; }
.server-rates-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 32px; margin: 38px auto 0; max-width: 1100px; }
/* Each group shares its title/value rows with its neighbors. */
.server-rates-grid > div { display: grid; grid-template-rows: subgrid; grid-row: span 2; min-width: 0; text-align: center; }
.server-rates-grid dd::after { content: ''; display: block; width: 64px; height: 1px; margin: 18px auto 0; background: #b78a3c66; transform: scaleY(.5); }
.server-rates-grid dt { font: 500 11px/1.6 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #554021; }
.server-rates-grid dd { margin: 10px 0 0; font: 400 44px/1.1 var(--serif); color: #30271d; }
@media (max-width: 700px) { .server-rates-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 36px; } .server-rates-grid > div { row-gap: 0; } .server-rates-grid > div:last-child { grid-column: 1 / -1; width: calc(50% - 14px); justify-self: center; } }
.features-heading { text-align: center; margin-bottom: 56px; }
.features-heading h2 { max-width: 960px; margin: 20px auto 0; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.15; text-wrap: balance; }
.features-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 72px; max-width: 1100px; margin-inline: auto; }
.features-grid h3 { color: #554021; font: 400 clamp(26px, 2.4vw, 32px)/1.2 var(--serif); text-wrap: balance; }
.features-grid h3::after { content: ''; display: block; width: 56px; height: 1px; margin: 16px 0; background: #b78a3c88; }
.features-grid p { color: #4d453a; line-height: 1.85; text-wrap: pretty; }
.features-grid strong { color: #30271d; font-weight: 600; }
@media (max-width: 700px) { .features-grid { grid-template-columns: 1fr; gap: 34px; } .features-heading { margin-bottom: 36px; } }
