
:root{
  --navy:#071f2f;
  --navy2:#0b2b40;
  --gold:#d7a15b;
  --cream:#f5f0e8;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--navy);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none}
.site-header{
  position:relative;
  z-index:100;
  height:92px;
  background:linear-gradient(90deg,#071f2f 0%,#0a2d44 58%,#173d5b 100%);
  color:#fff;
}
.header-inner{
  width:min(1760px,96vw);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(330px,1fr) auto auto;
  align-items:center;
  gap:28px;
}
.brand{
  display:flex;
  align-items:center;
  gap:18px;
  color:#fff;
  white-space:nowrap;
}
.brand img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:50%;
}
.brand-name{
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  letter-spacing:.06em;
}
.main-nav{
  display:flex;
  align-items:center;
  gap:29px;
  white-space:nowrap;
}
.main-nav a{
  color:#fff;
  font-size:14px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  padding:34px 0 14px;
  border-bottom:3px solid transparent;
}
.main-nav a:hover,
.main-nav a.active{
  color:var(--gold);
  border-bottom-color:var(--gold);
}
.quote-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:54px;
  padding:0 30px;
  background:var(--gold);
  color:#081d2b;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.page-shell{
  position:relative;
  width:100%;
  margin:0;
  background:var(--navy);
}
.page-render{
  width:100%;
  height:auto;
  display:block;
}
.hotspot{
  position:absolute;
  z-index:50;
  display:block;
  background:rgba(0,0,0,0);
  cursor:pointer;
}
.hotspot:focus-visible{
  outline:3px solid rgba(215,161,91,.95);
  outline-offset:2px;
}
@media(max-width:1280px){
  .header-inner{grid-template-columns:auto 1fr auto;gap:18px}
  .main-nav{gap:18px}
  .main-nav a{font-size:12px}
  .brand-name{font-size:28px}
  .brand img{width:62px;height:62px}
  .quote-btn{padding:0 22px}
}
@media(max-width:980px){
  .site-header{height:auto}
  .header-inner{
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 0 14px;
  }
  .brand{justify-content:center}
  .main-nav{
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 18px;
  }
  .main-nav a{padding:6px 0}
  .quote-btn{justify-self:center;height:46px}
}

/* v13 refinements */
.brand img{width:66px!important;height:66px!important}
.brand-name{font-size:32px!important}
.page-shell{position:relative;width:100%;margin:0;background:#071f2f}
.page-render{width:100%;height:auto;display:block}
.hotspot{
  position:absolute;
  display:block;
  z-index:999;
  cursor:pointer;
  background:rgba(255,255,255,0);
}
.hotspot:hover{background:rgba(215,161,91,.08)}

.contact-input,.contact-select,.contact-textarea{position:absolute;z-index:1000;background:rgba(255,255,255,.01);border:0;color:#0b2940;padding:.2rem .4rem;outline:none}
.contact-input:focus,.contact-select:focus,.contact-textarea:focus{box-shadow:0 0 0 3px rgba(215,161,91,.45)}
.contact-submit{position:absolute;z-index:1001;border:0;background:transparent;cursor:pointer}

/* v14 FINAL QA — clarity and display scale */
.page-shell{
  width:min(96vw,1700px)!important;
  max-width:1700px!important;
  margin:0 auto!important;
  position:relative!important;
}
.page-render{
  width:100%!important;
  max-width:1700px!important;
  height:auto!important;
  display:block!important;
}
.hotspot{
  z-index:9999!important;
  cursor:pointer!important;
  background:rgba(0,0,0,0)!important;
}
.hotspot:hover{
  background:rgba(215,161,91,.08)!important;
}
.site-header{
  width:100%;
}

/* v15 final display polish */
.page-shell{
  width:min(92vw,1650px)!important;
  max-width:1650px!important;
  margin:0 auto!important;
  position:relative!important;
}
.page-render{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:1650px!important;
}
.site-header{
  position:relative!important;
  z-index:100!important;
  margin:0!important;
}
main.page-shell{
  margin-top:0!important;
}
.hotspot{
  z-index:9999!important;
  cursor:pointer!important;
  background:rgba(255,255,255,0)!important;
}
.hotspot:hover{
  background:rgba(215,161,91,.06)!important;
}

/* v16 targeted fixes */
.site-header + .page-shell,
.site-header + main.page-shell{
  clear:both!important;
}
body{
  padding-top:0!important;
}
