
:root{
  --navy:#051d34;
  --navy2:#082844;
  --gold:#c99a45;
  --cream:#f3eee6;
  --ink:#0c2036;
  --line:#d9d1c5;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}
a{text-decoration:none;color:inherit}

.site-header{
  position:absolute;
  inset:0 0 auto 0;
  z-index:20;
  color:#fff;
}
.header-inner{
  width:100%;
  padding:24px 3.4% 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:30px;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
  width:46px;height:46px;border:2px solid var(--gold);
  display:grid;place-items:center;
  font:31px/1 Georgia,serif;color:#d8ad5e;
}
.brand-name{font:29px/1 Georgia,serif;letter-spacing:1.2px;color:#fff}
.brand-sub{font-size:11px;letter-spacing:4px;color:#d8ad5e;margin-top:5px}
.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:17px;min-width:0}
.header-contact{display:flex;gap:24px;font-size:12px;white-space:nowrap}
.main-nav{display:flex;gap:28px;justify-content:flex-end;flex-wrap:wrap}
.main-nav a{font-size:12px;padding-bottom:9px}
.main-nav a.active,.main-nav a:hover{border-bottom:2px solid var(--gold)}

.hero{
  position:relative;
  width:100%;
  height:600px;
  min-height:600px;
  color:#fff;
  overflow:hidden;
  background:#0a2743;
}
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-dark{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(3,22,40,.99) 0%,
      rgba(3,22,40,.97) 24%,
      rgba(3,22,40,.89) 34%,
      rgba(3,22,40,.55) 46%,
      rgba(3,22,40,.20) 62%,
      rgba(3,22,40,.03) 100%);
}
.hero-inner{
  position:relative;
  z-index:2;
  height:100%;
  width:100%;
  display:flex;
  align-items:flex-end;
  padding:150px 3.4% 32px;
}
.hero-copy{width:430px;max-width:90vw}
.hero h1{
  margin:0;
  font:400 48px/.98 Georgia,serif;
  letter-spacing:.2px;
}
.hero h1 span{color:#d8aa58}
.gold-rule{width:46px;height:2px;background:var(--gold);margin:18px 0 19px}
.hero p{font-size:13px;line-height:1.5;margin:0 0 10px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 17px}
.btn{display:inline-block;padding:13px 19px;font-size:11px;font-weight:700}
.btn-gold{background:var(--gold);color:#fff}
.btn-outline{border:1px solid var(--gold);color:#fff}
.btn-navy{background:var(--navy);color:#fff;margin-top:19px}
.formation{font-size:11px}

.feature-strip{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--navy);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.17);
  padding:16px 3.4%;
}
.feature{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  padding:3px 22px;
  border-right:1px solid rgba(255,255,255,.17);
}
.feature:last-child{border-right:none}
.feature-icon{font-size:32px;color:#d6a54e}
.feature b{font-size:11px;letter-spacing:.4px}
.feature p{font-size:10px;line-height:1.45;margin:5px 0 0}

.services{
  width:100%;
  background:var(--cream);
  padding:38px 3.4% 40px;
  display:grid;
  grid-template-columns:27% 1fr;
  gap:38px;
}
.eyebrow{font-size:11px;letter-spacing:.6px;color:#b48233}
.services h2,.panel h2,.compliance h2{
  font:400 31px/1.1 Georgia,serif;
  margin:5px 0 13px;
}
.services-intro p{font-size:13px;line-height:1.5}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.services-grid article{
  border:1px solid var(--line);
  background:rgba(255,255,255,.45);
  padding:15px 17px;
  min-height:126px;
}
.svc-icon{font-size:27px;color:#bf8f39;margin-bottom:5px}
.services-grid h3{font-size:12px;margin:0 0 7px}
.services-grid p{font-size:10px;line-height:1.45;margin:0}

.panels{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
}
.panel{
  min-height:315px;
  padding:29px 40px;
  position:relative;
  overflow:hidden;
}
.dark-panel{background:var(--navy);color:#fff}
.light-panel{background:#f7f2ea}
.panel p{font-size:12px;line-height:1.5}
.panel a{display:inline-block;color:#d4a34c;font-weight:700;font-size:11px;margin-top:12px}
.map{width:100%;max-height:140px;display:block;margin-top:5px}
.photo-panel img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
}
.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,34,59,.80),rgba(5,34,59,.28))}
.photo-copy{position:relative;z-index:2;color:#fff;max-width:82%}

.contact-band{
  width:100%;
  display:grid;
  grid-template-columns:1.15fr 1.55fr 1fr 1fr;
  gap:18px;
  align-items:center;
  background:var(--navy);
  color:#fff;
  padding:20px 3.4%;
  border-top:1px solid rgba(255,255,255,.16);
}
.contact-title{font:400 27px/1.06 Georgia,serif}
.contact-text{font-size:12px;line-height:1.5}
.contact-card{
  border:1px solid rgba(255,255,255,.22);
  padding:11px 14px;
  display:flex;
  align-items:center;
  gap:11px;
}
.contact-icon{font-size:24px;color:#d7a64d}
.contact-card b{display:block;font-size:11px}
.contact-card small{display:block;font-size:10px;margin-top:3px}

.compliance{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:36px;
  padding:32px 3.4%;
  background:#ebe5db;
}
.compliance p{font-size:13px;line-height:1.6;margin:7px 0 0}

footer{
  width:100%;
  background:#03192e;
  color:#fff;
  padding:19px 3.4% 21px;
}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:28px}
.footer-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:10px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.13);
  margin-top:16px;
  padding-top:13px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:9px;
  opacity:.82;
}

@media (max-width:1050px){
  .site-header{position:relative;background:var(--navy)}
  .header-inner{padding:18px 4%;flex-direction:column;align-items:flex-start}
  .header-right{align-items:flex-start}
  .main-nav{justify-content:flex-start}
  .hero{height:auto;min-height:560px}
  .hero-inner{min-height:560px;padding:50px 4% 28px}
  .feature-strip{grid-template-columns:1fr 1fr}
  .feature:nth-child(2){border-right:none}
  .services{grid-template-columns:1fr}
  .panels{grid-template-columns:1fr}
  .contact-band{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .header-contact{flex-direction:column;gap:6px;white-space:normal}
  .main-nav{gap:15px}
  .hero-image{object-position:center}
  .hero-dark{background:rgba(3,22,40,.70)}
  .hero h1{font-size:38px}
  .hero-copy{width:100%}
  .feature-strip{grid-template-columns:1fr}
  .feature{border-right:none;border-bottom:1px solid rgba(255,255,255,.16);padding:12px 0}
  .services-grid{grid-template-columns:1fr}
  .contact-band{grid-template-columns:1fr}
  .compliance{grid-template-columns:1fr}
  .footer-top{flex-direction:column;align-items:flex-start}
}

.detail-section{padding:48px 4.2%;background:#f4f0e8}
.detail-section.alt{background:#ebe5db}
.detail-heading{max-width:760px;margin-bottom:24px}
.detail-heading h2{font:400 34px/1.12 Georgia,serif;margin:6px 0 12px}
.detail-heading p{font-size:14px;line-height:1.6;margin:0}
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.detail-grid article{border:1px solid #d8d0c5;background:rgba(255,255,255,.46);padding:20px}
.detail-grid h3{font-size:14px;margin:0 0 8px;color:#0c2037}
.detail-grid p{font-size:12px;line-height:1.55;margin:0}

.contact-form{grid-column:1/-1;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.form-title{grid-column:1/-1;font-family:Georgia,serif;font-size:24px;margin-bottom:2px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.06);color:#fff;padding:13px 14px;font:13px Arial,Helvetica,sans-serif;outline:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.72)}
.contact-form textarea{grid-column:1/-1;resize:vertical}
.contact-form button{justify-self:start;border:0;background:#c99b49;color:#fff;font-weight:700;font-size:12px;padding:14px 22px;cursor:pointer}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1000px){.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.detail-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form textarea,.form-title{grid-column:1}}
