/* Homepage motion and reliable navigation interactions */
.main-nav>a,.nav-group>button{position:relative;transition:color .2s ease,background-color .2s ease,transform .2s ease}
.main-nav>a::after,.nav-group>button::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.main-nav>a:hover::after,.main-nav>a:focus-visible::after,.main-nav>a.active::after,.nav-group>button:hover::after,.nav-group>button:focus-visible::after{transform:scaleX(1)}
.main-nav>a:hover,.nav-group>button:hover{transform:translateY(-1px)}
.nav-group::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.nav-dropdown{display:grid!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);transition:opacity .2s ease,transform .2s ease,visibility .2s;top:calc(100% + 10px);z-index:20}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown,.nav-group.open .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nav-dropdown a{position:relative;transition:background-color .18s ease,color .18s ease,padding-left .18s ease}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible{padding-left:17px}
.nav-cta{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(16,27,51,.2)}

.hero-copy>*{opacity:0;animation:homeRiseV12 .72s cubic-bezier(.2,.7,.2,1) forwards}.hero-copy .eyebrow{animation-delay:.08s}.hero-copy h1{animation-delay:.18s}.hero-copy>p{animation-delay:.3s}.hero-actions{animation-delay:.42s}.trust-row{animation-delay:.54s}
.hero-visual{opacity:0;animation:homeVisualV12 .9s .25s cubic-bezier(.2,.7,.2,1) forwards}.hero-image{animation:homeBreatheV12 6s ease-in-out infinite}.orbit-one{animation:homeSpinV12 24s linear infinite}.orbit-two{animation:homeSpinReverseV12 32s linear infinite}.floating-card{animation:homeFloatV12 4s ease-in-out infinite}.hero-glow.one{animation:homeGlowV12 7s ease-in-out infinite alternate}
.reveal-v12{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal-v12.visible-v12{opacity:1;transform:none}.service-v6,.principle-grid article{transition:transform .26s ease,background-color .26s ease,border-color .26s ease,box-shadow .26s ease}.service-v6:hover{box-shadow:0 22px 48px rgba(0,0,0,.2)}.principle-grid article:hover{transform:translateY(-5px);background:#fbfaf7;box-shadow:0 18px 40px rgba(16,27,51,.08)}
@keyframes homeRiseV12{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes homeVisualV12{from{opacity:0;transform:translateX(36px) scale(.96)}to{opacity:1;transform:none}}@keyframes homeBreatheV12{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes homeSpinV12{to{transform:rotate(360deg)}}@keyframes homeSpinReverseV12{to{transform:rotate(-360deg)}}@keyframes homeFloatV12{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes homeGlowV12{from{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}
@media(max-width:820px){.main-nav>a::after,.nav-group>button::after{display:none}.nav-group::after{display:none}.nav-dropdown{position:static!important;display:grid!important;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:none;margin:0!important;padding-top:0!important;padding-bottom:0!important;border-width:0!important;transition:max-height .25s ease,opacity .2s ease,padding .25s ease!important}.nav-group.open .nav-dropdown{max-height:330px;opacity:1;visibility:visible;padding:8px!important;border-width:1px!important}.nav-group:hover:not(.open) .nav-dropdown{max-height:0;opacity:0;visibility:hidden;padding:0 8px!important;border-width:0!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal-v12{opacity:1;transform:none}}
