/* Extend the trailing space without moving the opening hero composition. */
.hero{--hero-services-space:clamp(140px,18vw,360px);position:relative;isolation:isolate;min-height:calc(100svh - var(--header-offset) - var(--sp-md) + var(--hero-services-space));padding-bottom:calc(var(--sp-md) + var(--hero-services-space))}
.hero-copy{position:relative;z-index:1}
.site-shell{position:relative;z-index:1}
.site-shell>:not(.hero){position:relative;z-index:1}
.site-footer-wrap{position:relative;z-index:1}
#services{scroll-margin-top:-2px}
.front-page .site-header{transition:background-color 240ms ease}
.front-page .site-menu{border-bottom-color:transparent;transition:background-color 240ms ease,border-color 240ms ease}
.front-page.hero-past .site-menu{border-bottom-color:var(--line)}
.front-page:not(.hero-past) .site-header,.front-page:not(.hero-past) .site-menu{background:transparent}
.site-menu a,.site-menu a:hover,.site-menu a:focus,.site-menu a:active{text-decoration:none}

/* One rendering path for every browser: filled CSS color fields, no SVG filters
   or scroll-timeline opacity animation. The base is visible before scripts run. */
.airb-light{position:fixed;inset:0;z-index:0;width:auto;height:auto;margin:0;overflow:hidden;pointer-events:none;background:#faf9f4;opacity:var(--hero-field-opacity,1);transition:opacity 120ms linear}
.front-page.hero-past .airb-light{visibility:hidden}
.light-arrangement{position:absolute;inset:-12%;display:block}
.light-axis{position:absolute;inset:0;display:block;opacity:.78;transform-origin:center;animation-duration:64s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.light-axis--horizontal{background:radial-gradient(ellipse at 10% 28%,#d7df90 0%,#d7df90 21%,rgba(215,223,144,.72) 42%,rgba(215,223,144,0) 72%);animation-name:field-citron}
.light-axis--vertical{background:radial-gradient(ellipse at 78% 12%,#e9b9d2 0%,#e9b9d2 19%,rgba(233,185,210,.68) 43%,rgba(233,185,210,0) 73%);animation-name:field-rose;animation-delay:-18s}
.light-axis--diagonal{background:radial-gradient(ellipse at 82% 88%,#a3d0e4 0%,#a3d0e4 20%,rgba(163,208,228,.76) 43%,rgba(163,208,228,0) 73%);animation-name:field-blue;animation-delay:-34s}
.airb-light[data-paused="true"] .light-axis{animation-play-state:paused}
.hero-fade-sentinel{position:absolute;top:0;left:0;width:1px;height:100vh;height:100dvh;opacity:0;pointer-events:none}
@keyframes field-citron{0%,100%{transform:translate3d(-3%,-2%,0) rotate(-3deg)}50%{transform:translate3d(4%,3%,0) rotate(2deg)}}
@keyframes field-rose{0%,100%{transform:translate3d(2%,-3%,0) rotate(2deg)}50%{transform:translate3d(-4%,4%,0) rotate(-4deg)}}
@keyframes field-blue{0%,100%{transform:translate3d(3%,2%,0) rotate(-2deg)}50%{transform:translate3d(-4%,-3%,0) rotate(3deg)}}
@media(max-width:900px){.hero{--hero-services-space:clamp(64px,12vw,112px)}}
@media(max-width:560px){.hero{--hero-services-space:clamp(120px,36vw,180px)}}
@media(prefers-reduced-motion:reduce){
  .light-axis{animation:none}
  .airb-light,.front-page .site-header,.front-page .site-menu{transition:none}
}
