:root {
  color-scheme: light;
  --ink: #232323;
  --body: #505050;
  --muted: #686868;
  --line: #e8e8e8;
  --soft: #f6f7f9;
  --accent: #b83c0d;
  --orange: #fd6018;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body {
  margin: 0;
  background: #fff;
  color: var(--body);
  font: 16px/1.85 "Leelawadee UI", Tahoma, system-ui, sans-serif;
  overflow-wrap: anywhere;
}
a { color: var(--accent); text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; border-radius: 2px; }
.skip-link { position: absolute; top: -80px; left: 16px; z-index: 1; padding: 8px 16px; background: #fff; }
.skip-link:focus { top: 8px; }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner, .policy-shell, .footer-inner { width: min(100% - 48px, 1040px); margin: auto; }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; }
.brand img { display: block; width: 154px; height: auto; }
.home-link { color: var(--body); font-size: 14px; text-decoration: none; padding: 9px 0; }
.policy-shell { padding-top: 42px; }
.eyebrow { color: var(--muted); font-size: 14px; margin: 0 0 18px; }
.policy-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); max-width: 720px; }
.policy-tabs a { color: var(--muted); border-bottom: 3px solid transparent; padding: 14px 12px 13px; text-decoration: none; text-align: center; font-size: 15px; line-height: 1.6; }
.policy-tabs a:hover { background: var(--soft); }
.policy-tabs a[aria-current="page"] { color: var(--accent); border-bottom-color: var(--orange); font-weight: 700; }
.document { max-width: 720px; margin: 0 auto; padding: 42px 0 64px; }
.policy-tabs { margin: 0 auto; }
h1, h2, strong { color: var(--ink); }
h1 { font-size: clamp(28px, 4vw, 38px); letter-spacing: -.6px; line-height: 1.45; margin: 0 0 16px; }
h2 { font-size: 20px; font-weight: 700; line-height: 1.6; margin: 0 0 10px; }
p { margin: 0 0 14px; }
.lead { font-size: 18px; line-height: 1.8; }
.effective { color: var(--muted); font-size: 13px; margin-top: 20px; }
.contact { margin: 26px 0 34px; padding: 17px 20px; background: var(--soft); border-radius: 6px; display: flex; flex-wrap: wrap; gap: 3px 22px; font-size: 15px; }
.document section + section { margin-top: 30px; }
ul, ol { padding-left: 24px; margin: 0 0 14px; }
li + li { margin-top: 8px; }
.note { border-left: 3px solid var(--orange); background: #fff4ed; padding: 16px 20px; margin: 28px 0; font-size: 15px; }
.steps { list-style: none; counter-reset: step; padding: 0; }
.steps li { counter-increment: step; padding: 0 0 22px 46px; position: relative; }
.steps li + li { margin-top: 0; }
.steps li::before { content: counter(step); position: absolute; left: 0; top: 2px; width: 30px; height: 30px; border: 1px solid var(--line); background: var(--soft); border-radius: 50%; display: grid; place-items: center; color: var(--ink); font-size: 14px; }
.steps p { margin: 5px 0 0; }
.request-link { display: inline-block; padding: 10px 18px; background: var(--accent); color: #fff; border-radius: 5px; text-decoration: none; margin: 4px 0 18px; }
.request-link:hover { background: #95320b; }
.scope { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 32px; color: var(--muted); font-size: 14px; }
.site-footer { border-top: 1px solid var(--line); background: var(--soft); }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; padding-top: 20px; padding-bottom: 20px; font-size: 13px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.footer-links a { padding: 8px 0; color: var(--body); }
@media (max-width: 600px) {
  .header-inner, .policy-shell, .footer-inner { width: calc(100% - 36px); }
  .header-inner { min-height: 76px; }
  .brand img { width: 132px; }
  .home-link { font-size: 13px; }
  .policy-shell { padding-top: 26px; }
  .policy-tabs a { font-size: clamp(11px, 3.5vw, 13px); padding: 13px 5px 11px; }
  .document { padding: 30px 0 44px; }
  h1 { font-size: clamp(24px, 6vw, 30px); }
  h2 { font-size: 18px; }
  .lead { font-size: 16px; }
  .contact { padding: 15px 17px; }
  .steps li { padding-left: 40px; }
  .note { padding: 14px 16px; }
}
@media print {
  .skip-link, .home-link, .policy-tabs, .site-footer, .request-link { display: none; }
  .policy-shell { padding-top: 0; }
  .document { max-width: none; padding: 20px 0; }
  a { color: inherit; }
}
