/* Original-logo palette. Keep orange for emphasis, blue for readable small text. */
:root {
  --brand-blue:#2e3192;
  --brand-orange:#f06524;
  --brand-ink:#17194f;
  --brand-light:#e3e5ff;
  --navy:var(--brand-blue);
  --navy-soft:#25277a;
  --orange:var(--brand-orange);
  --orange-dark:var(--brand-blue);
  --orange-text:var(--brand-blue);
  --paper:#fafaff;
  --text:var(--brand-ink);
  --muted:#555970;
  --label:#555970;
  --line:#dcdff1;
}
::selection { background:var(--brand-blue); color:white; }
:focus-visible { outline-color:var(--brand-blue); }
h1,h2,h3,.brand-name,.main-nav,.text-link,.card-link,
.project-metric>strong,.project-card-metric>strong,.image-note strong,
.contact-method>a { color:var(--brand-blue); }
.index-number,.client-heading { color:var(--muted); }
.site-header { border-bottom-color:var(--line); }
.utility-bar { color:white; }
.button { color:var(--brand-ink); }
.button:hover { background:#f47d45; border-color:#f47d45; }
.button-dark { background:var(--brand-blue); border-color:var(--brand-blue); color:white; }
.button-dark:hover { background:var(--navy-soft); border-color:var(--navy-soft); }
.button-outline { background:transparent; border-color:var(--brand-blue); color:var(--brand-blue); }
.button-outline:hover { background:var(--brand-blue); border-color:var(--brand-blue); color:white; }
.hero h1>span,.page-intro h1 span { color:var(--brand-orange); }
.hero-image-overlay { background:linear-gradient(180deg,rgba(46,49,146,.03) 35%,rgba(23,25,79,.9)); }
.hero-photo-label>span,.hero-image-index { color:var(--brand-light); }
.hero-profile,.story-badge,.service-number,.contact-bottom { color:var(--brand-ink); }
.stats-grid>div { border-color:#6265b4; }
.stats-grid>div>span { color:var(--brand-light); }
/* Pale orange is readable for the smaller statistics and sequence numbers. */
.stats-grid strong>span,.hse-principles span,.process-grid>div>span { color:#ffb088; }
.photo-caption { background:linear-gradient(transparent,rgba(23,25,79,.92)); }
.intro-geometry,.intro-geometry::before,.intro-geometry::after { border-color:var(--line); }
.profile-icon { border-color:#a3a8cf; }
.hse-section h2,.hse-section h3,.process-section h2,.process-grid h3,
.quality-image-bottom strong,.text-link-light { color:white; }
.hse-section .eyebrow,.hse-layout>div>p:not(.eyebrow),.hse-principles p,
.process-section .eyebrow,.process-grid p { color:var(--brand-light); }
.hse-principles>div,.process-grid>div { border-color:#6265b4; }
.quality-image-bottom>span { color:var(--brand-light); }
.cta-section,.cta-section h2,.cta-section .eyebrow,.cta-phone,
.contact-bottom h2 { color:var(--brand-ink); }
.cta-section .eyebrow>span { background:var(--brand-ink); }
.site-footer { color:white; }
.site-footer .brand-name,.footer-grid h2,.footer-intro>.footer-tagline { color:white; }
.footer-intro>p,.footer-grid>div>p,.footer-grid>div:not(:first-child)>a,
.footer-bottom,.footer-bottom a,.footer-download small { color:var(--brand-light); }
.footer-grid>div:not(:first-child)>a:hover { color:white; }
.footer-bottom { border-color:#6265b4; }
.footer-grid .footer-download { border-color:#9396d0; }
.footer-grid .footer-download:hover { border-color:var(--brand-orange); }
.lightbox { border-color:#6265b4; }
.lightbox::backdrop { background:rgba(23,25,79,.94); }
.lightbox-caption,.lightbox-toolbar>a { color:var(--brand-light); }
.inquiry-context { background:#eef0fa; }
.service-jump-bar { box-shadow:0 5px 18px #2e319208; }
input:focus,textarea:focus,select:focus { border-color:var(--brand-blue); }
.delivery-result { background:#eef0fa; border-color:#a3a8cf; color:var(--brand-ink); }
.delivery-result h3,.delivery-result p { color:var(--brand-blue); }
.mobile-contact-bar a { color:var(--brand-blue); }
.mobile-contact-bar a:last-child { color:var(--brand-ink); }
@media (max-width:1100px) {
  .main-nav { box-shadow:0 15px 20px #2e319210; }
}
@media (max-width:600px) {
  .mobile-contact-bar { box-shadow:0 -3px 20px #2e31920c; }
}
