
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --gold:      #c9a55a;
  --gold-dark: #9a7a3a;
  --navy:      #3a609e;
  --text:      #353530;
  --muted:     #6b6560;
  --warm:      #f9f6f1;
  --border:    rgba(201,165,90,0.18);
}

/* ── GLOBAL ── */
body { font-family:'Inter',-apple-system,sans-serif!important; color:var(--text)!important; -webkit-font-smoothing:antialiased!important; font-weight:300!important; line-height:1.8!important; }
h1,h2,h3,h4,h5,h6,.wp-block-heading,.entry-title { font-family:'Cormorant Garamond',Georgia,serif!important; font-weight:400!important; letter-spacing:0.03em!important; line-height:1.15!important; }
p { font-weight:300!important; line-height:1.85!important; }
::selection { background:rgba(201,165,90,0.2); color:var(--navy); }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--warm); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:2px; }

/* ── NAV ── */
#masthead { background:transparent!important; transition:background 0.4s ease,border-color 0.4s ease!important; border-bottom:1px solid transparent!important; }
#masthead.headroom--not-top { background:#ffffff!important; border-bottom-color:var(--border)!important; backdrop-filter:blur(14px)!important; -webkit-backdrop-filter:blur(14px)!important; }
#masthead .custom-logo { opacity:1!important; }
.header-logo-wrapper { opacity:1!important; visibility:visible!important; }
#site-navigation li a, .navbar li a { font-family:'Inter',sans-serif!important; font-size:14px!important; font-weight:500!important; letter-spacing:0.08em!important; text-transform:uppercase!important; color:var(--gold)!important; padding:6px 10px!important; transition:color 0.25s!important; text-decoration:none!important; border-bottom:none!important; }
#site-navigation li a:hover, .navbar li a:hover { color:var(--gold)!important; }
#site-navigation .current-menu-item > a, .navbar .current-menu-item > a { color:var(--gold)!important; }
#site-navigation li:last-child a, .navbar li:last-child a { border:1px solid rgba(201,165,90,0.65)!important; padding:7px 18px!important; color:var(--gold)!important; border-radius:1px!important; }
#site-navigation li:last-child a:hover, .navbar li:last-child a:hover { background:var(--gold)!important; color:var(--navy)!important; border-color:var(--gold)!important; }

/* ── HERO TYPOGRAPHY (no positioning changes) ── */
h1.site-title { font-size:clamp(2.8rem,5.5vw,5.2rem)!important; font-weight:300!important; letter-spacing:0.06em!important; color:#fff!important; text-shadow:0 2px 40px rgba(0,0,0,0.3)!important; line-height:1.05!important; }
h1.site-title::after { content:''!important; display:block!important; width:44px!important; height:1px!important; background:var(--gold)!important; margin:22px auto 0!important; }
p.site-description { font-family:'Inter',sans-serif!important; font-size:0.95rem!important; font-weight:300!important; letter-spacing:0.05em!important; line-height:1.9!important; color:rgba(255,255,255,0.82)!important; text-shadow:0 1px 12px rgba(0,0,0,0.2)!important; }

/* ── HIDE HOME PAGE TITLE ── */
.home .entry-title, .home .page-header { display:none!important; }

/* ── CONTENT ── */
.site-content { background:#fff!important; }
.entry-content p { font-size:0.975rem!important; color:var(--text)!important; line-height:1.9!important; }
.entry-content a { color:var(--gold-dark)!important; text-decoration:none!important; border-bottom:1px solid rgba(154,122,58,0.3)!important; }
.entry-content a:hover { color:var(--navy)!important; border-bottom-color:var(--navy)!important; }

/* ── HEADINGS ── */
.entry-content h2.wp-block-heading { font-size:clamp(1.7rem,2.8vw,2.6rem)!important; color:var(--navy)!important; padding-bottom:18px!important; position:relative!important; margin-bottom:0.6em!important; }
.entry-content h2.wp-block-heading::after { content:''!important; position:absolute!important; bottom:0!important; left:0!important; width:36px!important; height:1px!important; background:var(--gold)!important; }
.entry-content .has-text-align-center.wp-block-heading::after { left:50%!important; transform:translateX(-50%)!important; }
.entry-content h3.wp-block-heading { font-size:clamp(1.1rem,1.8vw,1.5rem)!important; color:var(--navy)!important; }
.entry-content h4.wp-block-heading { font-family:'Cormorant Garamond',serif!important; font-size:1.1rem!important; font-weight:600!important; color:var(--navy)!important; letter-spacing:0.04em!important; }

/* ── TEAM TITLES (home page) ── */
.entry-content p.has-text-align-center { font-size:0.72rem!important; letter-spacing:0.12em!important; text-transform:uppercase!important; color:var(--gold-dark)!important; font-weight:500!important; }

/* ── BUTTONS ── */
.wp-block-button__link,.wp-element-button { font-family:'Inter',sans-serif!important; font-size:10px!important; font-weight:600!important; letter-spacing:0.16em!important; text-transform:uppercase!important; border-radius:1px!important; padding:14px 34px!important; transition:all 0.3s ease!important; }
.has-black-color.has-white-background-color.wp-block-button__link { background:transparent!important; color:#fff!important; border:1px solid rgba(255,255,255,0.5)!important; }
.has-black-color.has-white-background-color.wp-block-button__link:hover { background:var(--gold)!important; border-color:var(--gold)!important; color:var(--navy)!important; }

/* ── OUR TEAM PAGE ── */
.page-id-17 .entry-content .wp-block-columns { padding-bottom:4.5rem!important; margin-bottom:1rem!important; border-bottom:1px solid var(--border)!important; }
.page-id-17 .entry-content .wp-block-columns:last-of-type { border-bottom:none!important; }
.page-id-17 .wp-block-image img, .wp-block-image.is-style-rounded img { border-radius:2px!important; box-shadow:0 12px 48px rgba(12,22,40,0.1)!important; transition:box-shadow 0.4s ease!important; }
.page-id-17 .wp-block-image:hover img { box-shadow:0 20px 60px rgba(12,22,40,0.16)!important; }
.page-id-17 .entry-content h2.wp-block-heading { font-size:1.9rem!important; }
.page-id-17 .entry-content p strong { font-family:'Inter',sans-serif!important; font-size:0.7rem!important; letter-spacing:0.14em!important; text-transform:uppercase!important; color:var(--gold-dark)!important; font-weight:600!important; }

/* ── FOOTER ── */
#colophon { background:#1e3a6a!important; border-top:1px solid var(--border)!important; }
#colophon .copyright { font-family:'Inter',sans-serif!important; font-size:10.5px!important; font-weight:300!important; line-height:2.1!important; color:rgba(255,255,255,0.32)!important; max-width:860px!important; margin:0 auto!important; padding:15px 32px!important; text-align:center!important; }
#colophon .site-info::before { content:''!important; display:block!important; width:36px!important; height:1px!important; background:var(--gold)!important; margin:0 auto 40px!important; opacity:0.7!important; }

/* ── SIDE NAV ── */
#side-nav { background:var(--navy)!important; }
#side-nav a { font-family:'Inter',sans-serif!important; font-size:11px!important; letter-spacing:0.12em!important; text-transform:uppercase!important; color:rgba(255,255,255,0.65)!important; transition:color 0.2s!important; }
#side-nav a:hover { color:var(--gold)!important; }

/* ── LOGIN MODAL ── */
#client-login-modal { display:none; position:fixed; inset:0; background:rgba(10,16,30,0.72); z-index:99999; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
#client-login-modal.open { display:flex; }
#client-login-modal .modal-box { background:#fff; padding:52px 44px 44px; border-radius:2px; width:100%; max-width:420px; position:relative; box-shadow:0 24px 80px rgba(10,16,30,0.35); border-top:2px solid var(--gold); }
#client-login-modal .modal-logo { text-align:center; margin-bottom:32px; font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:400; letter-spacing:0.14em; color:var(--navy); text-transform:uppercase; }
#client-login-modal .modal-close { position:absolute; top:18px; right:22px; background:none; border:none; font-size:20px; cursor:pointer; color:#bbb; transition:color 0.2s; }
#client-login-modal .modal-close:hover { color:var(--navy); }
#client-login-modal label { display:block; font-family:'Inter',sans-serif; font-size:10px; font-weight:600; color:var(--muted); margin-bottom:8px; text-transform:uppercase; letter-spacing:0.12em; }
#client-login-modal input[type="text"],#client-login-modal input[type="password"] { width:100%; padding:12px 14px; border:1px solid #e0ddd8; border-radius:1px; font-size:14px; margin-bottom:22px; box-sizing:border-box; outline:none; font-family:'Inter',sans-serif; transition:border-color 0.2s; }
#client-login-modal input:focus { border-color:var(--gold); }
#client-login-modal .modal-submit { width:100%; padding:14px; background:var(--navy); color:#fff; border:none; border-radius:1px; font-family:'Inter',sans-serif; font-size:10px; font-weight:600; cursor:pointer; letter-spacing:0.16em; text-transform:uppercase; transition:background 0.25s; }
#client-login-modal .modal-submit:hover { background:var(--gold-dark); }

/* ── RESPONSIVE ── */
@media(max-width:768px) { h1.site-title { font-size:2.2rem!important; } p.site-description { font-size:0.875rem!important; padding:0 20px!important; } #colophon .copyright { padding:36px 20px!important; font-size:10px!important; } }


/* ── Schedule a Consultation section ─────────────────────────── */
.site-main section.wp-block-group[style*="background-color:#3a609e"],
.site-main section.wp-block-group[style*="background-color: #3a609e"] {
  background-color: #3a609e !important;
}

/* ── CTA buttons: gold treatment ─────────────────────────────── */
.wp-block-button__link,
.wp-block-button a {
  background: transparent !important;
  border: 1px solid #c9a55a !important;
  color: #c9a55a !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 14px 34px !important;
  border-radius: 0 !important;
  transition: background 0.25s, color 0.25s !important;
}
.wp-block-button__link:hover,
.wp-block-button a:hover {
  background: #c9a55a !important;
  color: #3a609e !important;
}

/* ── Hide Inspiro theme attribution ──────────────────────────── */
#colophon .site-info a[href*="wpzoom"],
#colophon .site-info a[href*="inspiro"] {
  display: none !important;
}

/* ── Footer: left-align copyright, clean layout ─────────────── */
#colophon .site-info { display: block; text-align: center; max-width: 780px; margin: 0 auto; }

/* ── Schedule section text refinements ───────────────────────── */
.site-main section.wp-block-group[style*="1a1a1a"] h2,
.site-main section.wp-block-group[style*="1a1a1a"] h3 {
  font-family: 'Cormorant Garamond', serif !important;
  color: #fff !important;
}
.site-main section.wp-block-group[style*="1a1a1a"] p {
  font-family: 'Inter', sans-serif !important;
  color: rgba(255,255,255,0.72) !important;
}

/* ── Practice areas hover refinement ─────────────────────────── */
.wp-block-group h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.3rem, 2vw, 1.55rem) !important;
  font-weight: 400 !important;
  color: #3a609e !important;
  letter-spacing: 0.01em !important;
}

/* ── Team section: subtle card hover ─────────────────────────── */
.wp-block-media-text,
.wp-block-columns .wp-block-column {
  transition: transform 0.2s ease !important;
}

/* ── Contact CTA targeted override ───────────────────────────── */
section.contact-cta {
  background-color: #3a609e !important;
}
section.contact-cta h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 300 !important;
  font-size: clamp(2rem, 3.5vw, 2.8rem) !important;
  color: #fff !important;
  letter-spacing: 0.04em !important;
}
section.contact-cta p {
  color: rgba(255,255,255,0.70) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
}
section.contact-cta .wp-block-button__link {
  border-color: #c9a55a !important;
  color: #c9a55a !important;
}
section.contact-cta .wp-block-button__link:hover {
  background: #c9a55a !important;
  color: #3a609e !important;
}

/* ── Logo-blue nav: guarantee white text on blue bg ─────────── */
#masthead.headroom--not-top #site-navigation .menu-item > a {
  color: var(--gold) !important;
}
#masthead.headroom--not-top #site-navigation .menu-item.current-menu-item > a,
#masthead.headroom--not-top .menu-item-client-login > a,
#masthead.headroom--not-top #site-navigation li:last-child > a {
  color: #c9a55a !important;
}

/* ── Logo-blue used as accent where navy was used ────────────── */
:root {
  --navy: #3a609e;
  --navy-dark: #1e3a6a;
}

/* ── Footer: deep navy-blue matching logo ───────────────────── */
#colophon {
  background: #1e3a6a !important;
}

/* ── Schedule consultation: logo blue bg ───────────────────── */
section.contact-cta {
  background-color: #3a609e !important;
}

/* ── Heading gold rule: keep ────────────────────────────────── */
/* ── CLIENT LOGIN button: gold border on any bg ─────────────── */
#masthead .menu-item-client-login > a {
  border-color: #c9a55a !important;
  color: #c9a55a !important;
}

/* ── Nav at top (transparent bg): all items gold — visible on both dark hero AND white ── */
#masthead.headroom--top #site-navigation .menu-item > a,
#masthead.headroom--pinned.headroom--top #site-navigation .menu-item > a {
  color: #c9a55a !important;
}

/* ── Nav when not-top (blue bg): mid items white, Home+ClientLogin gold ── */
/* (already set above but reinforcing here for specificity) */
#masthead.headroom--not-top #site-navigation .menu-item > a {
  color: var(--gold) !important;
}
#masthead.headroom--not-top #site-navigation .current-menu-item > a,
#masthead.headroom--not-top #site-navigation li:first-child > a,
#masthead.headroom--not-top #site-navigation li:last-child > a {
  color: #c9a55a !important;
}

/* ── Catch-all: if headroom is unpinned/transitioning, keep white on blue ── */
#masthead.headroom--not-top.headroom--unpinned #site-navigation .menu-item > a {
  color: var(--gold) !important;
}


/* ── Navbar background fix: target .navbar (the visible container, not #masthead wrapper) ── */
/* At page top: transparent nav over hero */
.headroom--top .navbar { background: transparent !important; }
/* Scrolled: solid blue sticky nav */
.headroom--not-top .navbar { background: #ffffff !important; backdrop-filter: blur(14px) !important; }

/* ── Hide logo from sticky nav ── */
/* removed: was hiding .custom-logo-link in navbar */
/* Remove border between Tax Compliance and Family Office in dropdown */
.sub-menu li.menu-item-184::before,.sub-menu li.menu-item-184>a::before{display:none!important;}

.sub-menu li.menu-item-183, .sub-menu li.menu-item-183 > a { border-bottom: none !important; }
/* Fix footer single-column */
#colophon .site-info .copyright { display: block !important; text-align: center; }
#colophon .site-info .copyright > span:last-child { display: none !important; }
/* Sub-menu items: override headroom--top gold lock, restore hover behavior */
#masthead.headroom--top #site-navigation .sub-menu .menu-item > a,
#masthead.headroom--pinned.headroom--top #site-navigation .sub-menu .menu-item > a { color: var(--gold) !important; }
#masthead.headroom--top #site-navigation .sub-menu .menu-item > a:hover,
#masthead.headroom--pinned.headroom--top #site-navigation .sub-menu .menu-item > a:hover,
#masthead.headroom--not-top #site-navigation .sub-menu .menu-item > a:hover { color: rgb(201,165,90) !important; }

/* Dropdown sub-menu: clean consistent styling */
#masthead #site-navigation .sub-menu .menu-item > a { color: #fff !important; background-color: transparent !important; }
#masthead #site-navigation .sub-menu .menu-item > a:hover { color: rgb(201,165,90) !important; background-color: transparent !important; }
#masthead #site-navigation .sub-menu li:hover { background-color: transparent !important; }
#masthead #site-navigation .sub-menu li a { border-left: none !important; }
#masthead #site-navigation .sub-menu li a:hover { border-left: none !important; }

/* Sub-menu: pure white text in all headroom states, gold on hover */
#masthead.headroom--top #site-navigation .sub-menu .menu-item > a,
#masthead.headroom--pinned.headroom--top #site-navigation .sub-menu .menu-item > a,
#masthead.headroom--not-top #site-navigation .sub-menu .menu-item > a,
#masthead.headroom--unpinned #site-navigation .sub-menu .menu-item > a
{ color: #fff !important; background-color: transparent !important; border-left: none !important; }
#masthead.headroom--top #site-navigation .sub-menu .menu-item > a:hover,
#masthead.headroom--pinned.headroom--top #site-navigation .sub-menu .menu-item > a:hover,
#masthead.headroom--not-top #site-navigation .sub-menu .menu-item > a:hover,
#masthead.headroom--unpinned #site-navigation .sub-menu .menu-item > a:hover
{ color: rgb(201,165,90) !important; background-color: transparent !important; border-left: none !important; }
#masthead #site-navigation .sub-menu li { background-color: transparent !important; }

/* Fix nav menu wrapping to second line in Spanish and Portuguese */
html[lang="es-ES"] #site-navigation li,
html[lang="pt-BR"] #site-navigation li {
  margin: 0 8px;
}

html[lang="es-ES"] #site-navigation li a,
html[lang="pt-BR"] #site-navigation li a {
  font-size: 14px !important;
  letter-spacing: 1px !important;
  padding: 6px 10px !important;
}

/* Footer spacing fix */
.site-footer .footer-widgets {
  display: none !important;
}
.site-footer .site-footer-separator {
  display: none !important;
}
.site-footer .site-info {
  padding-top: 15px !important;
  padding-bottom: 10px !important;
}


/* ── LANGUAGE SWITCHER TIGHTENING (fit EN/ES/PT-BR on row 1) ── */
#site-navigation li.trp-menu-ls-item a, .navbar li.trp-menu-ls-item a {
  font-size: 11px !important;
  padding: 6px 4px !important;
  letter-spacing: 0.04em !important;
}

/*  FIX missing border-top on GFO sub-menu item  */
#menu-item-184,
.menu-item-184{
	  border-top: 0.666667px solid rgba(255, 255, 255, 0.07) !important;
}
}

/* Home/hero pages: render header as white band above hero (added 2026-05-08) */
body.inspiro-front-page .navbar { position: relative !important; background-color: #ffffff !important; padding: 0 !important; }
.has-header-image .navbar { position: relative !important; background-color: #ffffff !important; padding: 0 !important; }
.has-header-image.home.blog .headroom--not-top .navbar,
.has-header-image.inspiro-front-page .headroom--not-top .navbar { background: white !important; padding: 0 !important; }
.has-header-image .site-header,
body.inspiro-front-page .site-header { position: relative !important; }


/* Stuck navbar: white bg, gold text, smaller logo (added 2026-05-08) */
#masthead.headroom--not-top { background-color: #ffffff !important; }
#masthead.headroom--not-top #site-navigation .menu-item > a,
#masthead.headroom--not-top #site-navigation li > a { color: var(--gold) !important; }
.custom-logo,
body.wp-custom-logo .custom-logo-link img,
body.wp-custom-logo .headroom--not-top .custom-logo-link img { max-height: 56px !important; }


/* Always-pinned header (added 2026-05-08) */
#masthead.headroom { transform: none !important; transition: none !important; }
#masthead.headroom--unpinned { transform: none !important; }
#masthead { position: sticky !important; top: 0 !important; z-index: 100 !important; }
body.admin-bar #masthead { top: 32px !important; }


/* Widen header so navbar fits on one line (added 2026-05-09) */
.site-header .header-inner, .site-header .inner-wrap { max-width: 100% !important; margin: 0 !important; padding: 0 10px !important; }
#masthead #site-navigation li, body #site-navigation ul.nav > li { margin-left: 2px !important; margin-right: 2px !important; }
#masthead #site-navigation li a, body #site-navigation li a, body .navbar li a { padding-left: 4px !important; padding-right: 4px !important; letter-spacing: 0.03em !important; }
.custom-logo, body.wp-custom-logo .custom-logo-link img, body.wp-custom-logo .headroom--not-top .custom-logo-link img { max-height: 88px !important; /* doubled from 44px on 2026-05-11 per Ed */ }


/* Tighten logo wrapper to remove gap to menu (added 2026-05-09) */
.navbar .header-logo-wrapper, body.wp-custom-logo .header-logo-wrapper { margin-right: 0 !important; padding-right: 0 !important; }
body.wp-custom-logo .custom-logo-link { padding-right: 0 !important; margin-right: 0 !important; }


/* === Inspiro page-header tightening (added 2026-05-15) === */
/* Collapses the ~255px blank space the theme places between the site nav and the page title */
/* Applies to all pages site-wide; home page hero is unaffected (different template) */
.page #content.site-content { padding-top: 1rem !important; }
.page .entry-header { padding-top: 0 !important; padding-bottom: 0 !important; }
.page .entry-title { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }


/* Soft-launch: hide nav menu sitewide; restore at June 1 full launch */
#site-navigation, .main-navigation { display: none !important; }

/* Hero title: visible over image */
.site-title a {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 0 40px rgba(0,0,0,0.6) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  font-size: 42px !important;
  letter-spacing: 0.01em !important;
  font-style: italic !important;
}
.site-description { display: none !important; }

/* Fix: site-branding must paint above custom-header-media */
.custom-header .site-branding { z-index: 100 !important; }

/* Force correct compositing layer order inside custom-header */
.custom-header { isolation: isolate; }
.custom-header .custom-header-media { position: relative; z-index: 1; }
.custom-header .site-branding { z-index: 10; }

/* Hero overlay support */
.entry-content { position: relative; }

/* Hide Inspiro site-title - al-hero section handles hero text */
.site-title { display: none !important; }