 /* MN Pred Xposure — distressed industrial MDBootstrap overrides */
 :root {
   color-scheme: dark;
   --mpx-bg-deep: #050505;
   --mpx-bg-main: #090909;
   --mpx-bg-surface: #111111;
   --mpx-bg-raised: #181818;
   --mpx-bg-muted: #202020;
   --mpx-text-primary: #f1f1ee;
   --mpx-text-secondary: #b8b8b3;
   --mpx-text-muted: #777773;
   --mpx-border-dark: #292929;
   --mpx-border-medium: #3a3a38;
   --mpx-border-light: #4a4a47;
   --mpx-red: #b51217;
   --mpx-red-bright: #d21a1f;
   --mpx-red-dark: #6f0b0e;
   --mpx-red-muted: #8f1014;
   --mpx-dirty-white: #deded8;
   --mpx-steel-grey: #8d8d88;
   --mpx-shadow-small: 0 4px 12px rgb(0 0 0 / 30%);
   --mpx-shadow-medium: 0 8px 24px rgb(0 0 0 / 38%);
   --mpx-focus-ring: 0 0 0 0.2rem rgb(181 18 23 / 28%);
 }

 /* Foundation */
 html {
   background: var(--mpx-bg-deep);
 }

 body {
   min-height: 100vh;
   margin: 0;
   background-color: var(--mpx-bg-main);
   background-image:
     radial-gradient(ellipse at 50% -10%, rgb(74 74 71 / 16%), transparent 54%),
     repeating-linear-gradient(103deg, rgb(255 255 255 / 0.012) 0 1px, transparent 1px 11px),
     linear-gradient(90deg, var(--mpx-bg-deep), var(--mpx-bg-main) 18% 82%, var(--mpx-bg-deep));
   color: var(--mpx-text-primary);
   font-family: "Arial Narrow", "Roboto Condensed", "Segoe UI", Arial, sans-serif;
   line-height: 1.65;
   text-rendering: optimizeLegibility;
 }

 main {
   min-height: 60vh;
   padding-block: clamp(2rem, 5vw, 4.5rem);
 }

 main>.container {
   position: relative;
   padding: clamp(1.5rem, 4vw, 3.75rem);
   overflow: hidden;
   background:
     linear-gradient(115deg, rgb(255 255 255 / 0.018), transparent 35%),
     var(--mpx-bg-surface);
   border: 1px solid var(--mpx-border-dark);
   border-top-color: var(--mpx-red-muted);
   border-radius: 0;
   box-shadow: inset 0 1px rgb(255 255 255 / 3%), var(--mpx-shadow-medium);
 }

 main>.container::after {
   position: absolute;
   right: -2rem;
   bottom: 1.25rem;
   width: min(28vw, 15rem);
   height: 1px;
   background: var(--mpx-red-dark);
   box-shadow: 0 4px 0 rgb(74 74 71 / 45%);
   content: "";
   opacity: 0.7;
   pointer-events: none;
 }

 p,
 li,
 label,
 .card-text {
   color: var(--mpx-text-secondary);
 }

 p {
   max-width: 72ch;
 }

 /* Typography and links */
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 .h1,
 .h2,
 .h3,
 .h4,
 .h5,
 .h6,
 .card-title,
 .modal-title {
   color: var(--mpx-text-primary);
   font-weight: 800;
   line-height: 1.08;
 }

 h1,
 h2,
 h3,
 .h1,
 .h2,
 .h3 {
   text-transform: uppercase;
 }

 h1,
 .display-1,
 .display-2,
 .display-3,
 .section-title {
   position: relative;
   margin-bottom: 1.5rem;
   padding-bottom: 0.7rem;
   font-weight: 900;
   letter-spacing: -0.025em;
   text-shadow: 1px 1px 0 #000, -1px 0 rgb(255 255 255 / 8%);
 }

 h1::after,
 .section-title::after {
   position: absolute;
   bottom: 0;
   left: 0;
   width: clamp(4rem, 15vw, 10rem);
   height: 3px;
   background: linear-gradient(90deg, var(--mpx-red-bright), var(--mpx-red-dark) 72%, transparent);
   content: "";
 }

 a {
   color: var(--mpx-dirty-white);
   text-decoration-color: var(--mpx-red-muted);
   text-decoration-thickness: 1px;
   text-underline-offset: 0.2em;
 }

 a:hover,
 a:focus {
   color: #fff;
   text-decoration-color: var(--mpx-red-bright);
   text-decoration-thickness: 2px;
 }

 :focus-visible {
   outline: 2px solid var(--mpx-red-bright);
   outline-offset: 3px;
 }

 .text-muted,
 .card-subtitle,
 .form-helper,
 figcaption,
 time,
 .metadata,
 .post-meta {
   color: var(--mpx-text-muted) !important;
 }

 .small,
 .badge,
 .breadcrumb,
 figcaption,
 .metadata,
 .post-meta,
 time {
   font-size: 0.78rem;
   letter-spacing: 0.08em;
   text-transform: uppercase;
 }

 /* Existing primary MDB navbar */
 #site-navigation {
   min-height: 5rem;
   padding-block: 0.4rem;
   background:
     repeating-linear-gradient(103deg, rgb(255 255 255 / 0.012) 0 1px, transparent 1px 13px),
     linear-gradient(180deg, #101010, var(--mpx-bg-deep));
   border-block: 1px solid rgb(74 74 71 / 42%);
   border-bottom: 2px solid var(--mpx-red-dark);
   box-shadow: inset 0 1px rgb(255 255 255 / 4%), 0 5px 18px rgb(0 0 0 / 55%);
 }

 #site-navigation>.container-fluid {
   max-width: 90rem;
   gap: 0.75rem;
 }

 #site-navigation .navbar-brand {
   min-width: 0;
   margin-right: clamp(1.5rem, 4vw, 4rem);
   color: var(--mpx-text-primary);
   text-decoration: none;
 }

 #site-navigation .navbar-brand img {
   display: block;
   width: auto;
   height: clamp(3.25rem, 5vw, 4.25rem);
   max-width: min(18rem, 42vw);
   object-fit: contain;
   border-radius: 0;
   filter: saturate(0.75) contrast(1.08);
 }

 #site-navigation .navbar-nav {
   align-items: stretch;
 }

 #site-navigation .nav-link {
   position: relative;
   min-height: 2.75rem;
   padding: 0.75rem 0.85rem;
   color: var(--mpx-text-secondary);
   font-size: 0.78rem;
   font-weight: 800;
   letter-spacing: 0.09em;
   text-decoration: none;
   text-transform: uppercase;
   border-bottom: 2px solid transparent;
   transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
 }

 #site-navigation .nav-link:hover,
 #site-navigation .nav-link:focus-visible,
 #site-navigation .nav-link.active,
 #site-navigation .nav-link[aria-current="page"] {
   color: var(--mpx-text-primary);
   background-color: rgb(181 18 23 / 9%);
   border-bottom-color: var(--mpx-red-bright);
 }

 #site-navigation .nav-link.active,
 #site-navigation .nav-link[aria-current="page"] {
   font-weight: 900;
   box-shadow: inset 3px 0 var(--mpx-red-muted);
 }

 #site-navigation .navbar-toggler {
   min-width: 2.75rem;
   min-height: 2.75rem;
   padding: 0.5rem 0.75rem;
   color: var(--mpx-dirty-white);
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-medium);
   border-radius: 0;
   align-items: center;
   justify-content: center;
   transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
 }

 #site-navigation .navbar-toggler:hover,
 #site-navigation .navbar-toggler:focus-visible {
   color: #fff;
   background: var(--mpx-bg-muted);
   border-color: var(--mpx-red);
 }

 #site-navigation .navbar-toggler:focus-visible {
   box-shadow: var(--mpx-focus-ring);
 }

 #site-navigation .navbar-toggler .fas {
   color: currentcolor;
   font-size: 1.15rem;
 }

 #site-navigation .dropdown-menu {
   max-width: calc(100vw - 2rem);
   padding-block: 0.35rem;
   overflow-wrap: anywhere;
   background: var(--mpx-bg-surface);
   border-color: var(--mpx-border-medium);
   border-top: 2px solid var(--mpx-red-dark);
   border-radius: 0;
   box-shadow: var(--mpx-shadow-medium);
 }

 #site-navigation .dropdown-item {
   min-height: 2.75rem;
   padding: 0.7rem 1rem;
   white-space: normal;
 }

 #site-navigation .dropdown-divider {
   border-top-color: var(--mpx-border-medium);
   opacity: 1;
 }

 /* MDB surfaces */
 .card,
 .modal-content,
 .dropdown-menu,
 .list-group-item,
 .accordion-item,
 .sidebar,
 aside,
 article,
 .post,
 .post-card {
   color: var(--mpx-text-primary);
   background-color: var(--mpx-bg-surface);
   border: 1px solid var(--mpx-border-dark);
   border-radius: 0;
   box-shadow: var(--mpx-shadow-medium);
 }

 .card-header,
 .card-footer,
 .modal-header,
 .modal-footer {
   color: var(--mpx-text-secondary);
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-border-dark);
 }

 .card-header,
 .modal-header {
   border-bottom-color: var(--mpx-red-dark);
 }

 .list-group-item.active {
   color: var(--mpx-text-primary);
   background: var(--mpx-bg-raised);
   border-left: 3px solid var(--mpx-red);
 }

 /* Safety resources — scoped contrast treatment for the MDB card */
 .safety-resources {
   min-width: 0;
   color: var(--mpx-text-primary);
   background:
     linear-gradient(90deg, var(--mpx-red-dark) 0 4rem, transparent 4rem) top left / 100% 2px no-repeat,
     var(--mpx-bg-raised) !important;
   border: 1px solid var(--mpx-steel-grey) !important;
   overflow-wrap: anywhere;
 }

 .safety-resources h3 {
   color: var(--mpx-text-primary);
 }

 .safety-resources li,
 .safety-resources p,
 .safety-resources .text-muted {
   color: var(--mpx-dirty-white) !important;
 }

 .safety-resources li::marker,
 .safety-resources i,
 .safety-resources svg {
   color: var(--mpx-red-bright);
   fill: currentcolor;
 }

 .safety-resources a {
   color: var(--mpx-text-primary);
   font-weight: 700;
   text-decoration: underline;
   text-decoration-color: var(--mpx-red-bright);
   text-decoration-thickness: 2px;
 }

 .safety-resources a:hover,
 .safety-resources a:active {
   color: #fff;
   text-decoration-color: var(--mpx-dirty-white);
 }

 .safety-resources a:focus-visible,
 .safety-resources button:focus-visible,
 .safety-resources .btn:focus-visible {
   outline: 3px solid var(--mpx-red-bright);
   outline-offset: 3px;
 }

 .dropdown-item {
   color: var(--mpx-text-secondary);
   font-weight: 700;
   letter-spacing: 0.05em;
   text-transform: uppercase;
 }

 .dropdown-item:hover,
 .dropdown-item:focus,
 .dropdown-item.active {
   color: var(--mpx-text-primary);
   background-color: var(--mpx-red-dark);
 }

 .accordion-button,
 .accordion-button:not(.collapsed) {
   color: var(--mpx-text-primary);
   background: var(--mpx-bg-raised);
   border-radius: 0;
   box-shadow: inset 3px 0 var(--mpx-red-muted);
 }

 .accordion-button::after {
   filter: grayscale(1) invert(1);
 }

 /* MDB buttons */
 .btn,
 button,
 input[type="submit"],
 input[type="button"] {
   border-radius: 0;
   font-weight: 800;
 }

 .btn {
   letter-spacing: 0.07em;
   text-transform: uppercase;
   box-shadow: var(--mpx-shadow-small);
 }

 .btn-primary,
 button[type="submit"],
 input[type="submit"] {
   color: var(--mpx-text-primary);
   background: var(--mpx-red);
   border-color: var(--mpx-red-bright);
 }

 .btn-primary:hover,
 .btn-primary:focus,
 button[type="submit"]:hover,
 button[type="submit"]:focus,
 input[type="submit"]:hover,
 input[type="submit"]:focus {
   color: #fff;
   background: var(--mpx-red-dark);
   border-color: var(--mpx-dirty-white);
 }

 .btn-secondary,
 .btn-outline-primary,
 .btn-outline-secondary,
 .btn-outline-light {
   color: var(--mpx-dirty-white);
   background: var(--mpx-bg-raised);
   border-color: var(--mpx-border-light);
 }

 .btn-secondary:hover,
 .btn-secondary:focus,
 .btn-outline-primary:hover,
 .btn-outline-primary:focus,
 .btn-outline-secondary:hover,
 .btn-outline-secondary:focus,
 .btn-outline-light:hover,
 .btn-outline-light:focus {
   color: #fff;
   background: var(--mpx-bg-muted);
   border-color: var(--mpx-red-bright);
 }

 .btn-link {
   color: var(--mpx-dirty-white);
   box-shadow: none;
   text-decoration: underline;
   text-decoration-color: var(--mpx-red-muted);
 }

 /* MDB forms */
 input,
 textarea,
 select,
 .form-control,
 .form-select,
 .input-group-text {
   color: var(--mpx-text-primary);
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-border-medium);
   border-radius: 0;
 }

 .form-label,
 .form-check-label,
 .form-outline .form-label {
   color: var(--mpx-text-secondary);
 }

 input::placeholder,
 textarea::placeholder,
 .form-control::placeholder {
   color: var(--mpx-text-muted);
   opacity: 1;
 }

 input:hover,
 textarea:hover,
 select:hover,
 .form-control:hover,
 .form-select:hover {
   border-color: var(--mpx-border-light);
 }

 input:focus,
 textarea:focus,
 select:focus,
 .form-control:focus,
 .form-select:focus {
   color: var(--mpx-text-primary);
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-red);
   box-shadow: var(--mpx-focus-ring);
 }

 .form-outline .form-control:focus~.form-label,
 .form-outline .form-control.active~.form-label {
   color: var(--mpx-dirty-white);
 }

 .form-check-input {
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-border-light);
 }

 .form-check-input:checked {
   background-color: var(--mpx-red);
   border-color: var(--mpx-red-bright);
 }

 /* Contact form — isolated matte panel treatment */
 #contact-form {
   width: 100%;
   min-width: 0;
   padding: clamp(1.25rem, 3vw, 2rem);
   background:
     linear-gradient(90deg, var(--mpx-red-dark) 0 4rem, transparent 4rem) top left / 100% 2px no-repeat,
     var(--mpx-bg-surface);
   border: 1px solid var(--mpx-border-medium);
   border-radius: 0;
   box-shadow: inset 0 1px rgb(255 255 255 / 3%), var(--mpx-shadow-small);
 }

 #contact-form .row,
 #contact-form [class*="col-"] {
   min-width: 0;
 }

 #contact-form .form-outline {
   width: 100%;
 }

 #contact-form .form-control {
   width: 100%;
   min-height: 3rem;
   padding-inline: 0.9rem;
   color: var(--mpx-text-primary);
   caret-color: var(--mpx-dirty-white);
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-border-light);
   border-radius: 0;
   transition:
     color 120ms ease,
     border-color 120ms ease,
     background-color 120ms ease,
     box-shadow 120ms ease;
 }

 #contact-form textarea.form-control {
   min-height: 9rem;
   padding-block: 0.85rem;
   line-height: 1.55;
   resize: vertical;
 }

 #contact-form .form-label,
 #contact-form .form-outline .form-label {
   max-width: calc(100% - 1.5rem);
   color: var(--mpx-text-secondary);
   font-weight: 700;
   line-height: 1.35;
   white-space: normal;
 }

 #contact-form .form-control:hover {
   border-color: var(--mpx-steel-grey);
 }

 #contact-form .form-control:focus {
   color: var(--mpx-text-primary);
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-red-bright);
   box-shadow: var(--mpx-focus-ring);
 }

 #contact-form .form-control:focus~.form-label,
 #contact-form .form-control.active~.form-label {
   color: var(--mpx-dirty-white);
 }

 #contact-form .form-control:disabled,
 #contact-form .form-control[readonly] {
   color: var(--mpx-text-muted);
   background-color: var(--mpx-bg-deep);
   border-style: dashed;
   opacity: 0.8;
 }

 #contact-form .form-control.is-invalid {
   border-color: var(--mpx-red-bright);
   box-shadow: inset 3px 0 var(--mpx-red-dark);
 }

 #contact-form .invalid-feedback,
 #contact-form .invalid-tooltip {
   color: #ee8e91;
   font-weight: 700;
   line-height: 1.45;
   overflow-wrap: anywhere;
 }

 #contact-form .form-control.is-valid {
   border-color: var(--mpx-steel-grey);
   box-shadow: inset 3px 0 var(--mpx-steel-grey);
 }

 #contact-form .valid-feedback,
 #contact-form .valid-tooltip {
   color: var(--mpx-dirty-white);
   font-weight: 700;
   line-height: 1.45;
   overflow-wrap: anywhere;
 }

 #contact-form .form-control:-webkit-autofill,
 #contact-form .form-control:-webkit-autofill:hover,
 #contact-form .form-control:-webkit-autofill:focus {
   -webkit-text-fill-color: var(--mpx-text-primary);
   caret-color: var(--mpx-text-primary);
   box-shadow: 0 0 0 1000px var(--mpx-bg-raised) inset, var(--mpx-focus-ring);
   transition: background-color 9999s ease-out 0s;
 }

 /* Expanded contact and incident intake; scoped to prevent cross-page changes. */
 .contact-page main>.container {
   max-width: 76rem;
 }

 .contact-page__header {
   max-width: 62rem;
   margin-bottom: 2rem;
 }

 .contact-page__eyebrow {
   margin-bottom: 0.35rem;
   color: var(--mpx-steel-grey);
   font-size: 0.78rem;
   font-weight: 800;
   letter-spacing: 0.14em;
   text-transform: uppercase;
 }

 .contact-page__header p:last-child {
   font-size: clamp(1rem, 2vw, 1.15rem);
 }

 .contact-page .contact-safety-notice,
 .contact-page .contact-alert {
   margin-bottom: 2rem;
   padding: clamp(1rem, 3vw, 1.5rem);
   overflow-wrap: anywhere;
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-medium);
   border-left: 4px solid var(--mpx-red-bright);
 }

 .contact-page .contact-safety-notice h2 {
   margin-bottom: 0.75rem;
   font-size: clamp(1.15rem, 3vw, 1.45rem);
 }

 .contact-page .contact-safety-notice ul {
   margin: 0;
   padding-left: 1.25rem;
 }

 .contact-page .contact-safety-notice li+li {
   margin-top: 0.4rem;
 }

 .contact-page .contact-alert {
   color: #ffd5d6;
 }

 .contact-page #contact-form {
   padding: 0;
   background: transparent;
   border: 0;
   box-shadow: none;
 }

 .contact-page .contact-required-note {
   margin-left: auto;
   font-size: 0.9rem;
   text-align: right;
 }

 .contact-page #contact-form fieldset {
   min-width: 0;
   margin: 0 0 1.5rem;
   padding: clamp(1rem, 3vw, 2rem);
   background: var(--mpx-bg-surface);
   border: 1px solid var(--mpx-border-medium);
   border-top: 2px solid var(--mpx-red-dark);
   box-shadow: var(--mpx-shadow-small);
 }

 .contact-page #contact-form legend {
   float: none;
   width: auto;
   max-width: 100%;
   margin: 0 0 0.4rem;
   padding: 0 0.75rem 0 0;
   color: var(--mpx-text-primary);
   font-size: clamp(1.15rem, 3vw, 1.45rem);
   font-weight: 900;
   letter-spacing: 0.025em;
   line-height: 1.25;
   text-transform: uppercase;
 }

 .contact-page #contact-form legend span {
   display: inline-grid;
   width: 2rem;
   height: 2rem;
   margin-right: 0.45rem;
   color: #fff;
   background: var(--mpx-red-dark);
   font-size: 0.9rem;
   place-items: center;
 }

 .contact-page .fieldset-help {
   margin: 0 0 1.25rem;
   color: var(--mpx-text-muted);
 }

 .contact-page .contact-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 1.15rem 1.25rem;
 }

 .contact-page .contact-grid__wide {
   grid-column: 1 / -1;
 }

 .contact-page .contact-field {
   min-width: 0;
 }

 .contact-page .contact-field>label,
 .contact-page .contact-choice-group>span {
   display: block;
   margin-bottom: 0.4rem;
   color: var(--mpx-dirty-white);
   font-weight: 800;
   line-height: 1.35;
 }

 .contact-page .optional {
   color: var(--mpx-text-muted);
   font-size: 0.75rem;
   font-weight: 600;
   letter-spacing: 0.06em;
   text-transform: uppercase;
 }

 .contact-page .required-marker {
   color: #ff8e91;
   font-weight: 900;
 }

 .contact-page #contact-form .form-control,
 .contact-page #contact-form .form-select {
   min-height: 3rem;
   padding: 0.7rem 0.85rem;
 }

 .contact-page #contact-form textarea.form-control {
   min-height: 7.5rem;
 }

 .contact-page .help-text,
 .contact-page .contact-error {
   display: block;
   margin-top: 0.35rem;
   color: var(--mpx-text-muted);
   font-size: 0.85rem;
   line-height: 1.45;
   overflow-wrap: anywhere;
 }

 .contact-page .contact-error {
   color: #ff9b9e;
   font-weight: 800;
 }

 .contact-page .contact-check,
 .contact-page .contact-choice-group label {
   display: grid;
   grid-template-columns: 1.3rem minmax(0, 1fr);
   gap: 0.65rem;
   align-items: start;
 }

 .contact-page .contact-check {
   margin-top: 1.2rem;
 }

 .contact-page .contact-check input,
 .contact-page .contact-choice-group input {
   width: 1.2rem;
   height: 1.2rem;
   margin-top: 0.15rem;
   accent-color: var(--mpx-red-bright);
 }

 .contact-page .contact-choice-group {
   margin-top: 1.25rem;
   padding: 1rem;
   border: 1px solid var(--mpx-border-dark);
 }

 .contact-page .contact-choice-group label+label {
   margin-top: 0.65rem;
 }

 .contact-page .contact-minor-warning,
 .contact-page .contact-evidence-warning {
   margin-bottom: 1.25rem;
   padding: 1rem;
   color: var(--mpx-text-secondary);
   overflow-wrap: anywhere;
   background: var(--mpx-bg-raised);
   border-left: 3px solid var(--mpx-steel-grey);
 }

 .contact-page .contact-evidence-warning {
   border-left-color: var(--mpx-red-bright);
 }

 .contact-page .certification.is-invalid {
   padding: 0.75rem;
   border-left: 3px solid var(--mpx-red-bright);
 }

 .contact-page .certification .contact-error {
   grid-column: 2;
 }

 .contact-page .contact-submit {
   margin-top: 1.5rem;
   padding-top: 1.5rem;
   border-top: 1px solid var(--mpx-border-medium);
 }

 .contact-page .contact-submit p {
   overflow-wrap: anywhere;
 }

 .contact-page .contact-submit .btn {
   min-height: 3.25rem;
   padding-inline: 1.5rem;
 }

 @media (max-width: 767.98px) {
   .contact-page .contact-grid {
     grid-template-columns: minmax(0, 1fr);
   }

   .contact-page .contact-grid__wide {
     grid-column: auto;
   }
 }

 @media (max-width: 575.98px) {
   .contact-page #contact-form fieldset {
     margin-inline: -0.25rem;
     padding: 1rem;
   }

   .contact-page #contact-form legend span {
     width: 1.75rem;
     height: 1.75rem;
   }

   .contact-page .contact-submit .btn {
     width: 100%;
     white-space: normal;
   }
 }

/* Administration workspace — MDB-first, compact, and responsive. */
.admin-page {
  background: #0b0d10;
}

.admin-page main {
  padding-block: clamp(1rem, 3vw, 2.5rem);
}

.admin-page main > .container,
.admin-page .admin-shell {
  width: min(100% - 1.5rem, 88rem);
  max-width: 88rem;
  padding: clamp(1rem, 2.5vw, 2rem);
  background: #111419;
  border: 1px solid #292d33;
  border-radius: 0.6rem;
  box-shadow: 0 10px 35px rgb(0 0 0 / 24%);
  overflow: visible;
}

.admin-page main > .container::after {
  display: none;
}

.admin-header {
  z-index: 1030;
  background: #101318;
  border-bottom: 1px solid #343940;
  box-shadow: 0 4px 18px rgb(0 0 0 / 30%);
}

.admin-header .navbar {
  min-height: 4.25rem;
}

.admin-header .navbar-brand {
  min-width: 0;
  text-decoration: none;
}

.admin-header .navbar-brand img {
  width: 3rem;
  height: 2.25rem;
  object-fit: contain;
}

.admin-header .navbar-brand span,
.admin-header .navbar-brand strong,
.admin-header .navbar-brand small {
  display: block;
}

.admin-header .navbar-brand strong {
  color: #f5f5f2;
  font-size: 0.95rem;
  line-height: 1.1;
}

.admin-header .navbar-brand small {
  margin-top: 0.2rem;
  color: #92979f;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.admin-header .nav-link {
  min-height: 2.75rem;
  padding: 0.7rem 0.9rem;
  border-radius: 0.35rem;
  text-decoration: none;
}

.admin-header .nav-link.active {
  color: #fff;
  background: rgb(181 18 23 / 22%);
}

.admin-header .dropdown-menu {
  min-width: 11rem;
  background: #171a20;
  border-color: #3a3f47;
}

.admin-header .dropdown-item {
  color: #e8e8e4;
  border-radius: 0.25rem;
}

.admin-header .dropdown-item:hover,
.admin-header .dropdown-item:focus {
  color: #fff;
  background: #272b33;
}

.admin-page h1,
.admin-page h2,
.admin-page h3 {
  text-transform: none;
}

.admin-page h1::after {
  width: 3.5rem;
}

.admin-page .card {
  background: #171a20;
  border-color: #30353d;
  border-radius: 0.5rem;
  box-shadow: none;
}

.admin-page .admin-metrics .card {
  border-top: 3px solid var(--mpx-red);
}

.admin-page .form-control,
.admin-page .form-select {
  min-height: 2.85rem;
  background-color: #0f1216;
  border-color: #424852;
  border-radius: 0.35rem;
}

.admin-page textarea.form-control {
  min-height: 8rem;
}

.admin-page .form-label {
  color: #dddeda;
  font-weight: 700;
}

.admin-page .list-group-item {
  color: #d5d6d2;
  background: transparent;
  border-color: #30353d;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.admin-page .list-group-item:hover,
.admin-page .list-group-item:focus {
  color: #fff;
  background: #20242b;
}

.admin-page .table-responsive {
  border: 1px solid #30353d;
  border-radius: 0.5rem;
}

.admin-page .modal-dialog {
  max-width: min(90vw, 50rem);
  margin-inline: auto;
}

.admin-login-page main > .container {
  max-width: 72rem;
}

@media (max-width: 991.98px) {
  .admin-header .navbar-collapse {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: #171a20;
    border: 1px solid #30353d;
    border-radius: 0.4rem;
  }

  .admin-header .nav-link {
    width: 100%;
  }

  .admin-account-actions,
  .admin-account-actions .dropdown,
  .admin-account-actions .btn {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .admin-page .table-responsive {
    border: 0;
    overflow: visible;
  }

  .admin-page table,
  .admin-page thead,
  .admin-page tbody,
  .admin-page tr,
  .admin-page th,
  .admin-page td {
    display: block;
    width: 100%;
  }

  .admin-page thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .admin-page tbody tr {
    margin-bottom: 0.75rem;
    padding: 0.9rem;
    background: #171a20;
    border: 1px solid #30353d;
    border-radius: 0.5rem;
  }

  .admin-page tbody td {
    padding: 0.45rem 0;
    border: 0;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .admin-page tbody td::before {
    display: block;
    margin-bottom: 0.15rem;
    color: #8f949c;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .admin-page tbody td:nth-child(1)::before { content: "Case"; }
  .admin-page tbody td:nth-child(2)::before { content: "Location"; }
  .admin-page tbody td:nth-child(3)::before { content: "Published"; }
  .admin-page tbody td:nth-child(4)::before { content: "Actions"; }

  .admin-page tbody td .btn {
    width: 100%;
    min-height: 2.75rem;
  }
}

@media (max-width: 375px) {
  .admin-page main > .container,
  .admin-page .admin-shell {
    width: calc(100% - 0.75rem);
    padding: 0.85rem;
  }

  .admin-header .navbar-brand strong {
    font-size: 0.82rem;
  }

  .admin-header .navbar-brand img {
    width: 2.4rem;
  }

  .admin-page .btn {
    white-space: normal;
  }
}

 /* Homepage impact metrics: scoped so the rest of the homepage remains unchanged. */
 .impact .impact__updated {
   white-space: nowrap;
 }

 .impact .impact__card {
   border-top: 3px solid var(--mpx-red-dark) !important;
   transition: transform 180ms ease, box-shadow 180ms ease;
 }

 .impact .impact__card:hover {
   transform: translateY(-0.2rem);
 }

 .impact .impact__icon {
   color: var(--mpx-red-bright);
   font-size: 1.35rem;
 }

 .impact .impact__count {
   font-variant-numeric: tabular-nums;
 }

 @media (prefers-reduced-motion: reduce) {
   .impact .impact__card {
     transition: none;
   }

   .impact .impact__card:hover {
     transform: none;
   }
 }

 /* Public exposure archive and detail pages */
 .exposure-page-header {
   max-width: 52rem;
 }

 .exposure-card,
 .exposure-detail__section,
 .exposure-empty-state {
   overflow: hidden;
   border-top: 2px solid var(--mpx-red-dark);
 }

 .exposure-card__image-link {
   display: block;
   overflow: hidden;
   background: var(--mpx-bg-deep);
 }

 .exposure-card__image {
   width: 100%;
   aspect-ratio: 4 / 3;
   object-fit: cover;
   object-position: center top;
   filter: saturate(0.78) contrast(1.06);
   transition: transform 180ms ease, filter 180ms ease;
 }

 .exposure-card__image-link:hover .exposure-card__image,
 .exposure-card__image-link:focus .exposure-card__image {
   transform: scale(1.025);
   filter: saturate(0.95) contrast(1.08);
 }

 .exposure-summary {
   display: grid;
   gap: 0.75rem;
 }

 .exposure-summary>div {
   display: grid;
   grid-template-columns: 1.5rem minmax(0, 1fr);
   gap: 0.5rem;
   align-items: start;
 }

 .exposure-summary dt {
   color: var(--mpx-red-bright);
 }

 .exposure-summary dd {
   margin: 0;
   color: var(--mpx-text-secondary);
 }

 .exposure-cases-page .pagination {
   gap: 0.3rem;
 }

 .exposure-cases-page .page-link {
   min-width: 2.75rem;
   color: var(--mpx-text-secondary);
   text-align: center;
   background: var(--mpx-bg-raised);
   border-color: var(--mpx-border-medium);
 }

 .exposure-cases-page .page-item.active .page-link {
   color: #fff;
   background: var(--mpx-red);
   border-color: var(--mpx-red-bright);
 }

 .exposure-cases-page .page-item.disabled .page-link {
   color: var(--mpx-text-muted);
   background: var(--mpx-bg-surface);
   border-color: var(--mpx-border-dark);
 }

 .exposure-detail__hero {
   padding-bottom: clamp(1.5rem, 4vw, 3rem);
   border-bottom: 1px solid var(--mpx-border-medium);
 }

 .exposure-detail__face {
   display: block;
   width: 100%;
   max-height: 36rem;
   object-fit: cover;
   object-position: center top;
   border: 1px solid var(--mpx-border-light);
   border-bottom: 4px solid var(--mpx-red-dark);
 }

 .exposure-detail__location {
   color: var(--mpx-dirty-white);
 }

 .exposure-timeline__item {
   padding: 1rem;
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-dark);
   border-left: 3px solid var(--mpx-red-dark);
 }

 .exposure-timeline dt {
   margin-bottom: 0.4rem;
   color: var(--mpx-text-muted);
   font-size: 0.72rem;
   letter-spacing: 0.1em;
   text-transform: uppercase;
 }

 .exposure-timeline dd {
   margin: 0;
   color: var(--mpx-text-primary);
   font-weight: 700;
 }

 .exposure-detail__section h2 {
   margin-bottom: 1.5rem;
 }

 .exposure-detail__copy {
   max-width: 72ch;
   color: var(--mpx-text-secondary);
   white-space: normal;
 }

 .exposure-video,
 .exposure-chat-image {
   overflow: hidden;
   background: #000;
   border: 1px solid var(--mpx-border-medium);
 }

 .exposure-chat-image {
   display: block;
   width: 100%;
   height: clamp(10rem, 24vw, 15rem);
   object-fit: contain;
   cursor: zoom-in;
 }

 @media (max-width: 575.98px) {
   .exposure-card .card-body {
     padding: 1.25rem !important;
   }

   .exposure-cases-page .pagination-lg .page-link {
     min-width: 2.4rem;
     padding: 0.55rem 0.7rem;
     font-size: 0.95rem;
   }
 }

 @media (max-width: 575.98px) {
   #contact-form {
     padding: 1rem;
   }

   #contact-form textarea.form-control {
     min-height: 7.5rem;
   }
 }

 /* Alerts, badges and breadcrumbs */
 .badge {
   color: var(--mpx-dirty-white);
   background-color: var(--mpx-bg-muted);
   border: 1px solid var(--mpx-border-medium);
   border-radius: 0;
 }

 .alert {
   color: var(--mpx-text-primary);
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-medium);
   border-left: 4px solid var(--mpx-steel-grey);
   border-radius: 0;
 }

 .alert-danger,
 .alert-warning {
   border-left-color: var(--mpx-red-bright);
 }

 .alert-info {
   border-left-color: var(--mpx-steel-grey);
 }

 .alert-success {
   border-left-color: var(--mpx-dirty-white);
 }

 .breadcrumb-item,
 .breadcrumb-item a {
   color: var(--mpx-text-muted);
 }

 .breadcrumb-item.active,
 .breadcrumb-item+.breadcrumb-item::before {
   color: var(--mpx-text-secondary);
 }

 /* Tables and pagination */
 .table,
 .table-dark {
   color: var(--mpx-text-secondary);
   background-color: var(--mpx-bg-surface);
   border-color: var(--mpx-border-dark);
 }

 .table> :not(caption)>*>* {
   color: inherit;
   background-color: transparent;
   border-color: var(--mpx-border-dark);
 }

 .table thead th {
   color: var(--mpx-dirty-white);
   background-color: var(--mpx-bg-raised);
   font-size: 0.78rem;
   letter-spacing: 0.08em;
   text-transform: uppercase;
 }

 .table-striped>tbody>tr:nth-of-type(odd)>* {
   background-color: rgb(255 255 255 / 2%);
 }

 .table-hover>tbody>tr:hover>* {
   color: var(--mpx-text-primary);
   background-color: rgb(181 18 23 / 10%);
 }

 .pagination {
   gap: 0.2rem;
 }

 .pagination .page-link {
   color: var(--mpx-dirty-white);
   background: var(--mpx-bg-surface);
   border-color: var(--mpx-border-medium);
   border-radius: 0;
   text-decoration: none;
 }

 .pagination .page-link:hover,
 .pagination .page-link:focus {
   color: #fff;
   background: var(--mpx-bg-muted);
   border-color: var(--mpx-red);
 }

 .pagination .active .page-link,
 .pagination .page-item.active .page-link {
   color: #fff;
   background: var(--mpx-red);
   border-color: var(--mpx-red-bright);
 }

 .pagination .disabled .page-link {
   color: var(--mpx-text-muted);
   background: var(--mpx-bg-deep);
   opacity: 0.65;
 }

 /* Images, icons and modal details */
 .img-thumbnail,
 .card-img,
 .card-img-top,
 figure img {
   border: 1px solid var(--mpx-border-medium);
   border-radius: 0;
 }

 figcaption {
   padding-top: 0.65rem;
 }

 .fa-solid,
 .fa-regular,
 .fa-brands,
 .fas,
 .far,
 .fab {
   color: var(--mpx-steel-grey);
 }

 .active>.fa-solid,
 .active>.fa-regular,
 .nav-link:hover .fas,
 .btn-primary .fa-solid,
 .alert-danger .fa-solid,
 .alert-warning .fa-solid {
   color: var(--mpx-dirty-white);
 }

 .btn-close {
   filter: grayscale(1) invert(1);
   opacity: 0.8;
 }

 .modal-backdrop.show {
   opacity: 0.82;
 }

 hr {
   color: var(--mpx-red-dark);
   border-top-color: currentcolor;
   opacity: 0.8;
 }

 /* Footer */
 .site-footer {
   min-height: 5rem;
   color: var(--mpx-text-muted);
   background:
     repeating-linear-gradient(103deg, rgb(255 255 255 / 0.012) 0 1px, transparent 1px 12px),
     linear-gradient(180deg, var(--mpx-bg-surface), var(--mpx-bg-deep));
   border-top: 2px solid var(--mpx-red-dark);
   box-shadow: inset 0 1px rgb(255 255 255 / 4%), 0 -8px 24px rgb(0 0 0 / 28%);
 }

 .site-footer .container {
   max-width: 72rem;
 }

 .footer-support.card {
   color: var(--mpx-text-primary);
   background: var(--mpx-bg-surface);
   border: 1px solid var(--mpx-border-medium);
   border-top: 2px solid var(--mpx-red-bright);
   border-radius: 0;
   overflow: hidden;
 }

 .footer-support__heading {
   color: var(--mpx-text-primary);
   font-weight: 800;
   letter-spacing: 0.04em;
   text-transform: uppercase;
 }

 .footer-support__copy {
   max-width: 60ch;
   color: var(--mpx-text-secondary);
 }

 .footer-support__donations {
   padding-left: clamp(0.75rem, 3vw, 2.5rem);
   border-left: 2px solid var(--mpx-red-dark);
 }

 .footer-support .btn {
   display: inline-flex;
   min-height: 2.75rem;
   white-space: normal;
   overflow-wrap: anywhere;
   line-height: 1.35;
   text-decoration: none;
   align-items: center;
   justify-content: center;
 }

 .site-footer__social .btn {
   color: var(--mpx-dirty-white);
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-medium);
   border-radius: 0;
   box-shadow: inset 0 1px rgb(255 255 255 / 4%);
 }

 .footer-support .btn i {
   color: currentcolor;
   font-size: 1.05rem;
 }

 .site-footer__social .btn:hover {
   color: #fff;
   background: var(--mpx-bg-muted);
   border-color: var(--mpx-red);
   box-shadow: inset 0 -2px var(--mpx-red);
   transform: translateY(-1px);
 }

 .footer-support .btn:focus-visible {
   color: #fff;
   border-color: var(--mpx-dirty-white);
   box-shadow: var(--mpx-focus-ring);
 }

 .footer-support__actions .btn {
   min-width: 0;
   min-height: 3.25rem;
 }

 .site-footer__copyright {
   color: var(--mpx-steel-grey);
   border-top: 1px solid var(--mpx-border-dark);
   line-height: 1.55;
 }

 /* Restrained motion and responsive refinements */
 @media (prefers-reduced-motion: no-preference) {

   a,
   button,
   .btn,
   input,
   textarea,
   select,
   .nav-link,
   .dropdown-item,
   .page-link {
     transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
   }
 }

 @media (max-width: 991.98px) {
   #site-navigation {
     min-height: 4.25rem;
   }

   #site-navigation .navbar-collapse {
     flex-basis: 100%;
     width: 100%;
     margin-top: 0.35rem;
     padding: 0.5rem;
     background: var(--mpx-bg-surface);
     border: 1px solid var(--mpx-border-dark);
     border-left: 2px solid var(--mpx-red-dark);
   }

   #site-navigation .navbar-toggler {
     display: inline-flex;
   }

   #site-navigation .navbar-brand {
     margin-right: 1rem;
   }

   #site-navigation .navbar-brand img {
     max-width: min(17rem, calc(100vw - 5.5rem));
   }

   #site-navigation .nav-link {
     display: flex;
     width: 100%;
     min-height: 2.875rem;
     align-items: center;
     border-right: 0;
     border-bottom-width: 1px;
   }

   #site-navigation .dropdown-menu {
     width: 100%;
     max-width: 100%;
     margin: 0.25rem 0 0;
   }

   .footer-support__donations {
     padding-top: 1.25rem;
     padding-left: 0.75rem;
     border-top: 1px solid var(--mpx-border-medium);
     border-left: 0;
   }
 }

 @media (max-width: 575.98px) {
   main {
     padding-block: 1rem;
   }

   main>.container {
     padding: 1.25rem;
   }

   h1,
   .h1 {
     font-size: clamp(1.8rem, 10vw, 2.5rem);
   }

   .btn,
   #site-navigation .nav-link {
     letter-spacing: 0.05em;
   }

   #site-navigation {
     padding-block: 0.3rem;
   }

   #site-navigation>.container-fluid {
     padding-inline: 0.75rem;
   }

   #site-navigation .navbar-collapse {
     max-height: calc(100vh - 5rem);
     overflow-y: auto;
   }

   main>.container::after {
     display: none;
   }

   .footer-support__actions .btn {
     width: 100%;
   }
 }

 @media (prefers-reduced-motion: reduce) {

   *,
   *::before,
   *::after {
     scroll-behavior: auto !important;
     transition-duration: 0.01ms !important;
   }
 }

 /* Mission statement — scoped editorial layout */
 .mission-page .mission-page__content {
   max-width: 70rem;
 }

 .mission-page__header,
 .mission-page section,
 .mission-page__closing {
   max-width: 62rem;
 }

 .mission-page__eyebrow {
   margin-bottom: 0.35rem;
   color: var(--mpx-steel-grey);
   font-size: 0.78rem;
   font-weight: 800;
   letter-spacing: 0.14em;
   text-transform: uppercase;
 }

 .mission-page__intro {
   max-width: 58ch;
   margin-bottom: 2.5rem;
   color: var(--mpx-dirty-white);
   font-size: clamp(1.1rem, 2vw, 1.3rem);
   line-height: 1.6;
 }

 .mission-page section+section {
   margin-top: 2.25rem;
 }

 .mission-page section>h2,
 .mission-page__notice h2 {
   margin-bottom: 0.75rem;
   font-size: clamp(1.25rem, 3vw, 1.6rem);
 }

 .mission-page section>p {
   margin-bottom: 0;
 }

 .mission-page .mission-principles {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1rem;
 }

 .mission-page .mission-principles article {
   padding: 1.25rem;
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-dark);
   border-top: 2px solid var(--mpx-red-dark);
   box-shadow: none;
 }

 .mission-page .mission-principles h3 {
   margin-bottom: 0.65rem;
   font-size: 1rem;
   letter-spacing: 0.04em;
 }

 .mission-page .mission-principles p {
   margin: 0;
 }

 .mission-page__notice {
   max-width: 62rem;
   margin-top: 2.5rem;
   padding: 1.25rem;
   background: var(--mpx-bg-raised);
   border: 1px solid var(--mpx-border-medium);
   border-left: 4px solid var(--mpx-red-bright);
   box-shadow: none;
 }

 .mission-page__notice p,
 .mission-page__closing {
   margin-bottom: 0;
 }

 .mission-page__closing {
   margin-top: 2rem;
   color: var(--mpx-dirty-white);
   font-weight: 700;
 }

 /* Simple MDB contact form refinements; isolated to the contact page. */
 .contact-page main>.container {
   max-width: 62rem;
 }

 .contact-page .contact-page__header {
   max-width: 48rem;
   margin-bottom: 1.5rem;
 }

 .contact-page .contact-form-card {
   max-width: 48rem;
   border-top: 2px solid var(--mpx-red-dark);
 }

 .contact-page .contact-required-note {
   text-align: left;
 }

 .contact-page #contact-form .form-outline,
 .contact-page #contact-form .form-select {
   width: 100%;
 }

 .contact-page #contact-form .form-select {
   color: var(--mpx-text-primary);
   background-color: var(--mpx-bg-raised);
   border-color: var(--mpx-border-light);
 }

 .contact-page #contact-form .invalid-feedback {
   margin-top: 0.4rem;
 }

 .contact-page .contact-submit {
   border-top: 1px solid var(--mpx-border-medium);
 }

 @media (max-width: 767.98px) {
   .mission-page .mission-principles {
     grid-template-columns: minmax(0, 1fr);
   }
 }

 @media (max-width: 575.98px) {
   .mission-page__intro {
     margin-bottom: 2rem;
   }

   .contact-page .contact-submit .btn {
     width: 100%;
     white-space: normal;
   }
 }
