.site-header{position:relative;z-index:10;min-height:76px;padding:18px clamp(24px,4.7vw,86px);display:flex;align-items:center;justify-content:space-between;gap:32px;background:#0c1115;border-bottom:1px solid rgba(255,255,255,0.12)}
.site-brand{display:inline-flex;align-items:baseline;gap:7px;color:#FFFFFF;text-decoration:none;font-size:17px;font-weight:700;letter-spacing:.16em;white-space:nowrap}
.site-navigation{display:flex;align-items:center;gap:clamp(17px,2vw,32px)}
.site-navigation a,.site-footer a{color:rgba(255,255,255,0.72);text-decoration:none;transition:color .2s}
.site-navigation a{font-size:14px;line-height:1.5}
.site-navigation a:hover,.site-footer a:hover{color:var(--brand-primary)}
.site-navigation a:not(.site-navigation-demo)[aria-current="page"]{color:var(--brand-primary);border-bottom:1px solid var(--brand-primary);padding:5px 0}
.site-header a:focus-visible,.site-footer a:focus-visible,.site-menu-toggle:focus-visible{outline:2px solid var(--brand-primary);outline-offset:6px}
.site-menu-toggle{display:none;width:40px;height:40px;background:none;border:1px solid rgba(255,255,255,0.12);padding:11px 9px;cursor:pointer}
.site-menu-toggle span{display:block;height:1px;background:#FFFFFF;margin:5px 0}
.site-footer{background:#0c1115;color:#FFFFFF;padding:66px clamp(24px,4.7vw,86px) 28px;border-top:1px solid rgba(255,255,255,0.12)}
.site-footer-main{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:56px}

.site-footer-brand p{font-size:17px;line-height:1.5;letter-spacing:-.015em;color:rgba(255,255,255,0.72);margin:23px 0 0}
.site-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 35px;align-content:start}
.site-footer-links a{font-size:14px;line-height:1.5}
.site-footer-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;line-height:1.5;color:rgba(255,255,255,0.72)}
.site-footer-bottom nav{display:flex;gap:28px}
@media(max-width:980px){.site-header{min-height:68px;padding-top:14px;padding-bottom:14px}.site-menu-toggle{display:block}.site-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:25px clamp(24px,4.7vw,86px) 30px;background:#0c1115;border-bottom:1px solid rgba(255,255,255,0.12);flex-direction:column;align-items:flex-start;gap:19px}.site-header.is-menu-open .site-navigation{display:flex}.site-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.site-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}.site-footer-main{grid-template-columns:1fr 1fr;gap:35px}.site-footer-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-header{padding-left:21px;padding-right:21px;min-height:64px}.site-brand{font-size:15px}.site-navigation{padding-left:21px;padding-right:21px}.site-footer{padding:48px 21px 24px}.site-footer-main{grid-template-columns:1fr;gap:38px;padding-bottom:40px}.site-footer-brand p{font-size:16px;margin-top:19px}.site-footer-links{gap:21px 30px}.site-footer-bottom{align-items:flex-start;flex-direction:column;gap:18px;padding-top:22px}.site-footer-bottom nav{gap:24px}}
@media(prefers-reduced-motion:reduce){.site-navigation a,.site-footer a{transition:none}}

/* Header-only official logo. Intrinsic transparent margins stay in the PNG;
   a 40px visual mark uses an 80px image box, without altering the header height. */
.site-header .site-brand{position:relative;display:block;flex:0 0 148px;width:148px;height:40px;padding:0;margin:0;gap:0;font-size:0;line-height:0;letter-spacing:0}
.site-header .site-brand img{position:absolute;left:50%;top:50%;display:block;width:auto;max-width:100%;height:80px;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:980px){.site-header .site-brand{flex-basis:126px;width:126px;height:34px}.site-header .site-brand img{height:68px}}

/* The footer reuses the original transparent header logo; visible height 48px. */
.site-footer .site-brand{position:relative;display:block;width:178px;height:48px;padding:0;margin:0;gap:0;font-size:0;line-height:0;letter-spacing:0}
.site-footer .site-brand img{position:absolute;left:50%;top:50%;display:block;width:auto;max-width:100%;height:96px;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:600px){.site-footer .site-brand{width:148px;height:40px}.site-footer .site-brand img{height:80px}}

/* Global primary demo CTA; independent from the navigation active state. */
.site-navigation a.site-navigation-demo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:12px 18px;background:#CCF47B;color:#0c1115;border:1px solid #CCF47B;border-radius:0;white-space:nowrap;text-decoration:none;transition:opacity .2s}
.site-navigation a.site-navigation-demo:hover{color:#0c1115;opacity:.9}
/* Collapse the longer navigation before it crowds the unchanged logo/header. */
@media(min-width:981px) and (max-width:1400px){
 .site-menu-toggle{display:block}
 .site-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:25px var(--site-gutter) 30px;background:#0c1115;border-bottom:1px solid rgba(255,255,255,.12);flex-direction:column;align-items:flex-start;gap:19px}
 .site-header.is-menu-open .site-navigation{display:flex}
 .site-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
 .site-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
}
@media(max-width:1400px){.site-navigation a.site-navigation-demo{width:100%;margin-top:8px}}
@media(prefers-reduced-motion:reduce){.site-navigation a.site-navigation-demo{transition:none}}

/* Newsletter: independent placeholder slot, replaceable with a CF7 form in WordPress. */
.site-footer .footer-newsletter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:50px;padding:36px 0 48px;border-top:1px solid rgba(255,255,255,.12)}
.site-footer .footer-newsletter-copy h2{margin:0 0 12px;color:#FFFFFF;font:inherit;font-size:30px;font-weight:400;line-height:1.15;letter-spacing:-.035em}
.site-footer .footer-newsletter-copy p{max-width:460px;margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
.site-footer .footer-newsletter-form-slot{min-width:0}
.site-footer .footer-newsletter-placeholder{display:flex;align-items:flex-end;gap:12px;min-width:0}
.site-footer .footer-newsletter-field{flex:1;min-width:0}
.site-footer .footer-newsletter-field label{display:block;margin:0 0 9px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.5}
.site-footer .footer-newsletter-field input{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:14px 16px;background:transparent;border:1px solid rgba(255,255,255,.24);border-radius:0;color:#FFFFFF;font:inherit;font-size:14px;line-height:1.5;box-shadow:none}
.site-footer .footer-newsletter-field input::placeholder{color:rgba(255,255,255,.5);opacity:1}
.site-footer .footer-newsletter-placeholder button{box-sizing:border-box;flex:none;margin:0;padding:14px 24px;border:1px solid #CCF47B;border-radius:0;background:#CCF47B;color:#0c1115;font:inherit;font-size:14px;line-height:1.5;cursor:pointer;box-shadow:none}
.site-footer .footer-newsletter-placeholder button:hover{background:rgba(204,244,123,.9)}
.site-footer .footer-newsletter-placeholder input:focus-visible,.site-footer .footer-newsletter-placeholder button:focus-visible{outline:2px solid #CCF47B;outline-offset:4px}
@media(max-width:980px){.site-footer .footer-newsletter{gap:35px}}
@media(max-width:600px){.site-footer .footer-newsletter{grid-template-columns:1fr;gap:26px;padding:32px 0 36px}.site-footer .footer-newsletter-placeholder{flex-direction:column;align-items:stretch;gap:14px}.site-footer .footer-newsletter-field{width:100%}.site-footer .footer-newsletter-placeholder button{align-self:flex-start}}
