/* Load after style.css. Every effect is progressive enhancement over real HTML. */
.menu-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:root{--menu-glint:#e3d3b0;--hover-gold-mid:#c7b392;--hover-gold-soft:#d2c3a8;--hover-shimmer-duration:7.2s;--hover-shimmer-step:.32s;--hover-color-duration:1.2s}
/* Keep the title's lighter cadence while slowing the shared shimmer to half speed. */
:is(h1,h2,h3,h4,h5,h6,.wordmark,.hero-introduction,.home-section-label,.section-label){--hover-shimmer-duration:3.3s;--hover-shimmer-step:.17s;--hover-color-duration:.6s}
.menu-lettering{display:grid;white-space:nowrap}
.menu-lettering>span{grid-area:1/1}
.menu-toggle[aria-expanded="false"] .menu-label-close,.menu-toggle[aria-expanded="true"] .menu-label-menu{visibility:hidden}
.menu-letter{display:inline;transition:color var(--hover-color-duration),opacity var(--hover-color-duration);text-shadow:0 1px 8px #0005}
/* A low-saturation bronze-to-champagne reflection, with only gentle dimming. */
@keyframes menu-shimmer{0%,58%,100%{color:inherit;opacity:1}12%{color:var(--hover-gold-mid);opacity:.9}25%{color:var(--menu-glint);opacity:1}38%{color:var(--hover-gold-soft);opacity:.96}}
@media(hover:hover) and (pointer:fine){.menu-toggle:hover .menu-letter{animation:menu-shimmer var(--hover-shimmer-duration) cubic-bezier(.22,.61,.36,1) calc(var(--letter)*var(--hover-shimmer-step)) infinite}}
.menu-toggle:focus-visible .menu-letter{animation:menu-shimmer var(--hover-shimmer-duration) cubic-bezier(.22,.61,.36,1) calc(var(--letter)*var(--hover-shimmer-step)) infinite}
@media(prefers-reduced-motion:reduce){.menu-toggle:is(:hover,:focus-visible) .menu-letter{animation:none;color:var(--menu-glint);opacity:1}}
@media(forced-colors:active){.menu-toggle .menu-letter{animation:none!important;color:ButtonText;text-shadow:none}}
/* Inline glyphs preserve natural wrapping, selection, language and semantics. */
shimmer-run,shimmer-letter{display:inline;font:inherit;line-height:inherit;letter-spacing:inherit;white-space:inherit}
shimmer-letter{transition:color var(--hover-color-duration),opacity var(--hover-color-duration)}
.edge-details>[data-text-shimmer],.section-label[data-text-shimmer]{pointer-events:auto}
body .line-link .link-words>span{transform:none!important}
body .line-link .link-words>span+span{display:none}
body .footer nav a[data-text-shimmer]:hover{opacity:1}
@media(hover:hover) and (pointer:fine){
 [data-text-shimmer]:hover shimmer-letter,[data-shimmer-native]:hover,.footer-brand-icon:hover .footer-icon-band{animation:menu-shimmer var(--hover-shimmer-duration) cubic-bezier(.22,.61,.36,1) calc(var(--letter,0)*var(--hover-shimmer-step)) infinite}
}
[data-text-shimmer]:focus-visible shimmer-letter,[data-shimmer-native]:focus-visible{animation:menu-shimmer var(--hover-shimmer-duration) cubic-bezier(.22,.61,.36,1) calc(var(--letter,0)*var(--hover-shimmer-step)) infinite}
.motion-paused shimmer-letter,.motion-paused .footer-icon-band{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 [data-text-shimmer]:is(:hover,:focus-visible),[data-text-shimmer]:is(:hover,:focus-visible) shimmer-letter,[data-shimmer-native]:is(:hover,:focus-visible),.footer-brand-icon:hover .footer-icon-band{animation:none!important;transition:none;color:var(--menu-glint);opacity:1}
}
@media(forced-colors:active){shimmer-letter,[data-shimmer-native]{animation:none!important;color:inherit!important;opacity:1!important}}
@media(forced-colors:active){.footer-brand-icon,.footer-icon-band{forced-color-adjust:none;color:CanvasText!important;animation:none!important;opacity:1!important}}
html:has(body.motion-enhanced){scroll-behavior:auto}
.motion-enhanced .page-curtain{transition:opacity .8s cubic-bezier(.333333,1,.666667,1);will-change:opacity}
.motion-enhanced.leaving .page-curtain{transition-duration:.8s}
.motion-enhanced.incoming .page-curtain,.motion-enhanced.is-loading .page-curtain,.motion-enhanced.leaving .page-curtain{opacity:1}
.motion-enhanced .page-curtain{opacity:0}
.motion-enhanced.is-loading .page-curtain{pointer-events:none}
.motion-enhanced [data-loading-status]{position:fixed;z-index:101;left:5vw;bottom:3vw;font:400 11px/1.5 Cinzel,serif;letter-spacing:.02em}
.motion-enhanced [data-loading-status][hidden]{display:none}
.motion-enhanced.menu-open .page-surface{opacity:.2;transform:scale(.985)}
.motion-enhanced .page-surface{transition:opacity .45s cubic-bezier(.65,0,.35,1),transform .45s cubic-bezier(.65,0,.35,1)}
.motion-enhanced .menu-panel{transition:opacity .35s cubic-bezier(.33,1,.68,1);transition-delay:0s}
.motion-enhanced .menu-entrance{opacity:0;transform:translateX(1.25vw);transition:opacity .3s linear,transform .45s cubic-bezier(.16,1,.3,1)}
.motion-enhanced .menu-panel.is-open .menu-entrance{opacity:1;transform:translateX(0);transition:opacity .65s linear var(--menu-delay,.08s),transform .65s cubic-bezier(.16,1,.3,1) var(--menu-delay,.08s)}
.motion-enhanced .menu-links a:hover{opacity:1;transform:none}
.motion-enhanced .menu-services{position:relative}
.motion-enhanced .menu-services::before{content:'';position:absolute;left:-3.125vw;top:.85em;width:1.5vw;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.motion-enhanced .is-open .menu-services::before{transform:scaleX(1);transition-duration:.65s;transition-delay:.18s}
.roll-link{position:relative}
.roll-link .link-words{display:block;overflow:hidden;position:relative}
.roll-link .link-words>span{display:block;transition:transform .7s cubic-bezier(.25,1,.5,1)}
.roll-link .link-words>span+span{position:absolute;inset:0 auto auto 0;transform:translateY(130%);width:max-content;max-width:100%}
.roll-link::after{content:'';position:absolute;left:0;right:0;bottom:.2em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.25,1,.5,1)}
@media(hover:hover) and (pointer:fine){.roll-link:hover .link-words>span:first-child,.roll-link:focus-visible .link-words>span:first-child{transform:translateY(-110%)}.roll-link:hover .link-words>span+span,.roll-link:focus-visible .link-words>span+span{transform:translateY(0)}.roll-link:hover::after,.roll-link:focus-visible::after{transform:scaleX(1)}.motion-enhanced .line-link:hover .link-line,.motion-enhanced .line-link:focus-visible .link-line{transform:scaleX(1)}.motion-enhanced .line-link .link-line{position:relative;background:transparent}.motion-enhanced .line-link .link-line::before,.motion-enhanced .line-link .link-line::after{content:'';position:absolute;inset:0;background:currentColor;transform-origin:right;transition:transform .7s cubic-bezier(.25,1,.5,1)}.motion-enhanced .line-link .link-line::after{transform:scaleX(0);transform-origin:left;transition-delay:.07s}.motion-enhanced .line-link:hover .link-line::before,.motion-enhanced .line-link:focus-visible .link-line::before{transform:scaleX(0)}.motion-enhanced .line-link:hover .link-line::after,.motion-enhanced .line-link:focus-visible .link-line::after{transform:scaleX(1)}}
.motion .motion-text-ready{position:relative;transition:none!important;opacity:1!important;transform:none!important;color:transparent!important;text-shadow:none!important}
.motion-copy{position:absolute!important;inset:0;pointer-events:none;user-select:none;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-indent:0!important;margin:0!important}
.motion-line{position:absolute!important;display:block!important;overflow:hidden;margin:0!important;white-space:nowrap;font:inherit;line-height:inherit;letter-spacing:inherit}
.motion-line-inner{display:block!important;position:relative;font:inherit;line-height:inherit;letter-spacing:inherit;white-space:nowrap;margin:0!important;opacity:1;transform:translateY(0);transition:opacity 1.4s linear calc(var(--line-index)*.07s),transform 1.4s cubic-bezier(.16,1,.3,1) calc(var(--line-index)*.07s)}
.motion .is-pending .motion-line-inner{opacity:0;transform:translateY(105%)}
.motion .motion-measuring .motion-line-inner{opacity:1!important;transform:none!important;transition:none!important}
.motion .image.reveal{transition:opacity 1.4s linear,transform 1.4s cubic-bezier(.16,1,.3,1),filter 1.4s cubic-bezier(.16,1,.3,1)}
.motion .image.reveal.is-pending{opacity:0;transform:translateY(2vw) scale(.985);filter:blur(2px)}
[data-cloud-parallax]{transform:translate3d(0,var(--cloud-y,0px),0);will-change:transform;pointer-events:none}
[data-cloud-parallax] .cloud-track,[data-cloud-parallax] [data-cloud-loop]{animation-play-state:paused}
[data-cloud-parallax].cloud-in-view .cloud-track,[data-cloud-parallax].cloud-in-view [data-cloud-loop]{animation-play-state:running}
.motion-paused [data-cloud-parallax] .cloud-track,.motion-paused [data-cloud-parallax] [data-cloud-loop]{animation-play-state:paused}
.motion-enhanced.menu-open [data-cloud-parallax] .cloud-track,.motion-enhanced.menu-open [data-cloud-parallax] [data-cloud-loop]{animation-play-state:paused}
@media(max-width:767px){.motion-enhanced .menu-entrance{transform:translateX(5.224vw)}.motion-enhanced .menu-services::before{left:-9.95vw;width:4.975vw}.motion-enhanced [data-loading-status]{left:10.199vw;bottom:8vw}.motion .image.reveal.is-pending{transform:translateY(4vw) scale(.985)}}
@media(prefers-reduced-motion:reduce){.motion-enhanced .page-curtain{display:none}.motion-enhanced .menu-entrance{opacity:1!important;transform:none!important}.motion-copy{display:none!important}.motion-text-ready{color:var(--motion-text-color,inherit)!important}.motion-enhanced [data-cloud-parallax]{transform:none!important}.motion-enhanced [data-cloud-parallax] .cloud-track,.motion-enhanced [data-cloud-parallax] [data-cloud-loop]{animation:none!important}.motion-enhanced .page-surface{transform:none!important}.roll-link .link-words>span:first-child{transform:none!important}.roll-link .link-words>span+span{display:none!important}}
