/* Planeet ja kursor on dekoratiivsed: need ei püüa hiireklikke ega kata sisu. */
.orbit3d-space {position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:var(--orbit3d-opacity,.45)}
.orbit3d-stars {position:absolute;inset:0;background-image:radial-gradient(circle,var(--cms-primary) 1px,transparent 1.5px),radial-gradient(circle,var(--cms-text) .7px,transparent 1px);background-size:157px 193px,269px 227px;background-position:30px 70px,90px 130px;opacity:.24}
.orbit3d-planet {position:absolute;width:var(--orbit3d-size,1200px);height:var(--orbit3d-size,1200px);right:-18%;top:50%;transform:translate(var(--orbit3d-px,0px),calc(-50% + var(--orbit3d-py,0px)));transition:transform 1.4s ease-out;isolation:isolate}
.orbit3d-space[data-position=left] .orbit3d-planet {right:auto;left:-18%}
.orbit3d-space[data-position=center] .orbit3d-planet {right:calc(50% - var(--orbit3d-size,1200px) / 2)}
.orbit3d-space[data-position=bottom] .orbit3d-planet {right:calc(50% - var(--orbit3d-size,1200px) / 2);top:72%;transform:translate(var(--orbit3d-px,0px),var(--orbit3d-py,0px))}
.orbit3d-sphere {position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#061626;box-shadow:0 0 40px #4daeff24,0 0 100px #4daeff12}
.orbit3d-globe-image {width:100%;height:100%;max-width:none;object-fit:cover;display:block;clip-path:circle(48% at 50% 50%);animation:orbit3d-spin var(--orbit3d-period,180s) linear infinite}
.orbit3d-space[data-planet=earth] .orbit3d-globe-image {clip-path:circle(48.2% at 50% 50%);transform:scale(1.04);animation-name:orbit3d-globe-turn}
.orbit3d-space[data-planet=mars] .orbit3d-sphere {background:transparent;box-shadow:0 0 60px #e76b2520}
.orbit3d-sphere::after {content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 25% 25%,transparent 35%,#03040b55 75%,#03040bbb 100%);pointer-events:none}
.orbit3d-space[data-planet=abstract] .orbit3d-sphere {inset:16%;background:radial-gradient(circle at 28% 23%,color-mix(in srgb,var(--cms-primary) 40%,white),var(--cms-primary) 12%,#070811 76%)}
.orbit3d-space[data-planet=abstract] .orbit3d-sphere::before {content:"";position:absolute;inset:-50%;background:repeating-radial-gradient(ellipse at 30% 20%,transparent 0 15px,#ffffff1c 16px 17px,transparent 18px 29px);animation:orbit3d-spin var(--orbit3d-period,180s) linear infinite}
.orbit3d-space:not(.has-rings) .orbit3d-orbit {display:none}
@keyframes orbit3d-globe-turn {from{transform:scale(1.04) rotate(0deg)}to{transform:scale(1.04) rotate(360deg)}}
.orbit3d-orbit {position:absolute;inset:1%;border:1px solid color-mix(in srgb,var(--cms-primary) 60%,transparent);border-radius:50%;transform:rotate(-28deg) scaleY(.34);box-shadow:0 0 0 11px color-mix(in srgb,var(--cms-primary) 5%,transparent),0 0 0 25px color-mix(in srgb,var(--cms-primary) 4%,transparent)}
.orbit3d-orbit.second {inset:7%;transform:rotate(40deg) scaleY(.45);opacity:.6}
.orbit3d-orbit::after {content:"";position:absolute;inset:-2px;border-radius:50%;border:3px solid transparent;border-top-color:var(--cms-primary);animation:orbit3d-spin var(--orbit3d-period,80s) linear infinite}
.orbit3d-space.is-static *,.orbit3d-space.is-static *::before,.orbit3d-space.is-static *::after {animation:none!important}
.orbit3d-hero,.orbit3d-cta,.orbit3d-marquee {--orbit3d-soft:color-mix(in srgb,var(--cms-text) 70%,var(--cms-bg));color:var(--cms-text);font-family:var(--cms-font),sans-serif}
.orbit3d-hero {position:relative;isolation:isolate;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:660px;padding:70px 26px;gap:28px;overflow:hidden}
.orbit3d-copy {position:relative;z-index:2;min-width:0}
.orbit3d-eyebrow {font:600 11px var(--cms-font),sans-serif;letter-spacing:.18em;display:flex;align-items:center;gap:12px;margin-bottom:30px}
.orbit3d-eyebrow span {width:6px;height:6px;background:var(--cms-primary);border-radius:50%;box-shadow:0 0 20px var(--cms-primary)}
.orbit3d-copy h2 {font-size:clamp(2.8rem,6.5vw,6.7rem);line-height:1.02;letter-spacing:-.065em;max-width:10ch;margin:0 0 25px;font-weight:650;text-wrap:balance}
.orbit3d-lead {font-size:1.05rem;line-height:1.8;max-width:48ch;color:var(--orbit3d-soft);margin:0 0 32px}
.orbit3d-button {display:inline-flex;align-items:center;gap:35px;text-decoration:none;border-radius:100px;background:var(--cms-primary);color:var(--cms-bg);font-weight:700;padding:15px 24px;transition:transform .25s,box-shadow .25s}
.orbit3d-button:hover {color:var(--cms-bg);transform:translateY(-3px);box-shadow:0 10px 35px color-mix(in srgb,var(--cms-primary) 25%,transparent)}
.orbit3d-visual {min-width:0;position:relative;z-index:1}
.orbit3d-visual-caption {text-align:center;letter-spacing:.16em;text-transform:uppercase;font-size:10px;color:var(--orbit3d-soft);margin:22px 0 0;overflow-wrap:anywhere}
.orbit3d-hero-image {width:100%;max-height:540px;object-fit:contain;border-radius:22px}
.orbit3d-custom-visual {width:100%;border:0;display:block}
.orbit3d-model {height:390px;position:relative;display:grid;place-items:center;perspective:900px}
.orbit3d-vase {height:270px;width:180px;border-radius:32% 32% 24% 24% / 9% 9% 12% 12%;background:repeating-linear-gradient(0deg,transparent 0 3px,#09081866 4px 5px),linear-gradient(100deg,#29223c,var(--cms-primary) 30%,#f1e9ff 43%,var(--cms-primary) 65%,#1e1636);clip-path:polygon(20% 0,80% 0,77% 12%,71% 27%,84% 53%,100% 81%,91% 96%,73% 100%,27% 100%,9% 96%,0 81%,16% 53%,29% 27%,23% 12%);transform:rotate(-12deg);filter:drop-shadow(20px 30px 20px #0008);animation:orbit3d-float 8s ease-in-out infinite}
.orbit3d-platform {position:absolute;bottom:20px;width:80%;height:80px;border-radius:50%;border:1px solid color-mix(in srgb,var(--cms-primary) 35%,transparent);background:radial-gradient(ellipse,color-mix(in srgb,var(--cms-primary) 15%,transparent),transparent 65%);transform:rotate(-12deg)}
.orbit3d-model-orbit {position:absolute;inset:8%;border:1px dashed color-mix(in srgb,var(--cms-primary) 25%,transparent);border-radius:50%;transform:rotate(-28deg) scaleY(.8)}
.orbit3d-cta {position:relative;isolation:isolate;padding:70px 30px;border:1px solid color-mix(in srgb,var(--cms-primary) 25%,transparent);border-radius:26px;background:color-mix(in srgb,var(--cms-surface) 85%,transparent);overflow:hidden}
.orbit3d-cta h2 {font-size:clamp(2rem,4vw,4rem);max-width:18ch}
.orbit3d-marquee {position:relative;display:flex;align-items:center;gap:15px;padding:24px 0;border-block:1px solid color-mix(in srgb,var(--cms-text) 14%,transparent)}
.orbit3d-marquee-window {overflow:hidden;flex:1;min-width:0}
.orbit3d-marquee-track,.orbit3d-marquee-group {display:flex;width:max-content;align-items:center}
.orbit3d-marquee-group span {padding-right:50px;display:flex;align-items:center;gap:50px;font-size:14px;letter-spacing:.08em}
.orbit3d-marquee-group i {color:var(--cms-primary);font-style:normal}
.orbit3d-marquee.is-moving .orbit3d-marquee-track {animation:orbit3d-marquee var(--orbit3d-speed,35s) linear infinite}
.orbit3d-marquee.is-paused .orbit3d-marquee-track {animation-play-state:paused}
.orbit3d-pause {background:var(--cms-surface);color:var(--cms-text);border:1px solid color-mix(in srgb,var(--cms-text) 20%,transparent);border-radius:50px;font-size:11px;padding:9px 13px}
.orbit3d-fx-layer {position:absolute;inset:0;pointer-events:none;z-index:0}
.orbit3d-fx-light {position:absolute;inset:0;background:radial-gradient(circle var(--orbit3d-radius,280px) at var(--orbit3d-x,70%) var(--orbit3d-y,50%),color-mix(in srgb,var(--cms-primary) 12%,transparent),transparent);opacity:var(--orbit3d-power,.38)}
.orbit3d-reveal {position:absolute;inset:0;background:linear-gradient(#aaa2 1px,transparent 1px),linear-gradient(90deg,#aaa2 1px,transparent 1px);background-size:35px 35px;mask-image:radial-gradient(circle 200px at var(--orbit3d-x,75%) var(--orbit3d-y,50%),#000,transparent);opacity:.3}
.orbit3d-reveal svg {display:none}
.orbit3d-fx-card {transition:transform .7s,box-shadow .7s}
.orbit3d-fx-card:hover {transform:translateY(-6px);box-shadow:0 14px 45px color-mix(in srgb,var(--cms-primary) 12%,transparent)}
.orbit3d-arrived {animation:orbit3d-arrive .9s ease both}
.orbit3d-cursor {position:fixed;top:0;left:0;width:36px;height:36px;pointer-events:none;z-index:9999;opacity:0;color:var(--cms-primary);border-radius:50%;transition:opacity .15s}
.orbit3d-cursor::before,.orbit3d-cursor::after {content:"";position:absolute;inset:0;border-radius:50%;border:1px solid currentColor}
.orbit3d-cursor[data-kind=arcs]::before {border-color:currentColor transparent transparent currentColor;animation:orbit3d-spin 2s linear infinite}
.orbit3d-cursor[data-kind=arcs]::after {inset:7px;border-color:transparent currentColor currentColor transparent;animation:orbit3d-spin 1.3s linear infinite reverse}
.orbit3d-cursor[data-kind=orbit]::before {transform:scaleY(.5);animation:orbit3d-orbit-cursor 2.5s linear infinite}
.orbit3d-cursor[data-kind=orbit]::after {animation:orbit3d-orbit-cursor 3.5s linear infinite reverse}
.orbit3d-cursor[data-kind=ring]::after {display:none}
.orbit3d-cursor[data-kind=dot]::before {inset:14px;background:currentColor;box-shadow:0 0 14px currentColor}
.orbit3d-cursor[data-kind=dot]::after {display:none}
.orbit3d-cursor[data-kind=halo] {background:color-mix(in srgb,var(--cms-primary) 20%,transparent);box-shadow:0 0 22px currentColor}
.orbit3d-cursor[data-kind=halo]::before,.orbit3d-cursor[data-kind=halo]::after {display:none}
.orbit3d-cursor[data-kind=cross]::before {inset:17px 3px;border:0;border-radius:0;background:currentColor}
.orbit3d-cursor[data-kind=cross]::after {inset:3px 17px;border:0;border-radius:0;background:currentColor}
.orbit3d-cursor.is-over {filter:drop-shadow(0 0 5px currentColor)}
@keyframes orbit3d-spin {to{transform:rotate(360deg)}}
@keyframes orbit3d-orbit-cursor {to{transform:rotate(360deg) scaleY(.5)}}
@keyframes orbit3d-float {50%{transform:translateY(-16px) rotate(-7deg)}}
@keyframes orbit3d-marquee {to{transform:translateX(-50%)}}
@keyframes orbit3d-arrive {from{opacity:.3;translate:0 28px}to{opacity:1;translate:0 0}}
@media(max-width:767px){.orbit3d-hero{grid-template-columns:1fr;min-height:0;padding:55px 8px;gap:24px}.orbit3d-copy h2{font-size:clamp(2.8rem,12vw,4.5rem)}.orbit3d-model{height:310px}.orbit3d-vase{height:225px;width:150px}.orbit3d-planet{width:min(var(--orbit3d-size,1200px),150vw);height:min(var(--orbit3d-size,1200px),150vw);right:-65%;top:36%}.orbit3d-space[data-position=left] .orbit3d-planet{left:-65%}.orbit3d-space[data-position=center] .orbit3d-planet,.orbit3d-space[data-position=bottom] .orbit3d-planet{right:calc(50% - min(var(--orbit3d-size,1200px),150vw) / 2)}.orbit3d-cta{padding:40px 24px}}
@media(prefers-reduced-motion:reduce){.orbit3d-space *,.orbit3d-space *::before,.orbit3d-space *::after,.orbit3d-vase,.orbit3d-marquee-track,.orbit3d-arrived{animation:none!important;transition:none!important}.orbit3d-cursor{display:none}.orbit3d-fx-card,.orbit3d-button{transition:none}}
.orbit3d-text-only {grid-template-columns:1fr}
.orbit3d-fx-host {position:relative;isolation:isolate}

.orbit3d-globe-canvas {position:absolute;inset:0;width:100%;height:100%;display:block}
.has-globe-canvas .orbit3d-globe-image {visibility:hidden}
.has-globe-canvas::after {display:none}

.orbit3d-space::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cms-bg) 0%,color-mix(in srgb,var(--cms-bg) 94%,transparent) 22%,color-mix(in srgb,var(--cms-bg) 65%,transparent) 40%,transparent 70%)}
.orbit3d-space[data-position=left]::after {background:linear-gradient(270deg,var(--cms-bg),transparent 75%)}
@media(max-width:767px){.orbit3d-space::after{background:linear-gradient(90deg,color-mix(in srgb,var(--cms-bg) 95%,transparent),color-mix(in srgb,var(--cms-bg) 50%,transparent))}}
