/* Shared identity and controls for every public page. */
.site-brand{display:inline-flex;align-items:center;flex-shrink:0;gap:12px;color:#f2f3f3;text-decoration:none;white-space:nowrap}
.site-brand:hover{color:#f2f3f3}
.site-brand img{display:block;width:36px;height:36px;flex-shrink:0}
.site-brand span{font:800 22px/1.2 Archivo,system-ui,sans-serif;letter-spacing:-.02em}
.site-brand:focus-visible{outline:3px solid #65d2e9;outline-offset:5px;border-radius:4px}
.site-header{max-width:1360px;margin:0 auto;padding:24px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.site-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.site-nav>a:not(.button){color:#f2f3f3;text-decoration:none;padding:12px 16px;font-size:15px}
.site-nav>a:not(.button):hover{color:#65d2e9}
.site-footer-brand{flex-basis:100%;margin-bottom:12px}
.simple-header{border-bottom:1px solid #ffffff14}
.simple-footer{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:32px 24px;color:#b7bec3;font-size:13px}
.lab-brand-mark{display:block;width:48px;height:48px;margin-bottom:25px}

.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;max-width:100%;padding:14px 24px;border:1px solid transparent;border-radius:15px;font:700 15px/22px Archivo,system-ui,sans-serif;text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;--button-base:#327e91;--button-drop:4px;--button-shadow:#04171f80;box-shadow:inset 0 1px 0 #ffffff70,0 var(--button-drop) 0 var(--button-base),0 10px 24px var(--button-shadow);transition:transform .18s,box-shadow .18s,filter .18s}
.button.cyan{background:linear-gradient(180deg,#a1e8f5 0%,#73d7eb 45%,#54c7e1 100%);border-color:#a5e8f3a6;color:#09242b}
.button.outline{background:linear-gradient(180deg,#65d2e92b,#65d2e910 55%,#65d2e91f);border-color:#9de1ec5c;color:#b4eef7;backdrop-filter:blur(14px);--button-base:#172b31;--button-drop:2px;--button-shadow:#0005}
.button:focus-visible{outline:3px solid #65d2e9;outline-offset:5px}
@media(hover:hover){.button:hover{transform:translateY(-2px);filter:brightness(1.06)}}
.button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff38,0 1px 0 var(--button-base),0 4px 10px #0004}
.button:disabled,.button[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none;filter:none}
summary.button{list-style:none}
summary.button::-webkit-details-marker{display:none}
.contact-button{width:100%}
.lab-button{margin-top:26px}
.case-story-entry .button{flex-shrink:0}
.takeaway .button{margin-top:15px}
.nav.site-header{height:auto;min-height:104px;padding:24px 0}
.mobile-menu summary.button{gap:0}
.mobile-menu[open]>div{top:calc(100% + 12px);left:0;right:auto}

@media(max-width:800px){.site-header{padding:20px 24px}.nav.site-header{padding:20px 0}}
@media(max-width:600px){
  .button{min-height:48px;padding:12px 18px;font-size:13px;line-height:22px;gap:16px}
  .site-header{padding:20px 18px;gap:12px}
  .site-header>.site-brand{gap:8px}
  .site-brand img{width:32px;height:32px}
  .site-brand span{font-size:20px}
  .site-nav{gap:8px}
  .site-nav>a:not(.button){display:none}
  .nav.site-header{min-height:88px;padding:20px 0}
  .lab-brand-mark{width:40px;height:40px;margin-bottom:24px}
  .lab-button{margin-top:20px}
  .simple-footer{align-items:flex-start;flex-direction:column;padding:24px 18px}
}
@media(max-width:420px){.site-header .site-nav{flex-basis:100%;justify-content:space-between}.site-header .site-nav .nav-cta{flex:1}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover,.button:active{transform:none}}
