/* Ekuya shared primary navigation (Contact, Terms, Privacy) */
.eku-site-header, .eku-site-header * { box-sizing:border-box; }
.eku-site-header {
  position:sticky; top:0; z-index:100; height:76px; width:100%;
  background:rgba(255,255,255,.97); border-bottom:1px solid #eaf0ec;
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  color:#11171c; font-family:'DM Sans',Arial,sans-serif;
}
.eku-header-inner { display:flex; align-items:center; gap:34px; height:100%; width:min(1240px, calc(100% - 80px)); margin-inline:auto; }
.eku-header-brand { display:inline-flex; align-items:center; flex-shrink:0; line-height:1; }
.eku-header-brand img { width:153px; height:auto; display:block; }
.eku-desktop-links { display:flex; align-items:center; gap:36px; margin-left:18px; }
.eku-desktop-links a { color:#11171c; text-decoration:none; font-size:14px; font-weight:800; line-height:1.2; padding:12px 0; }
.eku-desktop-links a:hover { color:#078b48; }
.eku-header-actions { display:flex; align-items:center; gap:11px; margin-left:auto; }
.eku-header-login, .eku-header-primary { min-height:45px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; padding:10px 19px; font-size:13px; font-weight:800; line-height:1.2; text-decoration:none; white-space:nowrap; transition:background .2s, box-shadow .2s, transform .2s; }
.eku-header-login { color:#11171c; border:1px solid #e3ece7; background:#fff; }
.eku-header-login:hover { background:#f6faf8; }
.eku-header-primary { color:#fff; border:1px solid #078b48; background:linear-gradient(140deg,#06aa5b,#047a41); box-shadow:0 9px 20px rgba(5,129,67,.15); }
.eku-header-primary:hover { background:#066f3b; box-shadow:0 10px 22px rgba(5,129,67,.2); }
.eku-site-header a:focus-visible, .eku-header-toggle:focus-visible { outline:3px solid #20b977; outline-offset:3px; border-radius:8px; }
.eku-header-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; padding:0; background:#fff; border:1px solid #dfe9e3; border-radius:12px; color:#173b2e; cursor:pointer; }
.eku-header-toggle svg { display:block; width:23px; height:23px; stroke:currentColor; stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.eku-icon-close { display:none; }
.eku-header-toggle[aria-expanded="true"] .eku-icon-bars { display:none; }
.eku-header-toggle[aria-expanded="true"] .eku-icon-close { display:block; }
.eku-mobile-menu { display:none; position:absolute; left:0; right:0; top:100%; z-index:101; padding:12px max(19px,calc((100vw - 1240px)/2)) 19px; background:#fff; border-bottom:1px solid #e3ece7; box-shadow:0 20px 32px rgba(20,69,44,.09); }
.eku-mobile-menu[hidden] { display:none !important; }
.eku-mobile-menu a { display:block; padding:13px 12px; color:#15271e; font-size:14px; font-weight:750; text-decoration:none; border-radius:9px; }
.eku-mobile-menu a + a { border-top:1px solid #f0f5f2; }
.eku-mobile-menu a:hover, .eku-mobile-menu a:focus-visible { background:#e9fff1; color:#087741; }
.eku-site-header .read-progress { position:absolute; left:0; bottom:-1px; width:100%; height:2px; pointer-events:none; background:transparent; }
.eku-site-header .read-progress span { display:block; width:0; height:100%; background:#078b48; }
@media (max-width:1080px) {
  .eku-header-inner { width:calc(100% - 56px); gap:22px; }
  .eku-desktop-links { gap:24px; margin-left:0; }
}
@media (max-width:760px) {
  .eku-site-header { height:66px; }
  .eku-header-inner { width:calc(100% - 38px); gap:12px; }
  .eku-header-brand img { width:130px; }
  .eku-desktop-links, .eku-header-login { display:none; }
  .eku-header-actions { gap:8px; }
  .eku-header-primary { min-height:40px; padding:9px 13px; font-size:12px; }
  .eku-header-toggle { display:inline-flex; }
  .eku-mobile-menu:not([hidden]) { display:grid; }
}
@media (max-width:420px) {
  .eku-header-inner { width:calc(100% - 30px); }
  .eku-header-brand img { width:121px; }
  .eku-header-primary { padding-inline:11px; }
  .eku-header-toggle { flex-basis:42px; width:42px; height:42px; }
}
@media (prefers-reduced-motion:reduce) {
  .eku-header-login, .eku-header-primary { transition:none; }
}


/* Ekuya shared footer: same typography, alignment and links on every public page. */
.eku-footer, .eku-footer * { box-sizing: border-box; }
.eku-footer {
  position:relative; width:100%; background:#f8fcf9;
  border-top:1px solid #e6eee9; color:#152b21;
  font: 14px/1.55 'DM Sans',Arial,sans-serif;
}
.eku-footer-inner {
  width:min(1240px, calc(100% - 80px)); margin:auto;
  padding:35px 0 31px; display:flex; justify-content:space-between;
  align-items:center; gap:34px;
}
.eku-footer-identity { min-width:0; }
.eku-footer-identity .eku-footer-brand { display:inline-flex; align-items:center; }
.eku-footer-brand img { display:block; width:126px; height:auto; }
.eku-footer-tagline { color:#52665d; margin:7px 0 6px; max-width:500px; }
.eku-footer-copy { color:#768780; font-size:12px; margin:0; }
.eku-footer-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:9px 23px; }
.eku-footer-nav a { color:#284437; font-size:13px; font-weight:750; text-decoration:none; padding:8px 0; white-space:nowrap; }
.eku-footer-nav a:hover { color:#078b48; }
.eku-footer-nav a[aria-current="page"] { color:#078b48; }
.eku-footer-nav a:focus-visible { outline:3px solid #20b977; outline-offset:3px; border-radius:5px; }
@media(max-width:1080px) { .eku-footer-inner { width:calc(100% - 56px); } }
@media(max-width:760px) {
  .eku-footer-inner { width:calc(100% - 38px); flex-direction:column; align-items:flex-start; gap:16px; padding:27px 0 24px; }
  .eku-footer-nav { justify-content:flex-start; gap:0 21px; }
}
@media(max-width:420px) { .eku-footer-inner { width:calc(100% - 30px); } }

.eku-desktop-links a[aria-current="page"],.eku-mobile-menu a[aria-current="page"] { color:#087e46; }
