/* IRS Mega-Menü v2 — Frontend CSS — Präfix: .irsmm- */
.irs-megamenu-wrap{
  --grad-1:#070A10;--grad-2:#0B1A2E;--grad-3:#0E3A52;--grad-4:#091421;
  --glass:rgba(14,19,30,.58);--glass-s:rgba(10,14,23,.88);
  --border:rgba(255,255,255,.085);--line:rgba(255,255,255,.07);
  --b1:#2E7DFF;--b2:#5BB8FF;--cy:#46E8D4;--red:#FF3B52;
  --t1:#F3F6FB;--t2:#A9B3C6;--t3:#6C7689;
  --fd:'Space Grotesk',sans-serif;--fb:'Inter',sans-serif;--fm:'JetBrains Mono',monospace;
  --sl:45%;--sr:55%;--cc:3;
  font-family:var(--fb);-webkit-font-smoothing:antialiased;
}
/* TOPBAR */
.irsmm-topbar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;pointer-events:none;}
.irsmm-topbar>*{pointer-events:auto;}
.irsmm-logo-wrap{display:flex;align-items:center;gap:10px;}
.irsmm-logo-img{height:34px;width:auto;filter:drop-shadow(0 0 12px rgba(46,125,255,.35));}
.irsmm-logo-fallback{font-family:var(--fd);font-weight:700;font-size:19px;color:var(--t1);letter-spacing:.02em;}
.irsmm-logo-fallback em{color:var(--b2);font-style:normal;}
/* HAMBURGER */
.irsmm-hamburger{width:50px;height:50px;border-radius:50%;border:1px solid var(--border);background:var(--glass);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;z-index:300;transition:.25s;}
.irsmm-hamburger:hover{border-color:rgba(91,184,255,.5);transform:translateY(-1px);}
.irsmm-bar{display:block;width:20px;height:2px;border-radius:2px;background:var(--t1);transition:transform .45s cubic-bezier(.65,0,.35,1),opacity .35s,margin .35s;}
.irsmm-menu-open .irsmm-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.irsmm-menu-open .irsmm-bar:nth-child(2){opacity:0;}
.irsmm-menu-open .irsmm-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* OVERLAY */
.irsmm-overlay{position:fixed;inset:0;z-index:500;display:flex;clip-path:circle(0% at calc(100% - 48px) 48px);transition:clip-path .85s cubic-bezier(.76,0,.24,1);pointer-events:none;}
.irsmm-overlay::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,var(--grad-1),var(--grad-2) 38%,var(--grad-3) 72%,var(--grad-4));}
.irsmm-menu-open .irsmm-overlay{clip-path:circle(150% at calc(100% - 48px) 48px);pointer-events:auto;}
.irsmm-particles{position:absolute;inset:0;z-index:1;opacity:.55;}
/* SCENE PANEL */
.irsmm-scene-panel{position:relative;z-index:2;width:var(--sl);flex-shrink:0;padding:30px;display:flex;}
.irsmm-scene-frame{position:relative;flex:1;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:#04060B;box-shadow:0 30px 80px -20px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.03);}
.irsmm-hud-corner{position:absolute;width:22px;height:22px;z-index:4;border-color:rgba(255,255,255,.35);}
.irsmm-hud-corner.tl{top:14px;left:14px;border-top:2px solid;border-left:2px solid;}
.irsmm-hud-corner.tr{top:14px;right:14px;border-top:2px solid;border-right:2px solid;}
.irsmm-hud-corner.bl{bottom:14px;left:14px;border-bottom:2px solid;border-left:2px solid;}
.irsmm-hud-corner.br{bottom:14px;right:14px;border-bottom:2px solid;border-right:2px solid;}
.irsmm-scene-stage{position:absolute;inset:0;}
.irsmm-scene{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity 1.1s ease,transform 8s linear;display:flex;align-items:center;justify-content:center;}
.irsmm-scene.active{opacity:1;transform:scale(1);}
.irsmm-scene-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,var(--sg,rgba(46,125,255,.30)),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 26px),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 26px),linear-gradient(160deg,#0A0F18,#060910 70%);}
.irsmm-scene-bg.has-media{background:none;overflow:hidden;}
.irsmm-scene-bg.has-media img,.irsmm-scene-bg.has-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(1.15);}
.irsmm-scene-bg.has-media::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,var(--sg,rgba(46,125,255,.22)),transparent 55%);}
.irsmm-scene-icon{position:relative;z-index:3;width:128px;height:128px;border-radius:28px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);box-shadow:0 0 60px -10px var(--sg,rgba(46,125,255,.4));}
.irsmm-scene-icon svg{width:58px;height:58px;}
.irsmm-scene.has-media .irsmm-scene-icon,.irsmm-scene.has-media .irsmm-pulse{display:none;}
.irsmm-pulse{position:absolute;width:128px;height:128px;border-radius:28px;border:1px solid var(--sg,rgba(46,125,255,.5));animation:irsmm-ring 2.6s ease-out infinite;}
.irsmm-pulse.r2{animation-delay:.9s;}
@keyframes irsmm-ring{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.9);opacity:0;}}
.irsmm-scanline{position:absolute;left:0;right:0;height:120px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(91,184,255,.10),transparent);animation:irsmm-scan 4.5s linear infinite;}
@keyframes irsmm-scan{0%{top:-150px;}100%{top:100%;}}
.irsmm-scene-label{position:absolute;top:24px;left:28px;z-index:4;font-family:var(--fm);font-size:11px;letter-spacing:.14em;color:var(--b2);text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.irsmm-rec{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);animation:irsmm-blink 1.6s ease-in-out infinite;}
@keyframes irsmm-blink{0%,100%{opacity:1;}50%{opacity:.25;}}
.irsmm-scene-title{position:absolute;bottom:64px;left:28px;right:28px;z-index:4;font-family:var(--fd);font-weight:600;font-size:22px;color:var(--t1);}
.irsmm-scene-desc{position:absolute;bottom:40px;left:28px;right:28px;z-index:4;font-size:13px;color:var(--t2);}
.irsmm-scene-dots{position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:7px;}
.irsmm-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:.3s;border:none;padding:0;}
.irsmm-dot.active{background:var(--cy);box-shadow:0 0 8px var(--cy);}
.irsmm-ticker{position:absolute;left:0;right:0;bottom:0;height:30px;z-index:5;background:rgba(0,0,0,.45);border-top:1px solid var(--line);overflow:hidden;display:flex;align-items:center;}
.irsmm-ticker-track{display:flex;gap:48px;white-space:nowrap;font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;color:var(--t3);animation:irsmm-tick 22s linear infinite;padding-left:24px;}
@keyframes irsmm-tick{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
/* CLOSE BUTTON */
.irsmm-close-btn{position:absolute;top:22px;right:22px;z-index:10;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.85) rotate(-45deg);transition:opacity .4s .2s ease,transform .4s .2s cubic-bezier(.34,1.56,.64,1),background .2s;}
.irsmm-menu-open .irsmm-close-btn{opacity:1;pointer-events:auto;transform:scale(1) rotate(0deg);}
.irsmm-close-btn:hover{background:rgba(255,59,82,.18);border-color:rgba(255,59,82,.5);}
.irsmm-close-btn svg{stroke:var(--t1);transition:stroke .2s;}
.irsmm-close-btn:hover svg{stroke:var(--red);}
/* MENU PANEL */
.irsmm-menu-panel{position:relative;z-index:2;width:var(--sr);flex-shrink:0;display:flex;flex-direction:column;padding:110px 64px 50px 36px;overflow-y:auto;}
.irsmm-menu-list{list-style:none;margin:0;padding:0;max-width:560px;}
.irsmm-menu-list>li{opacity:0;transform:translateX(28px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1);}
.irsmm-menu-open .irsmm-menu-list>li{opacity:1;transform:translateX(0);}
.irsmm-menu-row{display:flex;align-items:center;justify-content:space-between;padding:13px 4px;cursor:pointer;position:relative;}
.irsmm-menu-row::before{content:'';position:absolute;left:-22px;top:50%;width:0;height:1.5px;background:linear-gradient(90deg,var(--cy),var(--b1));transition:width .3s;transform:translateY(-50%);box-shadow:0 0 10px var(--cy);}
.irsmm-menu-row:hover::before,.irsmm-menu-row.active::before{width:16px;}
.irsmm-menu-label{font-family:var(--fd);font-size:21px;font-weight:500;color:var(--t1);transition:transform .25s,color .25s;}
.irsmm-menu-row:hover .irsmm-menu-label,.irsmm-menu-row.active .irsmm-menu-label{transform:translateX(8px);background:linear-gradient(90deg,#fff,var(--b2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.irsmm-menu-row.cta .irsmm-menu-label{background:linear-gradient(90deg,var(--b1),var(--cy));-webkit-background-clip:text;background-clip:text;color:transparent;}
.irsmm-menu-num{font-family:var(--fm);font-size:10px;color:var(--t3);margin-right:14px;letter-spacing:.05em;}
.irsmm-chev{width:9px;height:9px;border-right:2px solid var(--t3);border-bottom:2px solid var(--t3);transform:rotate(-45deg);transition:transform .3s,border-color .3s;margin-right:4px;}
.irsmm-expanded>.irsmm-menu-row .irsmm-chev{transform:rotate(45deg);border-color:var(--b2);}
.irsmm-row-desc{font-size:12.5px;color:var(--t2);padding:0 4px;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s,opacity .3s;}
.irsmm-menu-row:hover+.irsmm-row-desc,.irsmm-menu-row.active+.irsmm-row-desc{max-height:30px;opacity:1;padding-bottom:6px;}
.irsmm-submenu{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.2,1);}
.irsmm-expanded .irsmm-submenu{max-height:900px;}
.irsmm-submenu-inner{padding:6px 4px 18px 16px;border-left:1px solid var(--line);margin:4px 0 8px 6px;}
.irsmm-submenu-grid{display:grid;grid-template-columns:repeat(var(--cc,3),1fr);gap:18px 28px;}
.irsmm-submenu-group{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;color:var(--b2);text-transform:uppercase;margin:14px 0 8px;grid-column:1/-1;}
.irsmm-submenu-grid>.irsmm-submenu-group:first-child{margin-top:0;}
.irsmm-sub-link{display:block;padding:7px 0;text-decoration:none;}
.irsmm-sub-label{font-size:14.5px;color:var(--t1);transition:color .2s,transform .2s;display:inline-block;}
.irsmm-sub-link:hover .irsmm-sub-label{color:var(--cy);transform:translateX(4px);}
.irsmm-sub-desc{font-size:11.5px;color:var(--t3);margin-top:2px;max-width:230px;}
/* RESPONSIVE */
@media(max-width:900px){
  .irsmm-overlay{flex-direction:column;overflow-y:auto;clip-path:none!important;transform:translateY(105%);transition:transform .6s cubic-bezier(.65,0,.35,1);}
  .irsmm-menu-open .irsmm-overlay{transform:translateY(0);}
  .irsmm-scene-panel{width:100%;height:38vh;padding:16px;}
  .irsmm-menu-panel{width:100%;padding:24px 22px 60px;}
  .irsmm-submenu-grid{grid-template-columns:repeat(min(var(--cc,3),2),1fr);}
  .irsmm-menu-list{max-width:none;}
  .irsmm-close-btn{top:14px;right:14px;}
}
