:root{
  --navy:#13253F; --navy-light:#1F3A5F; --gold:#B8923C; --gold-light:#E4C77A;
  --ivory:#F7F4EE; --cream:#FBFAF7; --charcoal:#2B2B2B; --grey:#6B6B6B;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Georgia','Cambria',serif;
  color:var(--charcoal);
  background:var(--cream);
  overflow-x:hidden;
}
.sans{font-family:Arial,Helvetica,sans-serif;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}

/* ---------- NAV ---------- */
nav.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 6%; background:rgba(19,37,63,0.95); backdrop-filter:blur(6px);
  transition:padding .3s ease;
}
nav.site-nav .brand{display:flex; align-items:center; gap:12px;}
nav.site-nav .brand img{height:40px;}
nav.site-nav .brand .brand-text{color:#fff; font-size:15px; letter-spacing:2px; font-weight:bold;}
nav.site-nav .brand .brand-text span{color:var(--gold-light); font-weight:normal; font-style:italic; font-size:12px; display:block; letter-spacing:1px;}
nav.site-nav .links{display:flex; gap:34px; align-items:center;}
nav.site-nav .links a{
  color:var(--ivory); font-family:Arial,sans-serif; font-size:13px;
  letter-spacing:2px; text-transform:uppercase; position:relative; padding-bottom:4px;
  transition:color .25s ease;
}
nav.site-nav .links a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold-light); transition:width .3s ease;
}
nav.site-nav .links a:hover, nav.site-nav .links a.active{color:var(--gold-light);}
nav.site-nav .links a:hover::after, nav.site-nav .links a.active::after{width:100%;}
nav.site-nav .call-btn{
  background:var(--gold); color:var(--navy); font-family:Arial,sans-serif; font-weight:bold;
  font-size:12px; letter-spacing:1px; padding:9px 20px; border-radius:22px;
  transition:background .3s ease, transform .3s ease;
}
nav.site-nav .call-btn:hover{background:var(--gold-light); transform:translateY(-2px);}
.hamburger{display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:210;}
.hamburger span{width:26px; height:2px; background:var(--gold-light); transition:.3s;}
.mobile-menu{
  display:none; position:fixed; inset:0; background:var(--navy); z-index:190;
  flex-direction:column; align-items:center; justify-content:center; gap:30px;
}
.mobile-menu a{color:#fff; font-family:Arial,sans-serif; font-size:20px; letter-spacing:2px; text-transform:uppercase;}
.mobile-menu.open{display:flex;}

/* ---------- PAGE HERO (non-home) ---------- */
.page-hero{
  min-height:46vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:150px 6% 60px;
  background:radial-gradient(ellipse at 50% 20%, var(--navy-light) 0%, var(--navy) 65%);
  position:relative; overflow:hidden;
}
.page-hero .kicker{color:var(--gold-light); font-family:Arial,sans-serif; font-size:13px; letter-spacing:5px; text-transform:uppercase; opacity:0; animation:fadeUp .8s ease forwards .1s;}
.page-hero h1{color:#fff; font-size:clamp(36px,6vw,60px); margin-top:14px; opacity:0; animation:fadeUp .8s ease forwards .3s;}
.page-hero p{color:var(--ivory); font-style:italic; margin-top:14px; max-width:560px; opacity:0; animation:fadeUp .8s ease forwards .5s;}

/* ---------- ORBS (decorative) ---------- */
.orb{position:absolute; border-radius:50%; border:1px solid rgba(184,146,60,0.3); animation:float 12s ease-in-out infinite;}
.orb1{width:420px; height:420px; top:-140px; left:-120px;}
.orb2{width:280px; height:280px; bottom:-100px; right:-70px; animation-delay:2s;}
@keyframes float{0%,100%{transform:translateY(0) rotate(0);} 50%{transform:translateY(-20px) rotate(6deg);}}

@keyframes fadeUp{from{opacity:0; transform:translateY(24px);} to{opacity:1; transform:translateY(0);}}

/* ---------- SECTION shell ---------- */
main section{padding:90px 6%; max-width:1180px; margin:0 auto;}
.reveal{opacity:0; transform:translateY(36px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.kicker{color:var(--gold); font-family:Arial,sans-serif; font-size:13px; letter-spacing:5px; text-transform:uppercase; margin-bottom:10px;}
h2.section-title{font-size:clamp(28px,4vw,42px); color:var(--navy); font-weight:700; margin-bottom:32px; padding-bottom:16px; border-bottom:1px solid #e4dcc8;}
p.lead{font-size:17px; line-height:1.85; color:var(--charcoal); max-width:820px; margin-bottom:18px;}

/* ---------- STATS ---------- */
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:44px; background:#e4dcc8; border-radius:4px; overflow:hidden;}
.stat{background:var(--navy); padding:34px 18px; text-align:center; transition:background .3s ease;}
.stat:hover{background:var(--navy-light);}
.stat .num{font-size:36px; font-weight:700; color:var(--gold-light); display:block; margin-bottom:6px;}
.stat .label{color:var(--ivory); font-family:Arial,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase;}

/* ---------- CARDS ---------- */
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:10px;}
.mv-card{background:var(--ivory); padding:34px 30px; border-radius:6px; transition:transform .35s ease, box-shadow .35s ease;}
.mv-card:hover{transform:translateY(-8px); box-shadow:0 20px 40px rgba(19,37,63,0.12);}
.mv-card h3{color:var(--gold); font-family:Arial,sans-serif; font-size:14px; letter-spacing:3px; text-transform:uppercase; margin-bottom:12px;}
.mv-card p{color:var(--charcoal); font-size:15.5px; line-height:1.75;}

.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:20px;}
.product-card{background:#fff; border:1px solid #ece5d3; border-radius:8px; padding:26px 16px; text-align:center; transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease;}
.product-card:hover{transform:translateY(-10px) scale(1.02); box-shadow:0 24px 44px rgba(19,37,63,0.16); border-color:var(--gold-light);}
.product-card img{width:70px; height:70px; margin:0 auto 14px; transition:transform .5s ease;}
.product-card:hover img{transform:rotate(8deg) scale(1.08);}
.product-card h4{color:var(--navy); font-size:15px; margin-bottom:6px;}
.product-card p{color:var(--grey); font-family:Arial,sans-serif; font-size:12.5px; line-height:1.6;}

.list-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px 46px; margin-top:10px;}
.list-item{display:flex; gap:16px; align-items:flex-start;}
.list-item .bullet{flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; color:var(--gold-light); font-family:Arial,sans-serif; font-weight:bold; font-size:12px; transition:transform .3s ease, background .3s ease;}
.list-item:hover .bullet{transform:scale(1.15) rotate(-8deg); background:var(--gold);}
.list-item h4{color:var(--navy); font-size:16px; margin-bottom:4px;}
.list-item p{color:var(--grey); font-size:14px; font-family:Arial,sans-serif; line-height:1.6;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-block; padding:14px 36px; border-radius:30px; font-family:Arial,sans-serif;
  font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; cursor:pointer;
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease; border:none;
}
.btn-gold{background:var(--gold); color:var(--navy);}
.btn-gold:hover{background:var(--gold-light); transform:translateY(-3px); box-shadow:0 12px 24px rgba(184,146,60,0.35);}
.btn-outline{background:transparent; color:#fff; border:1px solid var(--gold-light);}
.btn-outline:hover{background:rgba(255,255,255,0.08); transform:translateY(-3px);}

/* ---------- CONTACT ---------- */
.contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-top:20px; align-items:start;}
.contact-card{background:var(--navy); border-radius:10px; padding:44px 38px; color:#fff;}
.contact-card .name{font-size:22px; font-weight:700; margin-bottom:4px;}
.contact-card .role{color:var(--gold); font-style:italic; margin-bottom:26px;}
.contact-row{display:flex; align-items:center; gap:12px; margin-bottom:16px; font-family:Arial,sans-serif; font-size:15px; color:var(--ivory);}
.contact-row .ic{color:var(--gold-light); font-size:18px; width:22px;}
.form-card{background:var(--ivory); border-radius:10px; padding:40px 34px;}
.form-card label{display:block; font-family:Arial,sans-serif; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--grey); margin-bottom:6px; margin-top:16px;}
.form-card input, .form-card textarea{
  width:100%; padding:12px 14px; border:1px solid #ddd3b8; border-radius:5px; font-family:Arial,sans-serif;
  font-size:14px; background:#fff; transition:border-color .3s ease;
}
.form-card input:focus, .form-card textarea:focus{outline:none; border-color:var(--gold);}
.form-card textarea{resize:vertical; min-height:100px;}
.form-note{margin-top:14px; font-family:Arial,sans-serif; font-size:12px; color:var(--grey);}

/* ---------- CTA STRIP ---------- */
.cta-strip{
  background:radial-gradient(ellipse at 50% 30%, var(--navy-light) 0%, var(--navy) 70%);
  padding:80px 6%; text-align:center;
}
.cta-strip h2{color:#fff; font-size:clamp(26px,4vw,38px); margin-bottom:20px;}
.cta-strip p{color:var(--ivory); font-family:Arial,sans-serif; margin-bottom:30px;}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--navy); padding:50px 6% 30px; text-align:center;}
footer.site-footer img{height:44px; margin:0 auto 14px;}
footer.site-footer .foot-links{display:flex; justify-content:center; gap:28px; margin-bottom:22px; flex-wrap:wrap;}
footer.site-footer .foot-links a{color:var(--ivory); font-family:Arial,sans-serif; font-size:12.5px; letter-spacing:1px; text-transform:uppercase; transition:color .3s ease;}
footer.site-footer .foot-links a:hover{color:var(--gold-light);}
footer.site-footer .fine-print{color:rgba(247,244,238,0.45); font-family:Arial,sans-serif; font-size:11.5px; letter-spacing:1px;}

@media (max-width:900px){
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .mv-grid, .list-grid, .contact-wrap{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;}
  nav.site-nav .links, nav.site-nav .call-btn{display:none;}
  .hamburger{display:flex;}
}
