/* ═══════════════════════════════════════════════════════════
   LEVANTE ADVISORY, shared stylesheet
   Brand: deep blue #0A4A6E · green #0E7C5A · ink #0D1F2D
   Display: Cormorant Garamond · Body: DM Sans
   ═══════════════════════════════════════════════════════════ */

/* ─── SELF-HOSTED FONTS (subsetted Latin, woff2) ──────────── */
/* DM Sans: variable weight 300-600 */
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:300 600;
  font-display:swap;
  src:url('fonts/dmsans-latin-var.woff2') format('woff2-variations');
}
/* Cormorant Garamond: discrete instances 300/400/500, upright + italic */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/cormorant-light-latin.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-regular-latin.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-medium-latin.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/cormorant-lightitalic-latin.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-italic-latin.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('fonts/cormorant-mediumitalic-latin.woff2') format('woff2');}

:root{
  --ink:#0D1F2D;
  --ink2:#1e3a4a;
  --ink3:#5a7888;
  --accent:#0A4A6E;
  --accent2:#0E7C5A;
  --bg:#f4f6f7;
  --white:#ffffff;
  --border:#e3e9ec;
  --border2:#c4d0d6;
  --grad:linear-gradient(135deg,#0A4A6E 0%,#0E7C5A 100%);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',system-ui,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ─── NAV ─────────────────────────────────────────────────── */
body>nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 56px;
  background:transparent;
  transition:background .3s, border-color .3s, padding .3s;
  border-bottom:1px solid transparent;
}
body>nav.scrolled{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  padding:14px 56px;
}
.nav-logo{display:flex; align-items:center; gap:12px; text-decoration:none;}
.nav-wordmark{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:500; color:#fff; letter-spacing:.01em;
  transition:color .3s;
}
.nav-wordmark span{color:var(--accent2);}
body>nav.scrolled .nav-wordmark{color:var(--ink);}
body>nav:not(.scrolled) .nav-logo svg line{stroke:#fff;}
.nav-links{
  display:flex; align-items:center; gap:38px; list-style:none;
}
.nav-links a{
  text-decoration:none; color:rgba(255,255,255,.8);
  font-size:13px; letter-spacing:.04em; font-weight:400;
  transition:color .18s; position:relative;
}
body>nav.scrolled .nav-links a{color:var(--ink2);}
.nav-links a:not(.nav-cta)::after{
  content:''; position:absolute; left:0; bottom:-4px;
  width:0; height:1px; background:var(--accent2); transition:width .22s;
}
.nav-links a:not(.nav-cta):hover::after{width:100%;}
.nav-links a:hover{color:#fff;}
body>nav.scrolled .nav-links a:hover{color:var(--ink);}
.nav-cta{
  background:var(--accent2); color:#fff !important;
  padding:9px 20px; border-radius:2px;
  font-size:12px; letter-spacing:.06em;
  transition:background .2s;
}
.nav-cta::after{display:none;}
.nav-cta:hover{background:#0c6b4d;}
body>nav.scrolled .nav-cta{background:var(--ink);}
body>nav.scrolled .nav-cta:hover{background:var(--accent);}
.nav-toggle{
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:6px;
}
.nav-toggle span{
  width:24px; height:2px; background:#fff;
  transition:transform .25s, opacity .25s, background .3s;
}
body>nav.scrolled .nav-toggle span{background:var(--ink);}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ─── SHARED SECTION PRIMITIVES ───────────────────────────── */
.section-tag{
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent2); font-weight:500; margin-bottom:18px;
  display:flex; align-items:center; gap:10px;
}
.section-tag::before{content:''; width:22px; height:1px; background:var(--accent2);}
.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(30px,4vw,48px); font-weight:300;
  line-height:1.1; letter-spacing:-.01em; color:var(--ink);
  margin-bottom:28px;
}
.section-title em{font-style:italic; color:var(--accent2);}
.section-body{
  font-size:16px; color:var(--ink2); line-height:1.8;
  max-width:560px; font-weight:300;
}
.section-body strong{font-weight:500; color:var(--ink);}

/* buttons */
.btn-primary,.btn-ghost{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; letter-spacing:.04em; font-weight:400;
  padding:13px 26px; border-radius:2px; text-decoration:none;
  transition:transform .18s, background .2s, color .2s, border-color .2s;
}
.btn-primary{background:var(--accent2); color:#fff;}
.btn-primary:hover{background:#0c6b4d; transform:translateY(-2px);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--border2);}
.btn-ghost:hover{border-color:var(--accent2); color:var(--accent2);}
.btn-ghost-dark{color:#fff; border-color:rgba(255,255,255,.4);}
.btn-ghost-dark:hover{color:#fff; border-color:#fff; background:rgba(255,255,255,.08);}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1; transform:none;}

/* ─── FOOTER ──────────────────────────────────────────────── */
footer{
  background:var(--ink); color:rgba(255,255,255,.55);
  padding:56px; display:flex; flex-wrap:wrap; align-items:center;
  gap:24px 40px;
}
.footer-logo{display:flex; align-items:center; gap:12px;}
.footer-wordmark{
  font-family:'Cormorant Garamond',serif; font-size:20px;
  font-weight:500; color:#fff;
}
.footer-wordmark span{color:var(--accent2);}
.footer-tagline{
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:16px; color:rgba(255,255,255,.4); flex:1; min-width:200px;
}
.footer-nav{display:flex; flex-wrap:wrap; gap:22px;}
.footer-nav a{
  color:rgba(255,255,255,.55); text-decoration:none;
  font-size:13px; transition:color .18s;
}
.footer-nav a:hover{color:#fff;}
.footer-copy{
  width:100%; padding-top:24px; border-top:1px solid rgba(255,255,255,.1);
  font-size:12px; color:rgba(255,255,255,.35);
}

.page-content{padding-top:0;}

/* ─── RESPONSIVE NAV ──────────────────────────────────────── */
@media(max-width:860px){
  body>nav{padding:16px 22px;}
  .nav-toggle{display:flex;}
  .nav-links{
    position:fixed; top:60px; right:0; left:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:rgba(255,255,255,.98); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
  }
  .nav-links.open{max-height:340px;}
  .nav-links li{width:100%; border-top:1px solid var(--border);}
  .nav-links li:first-child{border-top:none;}
  .nav-links a{display:block; padding:16px 22px; width:100%; color:var(--ink2) !important;}
  .nav-links a:not(.nav-cta)::after{display:none;}
  .nav-cta{border-radius:0; background:var(--accent2); color:#fff !important;}
  footer{padding:40px 22px;}
}
