/* Gazos Africa family office site (loaded by mu-plugins/gazos-site.php) */
:root { --gz-navy:#0F1F2E; --gz-deep:#162B3F; --gz-gold:#B8935A; --gz-gold-l:#D4B483; --gz-sand:#F6F2EA; --gz-ink:#2B3640; --gz-muted:#6A7580; --gz-line:#E4DDD0; }
body.gz-page { background:#fff !important; margin:0; }
body.gz-page .elementor-section.elementor-section-boxed > .elementor-container { max-width:1160px; }
.gz-sec { padding:96px 24px; font-family:Inter, system-ui, sans-serif; color:var(--gz-ink); background:#fff; }
.gz-sec.gz-tight { padding-top:12px; padding-bottom:12px; }
.gz-sec.gz-tight.gz-last { padding-bottom:96px; }
.gz-sec.gz-light { background:var(--gz-sand); }
.gz-sec.gz-dark { background:var(--gz-navy); color:#D8DEE4; }
.gz-center, .gz-center .elementor-heading-title, .gz-center .elementor-widget-text-editor { text-align:center; }
.gz-center .gz-lead { max-width:680px; margin:0 auto; }
.gz-sec.gz-center:not(.gz-dark) { padding-bottom:36px; }

.gz-eyebrow .elementor-heading-title { font:600 12px/1.4 Inter, sans-serif !important; letter-spacing:.22em; text-transform:uppercase; color:var(--gz-gold) !important; margin-bottom:12px; }
.gz-title .elementor-heading-title { font:500 40px/1.15 'Cormorant Garamond', Georgia, serif !important; color:var(--gz-navy) !important; letter-spacing:-.005em; text-transform:none !important; }
.gz-dark .gz-title .elementor-heading-title { color:#fff !important; }
.gz-lead, .gz-lead p { font-size:18px; line-height:1.75; color:var(--gz-muted); }
.gz-dark .gz-lead p { color:#B7C2CC; }
.gz-sec p { line-height:1.8; font-size:16px; }
.gz-sec a { color:var(--gz-deep); }

/* hero */
.gz-hero { background:linear-gradient(160deg, var(--gz-navy) 0%, var(--gz-deep) 70%, #1d3650 100%); padding:150px 24px 140px; position:relative; overflow:hidden; }
.gz-hero::after { content:""; position:absolute; right:-140px; top:-140px; width:520px; height:520px; border:1px solid rgba(184,147,90,.25); border-radius:50%; box-shadow:0 0 0 60px rgba(184,147,90,.04), 0 0 0 130px rgba(184,147,90,.03); pointer-events:none; }
.gz-hero.gz-hero-sm { padding:110px 24px 90px; }
.gz-hero-title .elementor-heading-title { font:500 60px/1.08 'Cormorant Garamond', Georgia, serif !important; color:#fff !important; max-width:820px; text-transform:none !important; }
.gz-hero-sm .gz-hero-title .elementor-heading-title { font-size:50px !important; }
.gz-hero-sub, .gz-hero-sub p { font-size:19px; line-height:1.7; color:#C4CED7 !important; max-width:680px; margin-top:8px; }

/* buttons & links */
.gz-btn-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.gz-center .gz-btn-row { justify-content:center; }
.gz-btn { display:inline-block; padding:15px 30px; font:600 13px Inter, sans-serif; letter-spacing:.12em; text-transform:uppercase; text-decoration:none !important; border-radius:2px; transition:all .25s; }
.gz-btn.gz-gold { background:var(--gz-gold); color:var(--gz-navy) !important; }
.gz-btn.gz-gold:hover { background:var(--gz-gold-l); }
.gz-btn.gz-ghost { border:1px solid rgba(255,255,255,.55); color:#fff !important; }
.gz-btn.gz-ghost:hover { border-color:var(--gz-gold); color:var(--gz-gold-l) !important; }
.gz-text-link { display:inline-block; margin-top:14px; font:600 13px Inter, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gz-gold) !important; text-decoration:none !important; border-bottom:1px solid var(--gz-gold); padding-bottom:4px; }
.gz-text-link span, .gz-card-link span { transition:margin .2s; }
.gz-text-link:hover span, .gz-card-link:hover span { margin-left:6px; }

/* cards */
.gz-card { background:#fff; border:1px solid var(--gz-line); padding:34px 30px; height:100%; box-sizing:border-box; transition:border-color .25s, transform .25s; }
.gz-light .gz-card { background:#fff; }
.gz-card:hover { border-color:var(--gz-gold); transform:translateY(-2px); }
.gz-card-icon { width:44px; height:44px; color:var(--gz-gold); margin-bottom:18px; }
.gz-card-icon svg, .gz-focus-icon svg { width:100%; height:100%; }
.gz-card h3, .gz-contact-card h3 { font:500 25px/1.2 'Cormorant Garamond', Georgia, serif; color:var(--gz-navy); margin:0 0 10px; }
.gz-card p { font-size:15px; line-height:1.75; color:var(--gz-muted); margin:0; }
.gz-card-link { display:inline-block; margin-top:16px; font:600 12px Inter, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gz-gold) !important; text-decoration:none !important; }
.elementor-column > .elementor-widget-wrap > .elementor-widget-html:only-child, .elementor-column > .elementor-widget-wrap > .elementor-widget-html:only-child > .elementor-widget-container { height:100%; }

/* steps, checks, notes */
.gz-steps { list-style:none; counter-reset:gz; margin:0; padding:0; }
.gz-steps li { counter-increment:gz; position:relative; padding:0 0 26px 64px; border-left:1px solid var(--gz-line); margin-left:20px; }
.gz-steps li:last-child { border-left-color:transparent; padding-bottom:0; }
.gz-steps li::before { content:counter(gz, decimal-leading-zero); position:absolute; left:-21px; top:-4px; width:42px; height:42px; border-radius:50%; background:var(--gz-navy); color:var(--gz-gold-l); font:500 17px/42px 'Cormorant Garamond', serif; text-align:center; }
.gz-steps strong { display:block; font:500 22px/1.2 'Cormorant Garamond', serif; color:var(--gz-navy); margin-bottom:4px; }
.gz-steps span { display:block; font-size:15px; line-height:1.7; color:var(--gz-muted); }
.gz-checks { list-style:none; margin:0; padding:0; }
.gz-checks li { position:relative; padding:12px 0 12px 34px; border-bottom:1px solid var(--gz-line); font-size:16px; line-height:1.6; }
.gz-checks li::before { content:""; position:absolute; left:4px; top:20px; width:12px; height:7px; border-left:2px solid var(--gz-gold); border-bottom:2px solid var(--gz-gold); transform:rotate(-45deg); }
.gz-note { border-left:3px solid var(--gz-gold); background:var(--gz-sand); padding:28px 32px; }
.gz-note h4 { font:600 12px Inter, sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--gz-gold); margin:0 0 8px; }
.gz-note p { margin:0; color:var(--gz-ink); }
.gz-focus-icon { width:52px; height:52px; color:var(--gz-gold); margin-bottom:18px; }
.gz-contact-card { border:1px solid var(--gz-line); padding:38px 34px; height:100%; box-sizing:border-box; }
.gz-contact-card p { font-size:17px; margin:0; }
.gz-legal h3 { font:500 26px/1.2 'Cormorant Garamond', serif; color:var(--gz-navy); margin:30px 0 8px; }
.gz-legal ul { padding-left:20px; } .gz-legal li { margin-bottom:6px; line-height:1.7; }
.gz-legal .elementor-widget-container { max-width:820px; }

/* header */
.gz-header-sec { position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--gz-line); padding:0 24px; }
.gz-header-sec > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; }
.gz-header { display:flex; align-items:center; justify-content:space-between; height:84px; font-family:Inter, sans-serif; }
.gz-logo { display:flex; align-items:center; gap:12px; text-decoration:none !important; }
.gz-logo-mark { width:40px; height:40px; border:1px solid var(--gz-gold); display:flex; align-items:center; justify-content:center; font:500 24px 'Cormorant Garamond', serif; color:var(--gz-gold); }
.gz-logo-text { font:600 15px Inter, sans-serif; letter-spacing:.28em; color:var(--gz-navy); }
.gz-logo-text em { font-style:normal; color:var(--gz-gold); }
.gz-nav { display:flex; gap:36px; }
.gz-nav a { font:500 13px Inter, sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--gz-navy) !important; text-decoration:none !important; padding:6px 0; border-bottom:1px solid transparent; transition:border-color .2s, color .2s; }
.gz-nav a:hover, .gz-nav a.is-active { border-bottom-color:var(--gz-gold); color:var(--gz-deep) !important; }
.gz-nav-toggle, .gz-burger { display:none; }

/* footer */
.gz-footer-sec { background:var(--gz-navy); padding:0 24px; }
.gz-footer { padding:72px 0 30px; font-family:Inter, sans-serif; color:#9FAAB5; }
.gz-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1.3fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1); }
.gz-logo-light .gz-logo-text { color:#fff; }
.gz-footer-brand p { margin:16px 0 0; font-size:14px; line-height:1.7; max-width:340px; }
.gz-footer h4 { color:#fff; font:600 12px Inter, sans-serif; letter-spacing:.2em; text-transform:uppercase; margin:6px 0 16px; }
.gz-footer ul { list-style:none; margin:0; padding:0; } .gz-footer li { font-size:14px; line-height:1.6; margin-bottom:10px; }
.gz-footer a { color:#C9D1D8 !important; text-decoration:none !important; } .gz-footer a:hover { color:var(--gz-gold-l) !important; }
.gz-footer-legal { padding-top:24px; font-size:12.5px; line-height:1.7; }
.gz-footer-legal p { margin:0 0 8px; }

/* tablet */
@media (max-width:1024px) {
  .gz-sec { padding:72px 24px; } .gz-sec.gz-tight.gz-last { padding-bottom:72px; }
  .gz-hero { padding:110px 24px 100px; }
  .gz-hero-title .elementor-heading-title { font-size:48px !important; }
  .gz-title .elementor-heading-title { font-size:34px !important; }
  .gz-nav { gap:22px; }
}
/* mobile */
@media (max-width:767px) {
  .gz-sec { padding:56px 18px; } .gz-sec.gz-tight { padding:6px 18px; } .gz-sec.gz-tight.gz-last { padding-bottom:56px; }
  .gz-sec.gz-center:not(.gz-dark) { padding-bottom:20px; }
  .gz-hero, .gz-hero.gz-hero-sm { padding:72px 18px 64px; }
  .gz-hero::after { width:300px; height:300px; right:-160px; top:-120px; }
  .gz-hero-title .elementor-heading-title, .gz-hero-sm .gz-hero-title .elementor-heading-title { font-size:36px !important; line-height:1.12 !important; }
  .gz-hero-sub, .gz-hero-sub p { font-size:16.5px; }
  .gz-title .elementor-heading-title { font-size:29px !important; }
  .gz-lead, .gz-lead p { font-size:16px; } .gz-sec p { font-size:15px; }
  .gz-btn-row { flex-direction:column; } .gz-btn { text-align:center; }
  .gz-card { padding:26px 22px; } .gz-card h3 { font-size:23px; }
  .gz-sec .elementor-column + .elementor-column { margin-top:10px; }
  .gz-sec:not(.gz-tight) .elementor-column + .elementor-column { margin-top:22px; }
  .gz-steps li { padding-left:48px; margin-left:18px; }
  .gz-header { height:70px; } .gz-logo-text { font-size:13px; letter-spacing:.22em; } .gz-logo-mark { width:34px; height:34px; font-size:20px; }
  .gz-burger { display:flex; flex-direction:column; gap:5px; cursor:pointer; padding:10px; margin-right:-10px; }
  .gz-burger span { width:24px; height:2px; background:var(--gz-navy); transition:.25s; }
  .gz-nav { display:none; position:absolute; left:0; right:0; top:70px; background:#fff; flex-direction:column; gap:0; border-bottom:1px solid var(--gz-line); box-shadow:0 12px 24px rgba(15,31,46,.08); }
  .gz-nav a { padding:18px 24px; border-bottom:1px solid var(--gz-line); }
  .gz-nav-toggle:checked ~ .gz-nav { display:flex; }
  .gz-nav-toggle:checked + .gz-burger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .gz-nav-toggle:checked + .gz-burger span:nth-child(2) { opacity:0; }
  .gz-nav-toggle:checked + .gz-burger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .gz-footer-grid { grid-template-columns:1fr; gap:28px; }
}

/* tablet: larger tap targets for the header links */
@media (min-width: 768px) and (max-width: 1024px) { .gz-nav a { padding: 12px 0; } }
