/* Shared site header and footer. Identical on every page so nothing shifts as you move around.
   Self-contained: uses literal brand colours so it works with each page's own stylesheet. */
html{scrollbar-gutter:stable;scroll-padding-top:88px}
.site-head,.site-head *,.site-foot,.site-foot *{box-sizing:border-box}
.site-head{position:sticky;top:0;z-index:100;background:#002C24;color:#F0F0F0;border-bottom:1px solid rgba(255,255,255,.08);font-family:"Inter","Helvetica Neue",Arial,system-ui,sans-serif;line-height:1.4}
.site-wrap{box-sizing:border-box;max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.site-head .site-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:72px}
.site-logo{display:block;flex:none;line-height:0}
.site-logo img{display:block;height:26px;width:auto;max-width:none}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(16px,1.8vw,26px)}
.site-nav a,.site-menu a{color:#F0F0F0;text-decoration:none;font-size:.95rem;font-weight:500;white-space:nowrap}
.site-nav a{opacity:.85}
.site-nav a:hover,.site-nav a[aria-current]{opacity:1;color:#45F2B0}
.site-cta{flex:none;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 1.15em;border-radius:999px;background:#45F2B0;color:#002C24;font-weight:600;font-size:.92rem;text-decoration:none;white-space:nowrap;transition:transform .15s}
.site-cta:hover{transform:translateY(-2px)}
.site-menu{display:none;position:relative}
.site-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;height:42px;padding:0 1.1em;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-weight:600;font-size:.95rem;color:#F0F0F0;user-select:none}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary::after{content:"";width:8px;height:8px;margin-left:.6em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.site-menu[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.site-menu nav{position:absolute;right:0;top:calc(100% + 12px);display:grid;gap:4px;min-width:230px;padding:12px;background:#0A3B31;border-radius:18px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.site-menu nav a{display:block;padding:10px 12px;border-radius:10px}
.site-menu nav a:hover,.site-menu nav a[aria-current]{background:rgba(255,255,255,.06);color:#45F2B0}
.site-menu nav a.go{margin-top:6px;background:#45F2B0;color:#002C24;text-align:center;font-weight:600}
.site-head :focus-visible,.site-foot :focus-visible{outline:3px solid #657CFF;outline-offset:3px;border-radius:6px}
@media (max-width:1140px){.site-nav{display:none}.site-menu{display:block}}
@media (max-width:420px){.site-head .site-cta{display:none}}

.site-foot{background:#0A3B31;color:rgba(240,240,240,.75);padding-block:38px;font-family:"Inter","Helvetica Neue",Arial,system-ui,sans-serif;font-size:.9rem;line-height:1.6}
.site-foot .site-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.site-foot img{display:block;height:20px;width:auto;max-width:none}
.site-foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.site-foot a{color:inherit;text-decoration:none}
.site-foot a:hover{color:#45F2B0}
.site-foot p{margin:0}
