/* base.css — the shared HEADER and FOOTER only.
   Taken from the homepage, so header and footer match on every page.
   Edit here to change them everywhere at once.

   Page typography, :root tokens, .wrap and everything else live in
   each page's own stylesheet, NOT here. */

header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:.02em;color:var(--white)}
.logo .mark{width:27px;height:27px;border-radius:7px;background:linear-gradient(135deg,var(--green-bright),var(--green-deep));position:relative;transform:rotate(8deg)}
.logo .mark::after{content:"";position:absolute;inset:6px;border:2px solid #fff;border-radius:3px}
.nav-links{display:flex;gap:8px;align-items:center}
.nav-links a{font-size:15px;font-weight:500;color:#3E453F;position:relative;padding:10px 12px}
.nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:right;transition:transform .28s cubic-bezier(.4,0,.2,1)}
.nav-links a:hover{color:var(--green-deep)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{display:flex;align-items:center;gap:14px}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px}
.burger span{display:block;width:20px;height:2px;background:#12181A;margin:4px auto}
footer{background:var(--ink-soft);color:#cdd3d6;padding:66px 0 30px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
footer h5{font-family:var(--disp);color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
footer .flink{display:block;color:#9aa29e;font-size:14px;padding:6px 0}
footer .flink:hover{color:var(--green-bright)}
footer .tag{color:#9aa29e;font-size:14px;max-width:30ch;margin:16px 0}
.cav-foot{font-family:var(--disp);font-weight:700;color:#fff;letter-spacing:.04em}
.cav-foot b{color:var(--green-bright)}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:40px;height:40px;border-radius:50%;border:1px solid #2c3338;display:grid;place-items:center;color:#9aa29e;transition:.18s}
.socials a:hover{border-color:var(--green-bright);color:var(--green-bright)}
.fbot{border-top:1px solid #242a2e;margin-top:46px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#80888d}
@media(max-width:900px){.nav-links,.nav-cta .btn-ghost{display:none}.burger{display:block}}
.nav-links .ca{font-size:9px;opacity:.6;margin-left:4px}
.logo-img{height:34px;width:auto;display:block}
.logo-plate{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:8px 12px;line-height:0}
.logo-plate .logo-img{height:26px}
@media(max-width:480px){.logo-img{height:26px}.logo-plate{padding:6px 10px}.logo-plate .logo-img{height:20px}}
.logo{gap:0!important}
.logo-img{height:42px!important;width:auto!important;max-width:205px!important;object-fit:contain!important}
.logo-plate{background:transparent!important;padding:0!important}
@media(max-width:480px){.logo-img{height:30px!important;max-width:150px!important}}
.nav-cta .btn-primary{
  background:#fff!important;
  color:var(--green-deep)!important;
  border:1.5px solid var(--green)!important;
  box-shadow:none!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
.nav-cta .btn-primary:hover{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(46,145,104,.22)!important;
}
@media(max-width:900px){.nav-links a{display:block;width:100%;padding:14px 16px!important;border-bottom:1px solid var(--line);font-size:16px}.nav-links a:last-child{border-bottom:0}.nav-links{max-height:calc(100vh - 70px);overflow-y:auto}}
.socials a svg{width:18px;height:18px;display:block}
@media (max-width:900px){.nav{position:relative;z-index:50}.nav-in{min-height:68px;padding-left:18px!important;padding-right:18px!important}.logo-img{max-width:140px;height:auto}.nav-cta{gap:10px;min-width:0}.nav-cta .btn{white-space:nowrap}}
@media (max-width:640px){.nav-in{min-height:64px}.nav-cta .btn{display:none!important}.burger{display:flex!important}.nav-links{left:0;right:0;width:100%;max-width:100%;overflow-x:hidden}}
footer{width:100%;overflow:hidden}
@media (max-width:900px){footer .fgrid{grid-template-columns:1.4fr 1fr 1fr!important;gap:28px!important}footer .tag{max-width:48ch}}
@media (max-width:680px){footer .fgrid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important}footer .fgrid>div:first-child{grid-column:1 / -1}footer .fbot{display:flex!important;flex-direction:column!important;gap:10px!important;align-items:flex-start!important}footer .socials{display:flex!important;flex-wrap:wrap!important;gap:10px!important}footer .socials a{width:54px!important;height:54px!important;display:flex!important;align-items:center!important;justify-content:center!important}footer .socials a svg{width:19px!important;height:19px!important}}
@media (max-width:420px){footer .fgrid{grid-template-columns:1fr!important}footer .fgrid>div:first-child{grid-column:auto}footer .socials a{width:50px!important;height:50px!important}}
header.nav.nav-open .nav-links{display:flex!important;position:absolute;left:0;right:0;top:100%;margin:0;padding:14px 20px 18px;flex-direction:column;gap:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 12px 28px rgba(10,14,12,.10);z-index:55}
header.nav.nav-open .nav-links a{padding:12px 0;font-size:15px;border-bottom:1px solid var(--line)}
header.nav.nav-open .nav-links a:last-child{border-bottom:0}
@media(max-width:900px){header.nav.nav-open .nav-links{display:flex!important}}
header.nav .logo .logo-img{height:34px!important;width:auto!important;max-width:170px!important;object-fit:contain!important}
footer .logo-plate{background:transparent!important;padding:0!important;display:inline-flex!important;align-items:center!important}
footer .logo-plate .logo-img{height:26px!important;width:auto!important;max-width:150px!important;object-fit:contain!important}
header.nav .nav-links a{font-size:15px!important}
footer, footer *, footer a, footer p, footer li, footer span, footer small, footer strong, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer .tag, footer .tag2, footer .cav-foot, footer .footer-logo-text, footer .footer-note { font-family:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif !important; }
footer h4, footer h5 { font-weight:700 !important; }
footer .tag, footer .tag2, footer p, footer li, footer a { font-weight:400; }
footer .cav-foot { font-weight:700 !important; }
@media (max-width:900px){header.nav .wrap.nav-in{height:64px!important;min-height:64px!important;padding:0 16px!important;}header.nav .logo .logo-img{height:30px!important;max-width:145px!important;}header.nav .nav-cta{gap:4px!important;}header.nav .nav-cta .samplrr-hdr-cta{display:none!important;}header.nav .burger{display:block!important;width:44px!important;height:44px!important;flex:0 0 44px!important;padding:0!important;}header.nav.nav-open .nav-links,header.nav-open .nav-links{top:64px!important;padding:8px 16px 14px!important;}header.nav.nav-open .nav-links a,header.nav-open .nav-links a{min-height:48px!important;display:flex!important;align-items:center!important;}}
@media (max-width:760px){footer{padding:52px 0 26px!important;}footer .wrap{padding:0 20px!important;}footer .fgrid{grid-template-columns:1fr!important;gap:24px!important;}footer .fbot{margin-top:34px!important;padding-top:20px!important;align-items:flex-start!important;}}
@media (max-width:480px){footer .logo-plate{max-width:180px!important;}footer .socials a{width:38px!important;height:38px!important;min-width:38px!important;}}
@media(max-width:900px){.nav-links{display:none!important}.burger{display:inline-flex!important;align-items:center;justify-content:center}.nav-in{gap:12px}.nav-cta{margin-left:auto}}
@media(max-width:760px){.fgrid{gap:28px!important}.fbot{flex-direction:column!important;gap:10px!important;align-items:flex-start!important}}
@media(max-width:480px){.nav-in{padding-inline:0!important}}
header.nav{position:sticky!important;top:0!important;z-index:100!important;background:rgba(255,255,255,.85)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border-bottom:1px solid rgba(10,14,12,.10)!important;box-shadow:none!important}
header.nav .wrap.nav-in{height:72px!important;min-height:72px!important;padding:0 24px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:0!important;max-width:1200px!important;margin:0 auto!important;flex-wrap:nowrap!important}
header.nav .logo{flex:0 0 auto!important;min-width:0!important;width:auto!important;max-width:none!important}
header.nav .logo .logo-img{height:34px!important;width:auto!important;max-width:170px!important;object-fit:contain!important}
header.nav .nav-links{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 1 auto!important;gap:6px!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
header.nav .nav-links a{font-size:14px!important;font-weight:600!important;color:#0A0E0C!important;text-decoration:none!important;white-space:nowrap!important;padding:8px 9px!important}
header.nav .nav-cta{display:flex!important;align-items:center!important;gap:14px!important;flex:0 0 auto!important}
@media(max-width:1080px){header.nav .nav-links a{padding:8px 7px!important;font-size:13px!important}}
@media(max-width:900px){header.nav .nav-links{display:none!important}}
header.nav.nav-open .nav-links,header.nav-open .nav-links{display:flex!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;margin:0!important;padding:14px 20px 18px!important;flex-direction:column!important;gap:0!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid rgba(10,14,12,.10)!important;box-shadow:0 12px 28px rgba(10,14,12,.10)!important;z-index:55!important}
header.nav.nav-open .nav-links a,header.nav-open .nav-links a{padding:12px 0!important;font-size:15px!important;border-bottom:1px solid rgba(10,14,12,.10)!important;white-space:normal!important}
header.nav.nav-open .nav-links a:last-child,header.nav-open .nav-links a:last-child{border-bottom:0!important}
footer{background:#060907!important;color:#cdd3d6!important;padding:66px 0 30px!important;width:100%!important;overflow:hidden!important;position:static!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;font-size:inherit!important}
footer .wrap{max-width:1200px!important;margin:0 auto!important;padding:0 24px!important}
footer .fgrid{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr!important;gap:36px!important;align-items:start!important}
footer h5{font-family:var(--disp),'Poppins',sans-serif!important;color:#fff!important;font-size:14px!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-bottom:16px!important}
footer .tag{color:#9aa29e!important;font-size:14px!important;max-width:38ch!important;margin:16px 0!important}
footer .cav-foot{font-family:var(--disp),'Poppins',sans-serif!important;font-weight:700!important;color:#fff!important;letter-spacing:.04em!important}
footer .flink{display:block!important;color:#9aa29e!important;font-size:14px!important;padding:6px 0!important;text-decoration:none!important}
footer .flink:hover{color:#fff!important}
footer .socials{display:flex!important;gap:10px!important;margin-top:16px!important}
footer .socials a{width:40px!important;height:40px!important;min-width:40px!important;border-radius:50%!important;border:1px solid #2c3338!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#9aa29e!important;text-decoration:none!important;background:transparent!important}
footer .logo-plate{display:inline-flex!important;align-items:center!important;background:#fff!important;border-radius:8px!important;padding:8px 12px!important;line-height:0!important}
footer .fbot{border-top:1px solid #242a2e!important;margin-top:46px!important;padding-top:24px!important;display:flex!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px!important;font-size:13px!important;color:#80888d!important}
@media(max-width:1024px){footer .fgrid{grid-template-columns:1.4fr 1fr 1fr!important;gap:28px!important}}
@media(max-width:760px){footer .fgrid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important}}
@media(max-width:480px){footer .fgrid{grid-template-columns:1fr!important}footer .fbot{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}}

/* ---------------------------------------------------------------
   Header "Get in touch" button.
   Was an inline style="..." on the <a> plus a JS hover handler.
   Selector is deliberately specific so it outranks each page's own
   `body .btn.btn-primary` rule.
   --------------------------------------------------------------- */
header.nav .nav-cta .btn.btn-primary.samplrr-hdr-cta{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
  box-shadow:none!important;
  white-space:nowrap;
  padding:11px 21px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  min-height:auto;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
header.nav .nav-cta .btn.btn-primary.samplrr-hdr-cta:hover,
header.nav .nav-cta .btn.btn-primary.samplrr-hdr-cta:focus-visible{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
}

/* ---------------------------------------------------------------
   Form status messages (used by /api/submit.php via site.js)
   --------------------------------------------------------------- */
.form-status{margin-top:14px;font:500 14px/1.5 var(--body);border-radius:10px;padding:12px 14px;display:none}
.form-status.is-visible{display:block}
.form-status.is-ok{background:var(--green-tint);color:var(--green-deep);border:1px solid rgba(46,145,104,.28)}
.form-status.is-error{background:#FDECEC;color:#8A1F1F;border:1px solid rgba(138,31,31,.22)}
.field .field-error{display:block;margin-top:5px;font:500 12.5px/1.4 var(--body);color:#C0392B}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
button[data-busy="1"]{opacity:.6;pointer-events:none}
