/* AxisCore Solutions immersive studio hero. Independent of legacy site sections. */
.axis-studio-hero{position:relative;isolation:isolate;min-height:720px;height:calc(100svh - 82px);max-height:1100px;background:#090710;color:#fff;overflow:hidden}
.axis-studio-canvas-wrap,.axis-studio-frame,.axis-studio-shade{position:absolute;inset:0;width:100%;height:100%}
.axis-studio-frame{border:0;opacity:0;pointer-events:none;filter:saturate(.85);transition:opacity 1.2s ease,filter .7s ease}
.axis-studio-hero.is-ready .axis-studio-frame{opacity:1}
.axis-studio-shade{pointer-events:none;background:linear-gradient(90deg,rgba(8,6,18,.94) 0%,rgba(9,7,18,.79) 29%,rgba(10,7,22,.12) 74%),linear-gradient(0deg,#090711b8,transparent 28%);transition:opacity .85s}
.axis-studio-hero.is-exploring .axis-studio-shade{opacity:0}
.axis-studio-hero.is-exploring .axis-studio-frame{pointer-events:auto;filter:none}
.axis-studio-hero-copy{position:relative;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:center;height:100%;padding-block:84px 108px;transition:opacity .65s,transform .65s}
.axis-studio-hero-copy>*{pointer-events:auto}
.axis-studio-kicker{font:700 11px/1.6 'Space Grotesk',sans-serif;letter-spacing:.19em;color:#d7c4f3;display:flex;align-items:center;gap:12px}
.axis-studio-signal{width:8px;height:8px;border-radius:50%;background:#c292ff;box-shadow:0 0 18px #bc76ff}
.axis-studio-id{color:#8d829e;margin-left:16px}
.axis-studio-hero h1{font-size:clamp(65px,8vw,145px);max-width:1100px;line-height:.94;letter-spacing:-.095em;margin:30px 0 30px;font-weight:700}
.axis-studio-hero h1 em{font-style:normal;color:#c5a1ff;text-shadow:0 0 70px #6b35d36e}
.axis-studio-hero-copy p{font-size:clamp(16px,1.4vw,20px);line-height:1.7;color:#d4c6e4;max-width:610px}
.axis-studio-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:36px}
.axis-studio-primary{border:1px solid #b989ff;border-radius:3px;background:#b88bff;color:#130d22;min-height:58px;padding:0 25px;display:flex;align-items:center;gap:35px;font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.09em;cursor:pointer;transition:transform .2s,background .2s}
.axis-studio-primary:hover{background:#d5b8ff;transform:translateY(-3px)}
.axis-studio-contact{color:#f7efff;font-size:14px;border-bottom:1px solid #ad86e5;padding-bottom:9px}
.axis-studio-exit{position:absolute;z-index:7;top:20px;left:24px;border:1px solid #b28fe086;background:#141020ed;color:#fff;border-radius:8px;padding:13px 18px;font-weight:700;letter-spacing:.08em;font-size:11px;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s}
.axis-studio-hero.is-exploring .axis-studio-exit{opacity:1;visibility:visible}
.axis-studio-hero.is-exploring .axis-studio-hero-copy{opacity:0;pointer-events:none;transform:translateY(24px)}
.axis-studio-hero.is-exploring .axis-studio-hero-copy>*{pointer-events:none}
.axis-studio-bottom{position:absolute;bottom:24px;left:5%;right:5%;z-index:4;display:flex;justify-content:space-between;gap:12px;pointer-events:none;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.17em;color:#d5c4ed}
.axis-studio-bottom a{pointer-events:auto}
.axis-studio-hero.is-exploring .axis-studio-bottom{opacity:0}
.axis-studio-loader{position:fixed;z-index:9999;inset:0;background:#090710;color:#f3ebff;display:grid;place-items:center;opacity:1;transition:opacity .35s ease,visibility .35s}
.axis-studio-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.axis-studio-loader-noise{position:absolute;inset:0;background:radial-gradient(ellipse at 51% 40%,#351859 0%,transparent 53%),linear-gradient(135deg,#090710,#140a25)}
.axis-studio-loader-main{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(400px,78vw)}
.axis-studio-loader-main img{filter:drop-shadow(0 0 38px #a36afb9c);animation:axis-loader-float 3s ease-in-out infinite}
.axis-studio-loader-brand{font:700 clamp(24px,4vw,36px) 'Space Grotesk',sans-serif;letter-spacing:.16em;margin-top:25px}
.axis-studio-loader-brand span{display:block;color:#b991ff;font-size:.47em;letter-spacing:.36em;margin-top:9px}
.axis-studio-loader-caption{margin:48px 0 13px;color:#b09cbf;letter-spacing:.18em;font:700 10px 'Space Grotesk',sans-serif}
.axis-studio-loader-track{height:2px;background:#ffffff2a;width:100%;overflow:hidden}
.axis-studio-loader-fill{height:100%;width:8%;background:#c59aff;box-shadow:0 0 20px #c18cff;transition:width .3s ease}
.axis-studio-loader-number{align-self:flex-end;font:10px monospace;letter-spacing:.1em;color:#a58bbd;margin-top:12px}
.axis-studio-loader-skip{position:absolute;bottom:33px;right:35px;cursor:pointer;background:none;border:0;color:#c3aedc;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.12em}
@keyframes axis-loader-float{50%{transform:translateY(-8px)}}
@media(max-width:700px){.axis-studio-hero{height:calc(100svh - 70px);min-height:620px}.axis-studio-hero-copy{padding-block:50px 100px}.axis-studio-hero h1{font-size:clamp(54px,12vw,84px)}.axis-studio-hero-copy p{font-size:16px}.axis-studio-shade{background:linear-gradient(90deg,#090713e8,#0a0716a8),linear-gradient(0deg,#090713c5,transparent 38%)}.axis-studio-actions{gap:23px}.axis-studio-id{display:none}.axis-studio-bottom{font-size:9px}.axis-studio-bottom span{display:none}.axis-studio-loader-skip{right:22px;bottom:22px}}
@media(prefers-reduced-motion:reduce){.axis-studio-loader-main img{animation:none}.axis-studio-frame,.axis-studio-hero-copy,.axis-studio-shade,.axis-studio-loader{transition:none}}

/* Studio-to-content transition: soft visual handoff rather than a hard cut. */
.axis-studio-hero{margin-bottom:0}
.axis-studio-hero::after{content:"";position:absolute;z-index:3;pointer-events:none;left:0;right:0;bottom:0;height:clamp(100px,16vh,210px);background:linear-gradient(to bottom,transparent 0%,rgba(9,7,16,.6) 48%,#14101d 100%);opacity:.8;transition:opacity .5s ease}
.axis-studio-hero.is-exploring::after{opacity:0}
#leistungen{position:relative;isolation:isolate;background:linear-gradient(180deg,#14101d 0%,#20182c 25%,#f8f9fa 100%);border-top:0;padding-top:clamp(115px,15vw,210px)}
#leistungen>.wrap{position:relative}
#leistungen .intro{color:#fff;margin-bottom:clamp(48px,6vw,85px)}
#leistungen .intro small{color:#c7a4f1}
#leistungen .intro p{color:#d5c5e4}
#leistungen .services{background:#faf9fc;border-radius:12px;overflow:hidden;box-shadow:0 25px 80px #110b1d30}
#leistungen .services>a{transition:background .3s ease,transform .3s ease}
#leistungen .services>a:hover{background:#eee7f7}
.axis-studio-exit{top:22px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:9;box-shadow:0 8px 35px #0007;backdrop-filter:blur(12px)}
.axis-studio-exit:hover{background:#3b2558}
.axis-studio-continue{position:absolute;right:clamp(18px,5vw,75px);bottom:clamp(35px,6vh,80px);z-index:9;opacity:0;visibility:hidden;transform:translateY(8px);border:1px solid #b28fe086;border-radius:50px;background:#171023df;color:#fff;padding:13px 19px;font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.09em;cursor:pointer;transition:opacity .35s,transform .35s,visibility .35s}
.axis-studio-hero.is-exploring .axis-studio-continue{opacity:1;visibility:visible;transform:translateY(0)}
.axis-studio-continue:hover{background:#4a2d68}
.axis-studio-hero.is-exploring .axis-studio-bottom{pointer-events:none}
@media(max-width:700px){.axis-studio-exit{top:12px;left:50%;padding:10px 14px;font-size:10px}.axis-studio-continue{right:16px;bottom:26px;padding:12px 15px}#leistungen{padding-top:105px}#leistungen .services{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.axis-studio-hero::after,.axis-studio-continue{transition:none}}

/* Services: calm dark cards matching the studio instead of bright white tiles. */
#leistungen .services{background:#1d1728;border:1px solid #5a4774;border-radius:14px;box-shadow:0 22px 75px #0c071b50}
#leistungen .services>a{background:linear-gradient(145deg,#241c31,#191522);border-color:#4c3c61;color:#f2eafa;transition:background .3s ease,border-color .3s ease,transform .3s ease}
#leistungen .services>a:hover{background:linear-gradient(145deg,#382749,#271b35);border-color:#a57bd4;transform:translateY(-2px)}
#leistungen .services small{color:#bba2d7}
#leistungen .services h3{color:#f8f2ff}
#leistungen .services span{color:#c7a3f4}

/* Studio recovery: do not hide a loaded iframe if the model-ready event is lost. */
.axis-studio-hero.is-frame-loaded .axis-studio-frame{opacity:1}
.axis-studio-hero.is-frame-loaded .axis-studio-shade{pointer-events:none}

/* Short cinematic intro: branding only, no loading bar or percentages. */
.axis-studio-loader-track,.axis-studio-loader-number{display:none!important}
.axis-studio-loader-caption{margin-top:32px}


/* Cinematic 1.2s brand reveal: soft violet light sweep, then a clean scene handoff. */
.axis-studio-loader{
  overflow:hidden;
  background:#090710;
  transition:opacity .55s cubic-bezier(.22,1,.36,1),visibility .55s;
}
.axis-studio-loader::after{
  content:"";position:absolute;inset:-35%;
  pointer-events:none;z-index:2;
  background:linear-gradient(105deg,transparent 37%,rgba(179,119,255,.04) 46%,rgba(205,169,255,.24) 50%,rgba(179,119,255,.04) 54%,transparent 63%);
  transform:translateX(-85%) skewX(-12deg);
  animation:axis-intro-sweep 2.1s cubic-bezier(.25,.65,.35,1) both;
}
.axis-studio-loader-noise{
  transform:scale(1.08);
  animation:axis-intro-glow 2.1s ease-out both;
}
.axis-studio-loader-main{
  z-index:1;
  animation:axis-intro-appear .65s cubic-bezier(.2,.8,.2,1) both;
  transition:opacity .45s ease,transform .65s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.axis-studio-loader-main img{
  animation:axis-intro-mark 1.5s cubic-bezier(.22,1,.36,1) both;
}
.axis-studio-loader-caption{margin-top:27px}
.axis-studio-loader.is-done .axis-studio-loader-main{
  opacity:0;transform:translateY(-20px) scale(1.055);filter:blur(9px);
}
.axis-studio-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
@keyframes axis-intro-appear{
  from{opacity:0;transform:translateY(16px) scale(.97);filter:blur(6px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes axis-intro-mark{
  from{opacity:.45;transform:scale(.86);filter:drop-shadow(0 0 8px #a36afb40)}
  to{opacity:1;transform:scale(1);filter:drop-shadow(0 0 38px #a36afb9c)}
}
@keyframes axis-intro-sweep{
  from{transform:translateX(-85%) skewX(-12deg)}
  to{transform:translateX(85%) skewX(-12deg)}
}
@keyframes axis-intro-glow{
  from{opacity:.6;transform:scale(1.08)}
  to{opacity:1;transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .axis-studio-loader::after,.axis-studio-loader-noise,.axis-studio-loader-main,.axis-studio-loader-main img{animation:none!important}
  .axis-studio-loader,.axis-studio-loader-main{transition:none!important}
}
