html{scroll-behavior:smooth}
.ui-toggle{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
label[for]{cursor:pointer}
.mnav-layer{display:none}
body:has(#mnav-open:checked) .mnav-layer{display:block}
body:has(#mnav-open:checked){overflow:hidden}
.nav-mega{display:none}
.nav-svc:hover .nav-mega,
.nav-svc:focus-within .nav-mega{display:block}
.hero-slide{opacity:0;transition:opacity 1.2s ease-out}
#hero-0:checked ~ .hero-stage .hs-0,
#hero-1:checked ~ .hero-stage .hs-1,
#hero-2:checked ~ .hero-stage .hs-2,
#hero-3:checked ~ .hero-stage .hs-3,
#hero-4:checked ~ .hero-stage .hs-4,
#hero-5:checked ~ .hero-stage .hs-5,
#hero-6:checked ~ .hero-stage .hs-6,
#hero-7:checked ~ .hero-stage .hs-7,
#hero-8:checked ~ .hero-stage .hs-8,
#hero-9:checked ~ .hero-stage .hs-9,
#hero-10:checked ~ .hero-stage .hs-10{opacity:1}
#hero-0:checked ~ .hero-dots .hd-0,
#hero-1:checked ~ .hero-dots .hd-1,
#hero-2:checked ~ .hero-dots .hd-2,
#hero-3:checked ~ .hero-dots .hd-3,
#hero-4:checked ~ .hero-dots .hd-4,
#hero-5:checked ~ .hero-dots .hd-5,
#hero-6:checked ~ .hero-dots .hd-6,
#hero-7:checked ~ .hero-dots .hd-7,
#hero-8:checked ~ .hero-dots .hd-8,
#hero-9:checked ~ .hero-dots .hd-9,
#hero-10:checked ~ .hero-dots .hd-10{width:2rem;background:hsl(var(--accent))}
.quote-fab{pointer-events:none;transform:translateY(1.5rem);opacity:0}
.scroll-progress{height:0}
.scroll-dot{top:-3px}
@supports (animation-timeline:scroll()){
  .hdr-util{
    animation:fl-util linear both;
    animation-timeline:scroll();
    animation-range:0 40px;
  }
  .page-home .hdr-bar{
    animation:fl-bar linear both;
    animation-timeline:scroll();
    animation-range:0 40px;
  }
  .page-home .hdr-bar a.relative,
  .page-home .hdr-bar button{
    animation:fl-navtxt linear both;
    animation-timeline:scroll();
    animation-range:0 40px;
  }
  .page-home .hdr-bar a.ml-3{
    animation:fl-phone linear both;
    animation-timeline:scroll();
    animation-range:0 40px;
  }
  .page-home .hdr-bar label svg{
    animation:fl-menu linear both;
    animation-timeline:scroll();
    animation-range:0 40px;
  }
  .quote-fab{
    animation:fl-quote linear both;
    animation-timeline:scroll();
    animation-range:80vh 81vh;
  }
  .scroll-progress{
    animation:fl-prog linear both;
    animation-timeline:scroll();
  }
  .scroll-dot{
    animation:fl-dot linear both;
    animation-timeline:scroll();
  }
}
@keyframes fl-util{
  to{max-height:0;opacity:0;overflow:hidden}
}
@keyframes fl-bar{
  to{
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(24px);
    border-bottom:1px solid hsl(var(--border));
    box-shadow:0 1px 0 0 rgba(27,49,41,.04);
  }
}
@keyframes fl-quote{
  to{transform:translateY(0);opacity:1;pointer-events:auto}
}
@keyframes fl-navtxt{
  to{color:hsl(var(--foreground))}
}
@keyframes fl-phone{
  to{background-color:hsl(var(--primary));color:#fff}
}
@keyframes fl-menu{
  to{color:hsl(var(--primary))}
}
@keyframes fl-prog{
  from{height:0}
  to{height:100%}
}
@keyframes fl-dot{
  from{top:-3px}
  to{top:calc(100% - 3px)}
}
.page-inner .hdr-bar{
  border-bottom:1px solid hsl(var(--border));
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(24px);
  box-shadow:0 1px 0 0 rgba(27,49,41,.04);
}
