/* Frosted controls with a pointer-directed Border Glow.
   React Bits attribution and complete license: THIRD_PARTY_NOTICES.md. */
@property --glow-angle{syntax:'<angle>';inherits:true;initial-value:35deg}
@property --glow-strength{syntax:'<number>';inherits:true;initial-value:0}

body.glass-ui .glass-control{
  --glass-ink:#303238;--glass-top:rgb(255 255 255 / .1);--glass-bottom:rgb(255 255 255 / .02);
  --glass-line:rgb(255 255 255 / .5);--glass-shine:rgb(255 255 255 / .12);--glass-glow:#fff;
  --glass-edge:#b3c0cd;--glass-shadow:rgb(30 35 42 / .045);--glass-inset:rgb(255 255 255 / .5);
  position:relative;isolation:isolate;overflow:visible;min-height:44px;padding:10px 16px;
  border:1px solid var(--glass-line);border-radius:12px;color:var(--glass-ink);
  background:radial-gradient(ellipse at var(--glass-x,30%) var(--glass-y,0%),var(--glass-shine),transparent 72%),linear-gradient(145deg,var(--glass-top),var(--glass-bottom));
  -webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);
  box-shadow:inset 0 1px 0 var(--glass-inset),inset 0 -1px 0 rgb(30 35 42 / .055),0 3px 10px var(--glass-shadow);
  text-decoration:none;transform:none;transition:box-shadow .3s,translate .25s,scale .2s,border-color .3s;
}
body.glass-ui .glass-control::before,body.glass-ui .glass-control::after{
  content:'';position:absolute;inset:-1px;width:auto;height:auto;padding:1.5px;border-radius:inherit;pointer-events:none;
  background:conic-gradient(from calc(var(--glow-angle) - 55deg),transparent 0deg,var(--glass-edge) 22deg,var(--glass-glow) 55deg,var(--glass-edge) 84deg,transparent 110deg,transparent 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
  opacity:var(--glow-strength);transition:opacity .3s;transform:none;
}
body.glass-ui .glass-control::after{inset:-4px;padding:4px;filter:blur(5px);opacity:calc(var(--glow-strength)*.55);z-index:-1}
body.glass-ui .glass-control:hover{--glow-strength:.3;translate:0 -1px;box-shadow:inset 0 1px 0 var(--glass-inset),0 5px 16px var(--glass-shadow)}
body.glass-ui .glass-control:active{scale:.97;translate:0 1px;--glow-strength:1}
body.glass-ui .glass-control:focus-visible{outline:2px solid #637889;outline-offset:4px;--glow-strength:.8}
body.glass-ui .glass-control:disabled{opacity:.45;pointer-events:none}

body.glass-ui .glass-dark,body.glass-ui.menu-open .menu-toggle{
  --glass-ink:#f5f6f7;--glass-top:rgb(255 255 255 / .07);--glass-bottom:rgb(255 255 255 / .015);
  --glass-line:rgb(255 255 255 / .22);--glass-shine:rgb(255 255 255 / .06);--glass-inset:rgb(255 255 255 / .21);
  --glass-shadow:rgb(0 0 0 / .17);--glass-edge:#aebbc8;
}
body.glass-ui .glass-primary{padding:12px 22px;font-weight:600;--glass-line:rgb(140 150 160 / .32)}
body.glass-ui .filters .glass-control[aria-pressed="true"],
body.glass-ui .view-switch .glass-control[aria-pressed="true"]{
  --glass-line:rgb(82 96 109 / .55);font-weight:600;
  outline:1px solid rgb(82 96 109 / .25);outline-offset:-3px;
}
body.glass-ui .glass-control[aria-pressed="true"]:focus-visible{outline:2px solid #637889;outline-offset:4px}
body.glass-ui .glass-icon{padding:0}
body.glass-ui .lb-arrow{position:absolute}
body.glass-ui .contact-arrow.glass-control{border-radius:22px}
body.glass-ui .glass-control sup{color:inherit;opacity:.75}
body.glass-ui .glass-control.glass-arrive::before{animation:glass-border-arrive 1.6s ease-out 1}
@keyframes glass-border-arrive{0%{--glow-angle:0deg;opacity:0}15%{opacity:.9}75%{opacity:.7}100%{--glow-angle:360deg;opacity:0}}

body.glass-ui .filters{gap:8px;padding:6px 4px;margin:-6px -4px}
body.glass-ui .filters .glass-control{padding:9px 14px;font-size:13px}
body.glass-ui .view-switch{gap:10px}
body.glass-ui .drift-actions{gap:10px}
body.glass-ui .hero-bottom>.glass-control{font-size:11px}
body.glass-ui .screening-transport{gap:10px}
body.glass-ui .footer-cluster>.glass-control{font-size:13px;margin-top:4px}
body.glass-ui .footer-bottom>.glass-control{font-size:11px;padding:8px 14px}
body.glass-ui .desktop-nav{gap:8px}
body.glass-ui .desktop-nav>.glass-control{padding:10px 12px;white-space:nowrap}
body.glass-ui #mobile-menu{gap:10px}
body.glass-ui #mobile-menu>.glass-control{padding:14px 16px;border-bottom-color:var(--glass-line)}
body.glass-ui #lightbox-source{padding:8px 12px}
body.glass-ui .glass-control.text-link{gap:12px}
body.glass-ui .lightbox-top>div{gap:10px}
body.glass-ui #contact-dialog>.glass-control{border-color:var(--glass-line)}
body.glass-ui #contact-dialog>.glass-control:hover{background:linear-gradient(145deg,var(--glass-top),var(--glass-bottom))}

@supports not (backdrop-filter:blur(1px)){
  body.glass-ui .glass-control{--glass-top:#f9fafb;--glass-bottom:#e7eaee}
  body.glass-ui .glass-dark,body.glass-ui.menu-open .menu-toggle{--glass-top:#43474d;--glass-bottom:#272b30}
}
@media(min-width:701px) and (max-width:900px){body.glass-ui .site-header{gap:16px}body.glass-ui .header-contact{padding:10px 14px}}
@media(max-width:700px){
  body.glass-ui .filters{gap:6px;flex-wrap:wrap;overflow:visible;margin:0;padding:0}
  body.glass-ui .filters .glass-control{padding:8px;font-size:11px}
  body.glass-ui .work-viewbar{gap:12px}
  body.glass-ui .view-switch .glass-control{padding:9px 14px}
  body.glass-ui .drift-actions .glass-control{padding:8px 12px}
  body.glass-ui .lightbox-top .text-link{padding:8px;font-size:10px;white-space:nowrap}
  body.glass-ui .lightbox-top>div{gap:6px}
  body.glass-ui #lightbox-source{padding:8px;font-size:10px}
  body.glass-ui .contact-arrow.glass-control{border-radius:16px}
  body.glass-ui .hero-bottom>.glass-control{justify-self:start;font-size:10px;padding:7px 12px}
}
@media(max-width:380px){body.glass-ui .filters .glass-control{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){
  body.glass-ui .glass-control,body.glass-ui .glass-control::before,body.glass-ui .glass-control::after{animation:none!important;transition:none!important}
  body.glass-ui .glass-control:hover,body.glass-ui .glass-control:active{translate:none;scale:none}
}
@media(forced-colors:active){body.glass-ui .glass-control{border:1px solid ButtonText;background:ButtonFace;color:ButtonText;box-shadow:none}body.glass-ui .glass-control::before,body.glass-ui .glass-control::after{display:none}body.glass-ui :is(.filters,.view-switch) .glass-control[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-4px}}
