/* Shared policy surfaces and unobtrusive links on existing screens. */
.policy-page { margin:0; color:#111814; background:#fff; font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.75; }
.policy-page * { box-sizing:border-box; }
.policy-page a { color:#08785b; text-underline-offset:4px; }
.policy-page a:focus-visible,.policy-links a:focus-visible { outline:3px solid #08785b; outline-offset:4px; border-radius:3px; }
.policy-skip { position:absolute; left:16px; top:-100px; padding:12px; background:white; z-index:5; }
.policy-skip:focus { top:8px; }
.policy-header { max-width:1160px; margin:auto; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #e2e6e1; }
.policy-header .mb-brand { color:#111814; text-decoration:none; }
.policy-header nav,.policy-nav,.policy-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.policy-header nav a,.policy-nav a,.policy-footer nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.policy-page [aria-current="page"] { font-weight:700; text-decoration:underline; }
.policy-main { max-width:1104px; margin:0 auto; padding:52px 28px 80px; }
.policy-intro { max-width:770px; }
.policy-eyebrow { color:#08785b; font-weight:650; font-size:14px; margin:0 0 12px; }
.policy-intro h1 { font-size:clamp(30px,4vw,46px); letter-spacing:-.045em; line-height:1.2; margin:0 0 20px; overflow-wrap:anywhere; }
.policy-intro>p:not(.policy-eyebrow) { color:#354039; font-size:18px; }
.policy-intro small { color:#59655e; }
.policy-review { margin:28px 0; padding:16px 20px; border-left:3px solid #e8bd39; background:#faf8ee; font-size:14px; }
.policy-review p { margin:4px 0 0; }
.policy-nav { margin:28px 0 36px; padding:14px 0; border-block:1px solid #e2e6e1; }
.policy-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:60px; align-items:start; }
.policy-toc { position:sticky; top:24px; font-size:14px; }
.policy-toc-mobile { display:none; }
.policy-toc summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-weight:650; cursor:pointer; list-style:none; }
.policy-toc summary::-webkit-details-marker { display:none; }
.policy-toc summary::after { content:"+"; font-size:20px; font-weight:400; }
.policy-toc details[open] summary::after { content:"−"; }
.policy-toc summary:focus-visible { outline:3px solid #08785b; outline-offset:4px; border-radius:3px; }
.policy-toc nav { display:grid; margin-top:10px; }
.policy-toc a { padding:9px 0; min-height:44px; color:#354039; text-decoration:none; }
.policy-article { max-width:720px; min-width:0; }
.policy-article section { scroll-margin-top:24px; padding-bottom:32px; }
.policy-article h2 { font-size:21px; letter-spacing:-.025em; line-height:1.45; margin:0 0 12px; }
.policy-article p { margin:0 0 12px; overflow-wrap:anywhere; color:#354039; }
.policy-article section>a { display:inline-flex; min-height:44px; align-items:center; }
.policy-contact { border-top:1px solid #e2e6e1; padding-top:28px; }
.policy-contact dl { margin:0 0 20px; }
.policy-contact dt { font-size:13px; color:#59655e; }
.policy-contact dd { margin:0 0 12px; overflow-wrap:anywhere; }
.policy-email { font-size:20px; font-weight:650; overflow-wrap:anywhere; }
.policy-footer { padding:32px max(28px,calc((100vw - 1048px)/2)); background:#f7f8f5; border-top:1px solid #e2e6e1; font-size:14px; }
.policy-footer>p { max-width:650px; color:#354039; }
.policy-footer>a { display:inline-flex; min-height:44px; align-items:center; }
.policy-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px; padding:18px 0; font-size:13px; line-height:1.6; }
.policy-links a { display:inline-flex; min-height:44px; align-items:center; color:inherit; text-underline-offset:4px; overflow-wrap:anywhere; }
.policy-links--landing { max-width:1200px; margin:0 auto; padding:20px 28px; border-top:1px solid #e2e6e1; color:#354039; }
.policy-account-help { padding:28px 0 12px; border-top:1px solid var(--mb-line,#e2e6e1); }
.policy-account-help h2 { font-size:20px; margin:0 0 10px; }
.policy-account-help p { line-height:1.7; }
@media(max-width:700px) {
  .policy-header { padding:14px 20px; align-items:flex-start; flex-wrap:wrap; gap:8px 20px; }
  .policy-header nav { gap:18px; }
  .policy-main { padding:32px 20px 48px; }
  .policy-layout { display:block; }
  .policy-toc { position:static; margin-bottom:24px; padding-bottom:10px; border-bottom:1px solid #e2e6e1; }
  .policy-toc-desktop { display:none; }
  .policy-toc-mobile { display:block; }
  .policy-intro>p:not(.policy-eyebrow) { font-size:16px; }
  .policy-article h2 { font-size:20px; }
  .policy-nav { gap:4px 20px; }
  .policy-review { padding:14px 16px; }
  .policy-footer { padding:28px 20px; }
  .policy-links--landing { padding:16px 20px; }
  .policy-account-help { padding-bottom:80px; }
}
