/* QEO motion: one pace for editorial sections, a quicker one for controls. */
:root{--ease-qeo:cubic-bezier(.2,.75,.2,1)}
[hidden]{display:none!important}
.logo-vector{display:block;width:148px;height:auto}
.hero-art{--parallax-x:0px;--parallax-y:0px;transform:translate(var(--parallax-x),var(--parallax-y));transition:transform 1s var(--ease-qeo)}
.hero-orbit{animation:qeo-orbit 32s linear infinite}
.hero-inset{animation:qeo-float 7s ease-in-out infinite}
.hero-photo img{animation:qeo-photo-reveal 1.4s var(--ease-qeo) both}
.hero-copy>.eyebrow{animation:qeo-rise .8s var(--ease-qeo) both}
.hero-copy>h1{animation:qeo-rise 1s .1s var(--ease-qeo) both}
.hero-copy>.hero-description{animation:qeo-rise 1s .22s var(--ease-qeo) both}
.hero-copy>.hero-actions{animation:qeo-rise 1s .32s var(--ease-qeo) both}
.hero-copy>.microcopy{animation:qeo-rise 1s .42s var(--ease-qeo) both}
.hero-copy>.discover{animation:qeo-rise 1s .5s var(--ease-qeo) both}
.discover-symbol{animation:qeo-discover 2.8s ease-in-out infinite}
.rings{animation:qeo-ring-breathe 12s ease-in-out infinite}
.reveal-ready{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease-qeo),transform .9s var(--ease-qeo);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.sector-card .photo-hd{overflow:hidden}.sector-card .photo-hd img{transition:transform .8s var(--ease-qeo),filter .8s}
.sector-card:hover .photo-hd img,.sector-card:focus-visible .photo-hd img{transform:scale(1.055);filter:brightness(1.05)}
.module-row{transition:padding .35s var(--ease-qeo),background .35s}.module-row:hover{padding-left:14px;padding-right:12px;background:#f5eff5}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .25s var(--ease-qeo),box-shadow .25s,background .25s}
.button::before{content:'';position:absolute;z-index:-1;inset:-50%;background:linear-gradient(105deg,transparent 30%,#ffffff18 48%,transparent 60%);transform:translateX(-100%);transition:transform .65s var(--ease-qeo)}
.button:hover::before{transform:translateX(100%)}
.faq-list details[open] .faq-answer{animation:qeo-rise .4s var(--ease-qeo)}
html[data-motion=off]{scroll-behavior:auto}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important}
html[data-motion=off] .reveal-ready{opacity:1;transform:none}
@keyframes qeo-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes qeo-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}
@keyframes qeo-orbit{to{transform:rotate(337deg)}}
@keyframes qeo-ring-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes qeo-discover{0%,70%,100%{transform:translateY(0)}85%{transform:translateY(7px)}}
@keyframes qeo-photo-reveal{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.logo-vector{width:108px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.reveal-ready{opacity:1;transform:none}}
/* Real high-resolution assets, never upscaled crops of the screenshot. */
.photo-hd{display:block;overflow:hidden;position:relative}
.photo-hd img{display:block;width:100%;height:100%;object-fit:cover;max-width:100%}
.hero-photo{position:absolute;aspect-ratio:1}
.hero-photo img{object-position:50% 48%}
.hero-inset{position:absolute;aspect-ratio:88/108}
.hero-inset img{object-position:center}
.sector-photo{aspect-ratio:8/5;height:auto}
.sector-photo img{position:absolute;inset:0}
.document-art{aspect-ratio:2/3;max-width:510px}
.document-art img{object-fit:contain}
@media(max-width:760px){.sector-photo{aspect-ratio:8/5}.document-art{width:83%;max-width:350px}}
