/* Website motion: content stays visible when scripts or animation are unavailable. */
body{isolation:isolate}
.ambient-light{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambient-light::before,.ambient-light::after{content:"";position:absolute;inset:auto;border-radius:50%;opacity:.35;filter:blur(44px)}
.ambient-light::before{width:560px;height:560px;top:-180px;right:-80px;background:radial-gradient(circle,rgba(130,202,161,.15),transparent 67%)}
.ambient-light::after{width:460px;height:460px;left:-240px;top:60vh;background:radial-gradient(circle,rgba(156,179,205,.11),transparent 67%)}
html[data-motion=on] .ambient-light::before{animation:ambient-drift 16s ease-in-out infinite alternate}
html[data-motion=on] .ambient-light::after{animation:ambient-drift 20s ease-in-out -8s infinite alternate-reverse}

.hero-visual{position:relative;min-width:0}
.logo-stage{position:relative;display:grid;place-items:center;height:155px;margin:0 0 22px;isolation:isolate}
.logo-stage::before{content:"";position:absolute;width:260px;height:130px;border-radius:50%;background:radial-gradient(ellipse,rgba(184,230,202,.1),transparent 70%);z-index:-1}
.logo-stage .hero-logo{position:relative;width:160px;height:100px;margin:0;filter:drop-shadow(0 0 15px rgba(255,255,255,.1));z-index:2}
.orbit{position:absolute;width:260px;height:92px;border:1px solid rgba(184,230,202,.2);border-radius:50%;transform:rotate(-21deg);pointer-events:none}
.orbit.outer{width:300px;height:125px;transform:rotate(22deg);border-color:rgba(255,255,255,.09)}
.orbit-track{position:absolute;inset:-1px;border-radius:50%}
.orbit-dot{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:#cee9d7;box-shadow:0 0 15px 2px rgba(184,230,202,.4);offset-path:ellipse(50% 50% at 50% 50%);offset-distance:12%;offset-anchor:50% 50%;offset-rotate:0deg}
.orbit.outer .orbit-dot{width:4px;height:4px;background:#b7bfcb;box-shadow:0 0 10px rgba(183,191,203,.25);offset-distance:65%}
html[data-motion=on] .logo-stage .hero-logo{animation:logo-float 6s ease-in-out infinite}
html[data-motion=on] .orbit-dot{animation:orbit-travel 12s linear infinite}
html[data-motion=on] .outer .orbit-dot{animation:orbit-travel 19s linear infinite reverse}
html[data-motion=on] .logo-stage::before{animation:halo-breathe 7s ease-in-out infinite}

.hero-visual .panel{position:relative;overflow:hidden;box-shadow:0 18px 70px rgba(0,0,0,.16)}
.hero-visual .panel::before{content:"";position:absolute;top:0;left:18%;width:64%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,230,202,.7),transparent);pointer-events:none}
.check-row{position:relative}
.check-row::after{content:"";position:absolute;inset:-1px 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(184,230,202,.6),transparent);transform:scaleX(0);transform-origin:left;pointer-events:none}
html[data-motion=on] .hero-visual.is-introduced .check-row::after{animation:report-line 1.3s ease-out both}
.hero-visual .check-row:nth-of-type(2)::after{animation-delay:.15s}
.hero-visual .check-row:nth-of-type(3)::after{animation-delay:.3s}
.hero-visual .check-row:nth-of-type(4)::after{animation-delay:.45s}

.card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--card-x,50%) var(--card-y,20%),rgba(184,230,202,.08),transparent 72%);opacity:0;transition:opacity .35s;pointer-events:none}
.card>*{position:relative;z-index:1}
.card a{transition:color .2s,text-decoration-color .2s}
.button{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
.button:not(.secondary)::after{content:"";position:absolute;inset:-40% auto -40% -60%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg) translateX(0);pointer-events:none}
.button:active{transform:translateY(1px) scale(.985)}
header{transition:box-shadow .25s,border-color .25s,background-color .25s}
header.is-scrolled{box-shadow:0 10px 35px rgba(0,0,0,.35);border-bottom-color:#414c45;background:rgba(7,7,7,.98)}
.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#6c9c80,#d5eede);pointer-events:none}

.motion-toggle{position:fixed;right:20px;bottom:20px;z-index:25;display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #46524b;border-radius:99px;padding:9px 14px;background:rgba(18,23,20,.95);color:#d7e4dc;font-size:12px;line-height:1.2;box-shadow:0 8px 25px rgba(0,0,0,.22);cursor:pointer;backdrop-filter:blur(10px)}
.motion-toggle:hover{border-color:#b8e6ca;background:#202d25}
.motion-toggle-icon{display:flex;gap:3px;align-items:center;justify-content:center;width:12px;height:12px}
.motion-toggle-icon::before,.motion-toggle-icon::after{content:"";display:block;width:2px;height:9px;background:currentColor;border-radius:1px}
.motion-toggle[aria-pressed=false] .motion-toggle-icon::before{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;background:transparent;border-radius:0}
.motion-toggle[aria-pressed=false] .motion-toggle-icon::after{display:none}
.motion-toggle[disabled]{opacity:.75;cursor:default}

@media(hover:hover) and (pointer:fine){
  html[data-motion=on] .card:hover{transform:translateY(-5px);border-color:#667c6e;box-shadow:0 18px 40px rgba(0,0,0,.25)}
  .card:hover::before,.card:focus-within::before{opacity:1}
  html[data-motion=on] .button:hover{transform:translateY(-2px);box-shadow:0 7px 24px rgba(184,230,202,.13)}
  html[data-motion=on] .button:not(.secondary):hover::after{animation:button-light .7s ease-out}
}
html[data-motion=off] .ambient-light::before,html[data-motion=off] .ambient-light::after,
html[data-motion=off] .hero-visual *,html[data-motion=off] .hero-visual *::before,
html[data-motion=off] .hero-visual *::after{animation:none!important}
html[data-motion=off] .card,html[data-motion=off] .button,html[data-motion=off] header{transition:none}

@keyframes logo-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes orbit-travel{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes halo-breathe{0%,100%{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1.1)}}
@keyframes ambient-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-70px,70px,0)}}
@keyframes report-line{0%{transform:scaleX(0);opacity:0}35%{opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes button-light{from{left:-60%}to{left:140%}}
@media(max-width:700px){
  .logo-stage{height:145px;margin-bottom:20px}
  .orbit{width:230px;height:85px}.orbit.outer{width:270px;height:110px}
  .motion-toggle{right:12px;bottom:12px;min-height:40px;padding:8px 12px}
  .ambient-light::before{width:350px;height:350px;right:-160px;filter:blur(30px)}
}
@media(max-width:360px){.orbit{width:185px;height:78px}.orbit.outer{width:210px;height:100px}}
@media(prefers-reduced-motion:reduce){
  .ambient-light::before,.ambient-light::after,.logo-stage *,.logo-stage::before,.check-row::after{animation:none!important}
  .card,.card::before,.card a,.button,header{transition:none!important}
  .card:hover,.button:hover{transform:none!important}
}
@media print{.ambient-light,.motion-toggle,.scroll-progress,.orbit{display:none}}

html.motion-backgrounded .ambient-light::before,html.motion-backgrounded .ambient-light::after,html.motion-backgrounded .logo-stage *,html.motion-backgrounded .logo-stage::before{animation-play-state:paused!important}
