/* AC-Création — Atelier opérationnel v4. Native CSS; local assets only. */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, 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: 200 800;
  font-display: swap;
  src: url("/fonts/manrope-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-atelier-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, 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: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-atelier-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #101514;
  --paper: #f4f1ea;
  --paper-alt: #eae5db;
  --white: #fffdf8;
  --on-ink: #f6f3eb;
  --muted: #555e58;
  --on-ink-muted: #b7c0b7;
  --brass: #c99545;
  --brass-hover: #dbab61;
  --brass-ink: #755020;
  --line: #cdc9bf;
  --line-strong: #767a70;
  --line-dark: #38433e;
  --line-dark-strong: #92988e;
  --error: #9a342c;
  --error-on-ink: #ffb8ad;
  --success: #296043;
  --success-on-ink: #a4d0b2;
  --sans: "Manrope", "Segoe UI", Arial, sans-serif;
  --mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --text-xs: .8125rem;
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lead: clamp(1.125rem, 1.025rem + .45vw, 1.375rem);
  --text-h1: clamp(2.375rem, 1.3rem + 4.75vw, 6rem);
  --text-h2: clamp(1.875rem, 1.2rem + 2.9vw, 3.75rem);
  --text-h3: clamp(1.25rem, 1.1rem + .65vw, 1.625rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 5rem;
  --space-9: 8rem;
  --gutter: clamp(1rem, 5vw, 4rem);
  --container: 78rem;
  --measure: 65ch;
  --section-space: clamp(4rem, 7.5vw, 8rem);
  --layout-gap: clamp(2rem, 5vw, 5rem);
  --radius: .125rem;
  --target: 2.75rem;
  --nav-offset: 6rem;
  --focus-width: 3px;
  --motion-fast: 140ms;
  --ease: cubic-bezier(.2, .7, .3, 1);
  /* Contextual aliases, inherited by native components. */
  --surface: var(--paper);
  --text: var(--ink);
  --text-muted: var(--muted);
  --rule: var(--line);
  --control-border: var(--line-strong);
  --annotation: var(--brass-ink);
  --focus: var(--ink);
  --field: var(--white);
  --error-text: var(--error);
  --success-text: var(--success);
}

*, *::before, *::after { box-sizing: border-box; }
html {
  color-scheme: light;
  scroll-padding-block-start: var(--nav-offset);
  scrollbar-color: var(--line-strong) var(--paper);
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 450 var(--text-base)/1.7 var(--sans);
  -webkit-font-smoothing: antialiased;
}
:where(h1, h2, h3, h4, p, ul, ol, dl, figure, blockquote) { margin: 0; }
:where(h1, h2, h3, h4) {
  font-family: var(--sans);
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -.04em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
h1 { font-size: var(--text-h1); font-weight: 650; line-height: 1.06; letter-spacing: -.04em; }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); letter-spacing: -.025em; }
h4 { font-size: 1.125rem; letter-spacing: -.02em; }
:where(h1, h2) em { font-style: normal; font-weight: inherit; }
p { overflow-wrap: anywhere; text-wrap: pretty; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:where(img, video, svg) { max-inline-size: 100%; }
:where(img, video) { block-size: auto; }
:where(button, input, select, textarea) { font: inherit; }
:where(button, a, input, select, textarea, summary) { -webkit-tap-highlight-color: transparent; }
:where(button, input, select, textarea, summary, [tabindex]):focus-visible,
a:focus-visible {
  outline: var(--focus-width) solid var(--focus);
  outline-offset: 4px;
}
:where(button, input, select, textarea):disabled { cursor: not-allowed; }
:where([id]) { scroll-margin-block-start: var(--space-5); }
[hidden] { display: none !important; }
::selection { color: var(--ink); background: var(--brass); }

.container, .ac-nav-inner, .ac-footer-inner {
  inline-size: min(calc(100% - var(--gutter) * 2), var(--container));
  margin-inline: auto;
}
.section { padding-block: var(--section-space); color: var(--text); background: var(--surface); }
.section-alt { --surface: var(--paper-alt); background: var(--surface); }
:where(.section-dark, .page-hero, .ac-nav, .ac-footer) {
  --surface: var(--ink);
  --text: var(--on-ink);
  --text-muted: var(--on-ink-muted);
  --rule: var(--line-dark);
  --control-border: var(--line-dark-strong);
  --annotation: var(--brass);
  --focus: var(--on-ink);
  --field: #1b2421;
  --error-text: var(--error-on-ink);
  --success-text: var(--success-on-ink);
  color-scheme: dark;
  color: var(--text);
  background: var(--surface);
}
.page-hero {
  padding-block: clamp(3.5rem, 7vw, 6rem) clamp(4.5rem, 9vw, 8rem);
  border-block-end: 1px solid var(--rule);
}
.page-hero h1 { max-inline-size: 16ch; }
.page-hero .lead { max-inline-size: 54ch; margin-block-start: var(--space-6); }
.page-hero .eyebrow { margin-block-end: var(--space-6); }
.eyebrow {
  display: block;
  font: 500 var(--text-xs)/1.6 var(--mono);
  color: var(--annotation);
  letter-spacing: .07em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  margin-block-end: var(--space-5);
}
.section-heading { margin-block-end: clamp(2rem, 4vw, 3.5rem); max-inline-size: 62rem; }
.section-heading h2 { max-inline-size: 24ch; }
.section-lead, .lead { max-inline-size: var(--measure); font-size: var(--text-lead); line-height: 1.65; }
.section-lead { color: var(--text-muted); margin-block-start: var(--space-5); }
.muted { color: var(--text-muted); }
.grid-2, .grid-3, .split { display: grid; gap: var(--layout-gap); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
:where(.grid-2, .grid-3, .split, .stack) > * { min-inline-size: 0; }
.stack { display: flex; flex-direction: column; gap: var(--space-5); }
.panel, .card {
  min-inline-size: 0;
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
  border-block-start: 1px solid var(--rule);
  color: var(--text);
  background: transparent;
}
:where(.panel, .card) > * + * { margin-block-start: var(--space-4); }
:where(.panel, .card) > p { color: var(--text-muted); max-inline-size: var(--measure); }
:where(.panel, .card) > .eyebrow { margin-block-start: 0; margin-block-end: var(--space-4); }

.btn, .ac-nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  min-block-size: var(--target);
  min-inline-size: var(--target);
  max-inline-size: 100%;
  padding: .875rem 1.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font: 650 var(--text-sm)/1.5 var(--sans);
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: background-color var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease);
}
.btn-primary, .ac-nav-cta { background: var(--brass); color: var(--ink); border-color: var(--brass); }
.btn-primary:hover, .ac-nav-cta:hover { background: var(--brass-hover); border-color: var(--brass-hover); color: var(--ink); }
.btn-secondary { background: var(--paper); border-color: var(--control-border); color: var(--ink); }
.btn-secondary:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.btn:active { border-color: currentColor; }
.btn:disabled, .btn[aria-disabled="true"] { opacity: .65; cursor: not-allowed; }
.btn[aria-busy="true"] { cursor: progress; }
.text-link {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--target);
  max-inline-size: 100%;
  color: var(--text);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: .35em;
  text-decoration-color: var(--annotation);
  overflow-wrap: anywhere;
}
.text-link:hover { text-decoration-color: currentColor; }
.cta-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: var(--layout-gap);
  row-gap: var(--space-5);
  padding-block: clamp(2rem, 4vw, 4rem);
  border-block: 1px solid var(--rule);
}
.cta-block > :where(h2, h3, .eyebrow, p) { grid-column: 1; }
.cta-block > :where(h2, h3) { max-inline-size: 22ch; }
.cta-block > p { max-inline-size: 60ch; color: var(--text-muted); }
.cta-block > .btn { grid-column: 2; grid-row: 1 / span 4; align-self: end; }

.prose { max-inline-size: var(--measure); }
.prose > * + * { margin-block-start: var(--space-5); }
.prose :where(h2, h3, h4) { margin-block-start: var(--space-7); }
.prose :where(p, li, dd) { color: var(--text-muted); }
.prose :where(ul, ol) { padding-inline-start: 1.5em; }
.prose li + li { margin-block-start: var(--space-3); }
.prose a { color: var(--text); text-decoration: underline; }
.prose blockquote { border-block: 1px solid var(--rule); padding-block: var(--space-5); font-size: var(--text-lead); }
.prose dt { font-weight: 700; color: var(--text); }
.prose dd { margin-inline-start: 0; margin-block-end: var(--space-4); }
.prose :where(code, pre) { font-family: var(--mono); font-size: var(--text-sm); }
.prose pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: var(--space-4); border: 1px solid var(--rule); }
.prose table { inline-size: 100%; border-collapse: collapse; table-layout: fixed; }
.prose :where(th, td) { padding: var(--space-3); border-block-end: 1px solid var(--rule); text-align: start; overflow-wrap: anywhere; }
.prose th { font-weight: 700; }
.numbered-list { list-style: decimal-leading-zero; padding-inline-start: 2.5rem; }
.numbered-list > li { padding-block: var(--space-5); padding-inline-start: var(--space-5); border-block-start: 1px solid var(--rule); }
.numbered-list > li::marker { font: 500 var(--text-sm)/1.5 var(--mono); color: var(--annotation); }
.numbered-list :where(h3, p) + p { margin-block-start: var(--space-3); }
.numbered-list p { max-inline-size: var(--measure); color: var(--text-muted); }

/* Sticky, in-flow navigation. A wrapping header must be sticky too. */
body > header:has(.ac-nav) { position: sticky; inset-block-start: 0; z-index: 100; }
.ac-nav { position: sticky; inset-block-start: 0; z-index: 100; border-block-end: 1px solid var(--rule); }
.ac-nav-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; column-gap: var(--space-5); min-block-size: 5rem; padding-block: .75rem; }
.ac-logo { display: inline-flex; align-items: center; gap: var(--space-3); min-block-size: var(--target); text-decoration: none; flex-shrink: 0; }
.ac-logo-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.375rem;
  block-size: 2.375rem;
  border: 1px solid var(--annotation);
  font: 700 var(--text-sm)/1 var(--sans);
  color: var(--annotation);
  letter-spacing: -.05em;
}
.ac-logo-wordmark { font: 650 1.0625rem/1.3 var(--sans); letter-spacing: -.03em; }
.ac-nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: .125rem; }
.ac-nav-link {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--target);
  padding: .625rem .6875rem;
  font-size: var(--text-sm);
  font-weight: 550;
  color: var(--text-muted);
  text-decoration: none;
  text-underline-offset: .45em;
}
.ac-nav-link:hover, .ac-nav-link[aria-current="page"], .ac-nav-link.is-current { color: var(--text); text-decoration: underline; text-decoration-color: var(--annotation); }
.ac-nav-link.ac-nav-cta { color: var(--ink); margin-inline-start: var(--space-3); padding-inline: 1rem; text-decoration: none; }
.ac-nav-link.ac-nav-cta[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--ink); }
.ac-nav-burger {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  min-inline-size: var(--target);
  min-block-size: var(--target);
  border: 1px solid var(--control-border);
  border-radius: var(--radius);
  background: transparent;
  color: var(--text);
  cursor: pointer;
}
.ac-nav-burger span { display: block; inline-size: 18px; block-size: 1px; background: currentColor; }

.ac-footer { padding-block: clamp(3rem, 6vw, 5rem) var(--space-6); border-block-start: 1px solid var(--rule); }
.ac-footer-grid { display: grid; grid-template-columns: 1.1fr 1fr 1.35fr 1fr; gap: var(--space-6); }
.ac-footer-col { min-inline-size: 0; }
.ac-footer-col :where(h2, h3) { color: var(--text); font: 500 var(--text-xs)/1.6 var(--mono); letter-spacing: .07em; text-transform: uppercase; margin-block-end: var(--space-4); }
.ac-footer-col ul { list-style: none; padding: 0; }
.ac-footer-col a { display: flex; align-items: center; min-block-size: var(--target); color: var(--text-muted); font-size: var(--text-sm); text-decoration: none; overflow-wrap: anywhere; }
.ac-footer-col a:hover { color: var(--text); text-decoration: underline; }
.ac-footer-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-5); margin-block-start: var(--space-7); padding-block-start: var(--space-5); border-block-start: 1px solid var(--rule); }
.ac-footer-bottom p { color: var(--text-muted); font-size: var(--text-xs); }
.ac-footer-bottom a { display: inline-flex; align-items: center; min-block-size: var(--target); }

/* Native form foundations. Step state, payload and validation belong to the form specialist. */
form { max-inline-size: 100%; }
fieldset { min-inline-size: 0; margin: 0 0 var(--space-6); padding: 0; border: 0; }
legend { padding: 0; margin-block-end: var(--space-5); font-weight: 650; font-size: var(--text-h3); line-height: 1.3; letter-spacing: -.02em; }
label { display: block; color: var(--text); font-size: var(--text-sm); font-weight: 650; line-height: 1.6; margin-block-end: var(--space-2); }
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]), select, textarea) {
  display: block;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: var(--target);
  padding: .75rem .875rem;
  border: 1px solid var(--control-border);
  border-radius: var(--radius);
  background: var(--field);
  color: var(--text);
  caret-color: var(--text);
  scrollbar-color: var(--control-border) var(--field);
  line-height: 1.5;
}
textarea { min-block-size: 9rem; resize: vertical; }
select { padding-inline-end: 2rem; }
input::placeholder, textarea::placeholder { color: var(--text-muted); opacity: 1; }
input[type="checkbox"], input[type="radio"] { inline-size: 1.125rem; block-size: 1.125rem; flex-shrink: 0; margin: 0; accent-color: var(--annotation); }
label:has(input[type="checkbox"], input[type="radio"]), .choice {
  display: flex;
  align-items: start;
  gap: var(--space-3);
  min-block-size: var(--target);
  padding-block: .6875rem;
  cursor: pointer;
}
label:has(input[type="checkbox"], input[type="radio"]) input { margin-block-start: .2rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.form-field { min-inline-size: 0; }
.form-field + .form-field { margin-block-start: var(--space-5); }
.form-grid > .form-field { margin-block-start: 0; }
.form-hint { display: block; margin-block-start: var(--space-2); color: var(--text-muted); font-size: var(--text-sm); }
.form-error, .field-error { color: var(--error-text); font-size: var(--text-sm); font-weight: 550; margin-block-start: var(--space-2); }
[aria-invalid="true"] { border-color: var(--error-text); border-width: 2px; }
.form-status { border: 1px solid var(--control-border); padding: var(--space-5); margin-block: var(--space-5); color: var(--text); }
.form-status[data-state="error"] { color: var(--error-text); border-color: var(--error-text); }
.form-status[data-state="success"] { color: var(--success-text); border-color: var(--success-text); }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-block-start: var(--space-6); }
:where(button, input)[type="submit"]:not(.btn), input[type="button"] {
  min-block-size: var(--target); min-inline-size: var(--target); max-inline-size: 100%;
  padding: .875rem 1.5rem; border: 1px solid var(--brass); border-radius: var(--radius);
  background: var(--brass); color: var(--ink); font-weight: 650; cursor: pointer;
}
button:not([class]):not([type="submit"]) { min-block-size: var(--target); padding: .75rem 1rem; color: var(--text); border: 1px solid var(--control-border); background: transparent; border-radius: var(--radius); cursor: pointer; }
details { border-block-start: 1px solid var(--rule); padding-block: var(--space-4); }
summary { min-block-size: var(--target); padding-block: .5rem; cursor: pointer; font-weight: 650; }
details[open] > summary { margin-block-end: var(--space-3); }
progress { inline-size: 100%; accent-color: var(--annotation); }

.sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  inset-block-start: .75rem;
  inset-inline-start: var(--gutter);
  z-index: 200;
  display: inline-flex;
  align-items: center;
  min-block-size: var(--target);
  max-inline-size: calc(100% - var(--gutter) * 2);
  padding: .75rem 1rem;
  background: var(--paper);
  color: var(--ink);
  --focus: var(--ink);
  font-weight: 700;
  transform: translateY(calc(-100% - 1rem));
}
.skip-link:focus, .skip-link:focus-visible { transform: none; }
/* Old reveal class, if present in migrated content, never gates reading. */
.reveal { opacity: 1; transform: none; }

@media (max-width: 73rem) {
  .ac-nav-inner { column-gap: var(--space-4); }
  .ac-nav-link { padding-inline: .5rem; font-size: .8125rem; }
  .ac-logo-wordmark { font-size: 1rem; }
  .ac-nav-link.ac-nav-cta { margin-inline-start: .25rem; padding-inline: .75rem; }
}
@media (max-width: 64rem) {
  .ac-nav-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--space-3); }
  .ac-nav-links { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-block: var(--space-2) var(--space-4); border-block-start: 1px solid var(--rule); }
  .ac-nav-link { font-size: var(--text-sm); padding: .75rem 0; }
  .ac-nav-link.ac-nav-cta { margin-inline-start: 0; margin-block-start: var(--space-3); padding-inline: var(--space-5); }
  /* Without enhancement, navigation is entirely visible and stays in flow. */
  body > header:has(.ac-nav), .ac-nav { position: static; }
  :is(.js, .has-js) body > header:has(.ac-nav), :is(.js, .has-js) .ac-nav,
  .ac-nav[data-enhanced="true"] { position: sticky; inset-block-start: 0; }
  body > header:has(.ac-nav[data-enhanced="true"]) { position: sticky; inset-block-start: 0; }
  :is(.js, .has-js) .ac-nav-burger, .ac-nav[data-enhanced="true"] .ac-nav-burger { display: flex; grid-column: 2; grid-row: 1; }
  :is(.js, .has-js) .ac-nav-links, .ac-nav[data-enhanced="true"] .ac-nav-links { display: none; max-block-size: calc(100dvh - 5rem); overflow-y: auto; }
  :is(.js, .has-js) .ac-nav-links.is-open,
  :is(.js, .has-js) .ac-nav:has(.ac-nav-burger[aria-expanded="true"]) .ac-nav-links,
  .ac-nav[data-enhanced="true"] .ac-nav-links.is-open,
  .ac-nav[data-enhanced="true"]:has(.ac-nav-burger[aria-expanded="true"]) .ac-nav-links { display: flex; }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 50rem) {
  .split, .grid-2 { grid-template-columns: minmax(0, 1fr); }
  .cta-block { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .cta-block > .btn { grid-column: 1; grid-row: auto; justify-self: start; }
  .page-hero h1 { max-inline-size: 17ch; }
}
@media (max-width: 36rem) {
  .grid-3, .form-grid { grid-template-columns: minmax(0, 1fr); }
  .section-heading h2 { max-inline-size: 18ch; }
  .btn { padding-inline: 1.125rem; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions > .btn { inline-size: 100%; }
  .numbered-list { padding-inline-start: 2rem; }
  .numbered-list > li { padding-inline-start: var(--space-3); }
}
@media (max-width: 25rem) {
  .ac-footer-grid { grid-template-columns: minmax(0, 1fr); }
  .ac-footer-bottom { align-items: start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  :where(button, a, input, select, textarea, summary, [tabindex]):focus-visible { outline-color: Highlight; }
  .btn, .ac-nav-burger, .ac-logo-mark { border: 1px solid ButtonText; }
}
@media print {
  :root { --section-space: 1.5rem; }
  body > header:has(.ac-nav), .ac-nav, .skip-link { display: none; }
  .section, .section-dark, .page-hero, .ac-footer { color: #101514; background: #fff; --text: #101514; --text-muted: #555e58; --annotation: #755020; --rule: #cdc9bf; }
  .page-hero { padding-block: 2rem; }
  .panel, .card, fieldset { break-inside: avoid; }
}
