/* Savoira orbital stage: original tokens and readable no-JS content are preserved. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.space-experience{isolation:isolate}
.space-scene{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#space-stars{display:block;width:100%;height:100%;opacity:0}
.starfield-ready #space-stars{opacity:1}
.hero{position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(#0a0e1a99,#0a0e1ac7),url("/assets/optimized/espace.webp")}
.hero-content{z-index:2}
.hero-tagline .type-line{display:inline-block;color:var(--text)}
.hero-tagline .type-line>span{color:var(--yellow)}
.hero-flight{position:absolute;z-index:1;pointer-events:none;width:240px;height:360px;top:135px;left:calc(50% + 310px)}
.flight-rocket{position:relative;width:100%;height:100%;transform-origin:50% 82%}
.flight-rocket img{position:relative;z-index:1;width:100%;height:auto}
.engine-light{position:absolute;top:84%;left:43%;width:14%;height:30%;border-radius:50%;opacity:.4;transform-origin:center top;background:radial-gradient(ellipse at 50% 0%,#e9faff 0%,#1cb0f6a8 26%,#1cb0f600 72%)}
.motion-toggle{position:fixed;z-index:21;right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted);background:#141b2df2;border:1px solid var(--line)}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{border-color:var(--cyan);color:var(--text)}
.motion-toggle .play-symbol{display:none}
.motion-toggle[aria-pressed="true"] .play-symbol{display:block}
.motion-toggle[aria-pressed="true"] .pause-symbol{display:none}
.preview-link picture{display:block}
.brand picture{flex-shrink:0}
.contact-band{position:relative;isolation:isolate;overflow:hidden}
.contact-band>.wrap{position:relative;z-index:2}
.closing-orbit{position:absolute;inset:0;pointer-events:none;z-index:0}
.closing-planet{position:absolute;width:360px;height:auto;left:calc(50% - 610px);top:-70px;opacity:.65;transform:rotate(-16deg)}
@media(prefers-reduced-motion:no-preference){
  .cinematic .hero{border-bottom-color:transparent}
  .starfield-ready .hero{background:radial-gradient(ellipse at 50% 22%,#0a0e1ae6 4%,#0a0e1a30 62%,#0a0e1a00 100%)}
  .cinematic .hero::before,.cinematic .hero::after{content:"";position:absolute;z-index:-1;pointer-events:none}
  .cinematic .hero::before{inset:28% -15% -10%;opacity:.72;background:radial-gradient(ellipse at 55% 60%,#1cb0f617,transparent 54%),radial-gradient(ellipse at 26% 66%,#ffc1070a,transparent 40%);transform:translate3d(0,var(--space-y,0px),0)}
  .cinematic .hero::after{inset:auto 0 0;height:120px;background:linear-gradient(transparent,var(--space))}
  .cinematic .hero h1{text-shadow:0 8px 50px #1cb0f612}
  .cinematic .hero-screens{perspective:1800px;position:relative;z-index:3}
  .cinematic .hero-screens::before{content:"";position:absolute;inset:25% -18% -10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#1cb0f60e,transparent 65%)}
  .cinematic .hero-screens figure{transform:translate3d(var(--screen-x,0px),var(--screen-y,0px),0) rotateX(var(--screen-pitch,0deg)) rotateY(var(--screen-turn,0deg)) rotateZ(var(--screen-roll,0deg)) scale(var(--screen-scale,1));transform-origin:center 60%}
  .cinematic .hero-screens .main-screen{position:relative;z-index:2}
  .cinematic .preview-link{position:relative;perspective:1300px}
  .cinematic .preview-link img{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform 650ms var(--motion-ease),border-color 400ms ease,box-shadow 500ms ease;box-shadow:0 25px 60px #0008,0 0 0 1px #1cb0f614}
  .cinematic .preview-link:hover{transform:none}
  .cinematic .gallery .preview-link{transform:translate3d(0,var(--gallery-y,0px),0) rotateY(var(--gallery-turn,0deg)) rotateX(var(--gallery-pitch,0deg)) scale(var(--gallery-scale,1));transition:none;transform-origin:center 62%}
  .cinematic .gallery figure{perspective:1500px}
  .cinematic .gallery figcaption{transform:translate3d(0,var(--caption-y,0px),0)}
  .cinematic .showcase-band{position:relative;isolation:isolate;border-block-color:transparent;background:linear-gradient(var(--space),#101522e8 18%,#101522db 82%,var(--space))}
  .cinematic .showcase-band::before{content:"";position:absolute;inset:15% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,#1cb0f60c,transparent 68%);transform:translate3d(0,var(--band-y,0px),0)}
  .cinematic .feature-grid{--feature-progress:0}
  .cinematic .feature-grid article{position:relative;isolation:isolate}
  .cinematic .feature-grid article::before{content:"";position:absolute;z-index:-1;inset:-16px;border-radius:22px;border:1px solid #1cb0f600;opacity:0;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,40%),#1cb0f60c,#141b2d80 68%);transition:opacity 500ms ease,border-color 500ms ease}
  .cinematic .feature-grid article::after{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--cyan),#ffc10780,transparent);transform:scaleX(var(--feature-progress));transform-origin:left}
  .cinematic .feature-grid h3{transition:transform 500ms var(--motion-ease)}
  .cinematic .feature-number{text-shadow:0 0 30px currentColor}
  .cinematic .resource-list>a{transition:border-color 450ms ease,background-color 450ms ease}
  .cinematic .resource-list>a>div{transition:transform 500ms var(--motion-ease)}
  .cinematic .contact-band{border-top-color:transparent;padding-block:88px;background:radial-gradient(ellipse at 50% 70%,#141b2de8,#0a0e1a60 70%),linear-gradient(var(--space),#0a0e1a45 40%,var(--space))}
  .cinematic .closing-planet{transform:translate3d(0,var(--planet-y,0px),0) rotate(var(--planet-turn,-16deg))}
  .cinematic .button{position:relative;overflow:hidden;isolation:isolate;transition:transform 550ms var(--motion-ease),box-shadow 400ms ease,border-color 350ms ease}
  .cinematic .button::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#ffffff40 48%,transparent 70%);transform:translateX(-130%);transition:transform 850ms var(--motion-ease)}
  .cinematic .button:active{transform:translateY(2px) scale(.985)}
  .cinematic .nav-links a{position:relative}
  .cinematic .nav-links a::after{content:"";position:absolute;inset:auto 0 2px;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform 450ms var(--motion-ease)}
  .cinematic .nav-links a:hover::after,.cinematic .nav-links a:focus-visible::after{transform:scaleX(1)}
  .cinematic .resource-list>a>span,.cinematic .text-link>span,.cinematic .button>span{transition:transform 500ms var(--motion-ease)}
  .cinematic .site-header{transition:background-color 450ms ease,border-color 450ms ease}
  .cinematic-scrolled .site-header{background:#0a0e1af2;border-bottom-color:#343e5490;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .cinematic #preview-dialog[open]{animation:preview-arrive 420ms var(--motion-ease) both}
  .cinematic #preview-dialog[open]::backdrop{animation:preview-backdrop 300ms ease both}
  @keyframes preview-arrive{from{opacity:.35;transform:translateY(18px) scale(.965)}to{opacity:1;transform:none}}
  @keyframes preview-backdrop{from{opacity:0}to{opacity:1}}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .cinematic .preview-link:hover img{border-color:#81b6d4;box-shadow:0 32px 70px #0009,0 0 35px #1cb0f618}
  .cinematic .feature-grid article:hover::before{opacity:1;border-color:#1cb0f624}
  .cinematic .feature-grid article:hover h3{transform:translateY(-3px)}
  .cinematic .resource-list>a:hover{border-color:#536079;background-color:#141b2d40}
  .cinematic .resource-list>a:hover>div{transform:translateX(4px)}
  .cinematic .resource-list>a:hover>span,.cinematic .text-link:hover>span{transform:translate(3px,-3px)}
  .cinematic .button:hover::after,.cinematic .button:focus-visible::after{transform:translateX(130%)}
  .cinematic .button.primary:hover{transform:translateY(-3px);box-shadow:0 7px 0 #9b7600,0 14px 36px #ffc10720}
}
@media(max-width:1100px) and (min-width:601px){.hero-flight{left:auto;right:-28px;top:120px;width:190px;height:285px;opacity:.85}}
@media(max-width:600px){
  .hero-flight{position:relative;left:auto;top:auto;width:124px;height:186px;margin:10px auto -18px}
  .motion-toggle{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  .closing-planet{width:240px;left:-118px;top:-54px;opacity:.34}
  .cinematic .contact-band{padding-block:64px}
  .cinematic .preview-link img{box-shadow:0 12px 28px #0006}
  .cinematic .feature-grid article::before{inset:-12px}
}
@media(prefers-reduced-motion:reduce){
  .space-scene,.motion-toggle{display:none!important}
  .hero-screens figure,.preview-link,.preview-link img,.gallery figcaption,.flight-rocket{transform:none!important}
  .engine-light{opacity:.25}
}
.motion-paused .hero-screens figure,.motion-paused .preview-link,.motion-paused .preview-link img,.motion-paused .gallery figcaption,.motion-paused .flight-rocket{transform:none!important}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}
@media print{.space-scene,.hero-flight,.closing-orbit,.motion-toggle{display:none!important}.hero-screens figure,.preview-link,.preview-link img,.gallery figcaption{transform:none!important}}
