/* Retain brand and layout while correcting interaction and contrast. */
:root{--muted:#526972}header.open nav{top:100%}
.skip-link{position:fixed;top:8px;left:12px;z-index:100;padding:12px;background:#fff;color:#071c27;transform:translateY(-180%)}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #f68b12;outline-offset:4px}
.services h2 em,.company h2 em{color:#a95100}
.contact-copy small,.contact form>small,.contact fieldset>small{color:#c0d1d6}
.contact fieldset{display:contents;border:0;margin:0;padding:0;min-width:0}.contact fieldset:disabled{opacity:.7}
.contact input::placeholder,.contact textarea::placeholder{color:#9cb4bc;opacity:1}
.draft-panel{grid-column:1/-1;border:1px solid #67838d;padding:16px;min-width:0}.draft-panel[hidden]{display:none}
.draft-panel textarea{display:block;width:100%;min-height:180px;resize:vertical;margin:12px 0}.draft-panel a{display:inline-flex;color:#f7ad5b;text-decoration:underline;padding:10px 0}.draft-panel button{margin-top:8px}
.contact button:disabled{cursor:not-allowed}.contact-status{grid-column:1/-1;line-height:1.6;color:#c0d1d6;font-size:13px}.contact-status[data-error="true"]{color:#ffd0b0}
@media(max-width:960px){header.open nav{top:100%}header nav a{padding:10px 0;min-height:44px}}
@media(max-width:600px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline article{min-width:0;padding-right:8px}.timeline h3{font-size:18px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.service:hover,.services .service:hover,.visual:hover img{transform:none}}
