@charset "utf-8";
/* ==========================================================================
   منصة حماية — design system
   Arabic-first, RTL. Self-hosted fonts only, no external requests.

   Direction: "the claim file". A complaint is a document that gets a
   reference, a status and a trail — so the page borrows the language of
   case files: hairline rules, reference eyebrows, status chips, stepped
   records. Structure encodes the process rather than decorating it.

   NOTE ON RTL: every box-model rule uses logical properties
   (margin-inline / padding-inline / inset-inline / border-inline) so the
   layout mirrors correctly. letter-spacing is never applied to Arabic.
   ========================================================================== */

/* ---------------------------------------------------------------- fonts -- */
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-arabic-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-arabic-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-latin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-arabic-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-latin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-arabic-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Plex Arabic';src:url('/assets/fonts/ibmplexsansarabic-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* --------------------------------------------------------------- tokens -- */
:root{
  --ink:#13243B;
  --ink-2:#3A4C63;
  --muted:#63748A;
  --paper:#F6F4EF;
  --surface:#FFFFFF;
  --surface-2:#EFECE4;
  --rule:#DCD6CA;
  --rule-soft:#E9E4DA;
  --accent:#0E6F5C;
  --accent-ink:#0A5548;
  --accent-wash:#E3F0EC;
  --file:#9A6420;
  --file-wash:#F5EADA;
  --danger:#B4362F;
  --danger-wash:#FBEAE8;

  --f:'Plex Arabic',system-ui,-apple-system,'Segoe UI',sans-serif;

  --s1:.25rem; --s2:.5rem;  --s3:.75rem; --s4:1rem;
  --s5:1.5rem; --s6:2rem;   --s7:3rem;   --s8:4rem;  --s9:6rem;

  --r-sm:3px; --r:6px; --r-lg:10px;
  --shadow:0 1px 2px rgba(19,36,59,.05),0 8px 24px -12px rgba(19,36,59,.18);
  --shadow-lg:0 2px 4px rgba(19,36,59,.05),0 24px 48px -20px rgba(19,36,59,.25);

  --gutter:clamp(1.15rem,4vw,4rem);
  --max:72rem;
  --measure:38rem;
}

@media (prefers-color-scheme:dark){
  :root{
    --ink:#E8EDF3; --ink-2:#BCC7D4; --muted:#93A2B4;
    --paper:#101C2B; --surface:#16243607; --surface:#162436; --surface-2:#1D2E43;
    --rule:#2C4058; --rule-soft:#233448;
    --accent:#3FB49A; --accent-ink:#6FCDB8; --accent-wash:#16332C;
    --file:#D2A163; --file-wash:#2E2418;
    --danger:#E8776D; --danger-wash:#3A1F1C;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);
    --shadow-lg:0 2px 4px rgba(0,0,0,.3),0 24px 48px -20px rgba(0,0,0,.7);
  }
}

/* ---------------------------------------------------------------- reset -- */
*,*::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(--paper);
  color:var(--ink);
  font-family:var(--f);
  font-size:clamp(1rem,.97rem + .16vw,1.0625rem);
  line-height:1.85;               /* Arabic needs more leading than Latin */
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.35;margin:0;font-weight:600;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
a{color:inherit}
button{font:inherit}
:target{scroll-margin-block-start:6rem}

/* Latin/number runs inside Arabic must not reorder */
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}

::selection{background:var(--accent);color:#fff}

/* --------------------------------------------------------------- layout -- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:52rem;margin-inline:auto}
.measure{max-width:var(--measure)}
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section--tight{padding-block:clamp(2rem,4vw,3rem)}
.section--alt{background:var(--surface-2)}
.hr{height:1px;background:var(--rule-soft);border:0;margin:0}

.skip{
  position:absolute;inset-inline-start:-9999px;top:0;z-index:100;
  background:var(--ink);color:var(--paper);padding:var(--s3) var(--s5);
  border-radius:0 0 var(--r) 0;
}
.skip:focus{inset-inline-start:0}

/* ------------------------------------------------------------ typography -- */
.eyebrow{
  display:flex;align-items:center;gap:var(--s3);
  font-size:.78rem;font-weight:600;color:var(--file);
  margin-block-end:var(--s4);line-height:1.5;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule)}

.h-hero{font-size:clamp(1.95rem,1.15rem + 3.5vw,3.4rem);line-height:1.22;font-weight:700;letter-spacing:0}
.h-sec {font-size:clamp(1.5rem,1.1rem + 1.7vw,2.2rem);line-height:1.3;font-weight:700}
.h-sub {font-size:clamp(1.12rem,1.03rem + .4vw,1.3rem);font-weight:600}

.lede{font-size:clamp(1.06rem,1rem + .35vw,1.22rem);color:var(--ink-2);line-height:1.8}
.small{font-size:.875rem;line-height:1.7}
.muted{color:var(--muted)}

/* --------------------------------------------------------------- header -- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(1.5) blur(10px);
  border-block-end:1px solid var(--rule-soft);
}
@supports not (backdrop-filter:blur(1px)){.site-header{background:var(--paper)}}

.header-bar{display:flex;align-items:center;gap:var(--s4);min-height:4.25rem}

.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;flex:none}
.brand-mark{
  width:2.1rem;height:2.1rem;border-radius:var(--r-sm);
  background:var(--ink);color:var(--paper);
  display:grid;place-items:center;flex:none;
}
.brand-mark svg{width:1.15rem;height:1.15rem}
.brand-name{font-weight:700;font-size:1.06rem;line-height:1.2}
.brand-sub{font-size:.7rem;color:var(--muted);line-height:1.2;font-weight:500}

.nav{display:flex;align-items:center;gap:var(--s2);margin-inline-start:auto}
.nav a{
  text-decoration:none;color:var(--ink-2);font-size:.94rem;font-weight:500;
  padding:var(--s2) var(--s3);border-radius:var(--r-sm);
  transition:color .16s,background .16s;
}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.nav .btn{margin-inline-start:var(--s2)}
@media (max-width:52rem){.nav .nav-link{display:none}}

/* closing disclaimer bar, seated beneath the footer */
.gov-strip{
  background:var(--ink);color:#EAF0F7;
  font-size:.82rem;line-height:1.7;padding-block:var(--s4);
}
.gov-strip .wrap{display:flex;gap:var(--s3);align-items:flex-start}
.gov-strip svg{width:1rem;height:1rem;flex:none;margin-block-start:.28rem;opacity:.85}
.gov-strip a{color:#fff;text-underline-offset:3px}

/* -------------------------------------------------------------- buttons -- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  padding:.82rem 1.5rem;min-height:3rem;
  border-radius:var(--r);border:1px solid transparent;
  font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s,transform .12s,box-shadow .18s;
}
.btn svg{width:1.1rem;height:1.1rem;flex:none}
.btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow)}
.btn--primary:hover{background:var(--accent-ink)}
.btn--dark{background:var(--ink);color:var(--paper)}
.btn--dark:hover{background:var(--ink-2)}
.btn--ghost{border-color:var(--rule);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--ink);background:var(--surface)}
.btn--lg{padding:1rem 1.9rem;min-height:3.4rem;font-size:1.06rem}
.btn--block{width:100%}
.btn:active{transform:translateY(1px)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
/* arrows must mirror in RTL */
.btn .arrow{transform:scaleX(-1)}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:var(--r-sm);
}

/* ----------------------------------------------------------------- hero -- */
.hero{position:relative;padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,5vw,4rem);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(to bottom,transparent 55%,var(--paper) 100%),
    repeating-linear-gradient(to bottom,var(--rule-soft) 0 1px,transparent 1px 2.6rem);
  opacity:.55;
}
.hero>*{position:relative;z-index:1}
.hero-grid{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (min-width:60rem){.hero-grid{grid-template-columns:1.15fr .85fr}}

.hero .lede{margin-block:var(--s5) var(--s6);max-width:34rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}

/* the disclaimer that sits beside the CTA, not in the footer */
.cta-note{
  margin-block-start:var(--s5);padding:var(--s4);
  border:1px solid var(--rule);border-inline-start:3px solid var(--file);
  border-radius:var(--r);background:var(--surface);
  font-size:.875rem;line-height:1.75;color:var(--ink-2);max-width:34rem;
}
.cta-note strong{color:var(--ink)}

/* ------------------------------------------------ signature: claim file -- */
.file-card{
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.file-head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  padding:var(--s4) var(--s5);border-block-end:1px solid var(--rule-soft);
  background:var(--surface-2);
}
.file-ref{font-size:.78rem;color:var(--muted);font-weight:500}
.file-ref b{color:var(--ink);font-weight:600}
.chip{
  font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;
  background:var(--accent-wash);color:var(--accent-ink);white-space:nowrap;
}
.file-body{padding:var(--s5)}

.track{list-style:none;display:grid;gap:0}
.track li{display:grid;grid-template-columns:auto 1fr;gap:var(--s4);padding-block:var(--s3)}
.track .pip{
  position:relative;width:1.6rem;height:1.6rem;border-radius:50%;
  border:1px solid var(--rule);background:var(--surface);
  display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--muted);
}
.track li:not(:last-child) .pip::after{
  content:"";position:absolute;top:100%;inset-inline-start:50%;
  transform:translateX(50%);width:1px;height:calc(100% + .75rem);background:var(--rule);
}
.track li[data-on] .pip{background:var(--accent);border-color:var(--accent);color:#fff}
.track h3{font-size:.98rem;font-weight:600;margin-block-end:.1rem}
.track p{font-size:.86rem;color:var(--muted);line-height:1.65}

/* ---------------------------------------------------------------- cards -- */
.grid{display:grid;gap:var(--s4)}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr))}

.card{
  background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--r);
  padding:var(--s5);transition:border-color .18s,transform .18s,box-shadow .18s;
}
.card:hover{border-color:var(--rule);box-shadow:var(--shadow)}
.card h3{font-size:1.06rem;font-weight:600;margin-block-end:var(--s2)}
.card p{font-size:.92rem;color:var(--muted);line-height:1.75}
.card-ico{
  width:2.3rem;height:2.3rem;border-radius:var(--r-sm);margin-block-end:var(--s4);
  background:var(--accent-wash);color:var(--accent-ink);display:grid;place-items:center;
}
.card-ico svg{width:1.2rem;height:1.2rem}

/* numbered steps — legitimate here: it IS a sequence */
.steps{list-style:none;counter-reset:s;display:grid;gap:var(--s5)}
@media (min-width:48rem){.steps{grid-template-columns:repeat(4,1fr);gap:var(--s4)}}
.steps li{counter-increment:s;padding-block-start:var(--s4);border-block-start:2px solid var(--rule)}
.steps li[data-on]{border-block-start-color:var(--accent)}
.steps li::before{
  content:counter(s,decimal-leading-zero);
  display:block;font-size:.8rem;font-weight:700;color:var(--file);margin-block-end:var(--s2);
}
.steps h3{font-size:1.02rem;margin-block-end:var(--s2)}
.steps p{font-size:.9rem;color:var(--muted);line-height:1.7}

/* ------------------------------------------------------------------ faq -- */
.faq{display:grid;gap:0;border-block-start:1px solid var(--rule-soft)}
.faq details{border-block-end:1px solid var(--rule-soft)}
.faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  padding-block:var(--s5);cursor:pointer;font-weight:600;font-size:1.02rem;
  list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";width:.62rem;height:.62rem;flex:none;
  border-inline-end:2px solid var(--muted);border-block-end:2px solid var(--muted);
  transform:rotate(45deg);transition:transform .2s;margin-block-start:-.3rem;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-block-start:.2rem}
.faq summary:hover{color:var(--accent-ink)}
.faq .answer{padding-block-end:var(--s5);color:var(--ink-2);max-width:var(--measure)}
.faq .answer p+p{margin-block-start:var(--s3)}

/* ---------------------------------------------------------------- forms -- */
.form{display:grid;gap:var(--s5)}
.field{display:grid;gap:var(--s2)}
.field label{font-weight:600;font-size:.95rem}
.field .hint{font-size:.82rem;color:var(--muted);line-height:1.6}
.req{color:var(--danger);font-weight:400}
.opt{color:var(--muted);font-weight:400;font-size:.85rem}

.input,.select,.textarea{
  width:100%;padding:.8rem 1rem;min-height:3rem;
  font:inherit;font-size:1rem;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);
  transition:border-color .16s,box-shadow .16s;
}
.textarea{min-height:8.5rem;resize:vertical;line-height:1.8}
.input:hover,.select:hover,.textarea:hover{border-color:var(--muted)}
.input:focus,.select:focus,.textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash);
}
.select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(var(--s5) - 2px) 1.3rem,calc(var(--s5) + 3px) 1.3rem;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  padding-inline-start:var(--s7);
}
.input::placeholder,.textarea::placeholder{color:var(--muted);opacity:.7}


.field[data-invalid] .input,
.field[data-invalid] .select,
.field[data-invalid] .textarea{border-color:var(--danger);background:var(--danger-wash)}
.error{
  display:none;align-items:center;gap:var(--s2);
  font-size:.86rem;color:var(--danger);font-weight:500;
}
.error svg{width:1rem;height:1rem;flex:none}
.field[data-invalid] .error{display:flex}

.counter{font-size:.8rem;color:var(--muted);text-align:end}

.consent{display:flex;gap:var(--s3);align-items:flex-start;font-size:.9rem;line-height:1.7}
.consent input{
  width:1.15rem;height:1.15rem;margin-block-start:.35rem;flex:none;accent-color:var(--accent);
}

/* honeypot — hidden from humans AND assistive tech, but present for bots */
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.notice{
  padding:var(--s4) var(--s5);border-radius:var(--r);
  border:1px solid var(--rule);background:var(--surface);
  font-size:.9rem;line-height:1.75;
}
.notice--warn{border-inline-start:3px solid var(--file);background:var(--file-wash)}
.notice--err{border-inline-start:3px solid var(--danger);background:var(--danger-wash);color:var(--danger)}
.notice--ok{border-inline-start:3px solid var(--accent);background:var(--accent-wash)}
.notice h3{font-size:1rem;margin-block-end:var(--s2)}

.trust-list{list-style:none;display:grid;gap:var(--s3);font-size:.9rem;color:var(--ink-2)}
.trust-list li{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start;line-height:1.7}
.trust-list svg{width:1.05rem;height:1.05rem;color:var(--accent);margin-block-start:.35rem;flex:none}

/* ------------------------------------------------------------- cta band -- */
.band{background:var(--ink);color:#EAF0F7;padding-block:clamp(2.75rem,6vw,4.5rem)}
.band h2{color:#fff;margin-block-end:var(--s4)}
.band p{color:#C3CFDD;margin-block-end:var(--s6);max-width:36rem}
.band .btn--primary{background:var(--accent)}
.band .btn--ghost{border-color:rgba(255,255,255,.28);color:#fff}
.band .btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}

/* --------------------------------------------------------------- footer -- */
.site-footer{background:var(--surface-2);border-block-start:1px solid var(--rule);padding-block:var(--s7) var(--s5)}
.foot-grid{display:grid;gap:var(--s6);margin-block-end:var(--s6)}
@media (min-width:48rem){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.foot-grid h3{font-size:.82rem;font-weight:700;color:var(--muted);margin-block-end:var(--s4)}
.foot-links{list-style:none;display:grid;gap:var(--s3);font-size:.92rem}
.foot-links a{text-decoration:none;color:var(--ink-2);transition:color .16s}
.foot-links a:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.foot-bottom{
  border-block-start:1px solid var(--rule);padding-block-start:var(--s5);
  display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:space-between;
  font-size:.82rem;color:var(--muted);line-height:1.7;
}
.foot-disclaimer{max-width:44rem}

/* ------------------------------------------------------------- consent -- */
.consent-bar{
  position:fixed;inset-inline:0;bottom:0;z-index:80;
  background:var(--surface);border-block-start:1px solid var(--rule);
  box-shadow:0 -8px 32px -16px rgba(19,36,59,.35);
  padding:var(--s5) 0;
}
.consent-bar[hidden]{display:none}
.consent-inner{display:grid;gap:var(--s4);align-items:center}
@media (min-width:48rem){.consent-inner{grid-template-columns:1fr auto}}
.consent-actions{display:flex;gap:var(--s3);flex-wrap:wrap}
.consent-actions .btn{min-height:2.75rem;padding:.6rem 1.25rem;font-size:.94rem}


/* an action that looks like a link — used for the cookie-settings control,
   which is a button, not navigation, so it must not be an <a href="#"> */
.linklike{
  background:none;border:0;padding:0;
  font:inherit;color:var(--ink-2);cursor:pointer;
  text-align:start;transition:color .16s;
}
.linklike:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}

/* ---------------------------------------------------------------- prose -- */
.prose{max-width:44rem}
.prose h2{font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);margin-block:var(--s7) var(--s4)}
.prose h3{font-size:1.08rem;margin-block:var(--s5) var(--s3)}
.prose p{margin-block-end:var(--s4);color:var(--ink-2)}
.prose ul,.prose ol{margin-block-end:var(--s4);padding-inline-start:var(--s5);color:var(--ink-2)}
.prose li{margin-block-end:var(--s2);line-height:1.8}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose a{color:var(--accent-ink);text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:600}
.toc{
  background:var(--surface);border:1px solid var(--rule-soft);border-radius:var(--r);
  padding:var(--s5);margin-block-end:var(--s6);
}
.toc ol{padding-inline-start:var(--s5);margin:0}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

/* ----------------------------------------------------------------- misc -- */
.center{text-align:center}
.stack-sm>*+*{margin-block-start:var(--s3)}
.stack>*+*{margin-block-start:var(--s5)}
.tag{
  display:inline-block;font-size:.78rem;font-weight:600;
  padding:.2rem .65rem;border-radius:99px;
  background:var(--file-wash);color:var(--file);
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media print{
  .site-header,.gov-strip,.band,.consent-bar,.nav,.site-footer .foot-links{display:none}
  body{background:#fff;color:#000;font-size:11pt}
  .prose{max-width:none}
  a::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}
