:root{
  color-scheme: light;
  --surface-warm:#F6F7FB;
  --neutral-0:#FFFFFF;
  --neutral-50:#F1F3F8;
  --neutral-200:#E5E8EF;
  --neutral-300:#D0D4DE;
  --neutral-500:#6E7583;
  --neutral-600:#515867;
  --neutral-700:#384050;
  --neutral-800:#1E2637;
  --neutral-900:#0B111F;
  --brand-50:#F3F6FB;
  --brand-600:#3461C1;
  --brand-700:#2D54A7;
  --text-on-brand:#FFFFFF;
  --callout-info-bg:#F3F6FB;
  --callout-info-border:#9EB3E1;
  --callout-info-accent:#2D54A7;
  --callout-neutral-bg:#F1F3F8;
  --callout-neutral-border:#D0D4DE;
  --callout-warning-bg:#FEF3C7;
  --callout-warning-border:#FBBF24;
  --callout-warning-accent:#92400E;
  --error-text:#C8102E;
  --focus-ring-core:#0B111F;
  --focus-ring-contrast:#FFFFFF;
  --focus-ring-width:2px;
  --focus-ring-overlay-shadow:
    inset 0 0 0 var(--focus-ring-width) var(--focus-ring-core),
    inset 0 0 0 calc(var(--focus-ring-width) * 2) var(--focus-ring-contrast);
  --font-sans:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-display:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;
  --tracking-tight:-0.01em;
  --radius-card:20px; --radius-input:12px; --radius-button:10px; --radius-sm:8px;
  --shadow-card:0 1px 3px rgba(11,17,31,.12);
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-7:28px; --sp-8:32px; --sp-10:40px;
  --text-body-lg:15px;
  --button-md:52px;
  --touch-min:44px;

  --web-sp-12:48px; --web-sp-14:56px; --web-sp-16:64px; --web-sp-18:72px; --web-sp-20:80px; --web-sp-24:96px;
  --web-wrap:1200px;
  --web-card:800px;
  --web-card-wide:1080px;
  --web-toc:240px;
  --web-head:720px;
  --gutter:32px;
  --web-display:52px; --web-display-lh:60px;
  --web-h1:40px;      --web-h1-lh:48px;
  --web-h2:32px;      --web-h2-lh:40px;
  --web-h3:20px;      --web-h3-lh:28px;
  --web-lead:19px;    --web-lead-lh:30px;
  --web-body:16px;    --web-body-lh:26px;
  --web-q:17px;       --web-q-lh:26px;
  --web-nav:15px;     --web-nav-lh:22px;
  --web-small:14px;   --web-small-lh:22px;
  --web-caps:13px;    --web-caps-lh:18px;
}
@media (max-width:1023px){
  :root{--gutter:24px;
    --web-display:44px; --web-display-lh:52px;
    --web-h1:36px; --web-h1-lh:44px;
    --web-h2:28px; --web-h2-lh:36px;
    --web-lead:18px; --web-lead-lh:28px}
}
@media (max-width:719px){
  :root{--gutter:16px;
    --web-display:34px; --web-display-lh:40px;
    --web-h1:28px; --web-h1-lh:34px;
    --web-h2:22px; --web-h2-lh:28px;
    --web-h3:16px; --web-h3-lh:22px;
    --web-lead:17px; --web-lead-lh:26px;
    --web-body:15px; --web-body-lh:24px;
    --web-q:15px; --web-q-lh:22px;
    --web-nav:14px; --web-nav-lh:20px;
    --web-small:13px; --web-small-lh:20px}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
  background:var(--surface-warm);color:var(--neutral-900);font:500 var(--web-body)/var(--web-body-lh) var(--font-sans)}
.wrap{width:100%;max-width:calc(var(--web-wrap) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}

a{color:var(--brand-600);text-underline-offset:2px}
a:hover{color:var(--brand-700)}
a:where(:focus-visible){outline:none;border-radius:4px;box-shadow:0 0 0 2px var(--focus-ring-core),0 0 0 4px var(--focus-ring-contrast)}
.brand,.lang,.menu a,.toc a,.foot a,.btn{position:relative}
.brand:focus-visible,.lang:focus-visible,.menu a:focus-visible,.toc a:focus-visible,.foot a:focus-visible,.btn:focus-visible{box-shadow:none}
.brand:focus-visible::after,.lang:focus-visible::after,.menu a:focus-visible::after,.toc a:focus-visible::after,.foot a:focus-visible::after,.btn:focus-visible::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--focus-ring-overlay-shadow)}

.bar{background:var(--neutral-0);border-bottom:1px solid var(--neutral-200)}
.bar-in{display:flex;align-items:center;gap:var(--sp-6);min-height:var(--web-sp-18)}
.brand{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--sp-2);margin:0 calc(var(--sp-2) * -1);
  border-radius:var(--radius-sm)}
.brand-lockup{display:block;height:32px;width:auto;flex:none}
.menu{margin-left:auto}
.menu ul{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:0;padding:0;list-style:none}
.menu a{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--sp-3);border-radius:var(--radius-sm);
  color:var(--neutral-700);font-size:var(--web-nav);line-height:var(--web-nav-lh);font-weight:600;text-decoration:none}
.menu a:hover{color:var(--brand-700);text-decoration:underline}
.menu a[aria-current="page"]{color:var(--brand-700);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.lang{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--sp-4);border:1.5px solid var(--brand-600);
  border-radius:var(--radius-button);color:var(--brand-600);font-size:var(--text-body-lg);line-height:22px;font-weight:600;text-decoration:none;white-space:nowrap}
.lang:hover{background:var(--brand-50);color:var(--brand-700)}
@media (max-width:719px){
  .bar-in{display:grid;grid-template-columns:1fr auto;column-gap:var(--sp-3);row-gap:0;min-height:0;padding-top:var(--sp-2);padding-bottom:var(--sp-1)}
  .menu{grid-column:1 / -1;grid-row:2;margin:0 calc(var(--sp-3) * -1)}
  .lang{grid-column:2;grid-row:1;justify-self:end}
  .menu ul{gap:0}
  .brand{justify-self:start}
}

.page{flex:1;padding-top:var(--web-sp-12);padding-bottom:var(--web-sp-24)}
.card{max-width:var(--web-card);margin:0 auto;overflow:hidden;overflow:clip;background:var(--neutral-0);border:1px solid var(--neutral-200);
  border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.card::before{content:"";display:block;height:4px;background:var(--brand-600)}
.card-body{padding:var(--web-sp-14)}

h1{margin:0;font-family:var(--font-display);font-size:var(--web-h1);line-height:var(--web-h1-lh);font-weight:800;
  letter-spacing:var(--tracking-tight);color:var(--neutral-900);text-wrap:balance}
.meta{margin:var(--sp-3) 0 0;font-size:var(--web-small);line-height:var(--web-small-lh);color:var(--neutral-600)}
.lead{margin:var(--sp-5) 0 0;font-size:var(--web-lead);line-height:var(--web-lead-lh);color:var(--neutral-800)}

.governs{display:flex;gap:var(--sp-3);margin:var(--sp-5) 0 0;padding:var(--sp-3) var(--sp-4);
  background:var(--callout-info-bg);border:1px solid var(--callout-info-border);border-radius:var(--radius-input);
  font-size:var(--web-small);line-height:var(--web-small-lh);color:var(--neutral-800)}
.governs svg{flex:none;margin-top:2px;color:var(--callout-info-accent)}

.toc{margin:var(--sp-8) 0 0}
.toc h2,.sec h2{margin:0;font-family:var(--font-display);font-size:var(--web-h3);line-height:var(--web-h3-lh);font-weight:700;color:var(--neutral-900)}
.toc ol{list-style:none;margin:var(--sp-2) 0 0;padding:0}
.toc li+li{border-top:1px solid var(--neutral-200)}
.toc a{display:flex;align-items:center;min-height:var(--touch-min);padding:var(--sp-1) var(--sp-2);margin:0 calc(var(--sp-2) * -1);
  border-radius:var(--radius-sm);font-size:var(--web-nav);line-height:var(--web-nav-lh);text-decoration:none}
.toc a:hover{text-decoration:underline}

.sec{margin:var(--sp-10) 0 0;scroll-margin-top:var(--sp-6)}
.sec p{margin:var(--sp-3) 0 0;color:var(--neutral-800)}
.sec ul,.sec ol{margin:var(--sp-3) 0 0;padding-left:24px;color:var(--neutral-800)}
.sec li+li{margin-top:var(--sp-2)}

@media (min-width:1024px){
  .card:has(.toc){max-width:var(--web-card-wide)}
  .card-body:has(> .toc){display:grid;grid-template-columns:var(--web-toc) minmax(0,1fr);column-gap:var(--web-sp-14)}
  .card-body:has(> .toc) > *{grid-column:2}
  .card-body > .toc{grid-column:1;grid-row:1 / span 99;align-self:start;position:sticky;top:var(--sp-6);margin:0}
  .card-body > .toc h2{font-size:var(--web-caps);line-height:var(--web-caps-lh);letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-600)}
  .card-body > .toc a{font-size:var(--web-small);line-height:20px}
  .card-body:has(> .toc) > .sec:first-of-type{margin-top:var(--sp-10)}
}
@media (max-width:1023px){
  .page{padding-top:var(--sp-8);padding-bottom:var(--web-sp-16)}
  .card-body{padding:var(--sp-10)}
}
@media (max-width:719px){
  .page{padding-top:var(--sp-5);padding-bottom:var(--sp-8)}
  .card-body{padding:var(--sp-6) var(--sp-5)}
  .sec{margin-top:var(--sp-8)}
  .sec p,.sec ul,.sec ol{margin-top:var(--sp-2)}
  .sec ul,.sec ol{padding-left:22px}
  .sec li+li{margin-top:var(--sp-1)}
}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);
  min-height:var(--button-md);margin:var(--sp-4) 0 0;padding:4px var(--sp-5);border-radius:var(--radius-button);
  background:var(--brand-600);color:var(--text-on-brand);font-size:var(--text-body-lg);font-weight:600;text-decoration:none}
.btn:hover{background:var(--brand-700);color:var(--text-on-brand)}


.foot{border-top:1px solid var(--neutral-200);background:var(--surface-warm);font-size:var(--web-small);line-height:var(--web-small-lh);color:var(--neutral-600)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-8) var(--web-sp-16);padding-top:var(--web-sp-12);padding-bottom:var(--web-sp-12)}
.foot-brand{max-width:360px}
.foot-brand .brand-lockup{height:28px}
.foot-brand p{margin:var(--sp-3) 0 0}
.foot-nav{display:flex;flex-wrap:wrap;gap:var(--sp-6) var(--web-sp-16)}
.foot-h{margin:0 0 var(--sp-1);font-size:var(--web-caps);line-height:var(--web-caps-lh);font-weight:700;color:var(--neutral-900)}
.foot ul{margin:0;padding:0;list-style:none}
.foot a{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--sp-2);margin:0 calc(var(--sp-2) * -1);
  border-radius:var(--radius-sm)}
.foot a[aria-current="page"]{color:var(--neutral-900);font-weight:600;text-decoration:none}
.foot .contact a{font-weight:600}
@media (max-width:719px){
  .foot-in{gap:var(--sp-6);padding-top:var(--sp-8);padding-bottom:var(--sp-8)}
  .foot-nav{gap:var(--sp-4) var(--sp-10)}
}
