/* Restore MGV's established navy, bone and brass identity without changing routes. */
:root {
  --paper: #0f1a2e;
  --white: #16213a;
  --ink: #e8e3d6;
  --muted: #c7c0ae;
  --line: rgba(220, 225, 232, .18);
  --teal: #d4b27d;
  --brass: #d4b27d;
  --shadow: none;
  --radius: 8px;
}
body { background: var(--paper); color: var(--ink); }
.brand-logo { width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
.site-header { border-bottom-color: var(--line); }
.hero-project { transform: none; border-radius: 8px; background: #16213a; border-color: var(--line); box-shadow: none; }
.image-bar { background: #1e2b47; color: #e8e3d6; font-size: 11px; flex-wrap: wrap; }
.hero-project figcaption { border-top-color: var(--line); }
.hero-project figcaption span { color: var(--muted); }
.delivery-board { padding: 10px 26px; }
.delivery-step { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 17px; padding: 25px 0; }
.delivery-step + .delivery-step { border-top: 1px solid var(--line); }
.delivery-step .step-number { color: var(--brass); font: 500 23px/1.25 var(--serif); }
.delivery-step h3 { font-size: 20px; margin-bottom: 10px; }
.delivery-step p { font-size: 15px; line-height: 1.6; color: var(--muted); margin-bottom: 0; }
.proof-board .delivery-step { color: inherit; text-decoration: none; }
.proof-board .delivery-step:hover h3 { color: #f5dfba; }
.proof-board .delivery-step:focus-visible { outline: 3px solid #f2cf92; outline-offset: 4px; }
.hero-project .text-link { display: inline-flex; margin-top: 14px; }
.card, .project-link { background: #16213a; border-color: var(--line); }
.service-cards .card { border-top-color: #b89456; }
.project-media, .gateway-media { background: #0b1425; padding: 16px; }
.project-media img { border-color: #b8945666; border-radius: 3px; }
.case-visual { background: #16213a; border-color: #b8945680; border-radius: 7px; }
.case-visual figcaption { color: var(--muted); font-size: calc(17px - 1pt); }
.case-visual img { background: #fff; }
.dna-collage-panels { display: grid; gap: 12px; padding: 12px 12px 0; }
.dna-collage-panel { display: block; min-width: 0; overflow: hidden; border-radius: 5px; background: #0f1b2d; text-decoration: none; box-shadow: inset 0 0 0 1px #b8945640; }
.dna-collage-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 14px; color: #e6cfaa; font-size: calc(17px - 1pt); font-weight: 600; line-height: 1.5; }
.dna-section-gallery .dna-collage-report img { aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: top; }
.dna-collage-panel:hover .dna-collage-label { color: #fff5df; }
.dna-collage-panel:focus-visible { outline: 3px solid #f2cf92; outline-offset: 3px; }
.diagram-link { border-color: #b8945680; border-radius: 7px; background: #fff; }
.proof-band { background: #1e2b47; border-left-color: var(--brass); }
.intro-band { background: #16213a; border: 1px solid var(--line); border-radius: 8px; }
.button, .intro-band .button { background: var(--brass); color: #0f1a2e; border-color: var(--brass); transition: background .18s cubic-bezier(.32,.72,0,1), transform .18s cubic-bezier(.32,.72,0,1); }
.button:hover, .intro-band .button:hover { background: #e3c89d; color: #0f1a2e; }
.button-secondary { background: transparent; color: var(--brass); border-color: #b8945699; }
.button-secondary:hover { background: #1e2b47; color: #f5dfba; }
.button { gap: 14px; max-width: 100%; text-align: left; padding: 11px 14px 11px 22px; }
.button .action-label { min-width: 0; }
.button-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; margin-left: auto; border-radius: 50%; background: rgba(15, 26, 46, .09); }
.button-secondary .button-icon { background: rgba(212, 178, 125, .12); }
.text-link { display: inline-flex; align-items: baseline; gap: 8px; max-width: 100%; padding-block: 4px; }
.text-link .link-icon { flex: none; white-space: nowrap; }
.case-visual figcaption .text-link,
#dna-engineering figcaption .text-link { display: inline-flex; font-size: inherit; margin-top: 0; padding-block: 0; min-height: 0; vertical-align: baseline; }
.download-grid .button { min-height: 68px; justify-content: space-between; }
:focus-visible { outline-color: #f2cf92; }
.skip { color: #0f1a2e; }
.vendor-form input, .vendor-form select, .vendor-form textarea { color: #172638; background: #fffdf8; }
.intake-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.intake-fields:disabled, .vendor-form button:disabled { opacity: .65; }
.vendor-form button:disabled { cursor: wait; }
.form-status:not(:empty) { color: #172638 !important; background: #f0eadc; }
.site-footer { border-top: 1px solid var(--line); }
.featured-dna { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: start; }
.featured-dna > div > p { color: var(--muted); }
.portfolio-category { padding: 32px; border: 1px solid var(--line); border-left: 4px solid var(--brass); border-radius: 0 8px 8px 0; background: var(--white); }
.portfolio-category p:last-child { max-width: 800px; margin-bottom: 0; color: var(--muted); }
.prototype-collection > .case-row:first-of-type { border-top: 0; }
.prototype-grid .project-media { aspect-ratio: auto; }
.prototype-grid .project-caption { padding: 24px; }
.prototype-grid .project-caption h3 { font-size: 21px; }
.prototype-grid .project-caption p { font-size: calc(19px - 1pt); }
.prototype-grid .project-link { height: 100%; }
@media (pointer: coarse) {
  .text-link { min-height: 44px; align-items: center; }
}
@media (max-width: 1100px) {
  .header-inner { gap: 20px; }
  .brand-logo { width: 56px; height: 56px; flex-basis: 56px; }
}
@media (max-width: 900px) {
  .header-inner { gap: 0; }
  .featured-dna { grid-template-columns: 1fr; gap: 30px; }
  .prototype-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .brand-logo { width: 44px; height: 44px; flex-basis: 44px; }
  .brand-name { max-width: 133px; }
  .brand-name small { font-size: 8px; letter-spacing: .04em; }
  .delivery-board { padding: 0 20px; }
  .delivery-step { grid-template-columns: 26px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  .delivery-step h3 { font-size: 19px; }
  .prototype-grid { grid-template-columns: 1fr; }
}
@media print {
  :root { --ink: #172638; --muted: #56636d; --teal: #14685f; --line: #dcdedb; }
  body, .card, .hero-project, .case-visual, .project-link, .intro-band, .proof-band { background: white; color: #172638; }
  .delivery-step p, .hero-project figcaption span, .case-visual figcaption { color: #56636d; }
  .image-bar { background: #eee; color: #172638; }
}
