* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --teal: #00384d; --blue: #053A4C; --gold: #F0C040; --gold-dark: #d4a830;
  --off-white: #f8f6f2; --border: #ddd; --muted: #5a6a70;
}
html, body { overflow-x:hidden; scroll-behavior:smooth; }
body { font-family:'Source Sans 3',sans-serif; font-size:16px; color:#1a1a1a; background:white; }

nav { background:var(--teal); padding:0 5%; display:flex; align-items:center; justify-content:space-between; height:72px; position:sticky; top:0; z-index:100; }
.nav-logo { color:var(--gold); font-family:'Playfair Display',serif; font-size:28px; font-weight:700; cursor:pointer; }
.nav-links { display:flex; gap:2.5rem; }
.nav-links a { color:rgba(255,255,255,0.75); text-decoration:none; font-size:16px; padding-bottom:3px; border-bottom:2px solid transparent; transition:color 0.2s,border-color 0.2s; }
.nav-links a:hover { color:var(--gold); }
.nav-links a.active { color:var(--gold); border-bottom-color:var(--gold); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:26px; height:2px; background:var(--gold); transition:all 0.3s; }
.mobile-menu { display:none; position:fixed; top:72px; left:0; right:0; background:var(--teal); padding:1.5rem 5%; z-index:99; border-top:1px solid rgba(255,255,255,0.1); }
.mobile-menu a { display:block; color:rgba(255,255,255,0.85); text-decoration:none; font-size:18px; padding:0.85rem 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.mobile-menu a:last-child { border-bottom:none; }
.mobile-menu a.active { color:var(--gold); }
.mobile-menu.open { display:block; }

.hero { background:var(--teal); color:white; padding:8rem 5%; text-align:center; }
.hero h1 { font-family:'Playfair Display',serif; font-size:56px; font-weight:400; line-height:1.3; margin-bottom:1.5rem; color:#F0C040; max-width:900px; margin-left:auto; margin-right:auto; }
.hero p { font-size:16px; color:rgba(255,255,255,0.7); letter-spacing:0.1em; text-transform:uppercase; }
.hero-small { background:var(--teal); color:white; padding:5rem 5%; text-align:center; }
.hero-small h1 { font-family:'Playfair Display',serif; font-size:44px; font-weight:400; margin-bottom:0.75rem; color:#F0C040; }
.hero-small p { font-size:15px; color:rgba(255,255,255,0.65); letter-spacing:0.08em; text-transform:uppercase; }

.section { padding:5rem 5%; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-alt { background:var(--off-white); }
.dark-section { background:var(--blue); text-align:center; padding:5rem 5%; }

h2 { font-family:'Playfair Display',serif; font-size:36px; font-weight:400; color:var(--blue); margin-bottom:0.75rem; }
h3 { font-size:15px; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--blue); margin-bottom:0.5rem; }
.divider { width:48px; height:3px; background:var(--gold); margin:1rem 0 1.75rem; }
.divider-center { margin:1rem auto 1.75rem; }
p.body { font-size:16px; line-height:1.8; color:var(--muted); }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; margin-top:2rem; }
.card { border:1px solid var(--border); padding:2rem; border-radius:4px; background:white; transition:transform 0.2s,box-shadow 0.2s; }
.card:hover { transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,0.08); }
.card .ico { font-size:28px; color:var(--gold); margin-bottom:1rem; display:block; }
.card p { font-size:15px; color:var(--muted); line-height:1.7; margin-top:0.5rem; }

.two-col { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }

.btn { display:inline-block; background:var(--gold); color:var(--blue); padding:0.8rem 2.25rem; border-radius:3px; font-size:14px; font-weight:600; letter-spacing:0.06em; cursor:pointer; border:none; text-transform:uppercase; margin-top:1.25rem; transition:background 0.2s; font-family:'Source Sans 3',sans-serif; }
.btn:hover { background:var(--gold-dark); }

.contact-box { background:var(--blue); color:white; padding:2rem; border-radius:4px; }
.contact-box h3 { color:var(--gold); margin-bottom:1.25rem; font-size:15px; }
.crow { display:flex; align-items:center; gap:0.75rem; font-size:15px; margin-bottom:0.85rem; color:rgba(255,255,255,0.85); }
.crow .ico { color:var(--gold); font-size:20px; }
.crow a { color:rgba(255,255,255,0.85); text-decoration:none; }
.crow a:hover { color:var(--gold); }

.form-group { margin-bottom:1rem; }
.form-group label { display:block; font-size:14px; color:var(--muted); margin-bottom:0.4rem; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:0.7rem 1rem; border:1px solid var(--border); border-radius:3px; font-family:'Source Sans 3',sans-serif; font-size:15px; color:#1a1a1a; background:white; transition:border-color 0.2s; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline:none; border-color:var(--gold); }
.form-group input::placeholder, .form-group textarea::placeholder { font-size:15px; color:#bbb; }
.form-group textarea { min-height:110px; resize:vertical; }
.cbrow { display:flex; gap:0.75rem; align-items:flex-start; margin-top:0.75rem; }
.cbrow input { width:auto; margin-top:3px; flex-shrink:0; }
.cbrow label { font-size:14px; line-height:1.6; color:var(--muted); }
.success-msg { display:none; background:#e8f5e9; border:1px solid #a5d6a7; border-radius:3px; padding:1rem 1.25rem; font-size:15px; color:#2e7d32; margin-top:1rem; }
.success-msg.visible { display:block; }

.list-item { display:flex; gap:1rem; align-items:flex-start; padding:1.1rem 1.25rem; border:1px solid var(--border); border-radius:4px; background:white; margin-bottom:1rem; }
.list-item .ico { color:var(--gold); font-size:20px; flex-shrink:0; margin-top:2px; }
.about-p { font-size:16px; line-height:1.8; color:var(--muted); margin-bottom:1rem; }
.quote { border-left:4px solid var(--gold); padding-left:1.25rem; font-family:'Playfair Display',serif; font-size:20px; color:var(--blue); margin:1.75rem 0; line-height:1.5; font-style:italic; }

footer { background:var(--teal); color:rgba(255,255,255,0.55); text-align:center; padding:1.75rem; font-size:14px; }
footer a { color:var(--gold); text-decoration:none; margin:0 1rem; }

.page { display:none; }
.page.active { display:block; }

.fade-in { opacity:0; transform:translateY(20px); transition:opacity 0.5s ease,transform 0.5s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

@media (max-width:768px) {
  nav { padding:0 5%; height:64px; }
  .nav-logo { font-size:24px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .hero { padding:4rem 1.25rem; }
  .hero h1 { font-size:36px; }
  .hero-small { padding:3rem 1.25rem; }
  .hero-small h1 { font-size:30px; }
  .section { padding:3rem 1.25rem; }
  .dark-section { padding:3rem 1.25rem; }
  h2 { font-size:26px; }
  .two-col { grid-template-columns:1fr; gap:2rem; }
  .cards { grid-template-columns:1fr; gap:1rem; }
  .quote { font-size:17px; }
}
@media (max-width:480px) {
  .hero h1 { font-size:28px; }
  .hero-small h1 { font-size:26px; }
  h2 { font-size:22px; }
}

a.btn { text-decoration:none; }
a.nav-logo { text-decoration:none; }
.ico { width:1em; height:1em; stroke-width:1.75; }
