:root{--motion-fast:.15s;--motion-normal:.25s;--motion-medium:.4s;--motion-slow:.7s;--ease-out-expo:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.33, 1, .68, 1);--stagger-step:70ms}.reveal-v3{opacity:1;filter:none;transform:none}.js-motion .reveal-v3{opacity:0;transition:opacity var(--motion-medium) var(--ease-out-expo), transform var(--motion-medium) var(--ease-out-expo), filter var(--motion-medium) var(--ease-out-expo);will-change:opacity, transform;transform:translateY(20px)}.js-motion .reveal-v3[data-reveal=blur]{filter:blur(8px);transform:translateY(12px)}.js-motion .reveal-v3[data-delay="1"]{transition-delay:var(--stagger-step)}.js-motion .reveal-v3[data-delay="2"]{transition-delay:calc(var(--stagger-step) * 2)}.js-motion .reveal-v3[data-delay="3"]{transition-delay:calc(var(--stagger-step) * 3)}.js-motion .reveal-v3[data-delay="4"]{transition-delay:calc(var(--stagger-step) * 4)}.js-motion .reveal-v3[data-delay="5"]{transition-delay:calc(var(--stagger-step) * 5)}.js-motion .reveal-v3[data-delay="6"]{transition-delay:calc(var(--stagger-step) * 6)}.js-motion .reveal-v3[data-delay="7"]{transition-delay:calc(var(--stagger-step) * 7)}.js-motion .reveal-v3.is-visible{opacity:1;filter:none;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.js-motion .reveal-v3{will-change:auto;opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.marquee-track,.auto-rotate{animation-play-state:paused!important}.reveal-v3.is-visible{opacity:1!important}}.card-v3{transition:transform var(--motion-normal) var(--ease-out-expo), box-shadow var(--motion-normal) var(--ease-out-expo), border-color var(--motion-normal) var(--ease-out-expo);border-radius:1.5rem}.card-v3:hover{transform:translateY(-4px);box-shadow:0 4px 6px #0e1a1c0a,0 12px 24px #0e1a1c14,0 24px 48px #0e1a1c0a}.card-v3 .card-img{transition:transform var(--motion-medium) var(--ease-out-expo);will-change:transform}.card-v3:hover .card-img{transform:scale(1.04)}.card-v3 .card-arrow{transition:transform var(--motion-normal) var(--ease-out-expo)}.card-v3:hover .card-arrow{transform:translate(4px)}.btn-shine{position:relative;overflow:hidden}.btn-shine:after{content:"";transition:transform var(--motion-medium) var(--ease-out-expo);pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffb91d26 45%,#ffb91d40 50%,#ffb91d26 55%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.btn-shine:hover:after{transform:translate(100%)}.btn-shine:active{transform:scale(.98)}.btn-fill{z-index:0;position:relative;overflow:hidden}.btn-fill:before{content:"";background:var(--color-maroon);transform-origin:0;transition:transform var(--motion-normal) var(--ease-out-expo);z-index:-1;position:absolute;inset:0;transform:scaleX(0)}.btn-fill:hover:before{transform:scaleX(1)}.btn-fill:hover{color:#fff;border-color:var(--color-maroon)}.btn-shine:focus-visible,.btn-fill:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn-shine:after{transition:none;display:none}.btn-fill:before{transition:none}.btn-shine:active{transform:none}}.nav-underline{position:relative}.nav-underline:after{content:"";background:var(--color-maroon);width:0;height:2px;transition:width var(--motion-normal) var(--ease-out-expo), left var(--motion-normal) var(--ease-out-expo);position:absolute;bottom:0;left:50%}.nav-underline:hover:after{width:100%;left:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track{animation:marquee-scroll var(--marquee-duration,30s) linear infinite}.marquee-track:hover{animation-play-state:paused}@keyframes blob-drift-1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}}@keyframes blob-drift-2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-25px,25px)scale(.97)}66%{transform:translate(20px,-10px)scale(1.03)}}.hero-blob{filter:blur(80px);opacity:.3;will-change:transform;pointer-events:none;border-radius:50%;position:absolute}.hero-blob-1{animation:25s ease-in-out infinite blob-drift-1}.hero-blob-2{animation:30s ease-in-out infinite blob-drift-2}@media (prefers-reduced-motion:reduce){.hero-blob{animation:none!important}}.scroll-progress{background:var(--color-gold);z-index:100;transform-origin:0;will-change:transform;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}.back-to-top{z-index:40;opacity:0;transition:opacity var(--motion-normal) var(--ease-out), transform var(--motion-normal) var(--ease-out);pointer-events:none;position:fixed;bottom:2rem;right:2rem;transform:translateY(8px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.header-frosted{-webkit-backdrop-filter:blur(12px)saturate(1.2);border-bottom-color:var(--color-border-light);background-color:#f5f2ecd9;box-shadow:0 1px 3px #0000000f}@keyframes eyebrow-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes eyebrow-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.gold-border-card{background-clip:padding-box;border:1px solid #0000;position:relative}.gold-border-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--color-gold), var(--color-maroon-light), var(--color-gold-dark));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton{background:var(--color-bone-dark);border-radius:.5rem;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#f5f2ec99 50%,#0000 100%);animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.blur-up{filter:blur(20px);transition:filter .5s ease-out}.blur-up.loaded{filter:blur()}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
