
:root{
  --navy:#071f2f;
  --gold:#d7a15b;
  --cream:#f5efe5;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--navy);font-family:Arial,sans-serif}


.hotspot{position:absolute;display:block;z-index:20;border-radius:6px}
.hotspot:focus{outline:3px solid rgba(215,161,91,.9);outline-offset:2px}
.contact-input,.contact-select,.contact-textarea{
  position:absolute;z-index:25;background:transparent;border:0;color:#0b2940;
  font:inherit;padding:0 1%;outline:none;
}
.contact-input:focus,.contact-select:focus,.contact-textarea:focus{
  box-shadow:0 0 0 3px rgba(215,161,91,.45);border-radius:3px;
}
.contact-select{appearance:auto}
.contact-submit{
  position:absolute;z-index:26;border:0;background:transparent;cursor:pointer;
}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.mobile-note{display:none}
@media(max-width:700px){
  
  body{overflow-x:auto}
}

/* Exact-fidelity v5: preserve native raster sharpness and avoid desktop upscaling */
html, body {
  margin: 0;
  min-height: 100%;
  background: #071f2f;
}
body {
  overflow-x: auto;
}
.page-shell {
  position: relative;
  margin: 0 auto;
  background: #071f2f;
}
.page-render {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.hotspot {
  position: absolute;
  display: block;
  z-index: 50;
  cursor: pointer;
  background: rgba(255,255,255,0);
}
.hotspot:focus-visible {
  outline: 3px solid rgba(215,161,91,.95);
  outline-offset: 2px;
}

/* Each page uses its rendering's actual width; the browser may scale DOWN on narrow screens,
   but never scales UP on wide screens, preventing additional blur. */
body.page-home .page-shell { width: 1024px; }
body.page-about .page-shell { width: 828px; }
body.page-services .page-shell { width: 1024px; }
body.page-process .page-shell { width: 981px; }
body.page-subnet .page-shell { width: 962px; }
body.page-contact .page-shell { width: 1024px; }
body.page-marketnow .page-shell,
body.page-rapidremodel .page-shell { width: 768px; }
body.page-fedready .page-shell { width: 1204px; }

@media (max-width: 1204px) {
  body.page-fedready .page-shell { width: 100%; }
}
@media (max-width: 1024px) {
  body.page-home .page-shell,
  body.page-services .page-shell,
  body.page-contact .page-shell { width: 100%; }
}
@media (max-width: 981px) {
  body.page-process .page-shell { width: 100%; }
}
@media (max-width: 962px) {
  body.page-subnet .page-shell { width: 100%; }
}
@media (max-width: 828px) {
  body.page-about .page-shell { width: 100%; }
}
@media (max-width: 768px) {
  body.page-marketnow .page-shell,
  body.page-rapidremodel .page-shell { width: 100%; }
}


@media(max-width:800px){}

/* v6 full-width exact-fidelity override */
html,body{margin:0;width:100%;min-height:100%;background:#071f2f;overflow-x:hidden}
.page-shell{position:relative;width:100vw!important;max-width:none!important;margin:0!important;background:#071f2f}
.page-render{display:block;width:100vw!important;max-width:none!important;height:auto!important}

/* v7 FedReady integrated navigation link */
.fedready-navlink{
  position:absolute;
  z-index:80;
  top:1.55%;
  left:75.8%;
  color:#f6f1e8;
  background:transparent;
  border:0;
  padding:0;
  font:700 12px/1 Arial,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.fedready-navlink:hover{color:#d7a15b}
@media(max-width:900px){
  .fedready-navlink{font-size:10px;top:1.45%;left:75.2%}
}
