.satellite-footer,
.satellite-footer * { box-sizing: border-box; }
.satellite-footer { background: #0d2a21; color: #dcece5; display: grid; gap: 64px; grid-template-columns: .72fr 1fr; margin: 0 auto !important; max-width: 1440px !important; padding: 48px clamp(20px, 7vw, 104px) 64px !important; }
.satellite-footer__stamp { color: #8fe1b0; display: block; font-size: .66rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 18px; text-transform: uppercase; }
.satellite-footer strong { color: #fff; display: block; font-family: "DM Serif Display", serif; font-size: clamp(1.7rem, 3vw, 3.2rem); font-weight: 400; letter-spacing: -.025em; }
.satellite-footer p { color: #a8c1b7; font-size: .84rem; line-height: 1.65; margin: 13px 0 0; max-width: 66ch; }
.satellite-footer__utility { align-self: end; }
.satellite-footer ul { border-top: 1px solid #355d4e; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.satellite-footer li { border-bottom: 1px solid #355d4e; }
.satellite-footer li:nth-child(odd) { border-right: 1px solid #355d4e; }
.satellite-footer a { color: #dcece5; display: block; font-size: .7rem; font-weight: 600; padding: 12px; text-decoration: none; }
.satellite-footer a:hover { background: #8fe1b0; color: #0d2a21; }
.satellite-footer__meta { font-size: .64rem !important; margin-top: 15px !important; }

.policy-page { background: #f6f1e6; color: #1d2924; }
.policy-masthead { align-items: center; background: #0d2a21; color: #dcece5; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1440px; min-height: 82px; padding: 0 clamp(20px, 7vw, 104px); }
.policy-masthead__brand { color: #fff; font-family: "DM Serif Display", serif; font-size: 1.18rem; }
.policy-masthead span { color: #8fe1b0; font-size: .66rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.policy-shell { margin: 0 auto; max-width: 1440px; padding: 0 clamp(20px, 7vw, 104px) 126px; }
.policy-hero { background: #174335; color: #fff; display: grid; gap: 34px 66px; grid-template-columns: .3fr 1fr .58fr; margin-inline: calc(-1 * clamp(20px, 7vw, 104px)); padding: clamp(76px, 9vw, 130px) clamp(20px, 7vw, 104px) 70px; }
.policy-hero > p { color: #8fe1b0; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.policy-hero h1 { font-family: "DM Serif Display", serif; font-size: clamp(4rem, 8vw, 8.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .82; margin: 0; max-width: 8ch; }
.policy-hero div { align-self: end; border-top: 1px solid #8fe1b0; padding-top: 18px; }
.policy-hero div p { color: #bfd4cb; font-size: .95rem; line-height: 1.65; }
.policy-hero time { color: #8fe1b0; display: block; font-size: .64rem; margin-top: 16px; }
.policy-layout { display: grid; gap: 68px; grid-template-columns: minmax(220px, .3fr) minmax(0, 1fr); padding-top: 70px; }
.policy-toc { align-self: start; border-top: 4px solid #174335; padding-top: 18px; position: sticky; top: 24px; }
.policy-toc > p { color: #174335; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.policy-toc ol { list-style: none; margin: 14px 0 0; padding: 0; }
.policy-toc li + li { border-top: 1px solid #c8c3b8; }
.policy-toc a { color: #50615a; display: block; font-size: .76rem; padding: 12px 0; text-decoration: none; }
.policy-section { border-top: 1px solid #9eaa9f; padding: 32px 0 64px; }
.policy-section > span { color: #174335; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.policy-section h2 { font-family: "DM Serif Display", serif; font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 400; letter-spacing: -.035em; line-height: .92; margin: 20px 0 28px; max-width: 14ch; }
.policy-section p, .policy-section li { color: #596860; font-size: .94rem; line-height: 1.75; max-width: 72ch; }
.policy-section ul { display: grid; gap: 9px; margin: 24px 0 0; padding-left: 1.2rem; }
.policy-section--disclosure { background: #e7f2e9; border: 1px solid #9eb6a5; padding: 34px; }
@media (max-width: 820px) { .satellite-footer, .policy-hero, .policy-layout { grid-template-columns: 1fr; } .policy-toc { position: static; } }
@media (max-width: 560px) { .policy-masthead span { display: none; } .satellite-footer ul { grid-template-columns: 1fr; } .satellite-footer li:nth-child(odd) { border-right: 0; } }

