@media (forced-colors: active) {
:focus-visible { outline: 2px solid Highlight; outline-offset: 3px; }
.btn, .btn-solid, .btn-ghost, .nav-cta, .nav-toggle, .float-btn, .float-btn-contact,
.float-dismiss, .skip-link, .modal-close, .clamp-toggle {
border: 1px solid ButtonText;
}
.btn-solid, .nav-cta, .float-btn { border-width: 2px; }
.card, .member, .modal-box, .section-photo, .badge-pill, .nav-more-menu, .glass {
border: 1px solid CanvasText;
}
.site-header { border-bottom: 1px solid CanvasText; }
.site-footer { border-top: 1px solid CanvasText; }
.form-field input, .form-field textarea, .form-field select, :where(input[type="search"]) {
border: 1px solid FieldText;
}
.form-field [aria-invalid="true"] { border-width: 3px; }
.nav-links a.active::after, .nav-more.has-current > .nav-more-btn::after { background: Highlight; }
.nav-links a.active, .nav-more.has-current > .nav-more-btn, .nav-links a[aria-current="page"] {
font-weight: 700;
}
.nav-more-menu a.active { outline: 1px solid Highlight; background: none; }
.photo-missing { border: 1px dashed CanvasText; background: Canvas; color: CanvasText; }
.logo-mark .lm-ring { fill: Canvas; stroke: CanvasText; }
.logo-mark .lm-letter { fill: CanvasText; }
.form-status { border: 1px solid CanvasText; padding: 8px 12px; }
.form-status.err { border-style: double; border-width: 4px; }
.avatar-icon, .avatar-icon path, .card-illustration svg, .ornate-divider svg, svg.icon {
fill: currentColor; stroke: none; color: CanvasText;
}
.ornate-divider svg path { stroke: currentColor; }
.eyebrow, .eyebrow::before { color: CanvasText; }
.hero h1, .hero .lede, .hero .eyebrow, .hero-badge, .photo-hero h1, .photo-hero .lede, .photo-hero .eyebrow {
forced-color-adjust: none; color: #fff; text-shadow: 0 1px 12px #000;
}
.hero h1, .hero .lede, .hero .eyebrow, .hero-badge, .hero-tagline, .hero .trust-line, .hero .flourish span, .hero .suit-row span,
.photo-hero h1, .photo-hero h2, .photo-hero .lede, .photo-hero .eyebrow, .photo-hero p, .photo-hero .flourish span,
.photo-band h2, .photo-band h3, .photo-band p, .photo-band .eyebrow, .photo-band blockquote, .photo-band cite,
.photo-band .trust-line, .photo-band .flourish span, .photo-band .video-caption strong, .photo-band .video-caption span,
.page-hero.header-photo .form-status {
forced-color-adjust: auto; background-color: Canvas; color: CanvasText; text-shadow: none;
padding-inline: .3em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.hero h1, .photo-hero h1, .photo-hero .lede, .hero .lede { width: fit-content; max-width: 100%; margin-inline: auto; }
.hero .btn, .photo-hero .btn, .photo-band .btn { forced-color-adjust: auto; background-color: ButtonFace; color: ButtonText; }
hr { border-top-color: CanvasText; }
}
@media (prefers-contrast: more) {
:root {
--line: #8f7a80; --line-soft: #6d595f; --field-line: #c4b1b6;
--paper-dim: #f3ecdf; --muted: #d9cec1;
--header-bg: #0b0809; --menu-bg: #0b0809; --header-line: rgba(247, 241, 230, .6);
--glass: #1b1316; --on-dark-dim: #f7f1e6;
}
a { text-decoration: underline; text-underline-offset: 3px; }
.btn, .btn-ghost { border-width: 2px; border-color: var(--paper); }
.card, .member, .modal-box, .badge-pill, .nav-more-menu { border: 1px solid var(--line); }
.nav-links a, .nav-more-btn, .nav-more-menu a { opacity: 1; }
.form-field input, .form-field textarea, .form-field select, :where(input[type="search"]) { border-width: 2px; }
.site-header, .nav-links, .nav-more-menu { -webkit-backdrop-filter: none; backdrop-filter: none; }
:focus-visible { outline-width: 3px; }
.hero-badge, .photo-hero .eyebrow, .page-hero.header-photo .eyebrow a { background: rgba(0, 0, 0, .72); }
.brand small, .footer-bottom, .form-note, .tag-oath { color: var(--paper-dim); }
.photo-missing { border: 2px solid var(--paper); background-image: none; color: var(--paper); }
.photo-missing-cap::before { opacity: .8; }
.logo-mark .lm-ring { stroke-width: 2.5; }
}
@media (prefers-contrast: more) and (prefers-color-scheme: light) {
:root {
--line: #7a6a57; --line-soft: #a99a84; --field-line: #4f423c;
--paper-dim: #2a1d20; --muted: #4a3d39; --brass: #5e4308;
--header-bg: #fbf7ef; --menu-bg: #fbf7ef; --header-line: rgba(29, 19, 21, .6);
--glass: #ffffff; --link: #6e0f24;
}
body.admin { --line: #4a373d; --line-soft: #2b1f24; --field-line: #8a7479; --paper-dim: #d9cfc0; --muted: #b3a79b; --brass: #d9ae5c; --link: #e6c27a; --header-bg: rgba(11, 8, 9, .78); --menu-bg: rgba(11, 8, 9, .97); --glass: rgba(27, 19, 22, .9); }
}
