.portal-shell.portal-policy {
  min-height: 100vh;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  background: #f7f7f0;
  color: #263b31;
  font-family: "Segoe UI", system-ui, sans-serif;
}
.portal-policy .portal-background { display: none; }
.portal-policy .portal-content { width: 100%; max-width: 1160px; padding: 38px 24px 45px; flex: 1; background: transparent; border-radius: 0; }
.portal-policy header .navbar { margin-bottom: 0 !important; box-shadow: none; border-color: #e1e7dc !important; }
.portal-policy .footer { position: static; line-height: 1.7; white-space: normal; padding: 20px 0; background: #eff2e9; font-size: .8rem; }
.privacy-page { width: 100%; }
.privacy-hero { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 39px 44px; border-radius: 18px; background: #153e30; color: #fff; overflow: hidden; }
.privacy-eyebrow { font-size: .65rem; font-weight: 700; line-height: 1.6; letter-spacing: .11em; text-transform: uppercase; margin: 0 0 13px; color: #5e7055; }
.privacy-hero .privacy-eyebrow { color: #e7d39b; }
.privacy-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 4vw, 3.8rem); font-weight: 400; line-height: 1.12; letter-spacing: -.035em; margin: 0 0 19px; }
.privacy-hero h1 em { font-weight: 400; color: #f1d795; }
.privacy-intro { max-width: 600px; font-size: 1rem; line-height: 1.7; color: #e7ede1; margin: 0 0 23px; }
.privacy-version { font-size: .78rem; line-height: 1.8; color: #d5e2cd; margin: 0; }
.privacy-hero-mark { width: 175px; height: 175px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid #ffffff21; border-radius: 50%; box-shadow: 0 0 0 25px #ffffff04, 0 0 0 50px #ffffff03; }
.privacy-hero-mark svg { width: 80px; height: 80px; fill: none; stroke: #f1d795; stroke-width: 1.4; stroke-linejoin: round; stroke-linecap: round; }
.privacy-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 28px 8px 32px; border-bottom: 1px solid #dde5d6; }
.privacy-summary > div { padding-right: 17px; }
.privacy-summary-number { color: #836325; font-size: .72rem; font-weight: 700; letter-spacing: .1em; }
.privacy-summary h2 { font-size: 1.05rem; font-weight: 650; margin: 10px 0 8px; color: #284431; }
.privacy-summary p { font-size: .87rem; line-height: 1.7; color: #5b6b53; margin: 0; }
.privacy-document { display: grid; grid-template-columns: 218px minmax(0, 1fr); align-items: start; gap: 31px; padding-top: 34px; }
.privacy-toc { position: sticky; top: 25px; padding: 10px 0; }
.privacy-toc .privacy-eyebrow { margin-bottom: 15px; }
.privacy-toc a { display: block; color: #53654c; padding: 9px 0; font-size: .84rem; line-height: 1.5; text-decoration: none; }
.privacy-toc a:hover { color: #173f2d; text-decoration: underline; text-underline-offset: 4px; }
.privacy-sections { min-width: 0; }
.privacy-section { padding: 28px 31px; margin-bottom: 19px; background: #fff; border: 1px solid #e1e7db; border-radius: 13px; scroll-margin-top: 24px; box-shadow: 0 6px 20px #24473404; }
.privacy-section .privacy-eyebrow { font-size: .6rem; margin-bottom: 12px; }
.privacy-section h2 { color: #21422e; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 1.8rem; letter-spacing: -.025em; line-height: 1.3; margin: 0 0 18px; }
.privacy-section p { color: #485c42; font-size: .94rem; line-height: 1.85; margin: 0 0 17px; }
.privacy-section p:last-child { margin-bottom: 0; }
.privacy-section strong { color: #2d4532; font-weight: 650; }
.privacy-page a { text-underline-offset: 3px; }
.privacy-section a, .privacy-sources a { color: #285d36; overflow-wrap: anywhere; }
.privacy-page a:focus-visible, .privacy-table-wrap:focus-visible { outline: 3px solid #9b732a; outline-offset: 4px; border-radius: 2px; }
.privacy-contact { display: grid; gap: 11px; margin: 20px 0; padding: 19px 20px; border: 1px solid #e0e6d8; border-radius: 8px; background: #f8faf4; }
.privacy-contact > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 13px; }
.privacy-contact dt { font-size: .83rem; line-height: 1.65; font-weight: 600; color: #5a6c4e; }
.privacy-contact dd { font-size: .9rem; line-height: 1.65; margin: 0; overflow-wrap: anywhere; }
.privacy-section .privacy-small { font-size: .84rem; color: #607156; }
.privacy-list { padding-left: 21px; margin: 0 0 20px; }
.privacy-list li { color: #485c42; font-size: .94rem; line-height: 1.8; margin-bottom: 10px; }
.privacy-list li:last-child { margin-bottom: 0; }
.privacy-table-wrap { overflow-x: auto; margin: 20px 0; border: 1px solid #dce4d4; border-radius: 8px; }
.privacy-table { width: 100%; border-collapse: collapse; font-size: .87rem; line-height: 1.75; }
.privacy-table thead { color: #324c2f; background: #edf3e6; }
.privacy-table th, .privacy-table td { padding: 15px 17px; vertical-align: top; text-align: left; }
.privacy-table th { font-weight: 600; }
.privacy-table tbody th { width: 32%; min-width: 145px; color: #34502f; background: #fafbf7; }
.privacy-table td { color: #4c6046; }
.privacy-table tbody tr + tr { border-top: 1px solid #e3e9de; }
.privacy-note { margin: 21px 0; border-left: 3px solid #b2954d; padding: 16px 20px; background: #f7f7ed; border-radius: 0 6px 6px 0; }
.privacy-note > strong { display: block; font-size: .93rem; line-height: 1.7; margin-bottom: 8px; }
.privacy-note p { font-size: .88rem; margin: 0; }
.privacy-section-last { border-color: #cad8bf; background: #f9fbf5; }
.privacy-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 25px; }
.privacy-button { display: inline-flex; align-items: center; gap: 22px; padding: 13px 19px; border: 1px solid #173f2d; border-radius: 6px; color: #fff !important; background: #173f2d; font-size: .85rem; font-weight: 600; text-decoration: none; }
.privacy-button:hover { background: #28583c; }
.privacy-button > span { color: #f1d795; font-size: 1.2rem; line-height: 1; }
.privacy-secondary { font-size: .85rem; }
.privacy-sources { font-size: .75rem; line-height: 1.8; color: #63745b; padding: 2px 9px; margin: 24px 0 0; }
@media (max-width: 991.98px) {
  .privacy-document { grid-template-columns: 178px minmax(0, 1fr); gap: 22px; }
  .privacy-hero { padding: 34px; }
  .privacy-hero-mark { width: 125px; height: 125px; }
  .privacy-hero-mark svg { width: 62px; height: 62px; }
  .privacy-section { padding: 25px; }
  .privacy-table th, .privacy-table td { padding: 13px; }
}
@media (max-width: 767.98px) {
  .portal-policy .portal-content { padding: 25px 18px 34px; }
  .privacy-hero { padding: 30px 25px; }
  .privacy-hero-mark { display: none; }
  .privacy-hero h1 { font-size: 2.7rem; }
  .privacy-intro { font-size: 1rem; }
  .privacy-version { font-size: .82rem; }
  .privacy-summary { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 24px 4px; }
  .privacy-summary > div { padding: 0 0 0 34px; position: relative; }
  .privacy-summary-number { position: absolute; top: 2px; left: 0; font-size: .8rem; }
  .privacy-summary h2 { font-size: 1.05rem; margin: 0 0 6px; }
  .privacy-summary p { font-size: .94rem; }
  .privacy-document { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-top: 23px; }
  .privacy-toc { position: static; padding: 0; }
  .privacy-toc a { display: inline-block; margin: 0 10px 9px 0; padding: 8px 11px; font-size: .85rem; border: 1px solid #d9e1d1; border-radius: 5px; background: #fdfef9; }
  .privacy-toc .privacy-eyebrow { font-size: .7rem; margin-bottom: 12px; }
  .privacy-section { padding: 25px 21px; }
  .privacy-section h2 { font-size: 1.75rem; }
  .privacy-section .privacy-eyebrow { font-size: .66rem; }
  .privacy-section p, .privacy-list li { font-size: 1rem; line-height: 1.8; }
  .privacy-contact > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .privacy-contact { padding: 17px; }
  .privacy-contact dt { font-size: .85rem; }
  .privacy-contact dd { font-size: 1rem; }
  .privacy-table { min-width: 430px; font-size: .94rem; }
  .privacy-table tbody th { min-width: 132px; }
  .privacy-note { padding: 15px 17px; }
  .privacy-note p, .privacy-note > strong { font-size: .95rem; }
  .privacy-button, .privacy-secondary { font-size: .96rem; }
  .privacy-sources { font-size: .84rem; }
}
@media (max-width: 575.98px) {
  .portal-policy .portal-content { padding: 21px 16px 30px; }
  .privacy-hero { border-radius: 14px; padding: 27px 22px; }
  .privacy-hero h1 { font-size: 2.5rem; }
  .privacy-section { padding: 23px 19px; }
}
@media print {
  .portal-policy header:not(.privacy-hero), .portal-policy footer, .privacy-toc, .privacy-actions { display: none !important; }
  .portal-policy .portal-content { max-width: none; padding: 0; }
  .privacy-hero { background: #fff; color: #000; padding: 20px 0; border-radius: 0; }
  .privacy-hero :is(h1 em, p) { color: #000; }
  .privacy-hero-mark { display: none; }
  .privacy-document { display: block; }
  .privacy-section { box-shadow: none; border-radius: 0; break-inside: avoid; }
  .privacy-summary { padding: 15px 0; }
  .privacy-table-wrap { overflow: visible; }
  .privacy-table { min-width: 0; }
}
