@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Marcellus&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root{
  --ms-navy:#1D3557;
  --ms-teal:#2A9D8F;
  --ms-gold:#E9C46A;
  --ms-gold-light:#F5D896;
  --ms-green:#264653;
  --ms-black:#111111;
  --ms-gray:#888888;
  --ms-cream:#f8f6f1;
  --ms-rule:rgba(29,53,87,0.10);
  --ms-font-display:'Cormorant Garamond',Georgia,serif;
  --ms-font-body:'DM Sans',sans-serif;
}
html,body{margin:0;padding:0}
body { 
  font-family:'Inter', sans-serif; 
  color:var(--ms-navy); 
  background:#fff; 
  line-height:1.65; 
  font-size:16px; 
}
section { 
  padding:4rem 2rem; 
  max-width:1200px; 
  margin:auto; 
}
h1 { 
  font-family:'Marcellus', serif; 
  font-weight:600; 
  margin-bottom:1.2rem; 
  line-height:1.2; 
  font-size:clamp(2rem, 5vw, 2.5rem);
}
h2 { 
  font-family:'Marcellus', serif; 
  font-weight:600; 
  margin-bottom:1rem; 
  line-height:1.25; 
  font-size:clamp(1.75rem, 4vw, 2rem);
}
h3 { 
  font-family:'Marcellus', serif; 
  font-weight:600; 
  margin-bottom:0.75rem; 
  line-height:1.3; 
  font-size:clamp(1.25rem, 2.5vw, 1.5rem);
}
p { 
  font-family:'Inter', sans-serif; 
  font-size:clamp(0.95rem, 1.5vw, 1rem); 
  line-height:clamp(1.5, 2.5vw, 1.65); 
  margin-bottom:1rem; 
}
a { 
  color:var(--ms-navy); 
  text-decoration:none; 
  transition:color .2s ease, opacity .2s ease; 
}
a:visited { color:var(--ms-navy); }
a:hover { color:var(--ms-teal); }
a:active { color:var(--ms-green); }
a:focus-visible { outline:2px dashed var(--ms-gold); outline-offset:2px; }
.cta { 
  display:inline-block; 
  margin-top:1.5rem; 
  padding:.85rem 1.75rem; 
  background:var(--ms-gold); 
  color:var(--ms-navy); 
  font-weight:600; 
  font-size:1rem; 
  text-decoration:none; 
  border-radius:8px; 
  box-shadow:0 2px 4px rgba(0,0,0,0.15); 
  transition: background .2s ease, transform .02s ease; 
}
.cta:hover { background:#FFD87A; }
.cta:active { transform:translateY(1px); }
/* Navigation Bar */
header { 
  background:var(--ms-navy); 
  color:white; 
  padding:1rem 2rem; 
  position:sticky; 
  top:0; 
  z-index:999;
}
.navbar { 
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  max-width:1200px; 
  margin:auto; 
}
.navbar-left .brand { 
  display:flex; 
  align-items:center; 
  gap:.5rem; 
}
.navbar-left img { height:50px; }
.navbar-left span { 
  font-family:'Marcellus', serif; 
  font-size:1.4rem; 
  font-weight:600; 
  color:white; 
  line-height:1; 
}
/* Desktop Menu */
.navbar-right ul { 
  list-style:none; 
  display:flex; 
  gap:2rem; 
  margin:0; 
  padding:0; 
  align-items:center; 
}
.navbar-right a { 
  color:white; 
  text-decoration:none; 
  font-weight:500; 
  font-size:1rem; 
  position:relative; 
  display:block; 
}
.navbar-right a:hover { color:var(--ms-gold); }
.dropdown { position:relative; }
.dropdown-menu {
  list-style: none;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(29, 53, 87, 0.95);
  backdrop-filter: blur(6px);
  padding: 0.25rem 0;
  margin: 0;
  border-radius: 8px;
  z-index: 1000;
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.dropdown:hover .dropdown-menu,
.dropdown:focus-within > .dropdown-menu {
  opacity:1;
  visibility:visible;
}
.dropdown-menu li { display:block; width:100%; }
.dropdown-menu li a { 
  display:block; 
  padding:0.35rem 1rem; 
  color:white; 
  font-weight:400; 
  font-size:0.95rem; 
  white-space:nowrap; 
  line-height:1.3; 
}
.dropdown-menu li a.future { 
  color:var(--ms-gray) !important; 
  cursor:default; 
  pointer-events:none; 
  text-decoration:none; 
}
.dropdown-menu li a.future:hover,
.dropdown-menu li a.future:active,
.dropdown-menu li a.future:visited { color:var(--ms-gray) !important; }
/* Mobile Styles */
.hamburger { display:none; flex-direction:column; cursor:pointer; gap:4px; }
.hamburger div { width:25px; height:3px; background:white; border-radius:2px; transition: all 0.3s ease; }
.mobile-nav { display:none; flex-direction:row; justify-content:space-between; width:100%; background:var(--ms-navy); padding:1rem 2rem; position:fixed; top:60px; left:0; gap:1rem; flex-wrap:wrap; max-height:calc(100vh - 60px); overflow-y:auto; }
.mobile-nav-left, .mobile-nav-right { display:flex; flex-direction:column; gap:0.25rem; position:relative; width:48%; }
.mobile-nav a { 
  color:white; 
  font-weight:500; 
  font-size:1.1rem;
  text-decoration:none; 
  display:block; 
  padding:0.5rem 0; 
}
.mobile-nav a:hover { color:var(--ms-gold); }
.mobile-nav .dropdown > a::after { content:' ▾'; }
.mobile-nav .dropdown-menu { display:none; flex-direction: column; position: absolute; left:0; top:100%; background: rgba(29,53,87,0.95); border-radius:8px; padding:0.25rem 0; min-width:180px; z-index:10; }
.mobile-nav .dropdown-menu li a.future { color: var(--ms-gray); cursor:default; pointer-events:none; }

@media(max-width:768px){
  .navbar-right { display:none; }
  .hamburger { display:flex; }
  .hero h1 { font-size:clamp(1.75rem, 6vw, 2rem); }
  .hero p { font-size:clamp(0.95rem, 2.5vw, 1rem); }
}
@media(min-width:769px){
  .mobile-nav { display:none !important; }
}

html { scroll-behavior: smooth; }

footer { background:var(--ms-navy); color:white; padding:3rem 2rem; text-align:center; }
footer a { color:var(--ms-gold); text-decoration:none; transition:color .2s ease, opacity .2s ease; font-size:0.95rem; }
footer a:hover { color:#FFD87A; }
footer a:active { color:#CDA349; }
footer a:visited { color:var(--ms-gold); }
