.hero{min-height:740px;--light-x:70%;--light-y:45%}.hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 400px 340px at var(--light-x) var(--light-y),#a52a1711,transparent 80%);transition:opacity .5s}.hero::after{content:'';position:absolute;width:230px;height:230px;right:8%;top:8%;border-radius:50%;background:radial-gradient(circle,#c7a88c14,transparent 70%);z-index:-1;animation:ambient-drift 12s ease-in-out infinite alternate;pointer-events:none}.geometry,.facet,.ridge,.shadow{animation:none!important}.facet{transform-box:fill-box;transform-origin:center;will-change:transform}.arrival{transform-box:view-box;transform-origin:center;will-change:transform,opacity}.ridge{stroke-dasharray:none;stroke-dashoffset:0;filter:drop-shadow(0 0 2px #fff5dc);pointer-events:none}.interacting .ridge{visibility:hidden}.shadow{opacity:.65}.hero-copy h1 em{position:relative;display:inline-block}.hero-copy h1 em::after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#8f0a0a88,transparent);transform-origin:left;animation:underline-in 2s .7s both}.hero-copy .eyebrow>span{box-shadow:0 0 0 5px #8f0a0a08;animation:beacon 4s ease-in-out infinite}.hero-copy .button{position:relative;overflow:hidden}.hero-copy .button::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff3 50%,transparent 70%);transform:translateX(-120%);transition:transform .75s}.hero-copy .button:hover::before{transform:translateX(120%)}.nav-contact span,.text-link span{display:inline-block;transition:transform .3s}.nav-contact:hover span{transform:translate(3px,-3px)}.text-link:hover span{transform:translateY(4px)}body[data-variant=scatter] .orbit{border-color:#8f0a0a26}body[data-variant=soft] .orbit-two{opacity:.3}body[data-variant=soft] .hero::before{opacity:.6}.ambient-off .hero::before,.ambient-off .hero::after,.ambient-off h1 em::after,.ambient-off .button::before{display:none}.ambient-off .hero-copy .eyebrow>span{animation:none;box-shadow:none}.paused .hero::after,.paused .hero-copy .eyebrow>span,.paused .hero-copy h1 em::after{animation-play-state:paused}.reduced .hero::after,.reduced .hero-copy .eyebrow>span,.reduced .hero-copy h1 em::after{animation:none!important}.reduced h1 em::after{transform:none}.reduced .arrival{transform:none!important;opacity:1!important}
@keyframes underline-in{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes beacon{50%{box-shadow:0 0 0 8px #8f0a0a03}}@keyframes ambient-drift{to{transform:translate(-90px,60px) scale(1.2)}}
@media(max-width:760px){.hero{min-height:0}.hero::before{background:radial-gradient(ellipse at 70% 65%,#a52a1711,transparent 60%)}.hero::after{display:none}.hero-copy h1 em::after{bottom:-4px}}
