/* ── CTC SHARED STYLES ── */
:root {
  --navy: #0a1628;
  --navy-mid: #0f2040;
  --navy-light: #1a3460;
  --gold: #c9a84c;
  --gold-light: #e8c97a;
  --gold-pale: #f5e6c0;
  --white: #ffffff;
  --off-white: #f6f4ef;
  --light-gray: #f0ede6;
  --text-body: #3a4a5c;
  --text-muted: #7a8fa8;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Outfit', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--white);color:var(--navy);overflow-x:hidden;}

/* ── NAV ── */
.nav {
  position: fixed; top:0;left:0;right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding: 1rem 3.5rem;
  background: rgba(10,22,40,0.97);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(201,168,76,0.12);
  transition: all 0.3s;
}
.nav-brand {
  display:flex; align-items:center; gap:1rem;
  text-decoration:none;
}
.nav-brand img { height:42px; width:auto; max-width:210px; object-fit:contain; }
.brand-mark { display:none; }
.brand-text { display:none; }
.brand-name { display:none; }
.brand-tagline { display:none; }

.nav-links {
  display:flex; list-style:none; gap:0.2rem; align-items:center;
}
.nav-links li { position:relative; }
.nav-links a {
  color:rgba(255,255,255,0.75); text-decoration:none;
  font-size:0.82rem; font-weight:500; letter-spacing:0.03em;
  padding:0.5rem 0.9rem; border-radius:2px;
  transition:color 0.2s; display:block;
}
.nav-links a:hover, .nav-links a.active { color:var(--gold); }

.has-dropdown:hover .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown {
  position:absolute; top:calc(100% + 0.5rem); left:0;
  background:var(--navy-mid);
  border:1px solid rgba(201,168,76,0.15);
  min-width:220px; padding:0.5rem 0;
  border-radius:2px;
  opacity:0; visibility:hidden;
  transform:translateY(-8px);
  transition:all 0.25s;
  box-shadow:0 20px 60px rgba(0,0,0,0.4);
}
.dropdown a {
  padding:0.65rem 1.2rem !important;
  font-size:0.8rem !important; color:rgba(255,255,255,0.7) !important;
  border-radius:0 !important;
  border-left:2px solid transparent;
}
.dropdown a:hover {
  color:var(--gold) !important;
  border-left-color:var(--gold);
  background:rgba(201,168,76,0.05);
}

.nav-btn { margin-left:1.5rem; }
.hamburger {
  display:none; background:none; border:none; color:var(--white);
  font-size:1.4rem; cursor:pointer;
}
.mobile-menu {
  display:none; position:fixed; top:68px; left:0; right:0;
  background:var(--navy); z-index:999;
  flex-direction:column; padding:1.5rem;
  border-bottom:1px solid rgba(201,168,76,0.15);
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  color:rgba(255,255,255,0.8); text-decoration:none;
  padding:0.8rem 0; border-bottom:1px solid rgba(255,255,255,0.06);
  font-size:0.95rem;
}

/* ── BUTTONS ── */
.btn-primary {
  background:var(--gold); color:var(--navy);
  padding:0.85rem 2rem; border:none; border-radius:2px;
  font-family:var(--sans); font-size:0.82rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
  text-decoration:none; cursor:pointer;
  transition:all 0.3s; display:inline-block; white-space:nowrap;
}
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 8px 28px rgba(201,168,76,0.3); }
.btn-outline {
  background:transparent; color:var(--white);
  padding:0.85rem 2rem; border:1px solid rgba(255,255,255,0.3);
  border-radius:2px; font-family:var(--sans); font-size:0.82rem;
  font-weight:500; letter-spacing:0.1em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:all 0.3s;
  display:inline-block; white-space:nowrap;
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.btn-outline-dark {
  background:transparent; color:var(--navy);
  padding:0.85rem 2rem; border:2px solid var(--navy);
  border-radius:2px; font-family:var(--sans); font-size:0.82rem;
  font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:all 0.3s;
  display:inline-block;
}
.btn-outline-dark:hover { background:var(--navy); color:var(--white); }
.btn-navy {
  background:var(--navy); color:var(--white);
  padding:0.8rem 1.8rem; border:none; border-radius:2px;
  font-family:var(--sans); font-size:0.8rem; font-weight:600;
  letter-spacing:0.08em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; transition:all 0.3s;
  display:inline-block;
}
.btn-navy:hover { background:var(--navy-light); transform:translateY(-2px); }

/* ── SECTION UTILITIES ── */
.section-h2 {
  font-family:var(--serif); font-size:clamp(2rem,3.5vw,3rem);
  font-weight:600; line-height:1.15; margin-bottom:1rem;
}
.section-h2-white { color:var(--white); }
.section-lead {
  color:var(--text-body); line-height:1.75; font-size:1rem;
  font-weight:300; max-width:580px;
}
.section-lead-white { color:var(--text-muted); }
.label-tag {
  display:inline-block; font-size:0.68rem; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:0.8rem;
}
.gold-bar { width:50px; height:2px; background:var(--gold); margin-bottom:1.5rem; }

/* ── PAGE HEADER ── */
.page-header {
  background:linear-gradient(135deg, #050d1a 0%, #0b1f3a 100%);
  padding:10rem 6rem 5rem;
  position:relative; overflow:hidden;
}
.page-header::before {
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(201,168,76,0.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,0.03) 1px,transparent 1px);
  background-size:60px 60px;
}
.page-header-content { position:relative; z-index:1; max-width:700px; }
.page-header h1 {
  font-family:var(--serif); font-size:clamp(2.8rem,5vw,4.5rem);
  font-weight:600; line-height:1.05; color:var(--white); margin-bottom:1.5rem;
}
.page-header h1 em { font-style:italic; color:var(--gold); }
.page-header p {
  font-size:1.1rem; color:rgba(255,255,255,0.6); line-height:1.75;
  font-weight:300; max-width:540px;
}
.breadcrumb {
  display:flex; gap:0.5rem; align-items:center;
  font-size:0.75rem; color:var(--text-muted);
  margin-bottom:1.5rem; letter-spacing:0.05em;
}
.breadcrumb a { color:var(--text-muted); text-decoration:none; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:rgba(255,255,255,0.3); }

/* ── REVEAL ANIMATION ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }

/* ── FADE UP ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* ── DIVIDER ── */
.section-divider { border:none; border-top:1px solid rgba(10,22,40,0.1); margin:0; }

/* ── FOOTER ── */
.footer { background:#060e1c; padding:5rem 6rem 2rem; }
.footer-top {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:4rem; padding-bottom:4rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.footer-logo {
  font-family:var(--serif); font-size:1.3rem; color:var(--gold);
  margin-bottom:1rem;
}
.footer-brand p {
  font-size:0.85rem; color:var(--text-muted); line-height:1.7;
  max-width:280px; margin-bottom:0.8rem;
}
.footer-reg { font-size:0.72rem; color:rgba(122,143,168,0.5) !important; }
.footer-links-col h5 {
  font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(255,255,255,0.4); margin-bottom:1.2rem; font-weight:500;
}
.footer-links-col { display:flex; flex-direction:column; gap:0.6rem; }
.footer-links-col a {
  color:var(--text-muted); text-decoration:none;
  font-size:0.85rem; transition:color 0.2s;
}
.footer-links-col a:hover { color:var(--gold); }
.footer-bottom {
  padding-top:2rem; display:flex;
  justify-content:space-between; align-items:center;
  font-size:0.78rem; color:rgba(122,143,168,0.5);
}

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .nav { padding:1rem 2rem; }
  .nav-links { display:none; }
  .nav-btn { display:none; }
  .hamburger { display:block; }
  .page-header { padding:8rem 2rem 4rem; }
  .footer-top { grid-template-columns:1fr 1fr; gap:3rem; }
  .footer { padding:4rem 2rem 2rem; }
}
@media(max-width:768px) {
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:0.5rem; text-align:center; }
}
