/* Primer Africa shared design system and accessibility layer */
:root { --pa-green: #105c3e; --pa-gold: #c89520; --pa-ink: #141414; --pa-soft: #f8f7f4; --pa-rule: rgba(20,20,20,.10); --pa-width: 1200px; }
html { scroll-padding-top: 86px; }
body { overflow-wrap: anywhere; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #bc8a22 !important; outline-offset: 3px; }
.skip-link { position: fixed; top: -90px; left: 16px; z-index: 99999; padding: 12px 18px; color: white; background: #105c3e; border-radius: 4px; font: 600 14px 'DM Sans',sans-serif; }
.skip-link:focus { top: 14px; }
/* Same header on every public page */
.site-header { height: 74px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; background: rgba(255,255,255,.97) !important; padding-inline: clamp(20px,5vw,60px) !important; position: fixed !important; top: 0; left: 0; right: 0; z-index: 140 !important; box-shadow: 0 1px 0 var(--pa-rule); }
.site-header .logo { display: inline-flex !important; align-items: center; gap: 9px; text-decoration: none; white-space: nowrap; }
.site-header .logo img { height: 36px !important; width: 36px !important; object-fit: contain; }
.site-header .logo-text, .site-header .logo-text span { font-family: 'Cormorant Garamond',Georgia,serif; font-weight: 700; font-size: 25px; letter-spacing: -.025em; }
.site-header .logo-text { color: var(--pa-green) !important; }
.site-header .logo-text span { color: var(--pa-gold) !important; }
.site-header nav { margin: 0 !important; padding: 0 !important; }
.site-header .site-nav { display: flex; align-items: center; gap: clamp(14px,2vw,30px); margin: 0; padding: 0; list-style: none; }
.site-header .site-nav li { list-style: none; margin: 0; padding: 0; }
.site-header .site-nav a { font: 500 13.5px 'DM Sans',system-ui,sans-serif !important; letter-spacing: 0; white-space: nowrap; text-decoration: none; color: #565d58; transition: color .18s ease, background .18s ease; }
.site-header .site-nav a:hover, .site-header .site-nav a.active, .site-header .site-nav a[aria-current=page] { color: var(--pa-green) !important; }
.site-header .site-nav .nav-cta { display: inline-flex; align-items: center; gap: 12px; background: var(--pa-green); color: #fff !important; padding: 12px 17px; border-radius: 3px; font-weight: 600 !important; }
.site-header .site-nav .nav-cta:hover, .site-header .site-nav .nav-cta[aria-current=page] { background: #0d7a51; color: white !important; }
.external-mark { font-size: 12px; }
.site-header .hamburger { display: none; border-radius: 4px; flex: 0 0 auto; }
/* Normalize margins to the slightly larger header */
.page-hero { scroll-margin-top: 74px; }
body > .hero:first-of-type { scroll-margin-top: 74px; }
/* Shared footer */
.pa-footer { display: block; position: relative; background: #133c2d !important; color: rgba(255,255,255,.78) !important; font-family: 'DM Sans',system-ui,sans-serif; }
.pa-footer .pa-footer-wrap { max-width: 1320px; margin: 0 auto; padding: 70px clamp(20px,5vw,60px) 0; }
.pa-footer .pa-footer-grid { display: grid; grid-template-columns: minmax(220px,1.65fr) repeat(3,minmax(130px,1fr)); gap: clamp(26px,3.8vw,60px); align-items: start; padding-bottom: 55px; }
.pa-footer .pa-footer-brand p { max-width: 360px; font: 400 14px/1.8 'DM Sans',system-ui,sans-serif; color: rgba(255,255,255,.68); margin: 19px 0 19px; }
.pa-footer .pa-footer-logo { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; color: white !important; }
.pa-footer .pa-footer-logo img { width: 36px; height: 36px; object-fit: contain; }
.pa-footer .pa-footer-logo > span { font: 700 26px 'Cormorant Garamond',Georgia,serif; color: #fff; white-space: nowrap; }
.pa-footer .pa-footer-logo > span span { color: #deb458; }
.pa-footer .footer-email { font: 500 13px/1.5 'DM Sans',sans-serif; color: #fff; text-decoration: none; border-bottom: 1px solid #bdad7d; padding-bottom: 5px; }
.pa-footer .pa-footer-col h5 { color: white !important; font: 600 12px 'DM Sans',sans-serif !important; letter-spacing: .09em; text-transform: uppercase; margin: 8px 0 20px; }
.pa-footer .pa-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pa-footer .pa-footer-col li { list-style: none; padding: 0; margin: 0; }
.pa-footer .pa-footer-col a { text-decoration: none; font: 400 13.5px/1.55 'DM Sans',sans-serif; color: rgba(255,255,255,.71) !important; }
.pa-footer .pa-footer-col a:hover, .pa-footer .footer-email:hover { color: white !important; }
.pa-footer .pa-footer-bottom { display: flex; justify-content: space-between; gap: 20px; align-items: center; border-top: 1px solid rgba(255,255,255,.17); padding: 21px 0 28px; color: rgba(255,255,255,.53); font: 400 12px 'DM Sans',sans-serif; }
/* Mobile drawer, keyboard and reduced-motion compatibility */
.mobile-overlay { pointer-events: none; }
.mobile-overlay.visible { pointer-events: auto; }
.mobile-drawer[aria-hidden=true] { visibility: hidden; }
.mobile-drawer[aria-hidden=false] { visibility: visible; }
.mobile-drawer .drawer-head { min-height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; }
.mobile-drawer .drawer-brand { color: var(--pa-green); font: 700 23px 'Cormorant Garamond',Georgia,serif; }
.mobile-drawer .drawer-brand span { color: var(--pa-gold); }
.mobile-drawer .drawer-nav { margin: 0; padding: 0; list-style: none; }
.mobile-drawer .drawer-nav li a { text-decoration: none; min-height: 49px; }
.mobile-drawer .drawer-cta a { text-decoration: none; }
.back-to-top { z-index: 65; }
@media (max-width: 1040px) {
 .site-header .site-nav { gap: 15px; }
 .site-header .site-nav a { font-size: 12.5px !important; }
}
@media (max-width: 900px) {
 .site-header nav { display: none !important; }
 .site-header .hamburger { display: flex !important; }
 .pa-footer .pa-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
 .site-header { height: 68px !important; }
 .pa-footer .pa-footer-wrap { padding-top: 50px; }
 .pa-footer .pa-footer-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 34px 20px; padding-bottom: 42px; }
 .pa-footer .pa-footer-brand { grid-column: 1 / -1; }
 .pa-footer .pa-footer-bottom { display: block; line-height: 2; }
 .pa-footer .pa-footer-bottom > span { display: block; }
 .site-header .logo-text, .site-header .logo-text span { font-size: 23px; }
}
@media (max-width: 360px) {
 .pa-footer .pa-footer-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto !important; }
 *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Utility states shared by pages and admin panel */
.pa-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pa-delete-form { display: inline-flex; margin: 0; }
.pa-delete-button { border: 1px solid #f3caca; border-radius: 5px; background: #fff5f5; color: #a12222; cursor: pointer; padding: 7px 11px; font: inherit; }
.pa-delete-button:hover { background: #fde0e0; }
.team-empty { font: 400 16px/1.8 'DM Sans',sans-serif; margin: 24px 0 50px; color: #555; }
.team-empty a { color: #105c3e; text-decoration: underline; }

/* Consistent sticky-header offsets */
:root { --header-h: 74px; }
.page-hero { margin-top: 74px !important; }
@media (max-width: 600px) { :root { --header-h: 68px; } .page-hero { margin-top: 68px !important; } }

body > .hero, .hero { scroll-margin-top: 74px; }

.hero { padding-top: 74px !important; }
@media (max-width: 600px) { .hero { padding-top: 68px !important; } }
