.policy-page { background: #f5f2e9; color: #272832; }
.policy-page::before { opacity: .018; }
.policy-nav { position: relative; color: var(--ink); background: var(--night); width: 100%; padding: 0 max(32px, calc((100vw - 1320px) / 2)); }
.policy-nav nav a { color: #d9d9df; }
.policy-nav nav a[aria-current="page"] { color: var(--teal); }

.policy-shell {
  display: grid;
  grid-template-columns: minmax(300px, 430px) minmax(0, 760px);
  gap: clamp(60px, 10vw, 160px);
  width: min(1320px, calc(100% - 64px));
  margin: 0 auto;
  padding: 95px 0 130px;
}

.policy-intro { position: sticky; top: 42px; align-self: start; }
.back-link { display: inline-block; margin-bottom: 70px; color: #686a73; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.back-link:hover { color: #11121a; }
.policy-intro .eyebrow { color: #686a73; }
.policy-intro h1 { color: #11121a; font-size: clamp(4rem, 7vw, 7.3rem); }
.policy-intro > p:not(.eyebrow) { max-width: 390px; margin: 30px 0; color: #666872; font-size: 1.12rem; }

.policy-intro dl { margin: 45px 0 0; border-top: 1px solid #d0ccc1; }
.policy-intro dl div { display: grid; grid-template-columns: 100px 1fr; padding: 15px 0; border-bottom: 1px solid #d0ccc1; }
.policy-intro dt { color: #868780; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.policy-intro dd { margin: 0; font-size: .88rem; font-weight: 600; }

.policy-content { padding-top: 53px; }
.policy-notice { margin: 0 0 65px; padding: 22px 25px; color: #34353d; background: #e6e0d2; border-left: 4px solid #c2472f; }
.policy-content section { padding: 0 0 54px; margin: 0 0 54px; border-bottom: 1px solid #d6d2c8; }
.policy-content section:last-child { border: 0; }
.policy-content h2 { display: grid; grid-template-columns: 42px 1fr; gap: 12px; margin-bottom: 25px; color: #11121a; font-size: clamp(1.55rem, 2.4vw, 2.1rem); letter-spacing: -.035em; }
.policy-content h2 span { padding-top: 7px; color: #c2472f; font: 700 .7rem/1 var(--body); letter-spacing: .1em; }
.policy-content h3 { margin: 30px 0 10px; color: #292a32; font: 700 1rem/1.3 var(--display); }
.policy-content p { margin: 0 0 16px; color: #5b5c64; }
.policy-content ul { margin: 14px 0 0; padding-left: 1.25rem; color: #5b5c64; }
.policy-content li + li { margin-top: 8px; }

.providers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 26px; }
.providers a { display: flex; justify-content: space-between; padding: 14px 16px; color: #303139; background: #ebe7dc; font-size: .88rem; font-weight: 700; text-decoration: none; border: 1px solid #d8d3c7; border-radius: 5px; transition: background .2s ease, color .2s ease; }
.providers a:hover { color: white; background: #c2472f; }

.contact-card { padding: 30px; background: #11121a; border-radius: 7px; }
.contact-card strong { color: var(--teal); font: 700 1.2rem var(--display); letter-spacing: .08em; }
.contact-card p { margin: 16px 0 22px; color: #bbbcc4; }
.contact-card a { color: white; font-size: .82rem; font-weight: 700; text-underline-offset: 4px; }

.policy-page footer { width: min(1320px, calc(100% - 64px)); color: var(--muted); border-top: 1px solid rgba(255,255,255,.1); }
.policy-page footer::before { position: absolute; right: 0; left: 0; z-index: -1; height: 190px; background: var(--night); content: ""; }

@media (max-width: 900px) {
  .policy-shell { grid-template-columns: 1fr; gap: 15px; }
  .policy-intro { position: static; }
  .back-link { margin-bottom: 50px; }
  .policy-content { padding-top: 25px; }
}

@media (max-width: 640px) {
  .policy-nav { padding: 0 18px; }
  .policy-shell { width: min(100% - 36px, 1320px); padding: 70px 0 90px; }
  .policy-intro h1 { font-size: 4.2rem; }
  .policy-content h2 { grid-template-columns: 35px 1fr; }
  .providers { grid-template-columns: 1fr; }
  .policy-page footer { width: min(100% - 36px, 1320px); }
}
