/* CORE one / Spatial material system. Finite motion; content is visible without JS. */
.spatial-deck{perspective:1500px;perspective-origin:50% 42%}
.spatial-card{--spatial-pitch:0deg;--spatial-yaw:0deg;--spatial-mx:50%;--spatial-my:35%;--spatial-depth:0;--spatial-rim:255,212,0;--spatial-sheen:255,241,166;--spatial-shadow:0 25px 48px #00000045;position:relative;isolation:isolate;transform-style:preserve-3d;backface-visibility:hidden;overflow:visible}
.spatial-card.spatial-card--yellow{--spatial-rim:16,17,10;--spatial-sheen:255,255,225;--spatial-shadow:0 24px 40px #51410028}
.spatial-card:after{content:"";position:absolute;inset:-1px;border:1px solid rgba(var(--spatial-rim),.36);background:radial-gradient(ellipse at var(--spatial-mx) var(--spatial-my),rgba(var(--spatial-sheen),.105),transparent 66%);opacity:0;pointer-events:none;z-index:0;transform:translateZ(1px);border-radius:inherit}
.spatial-card> *{position:relative;z-index:1;transform:translateZ(calc(var(--spatial-depth) * 12px));backface-visibility:hidden}
.spatial-card>h3,.spatial-card>h2{transform:translateZ(calc(var(--spatial-depth) * 23px))}
.spatial-card>.one-card-top,.spatial-card>.kicker,.spatial-card>span:first-child{transform:translateZ(calc(var(--spatial-depth) * 19px))}
.spatial-card>a,.spatial-card>button{transform:translateZ(calc(var(--spatial-depth) * 29px))}
.spatial-card:focus-within{--spatial-depth:1;box-shadow:var(--spatial-shadow)}
.spatial-card:focus-within:after{opacity:.8}
.spatial-card:focus-within>a:focus-visible,.spatial-card:focus-within>button:focus-visible{outline-offset:6px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .spatial-card{transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease}
  .spatial-card> *{transition:transform .42s cubic-bezier(.2,.8,.2,1)}
  .spatial-card:after{transition:opacity .35s ease}
  .spatial-card.is-pointer-active{--spatial-depth:1;transform:rotateX(var(--spatial-pitch)) rotateY(var(--spatial-yaw)) translateY(-4px);box-shadow:var(--spatial-shadow);will-change:transform;transition:transform .12s ease-out,box-shadow .35s ease}
  .spatial-card.is-pointer-active:after{opacity:1}
  .spatial-card:focus-within:not(.is-pointer-active){transform:rotateX(-1deg) rotateY(1deg) translateY(-3px)}
}
@media(prefers-reduced-motion:no-preference){
  .spatial-entered{animation:spatial-material-settle .72s cubic-bezier(.18,.65,.25,1) both;animation-delay:var(--spatial-stagger,0ms)}
  @keyframes spatial-material-settle{from{translate:0 17px;opacity:.78}to{translate:0 0;opacity:1}}
}
@media(hover:none),(pointer:coarse){
  .spatial-card{transform-style:flat}
  .spatial-card> *,.spatial-card:after{transform:none}
  .spatial-card:focus-within{--spatial-depth:0}
}
@media(prefers-reduced-motion:reduce){
  .spatial-card,.spatial-card> *,.spatial-card:after{transition:none!important;animation:none!important;transform:none!important;translate:none!important}
  .spatial-card{transform-style:flat}
  .spatial-card:focus-within{--spatial-depth:0}
  .spatial-entered{animation:none!important;translate:none!important;opacity:1}
}
