/* Shared across every page: accessibility, mobile menu, footer, direct contact line. */
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:#00B6D6;color:#04161B;padding:10px 16px;border-radius:999px;font:500 14px 'Geist',system-ui,sans-serif;transition:top .3s}
.skip:focus{top:16px}
:focus-visible{outline:2px solid #00B6D6;outline-offset:3px;border-radius:4px}
::selection{background:#00B6D6;color:#04161B}

/* mobile menu */
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;align-items:center;justify-content:center;cursor:pointer;padding:0}
.menu-btn path{transition:transform .5s cubic-bezier(.16,1,.3,1);transform-origin:9px 9px}
.menu-open .menu-btn .l1{transform:translateY(3px) rotate(45deg)}
.menu-open .menu-btn .l2{transform:translateY(-3px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:45;background:#0A0E13;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:120px clamp(20px,4vw,64px) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .8s cubic-bezier(.76,0,.24,1);visibility:hidden}
.menu-open .mnav{clip-path:inset(0 0 0 0);visibility:visible}
.mnav nav{display:flex;flex-direction:column}
.mnav nav a{font:500 clamp(40px,11vw,64px)/1.08 'Geist',system-ui,sans-serif;letter-spacing:-.045em;padding:6px 0;opacity:0;transform:translateY(24px);transition:opacity .6s,transform .8s cubic-bezier(.16,1,.3,1),color .3s}
.mnav nav a:hover{color:#00B6D6}
.menu-open .mnav nav a{opacity:1;transform:none}
.menu-open .mnav nav a:nth-child(2){transition-delay:.05s}.menu-open .mnav nav a:nth-child(3){transition-delay:.1s}
.menu-open .mnav nav a:nth-child(4){transition-delay:.15s}.menu-open .mnav nav a:nth-child(5){transition-delay:.2s}
.mnav-foot{display:flex;flex-direction:column;gap:8px;font:400 15px 'Geist',system-ui,sans-serif;color:rgba(255,255,255,.6)}
.menu-open{overflow:hidden}
.menu-open .hdr{transform:none!important;background:transparent!important;backdrop-filter:none!important}
@media (max-width:760px){.menu-btn{display:inline-flex}}

/* footer */
.site-foot{background:#0A0E13;color:rgba(255,255,255,.6);font-size:15px;border-top:1px solid rgba(255,255,255,.14)}
.site-foot .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-top:72px;padding-bottom:56px}
.site-foot .logo{display:flex;align-items:center;gap:12px;color:#fff}
.site-foot .logo b{font-weight:600;font-size:17px;display:block;line-height:1.2}
.site-foot .logo small{display:block;font-size:11px;opacity:.6;letter-spacing:.04em}
.site-foot .fbrand p{margin-top:22px;line-height:1.6;font-size:14px}
.site-foot h5{font-size:13px;font-weight:500;color:#fff;margin-bottom:18px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin-bottom:10px}
.site-foot a:hover{color:#fff}
.site-foot .big{font-size:clamp(64px,15vw,240px);font-weight:600;letter-spacing:-.06em;line-height:.8;color:rgba(255,255,255,.06);padding:0 clamp(20px,4vw,64px) 10px;max-width:1440px;margin:0 auto;white-space:nowrap;overflow:hidden}
.site-foot .bot{display:flex;justify-content:space-between;padding:24px clamp(20px,4vw,64px);max-width:1440px;margin:0 auto;border-top:1px solid rgba(255,255,255,.14);font-size:13px;gap:20px;flex-wrap:wrap}
@media (max-width:1024px){.site-foot .fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.site-foot .fgrid{grid-template-columns:1fr}}

/* direct contact line under calls to action */
.direct{display:flex;justify-content:center;gap:12px 32px;margin-top:40px;font-size:15px;color:#5E6873;flex-wrap:wrap}
.direct a:hover{color:#0094B0}

/* About sub-menu (desktop) */
.has-sub{position:relative;display:inline-flex}
.has-sub .sub{position:absolute;top:calc(100% + 6px);left:50%;min-width:230px;padding:8px;border-radius:14px;background:rgba(10,14,19,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.35);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .3s,transform .45s cubic-bezier(.16,1,.3,1),visibility .3s;z-index:60}
.has-sub .sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.has-sub .sub a{padding:10px 14px;border-radius:8px;font-size:14px;color:rgba(255,255,255,.8);white-space:nowrap;transition:background .2s,color .2s}
.has-sub .sub a:hover{background:rgba(255,255,255,.07);color:#fff}
/* About sub-links (mobile menu) */
.mnav .msub{display:flex;flex-wrap:wrap;gap:6px 18px;margin:2px 0 14px;font:400 15px 'Geist',system-ui,sans-serif;opacity:0;transition:opacity .6s .2s}
.mnav nav .msub a{font:400 15px/1.4 'Geist',system-ui,sans-serif;letter-spacing:0;color:rgba(255,255,255,.6);padding:4px 0;opacity:1;transform:none;transition:color .3s}
.mnav nav .msub a:hover{color:#00B6D6}
.menu-open .mnav .msub{opacity:1}
/* anchors land below the fixed header when smooth scrolling is off */
section[id]{scroll-margin-top:84px}
