*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--teal-dark: #2c5456; --teal: #3d7d7f; --teal-mid: #5a9496;
--teal-light: #7ab5b6; --teal-pale: #e6f2f2; --teal-mist: #c8e2e2;
--warm: #f5f2ee; --warm-deep: #ede9e3; --charcoal: #2c3e3f;
--charcoal-lt: #526465; --sand: #c4a882; --white: #ffffff; --nav-h: 72px;
}
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: var(--warm); color: var(--charcoal); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.container { max-width: 1160px; margin: 0 auto; padding: 0 40px; }
@media(max-width:768px){ .container{ padding: 0 20px; } }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
 
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.fade-up { animation: fadeUp 0.7s ease both; }
.fade-up-1{animation-delay:.1s} .fade-up-2{animation-delay:.2s} .fade-up-3{animation-delay:.3s}
.fade-up-4{animation-delay:.4s} .fade-up-5{animation-delay:.5s} .fade-up-6{animation-delay:.6s}
 
 



/* ── NAV ── */
.nav { position:fixed; top:0; left:0; right:0; height:var(--nav-h); background:rgba(255,255,255,0.97); backdrop-filter:blur(8px); border-bottom:0.5px solid var(--teal-mist); z-index:1000; display:flex; align-items:center; }
.nav .container { display:flex; align-items:center; justify-content:space-between; width:100%; }
.nav-logo { display:flex; align-items:center; gap:12px; }
.nav-logo-mark { width:38px; height:38px; background:var(--teal); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.nav-logo-mark svg { width:18px; height:18px; fill:none; stroke:white; stroke-width:2; stroke-linecap:round; }
.nav-logo-text { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600; color:var(--charcoal); }
.nav-logo-text span { font-weight:400; color:var(--charcoal-lt); }
ul.nav-links { display:flex; align-items:center; gap:28px; list-style:none; }
.nav-links a { font-size:13px; color:var(--charcoal-lt); transition:color .2s; position:relative; padding-bottom:2px; }
.nav-links a:hover { color:var(--teal); }
.nav-links a.active { color:var(--teal); font-weight:500; }
.nav-links a.active::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:1.5px; background:var(--teal); border-radius:1px; }
.nav-cta { background:var(--teal) !important; color:white !important; font-size:11px !important; font-weight:500 !important; letter-spacing:0.14em !important; text-transform:uppercase; padding:9px 20px !important; border-radius:4px; }
.nav-cta:hover { background:var(--teal-dark) !important; }
.nav-cta::after { display:none !important; }
@media(max-width:768px){ .nav-links{display:none;} }

 
/* ── DROPDOWN NAV ── */
.nav-links .nav-dropdown { position:relative; }
.nav-dropdown > a { cursor:pointer; }
.nav-dropdown-menu {
display:none; position:absolute; top:calc(100% + 10px); left:50%;
transform:translateX(-50%);
background:white; border:0.5px solid var(--teal-mist);
border-radius:10px; padding:8px 0; min-width:190px;
box-shadow:0 8px 32px rgba(44,62,63,0.12); z-index:300; list-style:none;
}
.nav-dropdown:hover .nav-dropdown-menu { display:block; }
.nav-dropdown-menu li a {
display:block; padding:10px 20px;
font-size:13px; color:var(--charcoal-lt); transition:color .15s,background .15s;
}
.nav-dropdown-menu li a:hover { color:var(--teal); background:var(--teal-pale); }

/* ── FOOTER ── */
.footer { background:var(--charcoal); padding:52px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:0.5px solid rgba(200,226,226,0.1); margin-bottom:28px; }
@media(max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:28px; } }
@media(max-width:500px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand-name { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; color:white; margin-bottom:10px; }
.footer-brand-name span { font-weight:400; color:rgba(255,255,255,.4); }
.footer-brand-body { font-size:13px; color:rgba(255,255,255,.4); line-height:1.7; max-width:240px; margin-bottom:16px; }
.footer-offices { display:flex; flex-direction:column; gap:12px; }
.footer-office-label { font-size:9px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--teal-light); margin-bottom:3px; }
.footer-office-addr { font-size:12px; color:rgba(255,255,255,.4); line-height:1.55; }
.footer-col-title { font-size:10px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--teal-light); margin-bottom:16px; }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:10px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,.4); transition:color .2s; }
.footer-links a:hover { color:white; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-copy { font-size:12px; color:rgba(255,255,255,.25); }
.footer-legal { display:flex; gap:20px; }
.footer-legal a { font-size:12px; color:rgba(255,255,255,.25); transition:color .2s; }
.footer-legal a:hover { color:rgba(255,255,255,.6); }


li#menu-item-35 {
    position: relative;
}

li#menu-item-37 {
    color: white !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    padding: 9px 20px !important;
    border-radius: 4px;
    transition: background 0.2s !important;
    background: var(--teal) !important;
}

li#menu-item-37 a {
    color: white;
    font-size: 11px;
}

li#menu-item-35 ul.sub-menu {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: white;
    border: 0.5px solid var(--teal-mist);
    border-radius: 10px;
    padding: 8px 0;
    min-width: 190px;
    box-shadow: 0 8px 32px rgba(44, 62, 63, 0.12);
    z-index: 300;
    list-style: none;
}

li#menu-item-35 ul.sub-menu li a {
	display: block;
    padding: 10px 20px;
    font-size: 13px;
    color: var(--charcoal-lt);
    transition: color .15s, background .15s;
}

.wpcf7-form p {
  margin: 0;
}

.wpcf7-form br {
  display: none;
}
