/* Deution 0.170.2 — Base element defaults and WordPress shell primitives. */
body {
  margin: 0;
  color: var(--deution-color-text);
  background: var(--deution-color-background);
  font-family: var(--deution-font-body);
  font-size: var(--deution-type-body-size);
  line-height: var(--deution-type-body-line-height);
  font-weight: var(--deution-type-body-weight);
}

.site-header,
.site-footer {
  padding: var(--deution-space-md);
  border-bottom: var(--deution-border-width) var(--deution-border-style) var(--deution-color-border);
  background: var(--deution-color-surface);
}

.site-footer { border-top: var(--deution-border-width) var(--deution-border-style) var(--deution-color-border); border-bottom: 0; }
.page-content { padding: var(--deution-space-lg) var(--deution-responsive-gutter); }
:where(h1,h2,h3,h4,h5,h6) { font-family: var(--deution-font-heading); line-height: var(--deution-type-heading-line-height); font-weight: var(--deution-type-heading-weight); }
h1 { font-size: var(--deution-type-h1-size); }
h2 { font-size: var(--deution-type-h2-size); }
h3 { font-size: var(--deution-type-h3-size); }
h4 { font-size: var(--deution-type-h4-size); }
h5 { font-size: var(--deution-type-h5-size); }
h6 { font-size: var(--deution-type-h6-size); }


/* Stage 155: resilient content and keyboard accessibility. */
html {overflow-wrap: anywhere; text-size-adjust: 100%;}
body {min-inline-size: 0; overflow-x: clip;}
:where(img, video, iframe, canvas, svg) {max-inline-size: 100%; block-size: auto;}
:where(pre, code, kbd, samp) {overflow-wrap: normal; word-break: normal;}
:where(p, li, dd, dt, td, th, a, button, label, legend, figcaption) {overflow-wrap: anywhere;}
:where(table) {max-inline-size: 100%;}
:where(input, select, textarea, button) {max-inline-size: 100%; font: inherit;}
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--deution-focus-ring-width, 3px) solid var(--deution-color-focus, #2563eb);
  outline-offset: var(--deution-focus-ring-offset, 2px);
  box-shadow: var(--deution-focus-ring, 0 0 0 3px rgb(37 99 235 / .24));
}
.deution-skip-link {
  position: fixed;
  inset-block-start: var(--deution-space-sm, .75rem);
  inset-inline-start: var(--deution-space-sm, .75rem);
  z-index: var(--deution-z-modal, 1000);
  padding: var(--deution-space-sm, .75rem) var(--deution-space-md, 1rem);
  border-radius: var(--deution-radius-md, .625rem);
  background: var(--deution-color-background, #fff);
  color: var(--deution-color-text, #111827);
  box-shadow: var(--deution-shadow-md);
}
.deution-skip-link:focus {clip: auto; clip-path: none; inline-size: auto; block-size: auto; margin: 0; overflow: visible; white-space: nowrap;}
#deution-main:focus {outline: none;}
.deution-form__honeypot {position: absolute; inset-inline-start: -10000px; inset-block-start: auto; inline-size: 1px; block-size: 1px; overflow: hidden;}
.deution-form__status:empty {display: none;}
.deution-form__status.is-error::before {content: "!"; display: inline-grid; place-items: center; inline-size: 1.25em; block-size: 1.25em; margin-inline-end: .5em; border: 2px solid currentColor; border-radius: 50%; font-weight: 700;}
[aria-invalid="true"] {border-color: var(--deution-color-error, #dc2626); box-shadow: 0 0 0 2px color-mix(in srgb, var(--deution-color-error, #dc2626) 20%, transparent);}
