/* ── faces ────────────────────────────────────────────────────────────────────────────────────
   Self-hosted, from the bundle's own /fonts. latin-ext is not optional: Romanian's ș and ț live
   there, and without it every Romanian page silently falls back to a system face mid-word. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-latin-ext-800.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-latin-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}



/* ── tokens ───────────────────────────────────────────────────────────────────────────────── */
:root{
  --canvas:#F1F5FA; --surface:#FFFFFF; --sunken:#E7EDF4;
  --ink:#141A22; --muted:#4C5866; --faint:#5C6875;
  --rule:#DAE1EA; --rule-soft:#EAEFF4;
  --primary:#0A61F7; --primary-ink:#0B4BB8; --primary-soft:#E1ECFE;
  --navy:#0B1220; --navy-ink:#E4EAF1; --navy-muted:#8695A5; --navy-rule:#1E2C3E;
  --good:#256A4A; --good-soft:#DBEEE5;
  --warn:#8A5A12; --warn-soft:#F5E9D2;
  --sans:Manrope,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --note-title:var(--primary-ink);
  --measure:66ch;
  --radius:10px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --canvas:#0E141B; --surface:#151D26; --sunken:#121A22;
    --ink:#E8EEF4; --muted:#9AA7B4; --faint:#8C99A6;
    --rule:#26313C; --rule-soft:#1D2731;
    --primary:#4EACFD; --primary-ink:#93C6FE; --primary-soft:#10233F;
    --navy:#070C16; --navy-ink:#DCE6F0; --navy-muted:#768696; --navy-rule:#16202E;
    --good:#58B08A; --good-soft:#183028;
    --warn:#D6A84A; --warn-soft:#2E2717;
    --note-title:var(--primary);
  }
}

/* ── base ─────────────────────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:var(--primary-ink);text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:.06em}
a:hover{text-decoration-thickness:.11em}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:3px}
.shell{width:100%;max-width:74rem;margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2.5rem)}

.skip{
  position:absolute;left:.75rem;top:-4rem;z-index:5;
  background:var(--surface);color:var(--ink);border:1px solid var(--rule);
  border-radius:8px;padding:.6rem 1rem;font-weight:700;text-decoration:none;
}
.skip:focus{top:.75rem}

/* ── masthead ─────────────────────────────────────────────────────────────────────────────── */
.masthead{position:relative;background:var(--navy);color:var(--navy-ink);overflow:hidden;padding-top:1.5rem}
.masthead__grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgb(255 255 255/.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgb(255 255 255/.05) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(120% 100% at 12% 0%,#000 34%,transparent 78%);
          mask-image:radial-gradient(120% 100% at 12% 0%,#000 34%,transparent 78%);
}
.masthead__top{position:relative;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit}
.brand__tile{
  display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;
  background:var(--primary);color:#fff;
}
.mark{width:15px;height:auto;display:block}
.brand__words{display:flex;flex-direction:column;line-height:1.1}
.brand__name{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}
.brand__tag{font-family:var(--mono);font-weight:500;font-size:.5625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-muted);margin-top:.18rem}

.langs{display:flex;flex-wrap:wrap;gap:.15rem}
.lang{
  font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.06em;
  padding:.4rem .6rem;border-radius:6px;text-decoration:none;color:var(--navy-muted);
}
.lang:hover{color:var(--navy-ink);background:rgb(255 255 255/.06)}
.lang--on{color:var(--navy-ink);background:rgb(255 255 255/.09)}

.masthead__title{position:relative;padding-top:2.6rem;padding-bottom:1.9rem;max-width:52rem}
.eyebrow{
  margin:0 0 .85rem;font-family:var(--mono);font-size:.625rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--primary);
}
.masthead h1{
  margin:0;font-size:clamp(2rem,1.2rem+2.6vw,2.9rem);font-weight:800;line-height:1.1;
  letter-spacing:-.025em;text-wrap:balance;
}
.meta{
  margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;
  font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--navy-muted);
  font-variant-numeric:tabular-nums;
}
.meta__dot{color:var(--navy-rule)}
.applies{margin:.7rem 0 0;font-size:.9375rem;color:var(--navy-muted);max-width:52ch}

/* The two documents are tabs on the masthead's bottom edge: the active one carries the page
   ground, so it reads as the sheet below continuing up through the band. */
.tabs{position:relative;display:flex;gap:0}
.tabs nav{display:flex;gap:.25rem;align-items:flex-end}
.tab{
  display:inline-block;padding:.7rem 1.25rem;border-radius:10px 10px 0 0;text-decoration:none;
  font-size:.875rem;font-weight:700;letter-spacing:-.005em;color:var(--navy-muted);
}
.tab:hover{color:var(--navy-ink);background:rgb(255 255 255/.05)}
.tab--on{background:var(--canvas);color:var(--ink)}

/* ── layout ───────────────────────────────────────────────────────────────────────────────── */
.layout{display:grid;gap:2rem;padding-block:2.25rem 3rem;align-items:start}
@media (min-width:1060px){
  .layout{grid-template-columns:15rem minmax(0,1fr);gap:3.25rem}
  .toc{position:sticky;top:2rem}
}

.toc__label{
  margin:0;font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);
}
.toc ol{list-style:none;margin:.85rem 0 0;padding:0}
.toc a{text-decoration:none;color:var(--muted);font-size:.8125rem;font-weight:600;line-height:1.35}
.toc .clause{color:var(--faint)}

/* Under the rail's breakpoint the contents become one scrollable row of chips labelled by each
   section's kicker — a twelve-clause list rendered vertically here is a whole screen of navigation
   standing in front of the document. */
@media (max-width:1059.98px){
  .toc__full{display:none}
  .toc ol{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;-webkit-overflow-scrolling:touch}
  .toc li{flex:none}
  .toc a{
    display:inline-flex;gap:.4rem;align-items:baseline;white-space:nowrap;
    border:1px solid var(--rule);border-radius:999px;padding:.34rem .75rem;background:var(--surface);
  }
  .toc a:hover{border-color:var(--primary);color:var(--ink)}
}
@media (min-width:1060px){
  .toc__short{display:none}
  .toc__label{border-top:1px solid var(--rule);padding-top:.85rem}
  .toc ol{display:flex;flex-direction:column;gap:.1rem}
  .toc a{
    display:grid;grid-template-columns:2.1rem 1fr;gap:.35rem;align-items:baseline;
    padding:.32rem .4rem;border-radius:6px;
  }
  .toc a:hover{background:var(--sunken);color:var(--ink)}
}

/* ── document ─────────────────────────────────────────────────────────────────────────────── */
.doc{
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);
  padding:clamp(1.5rem,1rem+2.6vw,3.25rem);
}
.doc>*{max-width:var(--measure)}
.lead{
  margin:0;font-size:1.1875rem;font-weight:600;line-height:1.6;color:var(--ink);
  letter-spacing:-.008em;text-wrap:pretty;
}
.doc section{margin-top:3rem;padding-top:2.1rem;border-top:1px solid var(--rule-soft);max-width:none}
.doc section>*{max-width:var(--measure)}
.doc section:first-of-type{border-top:0;margin-top:2.1rem;padding-top:0}

.kicker{
  margin:0 0 .5rem;font-family:var(--mono);font-size:.625rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--faint);
}
.doc h2{
  display:grid;grid-template-columns:2.15rem 1fr auto;align-items:baseline;gap:.25rem;
  margin:0 0 1.1rem;font-size:clamp(1.25rem,1.05rem+.7vw,1.5rem);font-weight:800;
  line-height:1.25;letter-spacing:-.018em;text-wrap:balance;
}
.clause{font-family:var(--mono);font-size:.8125rem;font-weight:500;color:var(--primary);letter-spacing:0}
.anchor{
  font-family:var(--mono);font-size:.8125rem;text-decoration:none;color:var(--faint);
  opacity:0;transition:opacity .12s ease;padding-inline:.4rem;
}
.doc h2:hover .anchor,.anchor:focus-visible{opacity:1}
@media (prefers-reduced-motion:reduce){.anchor{transition:none}}
.doc h3{margin:1.9rem 0 .6rem;font-size:1rem;font-weight:700;letter-spacing:-.005em;color:var(--ink)}
.doc p{margin:0 0 1rem;text-wrap:pretty}
.doc ul{margin:0 0 1.15rem;padding-left:1.1rem}
.doc li{margin-bottom:.55rem;padding-left:.2rem}
.doc li::marker{color:var(--primary)}
.doc strong{font-weight:700}

/* ── notes: the three things worth stopping on, not a fourth card style ───────────────────── */
.note{
  margin:1.5rem 0;padding:1rem 1.15rem;border-left:3px solid var(--primary);
  border-radius:0 8px 8px 0;background:var(--primary-soft);
}
.note--good{border-left-color:var(--good);background:var(--good-soft)}
.note--warn{border-left-color:var(--warn);background:var(--warn-soft)}
.note__title{
  margin:0 0 .3rem;font-family:var(--mono);font-size:.625rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--primary-ink);
}
.note--good .note__title{color:var(--good)}
.note--warn .note__title{color:var(--warn)}
.note__body{margin:0;font-size:.9375rem;line-height:1.62}
@media (prefers-color-scheme:dark){
  .note__title{color:var(--primary)}
}

/* ── tables ───────────────────────────────────────────────────────────────────────────────── */
.table-wrap{margin:1.4rem 0 1.6rem;overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:22rem;font-size:.9375rem}
thead th{
  text-align:left;padding:0 0 .55rem;border-bottom:1px solid var(--rule);
  font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint);
}
tbody th{text-align:left;font-weight:700;padding:.75rem 1.5rem .75rem 0;vertical-align:top;width:40%}
tbody td{padding:.75rem 0;vertical-align:top;color:var(--muted)}
tbody tr+tr th,tbody tr+tr td{border-top:1px solid var(--rule-soft)}
.table--data tbody td{
  font-family:var(--mono);font-size:.8125rem;font-weight:500;color:var(--ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

/* ── odds and ends ────────────────────────────────────────────────────────────────────────── */
.doclink{margin:1.4rem 0 0}
.doclink a{
  display:inline-block;padding:.6rem 1rem;border:1px solid var(--rule);border-radius:8px;
  background:var(--sunken);font-size:.875rem;font-weight:700;text-decoration:none;color:var(--ink);
}
.doclink a:hover{border-color:var(--primary);color:var(--primary-ink)}

.contact{
  margin:1.4rem 0 0;padding:1.15rem 1.25rem;border:1px solid var(--rule);border-radius:8px;
  background:var(--sunken);font-style:normal;
}
.contact p{margin:0 0 .25rem;font-size:.9375rem}
.contact p:last-child{margin-bottom:0}
.contact__label{
  font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint);margin-bottom:.5rem!important;
}
.contact__name{font-weight:700}

/* ── index ────────────────────────────────────────────────────────────────────────────────── */
.masthead--index{padding-bottom:2.5rem}
.cards{display:grid;gap:1.25rem;padding-block:2.5rem 3rem;grid-template-columns:1fr}
@media (min-width:760px){.cards{grid-template-columns:1fr 1fr}}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1.6rem}
.card h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:800;letter-spacing:-.018em}
.card p{margin:0 0 1.1rem;color:var(--muted);font-size:.9375rem}
.card__langs{display:flex;flex-wrap:wrap;gap:.4rem}
.card__langs a{
  padding:.42rem .8rem;border:1px solid var(--rule);border-radius:6px;text-decoration:none;
  font-family:var(--mono);font-size:.6875rem;font-weight:500;color:var(--muted);
}
.card__langs a:hover{border-color:var(--primary);color:var(--primary-ink)}

/* ── footer ───────────────────────────────────────────────────────────────────────────────── */
.foot{border-top:1px solid var(--rule);background:var(--surface)}
.foot__inner{
  display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:baseline;justify-content:space-between;
  padding-block:1.5rem 2rem;
}
.foot p{margin:0;font-size:.8125rem;color:var(--muted)}
.foot__links{display:flex;gap:.6rem;align-items:baseline;font-size:.8125rem}
.foot__dot{color:var(--rule)}
.foot__id{font-family:var(--mono);font-size:.6875rem;font-weight:500;color:var(--faint);letter-spacing:.04em}

/* ── print: a policy that has to be filed is a policy that gets printed ───────────────────── */
@media print{
  :root{--canvas:#fff;--surface:#fff;--ink:#000;--muted:#333;--rule:#bbb;--rule-soft:#ddd}
  body{font-size:10.5pt}
  .masthead{background:#fff;color:#000;padding-top:0}
  .masthead__grid,.tabs,.toc,.skip,.anchor,.langs{display:none}
  .eyebrow,.clause{color:#000}
  .applies,.meta{color:#333}
  .doc{border:0;padding:0}
  .doc section{break-inside:auto;page-break-inside:auto}
  .doc h2,.doc h3{break-after:avoid}
  .note{background:#fff;border:1px solid #bbb;border-left-width:3px}
  a{color:#000;text-decoration:underline}
  .doc a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
}
