/* ====================================================================
   Identity as a Service (IDaaS) – Landingpage-Styles
   Nur auf /identity-as-a-service/ geladen. Basiert auf main.css-Tokens.
   ==================================================================== */

/* ---- Reveal / Counter (nur bei erlaubter Bewegung; sonst sofort sichtbar) ---- */
@media (prefers-reduced-motion:no-preference){
    .idaas-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
    .idaas-reveal.is-in{opacity:1;transform:none}
}

/* ==================== HERO ==================== */
.idaas-hero{position:relative;overflow:hidden;color:#fff;
    background:linear-gradient(160deg,#0c2244 0%,var(--arni-navy) 46%,var(--arni-navy-2) 100%);
    padding:clamp(2.4rem,6vw,4.6rem) 0 clamp(3rem,7vw,5.5rem)}
.idaas-hero-bg{position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(680px 420px at 84% 20%,rgba(43,124,255,.30),transparent 60%),radial-gradient(520px 340px at 8% 88%,rgba(43,124,255,.16),transparent 60%)}
.idaas-hero .container{position:relative;z-index:1}
.idaas-crumb{margin-bottom:1rem}
.idaas-crumb a{color:rgba(255,255,255,.6)}.idaas-crumb span{color:rgba(255,255,255,.85)}
.idaas-hero-title{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.05;color:#fff;margin:.4rem 0 .9rem;letter-spacing:-.02em}
.idaas-hero-sub{font-size:clamp(1.15rem,2vw,1.5rem);color:#fff;line-height:1.4;margin-bottom:.8rem}
.idaas-hero-sub strong{background:linear-gradient(90deg,#7fd6c1,#8ea6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.idaas-hero-lead{font-size:1.05rem;color:rgba(255,255,255,.78);line-height:1.7;max-width:34rem;margin-bottom:1.6rem}
.idaas-hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1.4rem}
.idaas-hero-badges{list-style:none;display:flex;flex-wrap:wrap;gap:1.2rem;padding:0;margin:0;font-size:.86rem;color:rgba(255,255,255,.72)}
.idaas-hero-badges i{color:#8ea6ff;margin-right:.35rem}
.idaas-hero-visual{display:flex;justify-content:center;align-items:center}
.idaas-illu{width:100%;max-width:520px;height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.45))}

/* Illustration-Animationen */
.idaas-node-bg{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.14)}
.idaas-illu-core{transform-box:fill-box;transform-origin:center}
.idaas-illu-pulse{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
    .idaas-node{transform-box:fill-box;transform-origin:center;animation:idaasFloat 6s ease-in-out infinite;animation-delay:var(--d,0s)}
    .idaas-illu-core{animation:idaasCorePulse 5s ease-in-out infinite}
    .idaas-illu-pulse{animation:idaasRing 3.6s ease-out infinite}
    .idaas-illu-links line{stroke-dasharray:5 7;animation:idaasDash 3s linear infinite}
    .idaas-illu-dot{offset-distance:0%;opacity:0;animation:idaasDot 3.4s linear infinite;animation-delay:var(--dd,0s)}
}
@keyframes idaasFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes idaasCorePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes idaasRing{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
@keyframes idaasDash{to{stroke-dashoffset:-48}}
@keyframes idaasDot{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}

/* ==================== TRUST / COUNTER ==================== */
.idaas-trust{background:var(--arni-navy-2);color:#fff;padding:2.2rem 0}
.idaas-counter{text-align:center}
.idaas-counter-num{display:block;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1;
    background:linear-gradient(90deg,#8ea6ff,#7fd6c1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.idaas-counter-label{display:block;margin-top:.5rem;font-size:.88rem;color:rgba(255,255,255,.66)}

/* ==================== AUDIENCE ==================== */
.arni-prose{color:var(--arni-text);line-height:1.75}
.idaas-audience{display:grid;gap:.7rem;margin-top:1.4rem}
.idaas-audience-item{display:flex;gap:.9rem;align-items:flex-start;background:var(--arni-bg-alt);border:1px solid var(--arni-line);border-radius:12px;padding:.85rem 1rem}
.idaas-audience-item i{color:var(--arni-blue);font-size:1.1rem;margin-top:.15rem;width:22px;text-align:center}
.idaas-audience-item strong{display:block;color:var(--arni-ink)}
.idaas-audience-item span{font-size:.92rem;color:var(--arni-muted)}

/* ==================== USP ==================== */
.idaas-usp{background:#fff;border:1px solid var(--arni-line);border-radius:var(--arni-radius);padding:1.6rem 1.4rem;box-shadow:var(--arni-shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.idaas-usp:hover{transform:translateY(-5px);box-shadow:var(--arni-shadow);border-color:rgba(43,124,255,.4)}
.idaas-usp-ico{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--arni-blue);background:linear-gradient(135deg,rgba(43,124,255,.14),rgba(43,124,255,.05));margin-bottom:1rem}
.idaas-usp-title{font-size:1.05rem;font-weight:700;margin-bottom:.45rem}
.idaas-usp-text{font-size:.93rem;color:var(--arni-text);line-height:1.6;margin:0}

/* ==================== SOLUTIONS ==================== */
.idaas-solution{position:relative;background:#fff;border:1px solid var(--arni-line);border-radius:var(--arni-radius);padding:1.6rem 1.5rem;box-shadow:var(--arni-shadow-sm);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.idaas-solution::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--arni-blue),#7fd6c1);opacity:0;transition:opacity .25s}
.idaas-solution:hover{transform:translateY(-6px);box-shadow:var(--arni-shadow);border-color:rgba(43,124,255,.4)}
.idaas-solution:hover::before{opacity:1}
.idaas-solution-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}
.idaas-solution-ico{position:relative;width:46px;height:46px;flex:0 0 auto;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--arni-blue);background:linear-gradient(135deg,rgba(43,124,255,.14),rgba(43,124,255,.05))}
.idaas-solution-ico .idaas-sol-svg{position:absolute;width:0;height:0;opacity:0}
.idaas-solution-ico i{font-size:1.2rem}
.idaas-solution-title{font-size:1.08rem;font-weight:700;margin:0}
.idaas-solution-text{font-size:.93rem;color:var(--arni-text);line-height:1.6;margin:0 0 .9rem}
.idaas-solution-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.idaas-solution-list li{font-size:.88rem;color:var(--arni-text);display:flex;gap:.5rem;align-items:flex-start}
.idaas-solution-list i{color:#1fa971;margin-top:.2rem;font-size:.8rem}

/* ==================== CODE SHOWCASE ==================== */
.idaas-code-sec{background:linear-gradient(160deg,var(--arni-navy) 0%,#081428 100%);color:#fff;padding:clamp(3.5rem,7vw,6rem) 0}
.idaas-code{max-width:900px;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10);
    background:rgba(10,20,38,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 40px 90px rgba(2,8,20,.5)}
.idaas-code-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding:.55rem .8rem;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.idaas-code-tabs{display:flex;flex-wrap:wrap;gap:.25rem}
.idaas-code-tab{background:none;border:0;color:rgba(255,255,255,.55);font-weight:600;font-size:.85rem;padding:.4rem .8rem;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}
.idaas-code-tab:hover{color:#fff;background:rgba(255,255,255,.06)}
.idaas-code-tab.is-active{color:#fff;background:rgba(43,124,255,.22)}
.idaas-code-copy{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.8);font-size:.8rem;font-weight:600;padding:.4rem .8rem;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}
.idaas-code-copy:hover{background:rgba(255,255,255,.12);color:#fff}
.idaas-code-copy.is-done{color:#7fd6c1;border-color:rgba(127,214,193,.4)}
.idaas-code-body{padding:.4rem 0}
.idaas-code-pane{display:none;margin:0;padding:1.2rem 1.5rem;overflow-x:auto}
.idaas-code-pane.is-active{display:block}
.idaas-code pre code,.idaas-code-response pre code{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.75;color:#c3cfe2;white-space:pre}
.idaas-code .k{color:#8ea6ff}.idaas-code .s{color:#7fd6c1}.idaas-code .c{color:#6b7a93;font-style:italic}.idaas-code .p{color:#c9b6ff}
.idaas-code-response{border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);padding:1rem 1.5rem 1.2rem}
.idaas-code-response-label{display:inline-block;font-size:.78rem;color:rgba(255,255,255,.5);margin-bottom:.5rem}
.idaas-code-response-label code{color:#7fd6c1;background:rgba(127,214,193,.1);padding:.05rem .4rem;border-radius:5px}
.idaas-code-note{text-align:center;color:rgba(255,255,255,.55);font-size:.85rem;margin-top:1.1rem}
.idaas-code-note i{color:#8ea6ff}

/* ==================== DASHBOARD ==================== */
.idaas-dash{border-radius:16px;overflow:hidden;border:1px solid var(--arni-line);background:#fff;box-shadow:var(--arni-shadow)}
.idaas-dash-bar{display:flex;align-items:center;gap:.7rem;padding:.65rem .9rem;background:var(--arni-navy);color:#fff}
.idaas-dash-dots{display:inline-flex;gap:6px}.idaas-dash-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.16)}
.idaas-dash-title{font-size:.82rem;color:rgba(255,255,255,.6);font-family:'JetBrains Mono',monospace}
.idaas-dash-live{margin-left:auto;font-size:.75rem;color:#7fd6c1;display:inline-flex;align-items:center;gap:.35rem}
.idaas-dash-live i{width:8px;height:8px;border-radius:50%;background:#1fa971;box-shadow:0 0 0 0 rgba(31,169,113,.6)}
@media (prefers-reduced-motion:no-preference){.idaas-dash-live i{animation:idaasBlink 1.6s ease-in-out infinite}}
@keyframes idaasBlink{0%,100%{box-shadow:0 0 0 0 rgba(31,169,113,.5)}50%{box-shadow:0 0 0 5px rgba(31,169,113,0)}}
.idaas-dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--arni-line)}
.idaas-dash-kpi{background:#fff;padding:1.1rem 1.2rem}
.idaas-dash-kpi-label{display:block;font-size:.78rem;color:var(--arni-muted)}
.idaas-dash-kpi-val{display:block;font-size:1.5rem;font-weight:800;color:var(--arni-ink);margin:.15rem 0}
.idaas-dash-kpi-trend{font-size:.75rem;color:#1fa971}
.idaas-dash-chart{grid-column:1/3;background:#fff;padding:1rem 1.2rem}
.idaas-dash-bars{background:#fff;padding:1rem 1.2rem}
.idaas-dash-chart-label{display:block;font-size:.78rem;color:var(--arni-muted);margin-bottom:.6rem}
.idaas-dash-svg{width:100%;height:90px;display:block}
.idaas-dash-line{stroke-dasharray:900;stroke-dashoffset:900}
.idaas-dash.is-in .idaas-dash-line{animation:idaasDraw 1.6s ease .2s forwards}
@keyframes idaasDraw{to{stroke-dashoffset:0}}
.idaas-dash-barrow{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--arni-text);margin:.35rem 0}
.idaas-dash-barrow>span:first-child{width:72px;flex:0 0 auto;font-family:'JetBrains Mono',monospace;color:var(--arni-muted)}
.idaas-bar{flex:1;height:8px;background:var(--arni-bg-alt);border-radius:5px;overflow:hidden}
.idaas-bar b{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,var(--arni-blue),#7fd6c1);transition:width 1.2s cubic-bezier(.2,.7,.3,1)}
.idaas-dash:not(.is-in) .idaas-bar b{width:0!important}
@media (max-width:575.98px){.idaas-dash-grid{grid-template-columns:1fr 1fr}.idaas-dash-chart{grid-column:1/3}.idaas-dash-bars{grid-column:1/3}}

/* ==================== FEATURES ==================== */
.idaas-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}
.idaas-feat{display:flex;align-items:center;gap:.65rem;background:#fff;border:1px solid var(--arni-line);border-radius:12px;padding:.75rem .9rem;font-size:.88rem;font-weight:600;color:var(--arni-ink);transition:transform .18s,border-color .18s,box-shadow .18s}
.idaas-feat:hover{transform:translateY(-3px);border-color:rgba(43,124,255,.45);box-shadow:var(--arni-shadow-sm)}
.idaas-feat i{color:var(--arni-blue);width:20px;text-align:center;flex:0 0 auto}

/* ==================== TRUSTBAR ==================== */
.idaas-trustbar{background:var(--arni-bg-alt);border-top:1px solid var(--arni-line);border-bottom:1px solid var(--arni-line);padding:1.4rem 0}
.idaas-trustbar-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;padding:0;margin:0}
.idaas-trustbar-list li{font-size:.9rem;font-weight:600;color:var(--arni-text)}
.idaas-trustbar-list i{color:var(--arni-blue);margin-right:.4rem}

/* ==================== LINK CARDS ==================== */
.idaas-link-card{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--arni-line);border-radius:var(--arni-radius);padding:1.3rem 1.4rem;box-shadow:var(--arni-shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;height:100%}
.idaas-link-card:hover{transform:translateY(-5px);box-shadow:var(--arni-shadow);border-color:rgba(43,124,255,.4)}
.idaas-link-ico{width:46px;height:46px;flex:0 0 auto;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--arni-blue);background:linear-gradient(135deg,rgba(43,124,255,.14),rgba(43,124,255,.05))}
.idaas-link-ico svg{width:24px;height:24px}
.idaas-link-title{display:block;font-weight:700;color:var(--arni-ink);margin-bottom:.25rem}
.idaas-link-title i{font-size:.8rem;color:var(--arni-blue);margin-left:.2rem}
.idaas-link-text{font-size:.88rem;color:var(--arni-muted);line-height:1.55}

/* ==================== FINAL CTA ==================== */
.idaas-final{padding:clamp(3rem,6vw,5rem) 0;background:#fff}
.idaas-final-box{position:relative;overflow:hidden;max-width:60rem;margin:0 auto;text-align:center;color:#fff;border-radius:24px;
    background:linear-gradient(150deg,#0c2244,var(--arni-navy) 55%,#0a1830);padding:clamp(2.2rem,5vw,3.6rem);box-shadow:var(--arni-shadow)}
.idaas-final-box::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 300px at 80% 15%,rgba(43,124,255,.32),transparent 60%);pointer-events:none}
.idaas-final-title{position:relative;font-size:clamp(1.6rem,3.4vw,2.4rem);color:#fff;margin-bottom:.8rem}
.idaas-final-text{position:relative;color:rgba(255,255,255,.8);max-width:40rem;margin:0 auto 1.6rem;line-height:1.7}
.idaas-final-cta{position:relative;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}

/* ==================== STICKY CTA + FLOATING ==================== */
.idaas-sticky{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;align-items:center;justify-content:space-between;gap:1rem;
    padding:.7rem 1rem;background:rgba(11,31,58,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -10px 30px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.idaas-sticky.is-shown{transform:none}
.idaas-sticky[hidden]{display:none}
.idaas-sticky-text{color:#fff;font-size:.9rem}
.idaas-sticky .btn-arni{white-space:nowrap;padding:.5rem 1rem}
.idaas-float{position:fixed;right:18px;bottom:18px;z-index:1035;display:inline-flex;align-items:center;gap:.5rem;
    background:var(--arni-blue);color:#fff;font-weight:700;padding:.75rem 1.1rem;border-radius:999px;text-decoration:none;
    box-shadow:0 12px 30px rgba(43,124,255,.4);transition:transform .2s,box-shadow .2s,background .2s}
.idaas-float:hover{background:var(--arni-blue-d);color:#fff;transform:translateY(-3px);box-shadow:0 16px 36px rgba(43,124,255,.5)}
.idaas-float i{font-size:1.05rem}
@media (max-width:575.98px){
    .idaas-sticky-text{font-size:.82rem}
    .idaas-float span{display:none}
    .idaas-float{padding:.9rem;border-radius:50%}
    .idaas-float{bottom:74px}
}

/* ==================== ANWENDUNGSFÄLLE ==================== */
.idaas-usecase{background:#fff;border:1px solid var(--arni-line);border-radius:var(--arni-radius);padding:1.6rem 1.6rem;box-shadow:var(--arni-shadow-sm);height:100%;transition:transform .2s,box-shadow .2s,border-color .2s}
.idaas-usecase:hover{transform:translateY(-4px);box-shadow:var(--arni-shadow);border-color:rgba(43,124,255,.35)}
.idaas-usecase-title{display:flex;align-items:center;gap:.6rem;font-size:1.12rem;font-weight:700;color:var(--arni-ink);margin-bottom:.7rem}
.idaas-usecase-title i{color:var(--arni-blue)}
.idaas-usecase p{font-size:.95rem;line-height:1.7;color:var(--arni-text);margin:0}

/* ==================== ABLAUF (dunkle Sektion, ersetzt Code-Showcase) ==================== */
.idaas-dark-sec{background:linear-gradient(160deg,var(--arni-navy) 0%,#081428 100%);color:#fff;padding:clamp(3.5rem,7vw,6rem) 0}
.idaas-steps{counter-reset:none;max-width:1000px;margin-inline:auto}
.idaas-step{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:2.1rem 1.5rem 1.5rem;
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .2s,border-color .2s,background .2s}
.idaas-step:hover{transform:translateY(-5px);border-color:rgba(43,124,255,.5);background:rgba(255,255,255,.06)}
.idaas-step-num{position:absolute;top:-18px;left:1.5rem;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.05rem;color:#fff;background:linear-gradient(135deg,#3b8bff,#1656c9);box-shadow:0 10px 24px rgba(43,124,255,.4)}
.idaas-step-title{font-size:1.12rem;font-weight:700;color:#fff;margin:.3rem 0 .5rem}
.idaas-step-text{font-size:.94rem;line-height:1.65;color:rgba(255,255,255,.74);margin:0}
.idaas-langs{max-width:1000px;margin:2.4rem auto 0;text-align:center}
.idaas-langs-label{display:block;color:rgba(255,255,255,.6);font-size:.9rem;margin-bottom:.9rem}
.idaas-langs-label i{color:#8ea6ff;margin-right:.35rem}
.idaas-langs-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:0;margin:0}
.idaas-langs-list li{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.85rem;color:#c3cfe2;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.4rem .95rem;transition:border-color .2s,color .2s}
.idaas-langs-list li:hover{border-color:rgba(43,124,255,.6);color:#fff}
