*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --black:#0a0a0a;--white:#f0f0f0;--gd:#141414;--gm:#2e2e2e;--gl:#888;--gmu:#555;
  --toggle-bg:rgba(255,255,255,.08);--toggle-border:rgba(255,255,255,.15);
  --card-bg:rgba(255,255,255,.04);--card-border:rgba(255,255,255,.08);
}
html.light{
  --black:#f0f0f0;--white:#0f0f0f;--gd:#e2e2e2;--gm:#d0d0d0;--gl:#555;--gmu:#888;
  --toggle-bg:rgba(0,0,0,.06);--toggle-border:rgba(0,0,0,.12);
  --card-bg:rgba(0,0,0,.04);--card-border:rgba(0,0,0,.09);
}

html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden;transition:.4s,color .4s}

/* ── NOISE ── */
body::before{content:'';position:fixed;inset:0;z-index:1;opacity:.3;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E")}
html.light body::before{opacity:.1}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 6vw;transition:.4s,backdrop-filter .4s}
nav.sc{background:rgba(10,10,10,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07)}
html.light nav.sc{background:rgba(240,240,240,.9);border-bottom:1px solid rgba(0,0,0,.08)}
.nl{font-size:1.35rem;font-weight:900;letter-spacing:-.04em;color:var(--white);text-decoration:none;position:relative}
.nl span{color:var(--gl)}
.nl::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--white);transition:width .4s cubic-bezier(.34,1.56,.64,1)}
.nl:hover::after{width:100%}
.nls{display:flex;gap:32px;list-style:none}
.nls a{color:var(--gl);font-size:.8rem;font-weight:700;text-decoration:none;letter-spacing:.09em;text-transform:uppercase;position:relative;transition:color .3s}
.nls a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--white);transition:width .3s}
.nls a:hover{color:var(--white)}
.nls a:hover::after{width:100%}
@media(max-width:600px){.nls{display:none}}

/* ── HERO ── */
#hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 6vw 100px;overflow:hidden}

/* animated grid */
.hg{position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:64px 64px;animation:gridDrift 24s linear infinite}
html.light .hg{background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px)}
@keyframes gridDrift{0%{background-position:0 0}100%{background-position:64px 64px}}

/* vignette over grid */
.hg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center,transparent 40%,var(--black) 100%);pointer-events:none}

/* orbs */
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:0;pointer-events:none;animation:orbIn 2.5s ease forwards,orbFloat 9s ease-in-out infinite}
@keyframes orbIn{to{opacity:.12}}
html.light .orb{animation:orbIn 2.5s ease forwards,orbFloat 9s ease-in-out infinite}
html.light @keyframes orbIn{to{opacity:.06}}
.o1{width:580px;height:580px;background:#fff;top:-150px;left:-150px;animation-delay:.3s,0s}
.o2{width:430px;height:430px;background:#999;bottom:-100px;right:-100px;animation-delay:.5s,-4s}
.o3{width:320px;height:320px;background:#ccc;top:42%;left:44%;animation-delay:.7s,-7s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,-26px) scale(1.04)}}

/* floating particles */
.particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.p{position:absolute;width:2px;height:2px;background:rgba(255,255,255,.4);border-radius:50%;animation:pFloat linear infinite}
@keyframes pFloat{0%{transform:translateY(100vh) translateX(0);opacity:0}10%{opacity:1}90%{opacity:.3}100%{transform:translateY(-10vh) translateX(30px);opacity:0}}
html.light .p{background:rgba(0,0,0,.25)}

.hc{position:relative;z-index:2;max-width:940px}

.htag{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:7px 18px;margin-bottom:34px;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gl);opacity:0;transform:translateY(18px);animation:fadeUp .8s ease .2s forwards}
html.light .htag{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.12)}
.ldot{width:7px;height:7px;background:#ffffff;border-radius:50%;animation:ldotP 2s ease infinite}
@keyframes ldotP{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}

h1{font-size:clamp(2.8rem,7.5vw,6.8rem);font-weight:900;line-height:1.04;letter-spacing:-.045em;margin-bottom:26px;opacity:0;transform:translateY(28px);animation:fadeUp .9s ease .4s forwards}

/* char-by-char shimmer on h1 */
.shimmer-word{display:inline-block;position:relative;overflow:hidden}
.shimmer-word::after{content:attr(data-text);position:absolute;top:0;left:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);
  background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmerSlide 4s ease 1.5s infinite;opacity:0;animation-fill-mode:forwards}
@keyframes shimmerSlide{0%{background-position:200% 0;opacity:1}100%{background-position:-200% 0;opacity:0}}

.gt{background:linear-gradient(130deg,#fff 30%,#666 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
html.light .gt{background:linear-gradient(130deg,#111 30%,#666 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.hs{font-size:clamp(1rem,2.3vw,1.2rem);color:var(--gl);max-width:540px;margin:0 auto 50px;line-height:1.75;font-weight:500;opacity:0;transform:translateY(28px);animation:fadeUp .9s ease .6s forwards}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:100px;font-size:.93rem;font-weight:800;letter-spacing:.02em;text-decoration:none;position:relative;overflow:hidden;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.bp{background:var(--white);color:var(--black);opacity:0;transform:translateY(28px) scale(.96);animation:fadeUp .9s ease .8s forwards}
.bp:hover{transform:scale(1.07) translateY(-3px);box-shadow:0 22px 60px rgba(255,255,255,.22),0 0 0 2px rgba(255,255,255,.35)}
html.light .bp:hover{box-shadow:0 22px 60px rgba(0,0,0,.2),0 0 0 2px rgba(0,0,0,.25)}
.bs{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.28)}
.bs:hover{background:var(--white);color:var(--black);border-color:var(--white);transform:scale(1.06) translateY(-3px);box-shadow:0 22px 60px rgba(255,255,255,.18)}
html.light .bs{border-color:rgba(0,0,0,.28);color:var(--white)}
html.light .bs:hover{background:var(--white);color:var(--black);box-shadow:0 22px 60px rgba(0,0,0,.15)}
.ba{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.btn:hover .ba{transform:translateX(6px)}

/* btn glow pulse */
.bp::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(130deg,rgba(255,255,255,.15),transparent);opacity:0;transition:opacity .3s}
.bp:hover::before{opacity:1}

.hsh{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeIn 1s ease 1.6s forwards}
.hsl{font-size:.66rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gmu)}
.sb{width:1px;height:50px;background:linear-gradient(to bottom,var(--gmu),transparent);animation:sbA 2.2s ease infinite}
@keyframes sbA{0%,100%{opacity:.2;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.15)}}

/* ── SECTIONS ── */
section{position:relative;z-index:2}
.si{max-width:1100px;margin:0 auto;padding:130px 6vw}
.slbl{display:flex;align-items:center;gap:12px;font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gmu);margin-bottom:20px}
.slbl::before{content:'';display:block;width:28px;height:1px;background:var(--gmu)}

/* ── MARQUEE ── */
.mq{overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:15px 0;position:relative}
html.light .mq{border-color:rgba(0,0,0,.08)}
.mq::before,.mq::after{content:'';position:absolute;top:0;width:80px;height:100%;z-index:2;pointer-events:none}
.mq::before{left:0;background:linear-gradient(to right,var(--black),transparent)}
.mq::after{right:0;background:linear-gradient(to left,var(--black),transparent)}
.mq-track{display:flex;gap:38px;white-space:nowrap;animation:mq 15s linear infinite}
.mq-track span{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.13);flex-shrink:0}
html.light .mq-track span{color:rgba(0,0,0,.15)}
.mqd{color:rgba(255,255,255,.35)!important}
html.light .mqd{color:rgba(0,0,0,.3)!important}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── ÜBER UNS ── */
#ueber{background:var(--gd);position:relative;overflow:hidden}

/* diagonal line deco */
#ueber::before{content:'';position:absolute;top:-200px;right:-100px;width:600px;height:600px;
  border:1px solid rgba(255,255,255,.04);border-radius:50%;pointer-events:none;
  animation:rotateSlow 30s linear infinite}
#ueber::after{content:'';position:absolute;bottom:-150px;left:-50px;width:400px;height:400px;
  border:1px solid rgba(255,255,255,.03);border-radius:50%;pointer-events:none;
  animation:rotateSlow 20s linear infinite reverse}
html.light #ueber::before{border-color:rgba(0,0,0,.04)}
html.light #ueber::after{border-color:rgba(0,0,0,.03)}
@keyframes rotateSlow{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

.ug{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:768px){.ug{grid-template-columns:1fr;gap:48px}}
.ul h2{font-size:clamp(2rem,4.5vw,3.5rem);font-weight:900;letter-spacing:-.04em;line-height:1.08;margin-bottom:22px}
.ul p{color:var(--gl);font-size:1.04rem;line-height:1.78;font-weight:500;margin-bottom:42px}

/* stat items with hover */
.sr{display:flex;gap:46px;flex-wrap:wrap}
.stat-item{position:relative;padding-bottom:8px;cursor:default}
.stat-item::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--white);transition:width .4s cubic-bezier(.34,1.56,.64,1)}
.stat-item:hover::after{width:100%}
.sn{font-size:2.6rem;font-weight:900;letter-spacing:-.04em;line-height:1;transition:transform .3s}
.stat-item:hover .sn{transform:scale(1.08) translateY(-2px)}
.sk{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gmu);margin-top:5px}

/* ueber cards */
.ucards{display:flex;flex-direction:column;gap:13px}
.uc{background:var(--card-bg);border:1px solid var(--card-border);border-radius:13px;padding:22px 24px;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;display:flex;align-items:center;gap:14px}
.uc-dot{width:6px;height:6px;border-radius:50%;background:var(--gmu);flex-shrink:0;transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.uc::before{content:'';position:absolute;inset:0;border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 60%);opacity:0;transition:opacity .3s}
html.light .uc::before{background:linear-gradient(135deg,rgba(0,0,0,.04),transparent 60%)}
.uc:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);transform:translateX(10px);box-shadow:-4px 0 0 rgba(255,255,255,.65),8px 16px 40px rgba(0,0,0,.25)}
html.light .uc:hover{background:rgba(0,0,0,.07);border-color:rgba(0,0,0,.25);box-shadow:-4px 0 0 rgba(0,0,0,.6),8px 16px 40px rgba(0,0,0,.08)}
.uc:hover::before{opacity:1}
.uc:hover .uc-dot{background:#ffffff;transform:scale(1.5);box-shadow:0 0 8px #ffffff}
.uc p{font-size:.93rem;font-weight:600;color:var(--gl);transition:color .3s}
.uc:hover p{color:var(--white)}
html.light .uc:hover p{color:var(--white)}

/* ── WARUM ── */
#warum{background:var(--black);position:relative;overflow:hidden}

/* subtle bg gradient pulse */
#warum::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:800px;height:800px;
  background:radial-gradient(circle,rgba(255,255,255,.02) 0%,transparent 70%);
  animation:bgPulse 6s ease-in-out infinite;pointer-events:none}
@keyframes bgPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}

#warum h2{font-size:clamp(2rem,4.5vw,3.5rem);font-weight:900;letter-spacing:-.04em;line-height:1.08;margin-bottom:13px}
.stt{color:var(--gl);font-size:1.04rem;max-width:490px;line-height:1.72;font-weight:500;margin-bottom:58px}
.wg{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:700px){.wg{grid-template-columns:1fr}}

.wi{background:var(--gd);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:34px 28px;position:relative;overflow:hidden;transition:all .45s cubic-bezier(.34,1.56,.64,1);cursor:default;transform-style:preserve-3d}
html.light .wi{border-color:rgba(0,0,0,.08)}

/* top gradient sweep */
.wi::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  transition:left .6s ease;pointer-events:none}
.wi:hover::before{left:100%}

.wi::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.07) 0%,transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
html.light .wi::after{background:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,.04) 0%,transparent 65%)}
.wi:hover{border-color:rgba(255,255,255,.2);box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}
html.light .wi:hover{border-color:rgba(0,0,0,.18);box-shadow:0 28px 70px rgba(0,0,0,.12)}
.wi:hover::after{opacity:1}

.wi-icon{font-size:1.9rem;margin-bottom:16px;display:block;filter:grayscale(.5) brightness(1.4);transition:transform .45s cubic-bezier(.34,1.56,.64,1),filter .3s}
.wi:hover .wi-icon{transform:scale(1.25) rotate(-6deg);filter:none}
.wi-num{position:absolute;top:24px;right:24px;font-size:.66rem;font-weight:800;color:rgba(255,255,255,.1);letter-spacing:.1em;transition:color .3s}
html.light .wi-num{color:rgba(0,0,0,.12)}
.wi:hover .wi-num{color:rgba(255,255,255,.25)}
.wi h3{font-size:1.06rem;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;transition:color .3s,transform .3s}
.wi:hover h3{color:var(--white);transform:translateX(4px)}
.wi p{color:var(--gl);font-size:.87rem;line-height:1.68;font-weight:500;transition:color .3s}
.wi:hover p{color:rgba(200,200,200,.8)}
html.light .wi:hover p{color:rgba(60,60,60,.9)}

/* ── PROCESS STRIP (new section) ── */
#prozess{background:var(--gd);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}
html.light #prozess{border-color:rgba(0,0,0,.07)}
#prozess .si{padding:80px 6vw}
.pz-row{display:flex;gap:0;align-items:stretch;flex-wrap:wrap}
.pz-step{flex:1;min-width:200px;padding:32px 28px;position:relative;border-right:1px solid rgba(255,255,255,.07);transition:.35s}
html.light .pz-step{border-right-color:rgba(0,0,0,.07)}
.pz-step:last-child{border-right:none}
.pz-step::before{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--white);transition:width .5s cubic-bezier(.34,1.56,.64,1)}
.pz-step:hover::before{width:100%}
.pz-step:hover{background:rgba(255,255,255,.04)}
html.light .pz-step:hover{background:rgba(0,0,0,.04)}
.pz-num{font-size:.66rem;font-weight:800;letter-spacing:.18em;color:var(--gmu);margin-bottom:16px;transition:color .3s}
.pz-step:hover .pz-num{color:var(--white)}
.pz-title{font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;transition:transform .3s}
.pz-step:hover .pz-title{transform:translateY(-2px)}
.pz-desc{font-size:.82rem;color:var(--gl);line-height:1.6;font-weight:500}
.pz-arrow{position:absolute;top:50%;right:-14px;transform:translateY(-50%);z-index:2;width:28px;height:28px;background:var(--gd);border:1px solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--gmu)}
html.light .pz-arrow{background:var(--gd);border-color:rgba(0,0,0,.1)}
.pz-step:last-child .pz-arrow{display:none}
@media(max-width:768px){.pz-row{flex-direction:column}.pz-step{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.pz-arrow{display:none}}

/* ── CTA ── */
#cta{background:var(--gd);border-top:1px solid rgba(255,255,255,.06);text-align:center;overflow:hidden;position:relative}
html.light #cta{border-color:rgba(0,0,0,.08)}
#cta .si{padding:150px 6vw}

.cg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(70px,17vw,210px);font-weight:900;letter-spacing:-.05em;color:rgba(255,255,255,.022);white-space:nowrap;pointer-events:none;user-select:none;animation:cgF 7s ease-in-out infinite}
html.light .cg{color:rgba(0,0,0,.04)}
@keyframes cgF{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.025)}}

/* cta orbs */
.cta-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:orbFloat 8s ease-in-out infinite}
.cta-orb-1{width:400px;height:400px;background:rgba(255,255,255,.05);top:-100px;left:-100px;animation-delay:0s}
.cta-orb-2{width:300px;height:300px;background:rgba(255,255,255,.04);bottom:-80px;right:-80px;animation-delay:-4s}

#cta h2{font-size:clamp(2.5rem,6.5vw,5rem);font-weight:900;letter-spacing:-.045em;line-height:1.04;margin-bottom:18px;position:relative;z-index:2}
#cta p{color:var(--gl);font-size:1.08rem;margin:0 auto 48px;max-width:460px;line-height:1.72;font-weight:500;position:relative;z-index:2}
#cta .btn{position:relative;z-index:2}

/* ── FOOTER ── */
footer{border-top:1px solid rgba(255,255,255,.07);padding:42px 6vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:var(--black);position:relative;z-index:2;transition:border-color .4s}
html.light footer{border-top:1px solid rgba(0,0,0,.08)}
.fl{font-size:1.2rem;font-weight:900;letter-spacing:-.04em;transition:opacity .2s}
.fl:hover{opacity:.7}
.fl span{color:var(--gl)}
footer p{color:var(--gmu);font-size:.76rem;font-weight:600}
footer a{color:var(--gmu);text-decoration:none;font-size:.76rem;font-weight:600;transition:color .3s}
footer a:hover{color:var(--white)}
.flinks{display:flex;gap:4px;flex-wrap:wrap}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.rl{opacity:0;transform:translateX(-36px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rr{opacity:0;transform:translateX(36px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.v,.rl.v,.rr.v{opacity:1;transform:translate(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* ── THEME TOGGLE ── */
.theme-toggle{position:fixed;bottom:28px;right:28px;z-index:200;background:var(--toggle-bg);border:1px solid var(--toggle-border);border-radius:100px;padding:8px;display:flex;align-items:center;gap:0;backdrop-filter:blur(12px);transition:background .3s,border .3s;box-shadow:0 4px 24px rgba(0,0,0,.18)}
.theme-toggle button{background:none;border:none;cursor:pointer;width:36px;height:36px;border-radius:100px;display:flex;align-items:center;justify-content:center;font-size:1rem;transition: .25s,transform .2s;color:var(--gl)}
.theme-toggle button.active{background:var(--white);color:var(--black);transform:scale(1.08);box-shadow:0 2px 12px rgba(0,0,0,.15)}
.theme-toggle button:hover:not(.active){background:rgba(128,128,128,.12)}
@media(max-width:600px){.theme-toggle{bottom:20px;right:16px}}

/* ── KEYFRAMES ── */
@keyframes fadeUp{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fadeIn{to{opacity:1}}

@media(max-width:600px){.si{padding:88px 6vw}#cta .si{padding:108px 6vw}footer{flex-direction:column;align-items:flex-start}.sr{gap:30px}}
