/* Navy sampled from the supplied MHH artwork, with restrained gold accents. */
:root {
  color-scheme: dark;
  --paper: #233959;
  --white: #f5f5f0;
  --ink: #f1f4f7;
  --muted: #bac8d9;
  --accent: #d4ba88;
  --line: #435a77;
  --gold: #cfb37e;
  --surface: #2a4262;
  --navy-deep: #17283f;
  --gold-line: #8e7f63;
}

::selection { background: var(--gold); color: var(--navy-deep); }
.skip-link { background: var(--gold); color: var(--navy-deep); }
.site-header { background: var(--paper); border-bottom-color: var(--line); height: 118px; }
.brand { display: inline-flex; align-items: center; gap: 17px; line-height: 1; }
.brand-logo { width: 82px; height: auto; object-fit: contain; flex: none; }
.brand-caption { display: flex; flex-direction: column; gap: 9px; padding-left: 17px; border-left: 1px solid #6381a2; }
.brand-caption strong { color: var(--ink); font-family: var(--display); font-size: 12px; font-weight: 500; letter-spacing: -.25px; white-space: nowrap; }
.brand-caption small { color: #aec8e1; font-size: 10px; font-weight: 400; letter-spacing: .75px; }
.header-contact { border-color: var(--gold-line); color: #e9e5dc; font-size: 12px; }
.header-contact:hover { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }
.desktop-nav>a { color: #dbe4ee; }
.desktop-nav>a::after { background: var(--gold); }
.hero { background: var(--paper); }
.hero-eyebrow { color: #c3d7eb; }
.status-dot { background: var(--gold); }
.hero h1 em { color: var(--accent); }
.hero-intro { color: #c4d0df; }
.button-dark { background: var(--gold); color: var(--navy-deep); }
.button-dark:hover { background: #e0c99e; }
.hero-bottom>span { color: #aabdd3; }
.hero-bottom>a { border-color: #627a98; color: var(--accent); }
.hero-bottom>a:hover { background: #304d70; }
.hero-image { background: #304762; box-shadow: inset 0 0 0 1px #cfb37e33; }
.hero-image img { filter: saturate(.52) brightness(.87) contrast(1.04); }
.hero-image::after { background: linear-gradient(transparent,rgba(12,25,43,.82)); }
.portrait-rule { background: var(--gold); }
.hero-image figcaption { color: var(--white); }
.hero-image figcaption small { color: #d4dfeb; }
.image-index { color: #f3f4f6b8; }
.media-strip { background: #2c4564; border-color: var(--line); }
.media-strip>p { color: var(--muted); }
.media-logos { color: #d4dfeb; }
.expertise { background: #1c304c; }
.section-label { color: #abc8e4; }
.service-title p,.service-content p,.service-number { color: var(--muted); }
.service-toggle { border-color: #7287a2; color: var(--accent); }
.service[open] .service-toggle { background: var(--gold); border-color: var(--gold); color: var(--navy-deep); }
.service-tags>span { color: #d1dce9; }
.service-tags>span::before { background: var(--gold); }
.text-link { color: var(--accent); border-color: var(--gold-line); }
.text-link:hover { color: #f0d9ae; }
.approach { background: var(--navy-deep); color: var(--ink); border-block: 1px solid var(--line); }
.approach::after { content: none; }
.approach .section-label { color: #abc8e4; }
.small-note { color: #a8bad0; }
.approach h2 em { color: var(--accent); }
.principle { border-color: var(--line); }
.principle-index { color: var(--accent); }
.principle p { color: var(--muted); }
.about { background: var(--surface); position: relative; isolation: isolate; }
.about-image::before { background: #3b5778; border-left: 1px solid #cfb37e88; border-bottom: 1px solid #cfb37e88; }
.about-image img { filter: saturate(.2) brightness(.84) contrast(1.03); }
.about-image figcaption { color: #abc0d6; }
.about-name { color: #e4dac6; }
.about-copy>p:not(.section-label):not(.about-name) { color: #c1cede; }
.experience p { color: var(--muted); }
.icon-link { border-color: #738dad; color: var(--accent); }
.icon-link:hover { background: #3a587b; }
.contact { background: #2a4566; border-top: 1px solid #57718f; }
.contact-top,.contact-links { border-color: #627995; }
.status { color: #d0dce9; }
.contact-main p { color: #d1deeb; }
.contact h2 em { color: var(--accent); }
.contact-orbit { background: var(--gold); color: var(--navy-deep); border: 1px solid #e1c99a; }
.contact-orbit:hover { background: #e0c99e; }
.contact-links>a { color: #eef2f6; }
.site-footer { background: var(--paper); border-top: 1px solid var(--line); }
.footer-brand .brand-logo { width: 76px; }
.footer-top>p { color: #c1cedf; }
.footer-bottom { color: #b5c6da; }
.footer-top { border-color: var(--line); }
.back-top { color: #d2deeb; }
.menu-toggle>span { background: #dce7f1; }
.mobile-nav { background: var(--paper); }
.mobile-nav>a { border-color: var(--line); }
.mobile-nav>p { color: var(--muted); }

@media (max-width: 1150px) {
  .brand-logo { width: 74px; }
  .brand { gap: 14px; }
  .brand-caption { padding-left: 14px; }
  .brand-caption strong { font-size: 11px; }
  .desktop-nav { gap: 25px; margin-right: 15px; }
  .header-contact { font-size: 11px; gap: 22px; padding-inline: 16px; }
}
@media (max-width: 850px) {
  .site-header { height: 104px; }
  .brand-logo { width: 65px; }
  .brand { gap: 12px; }
  .brand-caption { padding-left: 12px; gap: 8px; }
  .brand-caption strong { font-size: 10px; }
  .brand-caption small { font-size: 9px; }
  .desktop-nav { gap: 24px; margin-right: 0; }
  .footer-brand .brand-logo { width: 65px; }
}
@media (max-width: 600px) {
  .site-header { height: 94px; }
  .brand-logo { width: 66px; }
  .brand-caption strong { font-size: 11px; }
  .brand-caption small { font-size: 9px; }
  .mobile-nav { top: 94px; height: calc(100dvh - 94px); }
  .footer-brand .brand-logo { width: 70px; }
  .back-top { border-color: #7289a5; }
}
@media (max-width: 360px) {
  .brand-logo { width: 58px; }
  .brand { gap: 10px; }
  .brand-caption { padding-left: 10px; }
  .brand-caption strong { font-size: 10px; }
  .brand-caption small { font-size: 8px; }
}
