/* iClean Hero Experience – Styles
   Grundzustand = ruhige, statische Version (ohne JavaScript oder bei "Bewegung reduzieren").
   .is-live schaltet die gepinnte Scroll-Experience ein. Farben: nur Navy & Weiß. */

.ich{
  --ich-navy:#06182B; --ich-navy2:#0B2A4A; --ich-navy3:#16406B; --ich-white:#FFFFFF;
  --ich-pad:clamp(20px,6.25vw,160px);
  --ich-fs-xl:clamp(46px,min(8.6vw,13vh),220px);
  --ich-fs-l:clamp(30px,min(5.6vw,8.6vh),144px);
  --ich-fs-l2:clamp(28px,min(5vw,7.8vh),128px);
  --ich-fs-m:clamp(22px,min(2.2vw,3.9vh),58px);
  --ich-fs-num:clamp(140px,min(33vw,50vh),880px);
  --ich-fs-num2:clamp(80px,min(18.4vw,28vh),480px);
  --ich-fs-5:clamp(72px,min(11.7vw,17.5vh),300px);
  --ich-fs-sub:clamp(16px,min(1.72vw,2.7vh),44px);
  --ich-fs-micro:clamp(12px,min(.95vw,1.5vh),24px);
  position:relative; display:block; width:100%; margin:0; padding:0;
  background:var(--ich-navy); color:var(--ich-white);
  font-family:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  line-height:1.3; text-align:left; isolation:isolate;
}
.ich *,.ich *::before,.ich *::after{box-sizing:border-box}
.ich p,.ich h1{margin:0;padding:0;color:inherit;font-family:inherit;letter-spacing:normal;text-transform:none}
.ich a{color:inherit}
.ich img{max-width:none;border:0}
.ich video{display:block}
.ich-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ---------- Typografie ---------- */
.ich .ich-st{font-weight:800;font-stretch:115%;text-transform:uppercase;line-height:.93;letter-spacing:-.01em;font-size:var(--ich-fs-xl)}
.ich .ich-st--l{font-size:var(--ich-fs-l)}
.ich .ich-st--l2{font-size:var(--ich-fs-l2)}
.ich .ich-st--m{font-size:var(--ich-fs-m);line-height:1}
.ich .ich-narrow{font-stretch:100%;letter-spacing:-.005em}
.ich-l{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ich-li{display:inline-block;white-space:nowrap}
.ich-nb{white-space:nowrap}
.ich-p{display:inline-block;width:.24em;height:.158em;margin-left:.05em;background:var(--ich-white);color:transparent;overflow:hidden;text-indent:-9em;line-height:0;vertical-align:baseline}
.ich .ich-sub{font-size:var(--ich-fs-sub);line-height:1.35;color:rgba(255,255,255,.84);font-weight:400;font-stretch:100%}
.ich .ich-micro{font-size:var(--ich-fs-micro);line-height:1.4;color:rgba(255,255,255,.78);font-weight:500}
.ich-micro a{text-decoration:underline;text-underline-offset:.2em}
.ich .ich-num{font-weight:900;font-stretch:100%;line-height:.8;letter-spacing:-.035em;white-space:nowrap;display:block}
.ich-num--xl{font-size:var(--ich-fs-num)}
.ich-num--wide{font-size:var(--ich-fs-num2)}
.ich-num--m{font-size:var(--ich-fs-5);display:flex;align-items:center;gap:.12em}
.ich-star{width:.62em;height:.6em;flex:none}
.ich .ich-cities{margin-top:1.6em;font-size:var(--ich-fs-micro);letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.86)}
.ich-cities span{display:inline-block}
.ich-cities span+span::before{content:"·";margin:0 .7em}

/* ---------- Grundzustand: Szenen untereinander ---------- */
.ich-track{position:relative}
.ich-stage{position:relative}
.ich-scene{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background-color:var(--ich-navy)}
.ich-media,.ich-win video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--ich-navy)}
.ich-hole-frame,.ich-blade,.ich-prog,.ich-pause,.ich-mcta,.ich-cue,.ich-proc{display:none}
.ich-veil{position:absolute;inset:0;background:rgba(6,24,43,.62)}
.ich-logo{position:relative}
.ich-s0 .ich-logo{position:absolute;left:50%;top:44%;width:min(62vw,1590px);transform:translate(-50%,-50%)}
.ich-logo img{display:block;width:100%;height:auto}
.ich-logo-dot{position:absolute;left:1.619%;top:4.872%;width:5.911%;height:11.137%;background:var(--ich-white)}
.ich-s1-st,.ich-s2-st{position:absolute;left:var(--ich-pad);top:50%;transform:translateY(-50%)}
.ich-clean{position:absolute;inset:0;background:rgba(6,24,43,.74)}
.ich-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,43,.86) 0%,rgba(6,24,43,.6) 46%,rgba(6,24,43,0) 78%)}
.ich-s3-txt{position:absolute;left:var(--ich-pad);top:50%;transform:translateY(-52%)}
.ich-knock{position:absolute;inset:0;color:var(--ich-white)}
.ich-s6-knock,.ich.is-live .ich-s4-knock{background:var(--ich-navy);mix-blend-mode:multiply}
.ich-s4-knock .ich-num{position:absolute;left:calc(var(--ich-pad) - .04em);top:8.5vh}
.ich-s4-win{position:absolute;right:calc(var(--ich-pad) * .4 + 3.5vw);top:10.8%;width:29.4vw;max-width:56vh;aspect-ratio:9/16;height:auto;overflow:hidden}
.ich-win{overflow:hidden;background:var(--ich-navy2)}
.ich-s4-txt{position:absolute;left:var(--ich-pad);top:58%}
.ich-s4-txt .ich-sub{margin-top:.9em}
.ich-s5-txt{position:absolute;left:var(--ich-pad);top:8%}
.ich-rating{padding-bottom:.3em}
.ich-s5-micro{margin-top:.5em}
.ich-s5-st{margin-top:1.1em}
.ich-s5-txt .ich-sub{margin-top:.8em}
.ich-row{position:absolute;left:var(--ich-pad);right:calc(var(--ich-pad) * .55 + 3vw);bottom:9%;height:42%;display:flex;gap:1.9%}
.ich-rw{position:relative;flex:1 1 0;height:100%}
.ich-s6-knock .ich-num{position:absolute;left:calc(var(--ich-pad) - .03em);top:22%}
.ich-num--wide span{display:inline}
.ich-dim{position:absolute;left:var(--ich-pad);right:calc(var(--ich-pad) + 9vw);top:16.6%;height:14px;border-left:1px solid rgba(255,255,255,.6);border-right:1px solid rgba(255,255,255,.6)}
.ich-dim::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:rgba(255,255,255,.45)}
.ich-dim span{position:absolute;left:50%;top:-5px;transform:translateX(-50%);background:var(--ich-navy);padding:0 14px;font-size:var(--ich-fs-micro);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);white-space:nowrap}
.ich-s6-txt{position:absolute;left:var(--ich-pad);top:52%}
.ich-s6-txt .ich-sub{margin-top:.9em}.ich-s6-txt .ich-micro{margin-top:.8em}
.ich-s7-bg{position:absolute;inset:-20px;background:var(--ich-navy) center/cover no-repeat;filter:blur(6px) brightness(.55)}
.ich-s7-win{position:absolute;right:calc(var(--ich-pad) * .4 + 3.5vw);top:10.8%;width:29.4vw;max-width:56vh;aspect-ratio:9/16}
.ich-s7-txt{position:absolute;left:var(--ich-pad);top:31%}
.ich-swap{position:relative}
.ich-s7-b{display:none}
.ich-s7-sub{margin-top:1.2em}
.ich-lt{position:absolute;left:calc(100% - var(--ich-pad) * .4 - 3.5vw - min(29.4vw,56vh) - 3.1vw);bottom:9%;display:flex;flex-direction:column;gap:.35em;font-size:var(--ich-fs-micro);color:rgba(255,255,255,.88)}
.ich-lt i{display:block;width:3.2em;height:1px;background:var(--ich-white);transform-origin:left center}
.ich-lt b{font-size:1.4em;font-weight:700;color:var(--ich-white)}
.ich-s8-v{opacity:1}
.ich-s8-v+.ich-s8-v{display:none}
.ich-s8-txt{position:absolute;left:var(--ich-pad);top:24%}
.ich .ich-count{font-size:var(--ich-fs-micro);letter-spacing:.2em;font-weight:700;color:rgba(255,255,255,.85);margin-bottom:1.6em}
.ich-s8-sts{position:relative}
.ich-s8-st+.ich-s8-st{margin-top:.25em}
.ich:not(.is-live) .ich-s8-st{font-size:var(--ich-fs-l)}
.ich-final{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(14px,2.6vh,48px);padding:0 var(--ich-pad)}
.ich-logo--final{width:min(40.6vw,1040px);margin-bottom:clamp(8px,3vh,60px)}
.ich-final .ich-st{text-align:center}
.ich-ctas{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:clamp(6px,1.2vh,24px)}
.ich .ich-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:54px;padding:0 1.6em;border-radius:999px;font-size:clamp(15px,min(1.1vw,1.8vh),26px);font-weight:700;text-decoration:none;line-height:1.1;transition:background-color .2s,color .2s,border-color .2s}
.ich .ich-btn--pri{background:var(--ich-white);color:var(--ich-navy)}
.ich .ich-btn--pri:hover,.ich .ich-btn--pri:focus-visible{background:#E9EEF3;color:var(--ich-navy)}
.ich .ich-btn--sec{border:1px solid rgba(255,255,255,.75);color:var(--ich-white)}
.ich .ich-btn--sec:hover,.ich .ich-btn--sec:focus-visible{border-color:var(--ich-white);background:rgba(255,255,255,.08)}
.ich a:focus-visible,.ich button:focus-visible{outline:2px solid var(--ich-white);outline-offset:3px}
.ich .ich-skip{position:absolute;left:16px;top:16px;z-index:30;padding:10px 14px;background:var(--ich-white);color:var(--ich-navy);font-size:14px;font-weight:700;text-decoration:none;border-radius:4px;transform:translateY(-200%);transition:transform .2s}
.ich .ich-skip:focus{transform:none}
.ich-after{display:block;height:0}

/* ---------- Live: gepinnte Experience ---------- */
.ich.is-live .ich-track{height:var(--ich-track,1000vh)}
.ich.is-live .ich-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;contain:paint}
.ich.is-live.is-pin-fixed .ich-stage,.ich.is-live.is-pin-follow .ich-stage{position:absolute;left:0;top:0;width:100%}
.ich.is-live.is-pin-fixed .ich-stage.is-fixed{position:fixed;top:0}
.ich.is-live .ich-scene{position:absolute;inset:0;min-height:0;visibility:hidden;background-color:transparent}
.ich.is-live .ich-scene.is-on{visibility:visible}
.ich.is-live .ich-s5,.ich.is-live .ich-s7{background-color:var(--ich-navy)}
.ich.is-live .ich-s0{background-color:var(--ich-navy)}
.ich.is-live .ich-veil{background:rgba(6,24,43,.74)}
.ich.is-live .ich-s9 .ich-veil{background:rgba(6,24,43,.8)}
.ich.is-live .ich-hole-frame{display:block;position:absolute;left:0;top:0;border:1px solid rgba(255,255,255,.95);pointer-events:none}
.ich.is-live .ich-logo-dot{background:transparent}
.ich.is-live .ich-cue{display:flex;position:absolute;left:50%;bottom:4.2vh;transform:translateX(-50%);flex-direction:column;align-items:center;gap:12px;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.ich-cue i{display:block;width:1px;height:40px;background:rgba(255,255,255,.75)}
.ich.is-live .ich-clean{clip-path:polygon(0 0,0 0,0 100%,0 100%)}
.ich.is-live .ich-blade{display:block;position:absolute;left:0;top:0;width:3px;background:var(--ich-white);transform-origin:50% 50%;box-shadow:0 0 0 1px rgba(6,24,43,.15)}
.ich.is-live .ich-s7-b{display:block;position:absolute;left:0;top:0}
.ich.is-live .ich-s8-v+.ich-s8-v{display:block}
.ich.is-live .ich-s8-st{position:absolute;left:0;top:0;margin:0}
.ich.is-live .ich-s8-sts{height:calc(var(--ich-fs-xl) * 1.95)}
.ich.is-live .ich-proc{display:block;position:absolute;left:var(--ich-pad);right:calc(var(--ich-pad) + 18vw);bottom:14%;height:60px}
.ich-proc-line,.ich-proc-fill{position:absolute;left:12px;right:12px;top:8px;height:1px;background:rgba(255,255,255,.35)}
.ich-proc-fill{background:var(--ich-white);transform-origin:left center;transform:scaleX(0)}
.ich-node{position:absolute;top:0;width:24px;height:16px;background:var(--ich-navy);border:1.5px solid var(--ich-white);transition:background-color .25s,transform .25s}
.ich-node:nth-of-type(1){left:0}.ich-node:nth-of-type(2){left:calc(50% - 12px)}.ich-node:nth-of-type(3){right:0}
.ich-node.is-done{background:var(--ich-white)}
.ich-node.is-cur{transform:scale(1.25)}
.ich-node-l{position:absolute;top:34px;font-size:var(--ich-fs-micro);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);white-space:nowrap;transition:color .25s}
.ich-node-l:nth-of-type(1){left:0}.ich-node-l:nth-of-type(2){left:50%;transform:translateX(-50%)}.ich-node-l:nth-of-type(3){right:0}
.ich-node-l.is-cur{color:var(--ich-white);font-weight:700}
.ich.is-live .ich-prog{display:flex;position:absolute;right:clamp(14px,1.9vw,48px);top:50%;transform:translateY(-50%);flex-direction:column;gap:10px;align-items:flex-end;z-index:5}
.ich-prog i{display:block;width:12px;height:1px;background:rgba(255,255,255,.5);transition:height .25s,background-color .25s}
.ich-prog i.is-cur{height:8px;background:var(--ich-white)}
.ich.is-live .ich-pause{display:flex;position:absolute;left:clamp(14px,1.9vw,48px);bottom:clamp(14px,3vh,48px);z-index:6;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(6,24,43,.35);cursor:pointer;padding:0}
.ich-pause svg{width:14px;height:14px}
.ich-play-i{display:none}
.ich-pause[aria-pressed="true"] .ich-play-i{display:block}
.ich-pause[aria-pressed="true"] .ich-pause-i{display:none}
.ich.is-live .ich-skip{transform:none;top:auto;left:calc(clamp(14px,1.9vw,48px) + 56px);bottom:clamp(14px,3vh,48px);background:transparent;color:var(--ich-white);font-weight:500;font-size:13px;padding:13px 4px;text-decoration:underline;text-underline-offset:.25em;opacity:.8;transition:opacity .3s}
.ich.is-live.is-late .ich-skip{opacity:0;pointer-events:none}
.ich.is-live .ich-skip:focus{opacity:1}

@keyframes ichIn{from{opacity:0}to{opacity:1}}
.ich.is-live .ich-s0 .ich-logo img{animation:ichIn 1.1s cubic-bezier(.2,.7,.2,1) backwards}
.ich.is-live .ich-s0 .ich-hole-frame{animation:ichIn .8s .5s ease-out backwards}
.ich.is-live .ich-s0 .ich-cue{animation:ichIn .8s .9s ease-out backwards}

/* Logo im Seiten-Header während der Experience ausblenden (Astra & Elementor Pro) */
body.ich-hide-logo .site-branding,body.ich-hide-logo .ast-site-identity,body.ich-hide-logo .custom-logo-link,body.ich-hide-logo .site-logo-img,body.ich-hide-logo .elementor-location-header .elementor-widget-theme-site-logo{opacity:0!important;transition:opacity .35s ease}
.site-branding,.ast-site-identity,.custom-logo-link,.elementor-location-header .elementor-widget-theme-site-logo{transition:opacity .45s ease}

/* ---------- Hochformat: Handy & Tablet hochkant ---------- */
@media (max-width:767px),(max-aspect-ratio:4/5){
  .ich{--ich-pad:24px;--ich-fs-xl:min(12.4vw,7.4vh);--ich-fs-l:min(7.9vw,4.8vh);--ich-fs-l2:min(7.6vw,4.6vh);--ich-fs-m:min(6.3vw,3.8vh);--ich-fs-num:min(48vw,26vh);--ich-fs-num2:min(48vw,26vh);--ich-fs-5:min(24.6vw,13vh);--ich-fs-sub:min(3.9vw,2.3vh);--ich-fs-micro:min(3vw,1.7vh)}
  .ich-s0 .ich-logo{width:80vw;top:42%}
  .ich-s1-st,.ich-s2-st{top:26%;transform:none;right:var(--ich-pad)}
  .ich-li{white-space:normal}
  .ich .ich-st{font-stretch:100%}
  .ich-s4-win video{object-position:50% 66%}
  .ich-hide-m{display:none}
  .ich-scrim{background:linear-gradient(180deg,rgba(6,24,43,.9) 0%,rgba(6,24,43,.62) 42%,rgba(6,24,43,0) 72%)}
  .ich-s3-txt{top:13%;transform:none}
  .ich-s3-txt .ich-cities{margin-top:1.2em}
  .ich-s4-knock .ich-num{top:11vh;left:20px}
  .ich-s4-win{left:0;right:0;top:auto;bottom:0;width:100%;max-width:none;height:48%;aspect-ratio:auto}
  .ich-s4-txt{top:33vh}
  .ich-s5-txt{top:10%}
  .ich-row{left:var(--ich-pad);right:auto;bottom:auto;top:44%;height:36vh;width:calc(100% + 40vw);gap:16px}
  .ich-rw{flex:0 0 calc((100vw - 64px) / 2.15)}
  .ich-rw:nth-child(n+4){display:none}
  .ich-s6-knock .ich-num{top:11vh;left:20px}
  .ich-num--wide span{display:block}
  .ich-num--wide span+span{font-size:.56em;margin-top:.12em}
  .ich-dim{display:none}
  .ich-s6-txt{top:47vh}
  .ich-s7-win{left:var(--ich-pad);right:var(--ich-pad);top:9%;width:auto;max-width:none;height:44%;aspect-ratio:auto}
  .ich-s7-txt{top:58%}
  .ich-lt{left:calc(var(--ich-pad) + 16px);bottom:auto;top:calc(9% + 44% - 4.6em)}
  .ich-s8-txt{top:13%}
  .ich.is-live .ich-proc{left:var(--ich-pad);right:var(--ich-pad);bottom:17vh}
  .ich-node-l{font-size:min(2.6vw,11px);letter-spacing:.08em}
  .ich-logo--final{width:76vw}
  .ich-final{justify-content:flex-start;padding-top:15vh}
  .ich-ctas{flex-direction:column;width:100%;gap:12px}
  .ich .ich-btn{width:100%;font-size:15px;padding:0 1em}
  .ich.is-live .ich-prog{display:none}
  .ich.is-live .ich-mcta{display:flex;position:absolute;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:52px;border-radius:999px;background:var(--ich-white);color:var(--ich-navy);font-size:15px;font-weight:700;align-items:center;justify-content:center;text-decoration:none;z-index:6;opacity:0;pointer-events:none;transition:opacity .35s}
  .ich.is-live.has-mcta .ich-mcta{opacity:1;pointer-events:auto}
  .ich.is-live .ich-pause{top:auto;left:auto;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .ich.is-live .ich-skip{left:16px;top:auto;bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}

/* Bewegung reduzieren: statische Version erzwingen */
@media (prefers-reduced-motion:reduce){
  .ich .ich-skip{transition:none}
}
/* 1.0.5: Elementor-/Astra-Abstände um den Hero entfernen (verhindert weiße Linie oben) */
.e-con:has(> .elementor-widget-shortcode .ich),.e-con:has(> .e-con-inner > .elementor-widget-shortcode .ich),.elementor-section:has(.ich),.elementor-column:has(.ich) > .elementor-widget-wrap,.elementor-widget-shortcode:has(.ich),.elementor-widget-shortcode:has(.ich) > .elementor-widget-container,.elementor-shortcode:has(.ich){padding:0!important;margin:0!important;--padding-top:0px!important;--padding-bottom:0px!important;--margin-top:0px!important;--gap:0px!important;--row-gap:0px!important;border:0!important;max-width:none!important}
.e-con:has(.ich) > .e-con-inner{padding:0!important;max-width:none!important}
body:has(.ich) .site-content > .ast-container,body:has(.ich) #primary,body:has(.ich) .site-main,body:has(.ich) .entry-content{margin-top:0!important;padding-top:0!important}
body:has(.ich) .entry-content > .elementor:first-child > :first-child{margin-top:0!important}
