@font-face { font-family:'Formiga'; src:url('fonts/Formiga-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Formiga'; src:url('fonts/Formiga-Extrabold.woff2') format('woff2'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Formiga'; src:url('fonts/Formiga-Black.woff2') format('woff2'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'GillSansHZ'; src:url('fonts/Gill-Sans.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'GillSansHZ'; src:url('fonts/Gill-Sans-Italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'GillSansHZ'; src:url('fonts/Gill-Sans-Medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'GillSansHZ'; src:url('fonts/Gill-Sans-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }

:root {
  --navy:#1C104A; --vert:#00FF80; --lavande:#AAB0EF; --sable:#EFEEE9; --gris:#8A877F;
  --font-display:'Formiga','Arial Narrow',Impact,sans-serif;
  --font-body:'GillSansHZ','Gill Sans MT',Calibri,sans-serif;
  --gutter:clamp(1.25rem,5vw,4rem);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  font-family:var(--font-body);
  font-size:1.02rem;
  line-height:1.75;
  color:var(--sable);
  background:var(--navy);
}

::selection { background:var(--vert); color:var(--navy); }
:focus-visible { outline:2px solid var(--vert); outline-offset:3px; border-radius:2px; }

.bar { position:fixed; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--vert),var(--lavande)); z-index:10; }

.top {
  padding:2.5rem var(--gutter) 0;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.top a.mark { display:flex; align-items:center; min-height:44px; }
.top a.mark img { height:24px; width:auto; }
.top a.back {
  font-size:0.85rem; text-decoration:none; letter-spacing:0.06em; text-transform:uppercase;
  color:color-mix(in srgb, var(--sable) 55%, transparent);
  display:inline-flex; align-items:center; min-height:44px;
}
.top a.back:hover { color:var(--vert); }

main { width:min(760px, 100% - 3rem); margin:0 auto; padding:3.5rem 0 5rem; }

h1 {
  font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(2rem,4.6vw,3.2rem); line-height:0.94; letter-spacing:-0.015em;
  margin-bottom:0.75rem;
}
h2 {
  font-family:var(--font-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(1.15rem,1.9vw,1.4rem); line-height:1.1; letter-spacing:0.005em;
  margin:3rem 0 0.85rem; padding-top:1.75rem;
  border-top:1px solid color-mix(in srgb, var(--sable) 12%, transparent);
}
h3 {
  font-family:var(--font-body); font-weight:700; font-size:1rem;
  margin:1.75rem 0 0.4rem;
}

.maj { font-size:0.8rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--vert); font-weight:700; }
.intro { color:color-mix(in srgb, var(--sable) 60%, transparent); margin-top:1rem; }

p { color:color-mix(in srgb, var(--sable) 78%, transparent); }
p + p { margin-top:0.85rem; }

ul, ol { margin:0.85rem 0 0 1.25rem; color:color-mix(in srgb, var(--sable) 78%, transparent); }
li + li { margin-top:0.4rem; }
li::marker { color:var(--vert); }

a { color:var(--vert); text-underline-offset:3px; }

strong { color:var(--sable); font-weight:700; }

.tofill {
  background:color-mix(in srgb, var(--vert) 16%, transparent);
  border-bottom:1px dashed var(--vert);
  color:var(--sable); padding:0 0.2em; font-style:normal;
}

table { width:100%; border-collapse:collapse; margin-top:1rem; font-size:0.95rem; }
th, td { text-align:left; padding:0.75rem 0.5rem 0.75rem 0; vertical-align:top;
         border-bottom:1px solid color-mix(in srgb, var(--sable) 10%, transparent); }
th { font-weight:700; color:var(--sable); width:34%; }
td { color:color-mix(in srgb, var(--sable) 72%, transparent); }

.callout {
  margin-top:1.25rem; padding:1.15rem 1.35rem;
  background:color-mix(in srgb, var(--sable) 6%, transparent);
  border-left:3px solid var(--vert); border-radius:0;
}
.callout p { color:color-mix(in srgb, var(--sable) 82%, transparent); }

footer {
  border-top:1px solid color-mix(in srgb, var(--sable) 10%, transparent);
  padding:2rem var(--gutter);
  display:flex; flex-wrap:wrap; gap:0.5rem 1.75rem; align-items:center;
  font-size:0.85rem;
}
footer a { text-decoration:none; color:color-mix(in srgb, var(--sable) 58%, transparent);
           display:inline-flex; align-items:center; min-height:44px; }
footer a:hover { color:var(--vert); }
footer span { color:color-mix(in srgb, var(--sable) 32%, transparent); }

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
