@font-face {
  font-family:'Cormorant Garamond';
  src:url('fonts/cormorant.woff2') format('woff2');
  font-weight:300 700; font-style:normal; font-display:swap;
}
@font-face {
  font-family:'Cormorant Garamond';
  src:url('fonts/cormorant-italic.woff2') format('woff2');
  font-weight:300 700; font-style:italic; font-display:swap;
}
@font-face {
  font-family:'DM Sans';
  src:url('fonts/dmsans.woff2') format('woff2');
  font-weight:100 1000; font-style:normal; font-display:swap;
}
@font-face {
  font-family:'DM Sans';
  src:url('fonts/dmsans-italic.woff2') format('woff2');
  font-weight:100 1000; font-style:italic; font-display:swap;
}

:root {
  --bg:#f0f4f8;
  --white:#ffffff;
  --ink:#0d1f2d;
  --ink2:#1e3a4a;
  --ink3:#5a7888;
  --accent:#0a4a6e;
  --accent2:#0e7c5a;
  --a-light:#e0eef7;
  --a2-light:#e0f2eb;
  --border:#c8d8e4;
  --border2:#b0c8d8;
  --grad:linear-gradient(135deg,#0a4a6e 0%,#0e7c5a 100%);
  --nav-h:72px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  background:#f0f4f8;
  color:#0d1f2d;
  font-family:'DM Sans',sans-serif;
  font-size:15px;
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
}
img, svg { display:block; }
a { color:inherit; text-decoration:none; }

@keyframes fadeUp { from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0}to{opacity:1} }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:72px;
  padding:0 56px;
  display:flex; align-items:center; justify-content:space-between;
  background:#f0f4f8;
  border-bottom:1px solid #c8d8e4;
  opacity:1;
  visibility:visible;
}
.nav-logo {
  display:flex; align-items:center; gap:11px;
  text-decoration:none;
}
.nav-wordmark {
  font-family:'Cormorant Garamond',serif;
  font-size:19px; font-weight:500; letter-spacing:0.07em;
  color:#0d1f2d; line-height:1;
}
.nav-wordmark span { color:#0e7c5a; }
.nav-links {
  display:flex; align-items:center; gap:32px; list-style:none;
}
.nav-links a {
  font-size:11px; letter-spacing:0.13em; text-transform:uppercase;
  color:#5a7888; font-weight:400; transition:color .2s;
}
.nav-links a:hover { color:#0a4a6e; }
.nav-links a.active { color:#0a4a6e; border-bottom:1px solid #0a4a6e; padding-bottom:1px; }
.nav-cta {
  font-size:11px; letter-spacing:0.13em; text-transform:uppercase;
  color:#0e7c5a; font-weight:500;
  border-bottom:1px solid #0e7c5a; padding-bottom:1px;
  transition:opacity .2s;
}
.nav-cta:hover { opacity:.65; }

.nav-toggle {
  display:none; background:none; border:none; cursor:pointer;
  width:28px; height:22px; position:relative; z-index:210;
}
.nav-toggle span {
  display:block; position:absolute; left:0;
  height:2px; width:100%; background:#0d1f2d;
  transition:transform .3s,opacity .3s,top .3s;
}
.nav-toggle span:nth-child(1){top:0}
.nav-toggle span:nth-child(2){top:10px}
.nav-toggle span:nth-child(3){top:20px}
.nav-toggle.open span:nth-child(1){top:10px;transform:rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){top:10px;transform:rotate(-45deg)}

footer {
  background:#0d1f2d; padding:32px 56px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:14px;
}
.footer-logo { display:flex; align-items:center; gap:10px; }
.footer-wordmark {
  font-family:'Cormorant Garamond',serif;
  font-size:17px; font-weight:500; letter-spacing:0.07em; color:#fff;
}
.footer-wordmark span { color:#0e7c5a; }
.footer-nav { display:flex; gap:24px; }
.footer-nav a {
  font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.45); transition:color .2s;
}
.footer-nav a:hover { color:#0e7c5a; }
.footer-copy { font-size:11px; color:rgba(255,255,255,0.28); letter-spacing:0.08em; }
.footer-tagline {
  font-size:11px; color:rgba(255,255,255,0.28);
  font-style:italic; font-family:'Cormorant Garamond',serif;
}

.section-tag {
  font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  color:#0e7c5a; margin-bottom:18px; font-weight:400;
  display:flex; align-items:center; gap:10px;
}
.section-tag::before { content:''; width:24px; height:1px; background:#0e7c5a; }
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(30px,3.5vw,52px); font-weight:300;
  line-height:1.12; color:#0d1f2d; margin-bottom:22px;
}
.section-title em { font-style:italic; color:#0a4a6e; }
.section-body {
  font-size:15px; color:#5a7888; line-height:1.8;
  max-width:580px; font-weight:300;
}

.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(135deg,#0a4a6e 0%,#0e7c5a 100%); color:#fff;
  font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  padding:14px 30px; font-weight:400; transition:opacity .2s;
}
.btn-primary:hover { opacity:.82; }
.btn-ghost {
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid #0a4a6e; color:#0a4a6e;
  font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  padding:13px 28px; font-weight:400; transition:background .2s,color .2s;
}
.btn-ghost:hover { background:#0a4a6e; color:#fff; }

.page-content { padding-top:72px; }

@media(max-width:900px){
  nav { padding:0 22px; }
  .nav-toggle { display:block; }
  .nav-links {
    position:fixed; top:0; right:0; bottom:0; width:min(78vw,300px);
    flex-direction:column; align-items:flex-start; justify-content:center;
    gap:26px; padding:56px 32px;
    background:rgba(240,244,248,.98); backdrop-filter:blur(18px);
    border-left:1px solid #c8d8e4;
    transform:translateX(100%); transition:transform .32s ease;
    display:flex;
  }
  .nav-links.open { transform:translateX(0); }
  .nav-links a { font-size:14px; }
  .nav-cta { font-size:14px; }
  footer { flex-direction:column; text-align:center; padding:26px 22px; gap:16px; }
  .footer-nav { flex-wrap:wrap; justify-content:center; }
}
