/* Privacy Notice — editorial utility page, readable in both themes */
.privacy-hero { background: var(--fine); border-top: 5px solid var(--accent); padding: 82px 0 77px; }
.privacy-hero-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.62fr); align-items: end; gap: clamp(60px,8vw,135px); }
.privacy-hero h1 { font-size: clamp(4.25rem,6.7vw,7rem); max-width: 11ch; margin-bottom: 28px; }
.privacy-intro { max-width: 610px; color: var(--muted); font-size: 1.15rem; line-height: 1.72; }
.privacy-date { display: flex; gap: 25px; flex-wrap: wrap; margin-top: 39px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.privacy-summary { background: #193829; color: #f4fbf5; padding: 33px 34px 28px; box-shadow: var(--shadow); }
.summary-kicker { color: #9de6a8; font-size: .64rem; letter-spacing: .16em; font-weight: 800; margin: 0 0 17px; }
.privacy-summary > div { display: grid; grid-template-columns: 42px 1fr; column-gap: 15px; padding: 17px 0; border-top: 1px solid #52705a; }
.privacy-summary > div > span { grid-row: span 2; color: #91e6a1; font: 400 1.2rem/1.1 Georgia,serif; }
.privacy-summary strong { font-size: .95rem; line-height: 1.25; }
.privacy-summary div p { color: #cbded0; font-size: .8rem; line-height: 1.45; margin: 7px 0 0; }
.privacy-body { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: clamp(70px,9vw,155px); padding-block: 90px 130px; }
.privacy-index { position: sticky; top: 115px; align-self: start; display: grid; gap: 0; border-top: 3px solid var(--accent); }
.privacy-index > span { padding: 22px 0 18px; color: var(--accent-text); font-size: .65rem; letter-spacing: .15em; font-weight: 800; }
.privacy-index a { display: flex; align-items: baseline; gap: 15px; padding: 12px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .79rem; line-height: 1.3; font-weight: 650; transition: color .2s ease,padding-left .2s ease; }
.privacy-index a:hover { color: var(--accent-text); padding-left: 5px; }
.privacy-index b { color: var(--accent-text); font: 400 1rem Georgia,serif; }
.privacy-content { max-width: 790px; }
.privacy-entry { scroll-margin-top: 105px; border-top: 1px solid var(--line); padding: 39px 0 58px; }
.privacy-entry:first-child { border-top: 0; padding-top: 0; }
.entry-number { display: block; color: var(--accent-text); font-size: .65rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 19px; }
.privacy-entry h2 { font-size: clamp(2.25rem,3.4vw,3.65rem); line-height: 1.08; margin-bottom: 25px; }
.privacy-entry h3 { font-size: 1.1rem; margin: 0 0 12px; }
.privacy-entry p { color: var(--muted); font-size: .98rem; line-height: 1.72; margin: 0 0 20px; }
.privacy-entry p:last-child { margin-bottom: 0; }
.privacy-entry strong { color: var(--ink); }
.privacy-entry a { color: var(--accent-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.privacy-entry address { width: fit-content; min-width: min(100%,400px); margin: 24px 0; padding: 23px 25px; border-left: 3px solid var(--accent); background: var(--fine); font-style: normal; line-height: 1.85; font-size: .94rem; }
.privacy-entry code { padding: 2px 6px; background: var(--fine); border: 1px solid var(--line); color: var(--ink); font-size: .89em; }
.privacy-entry .entry-aside { padding: 18px 21px; background: var(--accent-wash); border-left: 3px solid var(--accent); color: var(--ink); font-size: .86rem; }
.provider-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 28px 0; border-block: 1px solid var(--line); }
.provider-grid > div { padding: 25px 23px 12px 0; }
.provider-grid > div + div { border-left: 1px solid var(--line); padding-left: 23px; }
.provider-grid p { font-size: .88rem; }
@media (max-width: 960px) {
  .privacy-hero { padding: 65px 0; }
  .privacy-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .privacy-hero h1 { font-size: clamp(3.7rem,8vw,5.2rem); }
  .privacy-summary { max-width: 620px; width: 100%; }
  .privacy-body { grid-template-columns: 1fr; gap: 43px; padding-block: 65px 100px; }
  .privacy-index { position: static; display: flex; gap: 8px; overflow-x: auto; border-top: 0; padding-bottom: 8px; scrollbar-width: thin; }
  .privacy-index > span { flex: 0 0 auto; padding: 10px 15px 10px 0; }
  .privacy-index a { flex: 0 0 auto; padding: 9px 12px; border: 1px solid var(--line); white-space: nowrap; }
  .privacy-index a:hover { padding-left: 12px; }
}
@media (max-width: 600px) {
  .privacy-hero { padding: 47px 0 53px; }
  .privacy-hero h1 { font-size: clamp(3.15rem,11vw,4rem); margin-bottom: 21px; }
  .privacy-intro { font-size: .98rem; line-height: 1.6; }
  .privacy-date { margin-top: 27px; gap: 9px 20px; font-size: .64rem; }
  .privacy-summary { padding: 23px 24px 18px; }
  .privacy-summary > div { padding: 14px 0; }
  .privacy-body { padding-block: 43px 80px; gap: 30px; }
  .privacy-index > span { display: none; }
  .privacy-index a { font-size: .74rem; }
  .privacy-entry { padding: 30px 0 42px; }
  .entry-number { margin-bottom: 14px; }
  .privacy-entry h2 { font-size: clamp(2rem,8vw,2.65rem); margin-bottom: 19px; }
  .privacy-entry p { font-size: .91rem; line-height: 1.66; }
  .privacy-entry address { padding: 18px; font-size: .85rem; }
  .provider-grid { grid-template-columns: 1fr; }
  .provider-grid > div { padding: 20px 0 7px; }
  .provider-grid > div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
}
