/* Gaia Search – accessibility layer (WCAG 2.2 AA). Loaded last on every page. */

/* Skip link */
.a11y-skip{position:absolute;left:1rem;top:-100px;z-index:10000;background:#0f200f;color:#fff;padding:.75rem 1.1rem;border-radius:4px;font-weight:600;text-decoration:none}
.a11y-skip:focus{top:1rem}

/* Visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffbf47!important;outline-offset:2px!important;box-shadow:0 0 0 5px #0f200f!important}

/* Bright-green buttons: dark text instead of white (white on #5bb544 is only 2.6:1) */
.nav-cta,.apply-btn-hero,.cookie-btn-accept,.callout-btn,.btn-green,.a11y-btn-dark{color:#0f200f!important}
.whatsapp-btn,.btn-whatsapp{color:#0b2e17!important}

/* Brand green used as text on light backgrounds: darker accessible shade */
.toc-num,.section-eyebrow,.tag,.value-num,.service-num,.clear-filters{color:#3e7a2e!important}
.list-num{color:#6f956f!important}

/* Footer text on dark green */
.footer-col h4,.footer-col h5{color:#8fd872!important}
.footer-tagline,.footer-brand p,.footer-bottom p,.footer-bottom span{color:rgba(245,245,220,.8)!important}

/* Links inside running text in the footer must not rely on colour alone */
.footer-bottom a:not(.footer-logo),.footer-bottom span a{text-decoration:underline!important;text-underline-offset:2px}

/* Misc low-contrast text */
.stat-item .stat-label{color:#e2eee2}
.badge-hot{color:#9a4507!important}

/* Small in-page contents links: give them a comfortable tap target */
.toc-list a{display:inline-block;min-height:24px;padding:3px 0}

/* Scrollable tables reachable by keyboard */
[data-a11y-scroll]:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}

/* Respect "reduce motion" */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Remaining green buttons with white text */
.btn-primary,.btn-full:not(.secondary):not([style*="dark-green"]),.search-bar > button,.filter-drawer-apply{color:#0f200f!important}
/* Green label on dark section */
.specialisms-inner .section-label{color:#8fd872!important}
/* Policy page hero meta line */
.hero > p{color:rgba(245,245,220,.85)!important}

/* Transparent logo (logo-light.png) – sized for the wider, boxless wordmark */
.nav-logo img,nav .logo img{height:34px!important;width:auto}
.footer-logo img,.footer-brand .logo img{height:30px!important;width:auto}
@media (max-width:600px){.nav-logo img,nav .logo img{height:26px!important}}

/* Stray mobile menus showing on desktop (about/jobs) */
.mobile-menu:not(.open){display:none!important}

/* Shared mobile menu for pages that had none */
.gs-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:10px;margin-left:auto}
.gs-burger span{display:block;height:2px;width:24px;background:#f5f5dc;border-radius:2px;transition:transform .25s,opacity .25s}
html.gs-collapsed .gs-burger{display:flex}
.gs-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.gs-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.gs-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.gs-menu{position:fixed;inset:0;z-index:9000;background:rgba(15,32,15,.98);display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;padding:5rem 1.5rem 2rem}
.gs-menu.open{display:flex}
.gs-menu a{color:#f5f5dc;text-decoration:none;font-family:'DM Sans',sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .8rem}
.gs-menu a:hover{color:#8fd872}
.gs-menu a.gs-cta{background:#5bb544;color:#0f200f;padding:.85rem 2rem;border-radius:2px;margin-top:.6rem}
.gs-menu-close{position:absolute;top:1.1rem;right:1.1rem;width:44px;height:44px;background:none;border:0;color:#f5f5dc;font-size:2rem;line-height:1;cursor:pointer}
body.gs-menu-open{overflow:hidden}

/* Background videos: hide the native play button phones show when autoplay is blocked (e.g. iPhone Low Power Mode) */
video[autoplay]::-webkit-media-controls,
video[autoplay]::-webkit-media-controls-start-playback-button,
video[autoplay]::-webkit-media-controls-overlay-play-button,
video[autoplay]::-webkit-media-controls-panel { display: none !important; -webkit-appearance: none; opacity: 0 !important; }
video[autoplay] { pointer-events: none; background: #1b4a1b; }

/* Mobile polish */
@media (max-width: 900px) {
  .job-tag { font-size: 0.75rem !important; }
  .whatsapp-float { width: 50px !important; height: 50px !important; bottom: 1.25rem !important; right: 1.25rem !important; }
  .whatsapp-float svg { width: 26px !important; height: 26px !important; }
  .job-card { padding-bottom: 2.2rem; }
}
