/* IQE Group — Design System */
:root{
  --bg:#06070a; --bg2:#0d0f14; --card:rgba(255,255,255,.04); --line:rgba(255,255,255,.1);
  --fg:#f5f5f7; --mut:#98a0ae; --gold:#d9a441; --accent:#d9a441; --accent-rgb:217,164,65;
  --r:22px; --ease:cubic-bezier(.2,.8,.2,1);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body.t-montiqe{--accent:#ff6a13;--accent-rgb:255,106,19}
body.t-stromiqe{--accent:#2f7bff;--accent-rgb:47,123,255}
body.t-renoviqe{--accent:#86b373;--accent-rgb:134,179,115}
body.t-moviqe{--accent:#e0224f;--accent-rgb:224,34,79}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
::selection{background:var(--accent);color:#000}
.wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}
section{position:relative;padding:clamp(80px,12vw,160px) 0}
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,header,footer{position:relative;z-index:1}
.glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(var(--accent-rgb),.16),transparent 65%);transform:translate(-50%,-50%);left:50%;top:40%;transition:opacity .4s}

/* type */
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;display:inline-flex;gap:10px;align-items:center}
.eyebrow:before{content:"";width:28px;height:1px;background:var(--accent)}
h1,h2,h3{line-height:1.04;letter-spacing:-.035em;font-weight:700}
h1{font-size:clamp(2.7rem,8.2vw,7rem)}
h2{font-size:clamp(2rem,5.2vw,4rem);margin:14px 0 18px}
h3{font-size:1.35rem;letter-spacing:-.02em;line-height:1.2}
.grad{background:linear-gradient(100deg,#fff 10%,var(--accent) 60%,#fff 110%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s linear infinite}
@keyframes sheen{to{background-position:-200% center}}
.lead{font-size:clamp(1.05rem,1.8vw,1.4rem);color:var(--mut);max-width:62ch}
p{color:var(--mut)}
.c{text-align:center}.c .lead,.c p{margin-inline:auto}

/* header */
header.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,backdrop-filter .3s,transform .4s var(--ease)}
header.nav.stuck{background:rgba(6,7,10,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
header.nav.hide{transform:translateY(-100%)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.plate{background:#f6f5f1;border-radius:12px;padding:3px 10px;display:inline-flex;align-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 8px 30px rgba(0,0,0,.4)}
.plate img{height:36px;width:auto;mix-blend-mode:multiply}
.nav-links{display:flex;gap:26px;align-items:center;font-size:.92rem}
.nav-links a{color:#c9ced8;position:relative;transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:#fff}
.nav-links a.dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--d);margin-right:8px;box-shadow:0 0 12px var(--d)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);position:relative}
.burger i{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:.3s}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:25px}
.burger.open i:nth-child(1){top:21px;transform:rotate(45deg)}.burger.open i:nth-child(2){top:21px;transform:rotate(-45deg)}

/* buttons */
.btn{--p:var(--accent);display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:600;font-size:1rem;
  background:var(--p);color:#000;transition:transform .25s var(--ease),box-shadow .3s;position:relative;overflow:hidden;will-change:transform;box-shadow:0 10px 40px -10px rgba(var(--accent-rgb),.7)}
.btn:hover{box-shadow:0 14px 60px -8px rgba(var(--accent-rgb),.95)}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.sm{padding:10px 20px;font-size:.9rem}
.btn svg{width:18px;height:18px;transition:transform .3s}.btn:hover svg{transform:translateX(4px)}
.row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* hero */
.hero{min-height:100svh;display:flex;align-items:center;padding-top:110px}
.hero h1{max-width:12ch}
.hero .lead{margin:26px 0 38px}
.hero-meta{display:flex;gap:34px;margin-top:56px;flex-wrap:wrap}
.hero-meta div{font-size:.86rem;color:var(--mut);border-left:1px solid var(--line);padding-left:14px}
.hero-meta b{display:block;color:#fff;font-size:1.05rem;font-weight:600}
.scroll-cue{position:absolute;bottom:26px;left:50%;width:1px;height:56px;background:linear-gradient(#fff,transparent);animation:cue 2s infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero.sub{min-height:88svh}
.hero.sub .plate img{height:64px}
.hero.sub .plate{margin-bottom:30px;padding:6px 18px}

/* reveal */
.rv{opacity:0;transform:translateY(40px) scale(.98);filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none;filter:none}
.split span{display:inline-block;overflow:hidden;vertical-align:top}
.split span i{display:inline-block;font-style:normal;transform:translateY(110%);transition:transform 1s var(--ease);transition-delay:calc(var(--i)*60ms)}
.split.in span i{transform:none}

/* pain */
.pain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:56px;perspective:1200px}
.pain{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--r);padding:30px;min-height:230px;
  transform-style:preserve-3d;transition:transform .25s var(--ease),border-color .3s;position:relative;overflow:hidden}
.pain:hover{border-color:rgba(var(--accent-rgb),.6)}
.pain:after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0),rgba(var(--accent-rgb),.18),transparent 45%);opacity:0;transition:.3s}
.pain:hover:after{opacity:1}
.pain q{display:block;font-size:1.3rem;font-weight:600;letter-spacing:-.02em;color:#fff;quotes:"„" "“";line-height:1.25;transform:translateZ(30px)}
.pain p{margin-top:16px;font-size:.95rem;transform:translateZ(14px)}
.pain .fix{display:block;margin-top:18px;color:var(--accent);font-weight:600;font-size:.9rem;transform:translateZ(20px)}
.pain .fix:before{content:"→ "}

/* world story */
.story{padding:0;height:520vh}
.story-stick{position:sticky;top:0;height:100svh;display:flex;align-items:center}
.chapters{position:relative;width:min(560px,100%);height:420px}
.chap{position:absolute;inset:0;opacity:0;transform:translateY(40px);transition:.7s var(--ease);pointer-events:none}
.chap.on{opacity:1;transform:none;pointer-events:auto}
.chap .plate img{height:48px}
.chap h2{font-size:clamp(2rem,4.6vw,3.6rem)}
.chap ul{list-style:none;margin:18px 0 28px;display:grid;gap:8px}
.chap li{color:#cfd4de;padding-left:26px;position:relative}
.chap li:before{content:"";position:absolute;left:0;top:.6em;width:14px;height:2px;background:var(--c)}
.chap .eyebrow{color:var(--c)}.chap .eyebrow:before{background:var(--c)}
.chap .btn{--p:var(--c);box-shadow:0 10px 40px -10px var(--c)}
.dots{position:absolute;right:24px;top:50%;transform:translateY(-50%);display:grid;gap:12px;z-index:3}
.dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);transition:.3s}
.dots i.on{background:#fff;transform:scale(1.5)}
.story-spacer{width:50%}
@media(min-width:900px){.story .wrap{display:flex;justify-content:flex-start}}

/* photo evolve */
.evolve{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);box-shadow:0 40px 120px -40px rgba(var(--accent-rgb),.5)}
.evolve img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--s,1.15));filter:grayscale(var(--g,1)) contrast(var(--ct,1.3)) brightness(var(--b,.6)) sepia(var(--se,.4)) hue-rotate(var(--hr,170deg)) saturate(var(--sa,2))}
.evolve .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(var(--accent-rgb),.35) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.35) 1px,transparent 1px);background-size:48px 48px;opacity:var(--go,1);mix-blend-mode:screen}
.evolve .scan{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);box-shadow:0 0 30px 6px rgba(var(--accent-rgb),.8);left:var(--sx,0%)}
.evolve .tag{position:absolute;left:20px;bottom:18px;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.82rem}
.evolve .stage-lbl{position:absolute;right:20px;top:18px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);padding:6px 14px;border-radius:999px}
.split2{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,5vw,80px);align-items:center}

/* game */
.game{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:30px;padding:clamp(18px,3vw,38px);margin-top:46px;position:relative;overflow:hidden}
.g-top{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.seg{display:inline-flex;background:rgba(255,255,255,.07);border-radius:999px;padding:4px}
.seg button{padding:10px 18px;border-radius:999px;font-size:.9rem;color:#c9ced8;transition:.3s}
.seg button.on{background:#fff;color:#000;font-weight:600}
.hud{display:flex;gap:22px;align-items:center;font-size:.9rem;color:var(--mut)}
.hud b{color:#fff;font-size:1.3rem;margin-right:4px;font-variant-numeric:tabular-nums}
.bar{width:140px;height:6px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .4s var(--ease)}
#stage{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;margin-inline:auto}
.van:before{content:"";position:absolute;left:4%;right:-18%;bottom:-40px;height:36px;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%);filter:blur(6px);z-index:-1}
.van{position:absolute;left:0;top:0;border:2px solid rgba(255,255,255,.35);border-radius:10px 10px 6px 6px;background:rgba(255,255,255,.03);box-shadow:inset 0 30px 60px rgba(0,0,0,.45);transition:width .5s var(--ease),height .5s var(--ease)}
.van:before{content:"";position:absolute;left:4%;right:-18%;bottom:-40px;height:36px;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%);filter:blur(6px);z-index:-1}
.cargo{position:absolute;left:0;bottom:0;background:repeating-linear-gradient(0deg,transparent 0 calc(var(--c) - 1px),rgba(255,255,255,.08) calc(var(--c) - 1px) var(--c)),repeating-linear-gradient(90deg,transparent 0 calc(var(--c) - 1px),rgba(255,255,255,.08) calc(var(--c) - 1px) var(--c));border-top:1px dashed rgba(255,255,255,.12);border-right:1px dashed rgba(255,255,255,.12);transition:width .5s var(--ease),height .5s var(--ease)}
.road{position:absolute;left:0;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 26px,transparent 26px 44px);border-radius:3px}
.shard{position:absolute;pointer-events:none;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);z-index:1000}
.dmg{position:absolute;pointer-events:none;z-index:1001;font-size:clamp(1.4rem,3.4vw,2.4rem);font-weight:800;color:#ff3b5c;text-shadow:0 0 24px rgba(255,59,92,.8),0 2px 0 #000;transform:translate(-50%,0);white-space:nowrap;animation:dmgup 1.7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes dmgup{0%{opacity:0;transform:translate(-50%,10px) scale(.4)}15%{opacity:1;transform:translate(-50%,-10px) scale(1.25)}100%{opacity:0;transform:translate(-50%,-90px) scale(1)}}
.flash{position:absolute;width:20px;height:20px;margin:-10px;border-radius:50%;background:radial-gradient(circle,#fff,rgba(255,80,100,.7) 40%,transparent 70%);pointer-events:none;z-index:1000;animation:flash .5s ease-out forwards}
@keyframes flash{to{transform:scale(9);opacity:0}}
.rumble{animation:rumble .45s}
@keyframes rumble{15%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-3px,2px)}60%{transform:translate(3px,-1px)}}
.piece.falling{transition:none!important;pointer-events:none}
.hud .dm.hot b{color:#ff3b5c;text-shadow:0 0 18px rgba(255,59,92,.7)}
.van .lbl{position:absolute;left:12px;bottom:calc(100% + 8px);font-size:.8rem;color:var(--mut);white-space:nowrap}
.van .cab{position:absolute;left:100%;bottom:-2px;height:calc(var(--c)*2.2);width:calc(var(--c)*2.6);border:2px solid rgba(255,255,255,.35);border-left:0;border-radius:0 60px 8px 0;background:rgba(255,255,255,.05)}
.van .wh{position:absolute;bottom:-18px;width:34px;height:34px;border-radius:50%;background:#14161c;border:4px solid #3a3f4b}
.piece{position:absolute;left:0;top:0;border-radius:6px;display:grid;place-items:center;font-size:.78rem;font-weight:700;color:#fff;cursor:grab;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),inset 0 -14px 24px rgba(0,0,0,.28),inset 0 10px 18px rgba(255,255,255,.12);text-align:center;line-height:1.1;touch-action:none;will-change:transform;
  transition:transform .45s cubic-bezier(.34,1.45,.5,1),width .3s var(--ease),height .3s var(--ease);--dp:18px;filter:drop-shadow(10px 14px 10px rgba(0,0,0,.45))}
.piece:before,.piece:after{content:"";position:absolute;background:inherit;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.piece:before{left:0;bottom:100%;width:100%;height:var(--dp);transform-origin:bottom left;transform:skewX(-45deg);filter:brightness(1.4)}
.piece:after{left:100%;top:0;width:var(--dp);height:100%;transform-origin:top left;transform:skewY(-45deg);filter:brightness(.62)}
.piece.drag{cursor:grabbing;transition:none;filter:drop-shadow(26px 40px 22px rgba(0,0,0,.55))}
.piece.thud{animation:thud .5s var(--ease)}
@keyframes thud{0%{filter:drop-shadow(20px 30px 18px rgba(0,0,0,.5))}35%{margin-top:5px}100%{margin-top:0}}
.piece.bad{animation:shake .35s}
@keyframes shake{25%{margin-left:-7px}75%{margin-left:7px}}
.piece small{display:block;font-weight:500;opacity:.8;font-size:.68rem}
.g-msg{margin-top:22px;border-radius:18px;padding:22px 26px;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.4);display:none;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.g-msg.show{display:flex;animation:pop .5s var(--ease)}
.g-msg h3{margin-bottom:4px}.g-msg p{max-width:56ch}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.97)}}
.hint{font-size:.82rem;color:var(--mut)}

/* brand cards */
.brands{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:52px;perspective:1400px}
.bcard{--c:#fff;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:var(--bg2);transform-style:preserve-3d;transition:transform .3s var(--ease),border-color .3s,box-shadow .4s;position:relative;display:flex;flex-direction:column}
.bcard:hover{border-color:var(--c);box-shadow:0 30px 80px -30px var(--c)}
.bcard .ph{aspect-ratio:4/3;overflow:hidden;position:relative}
.bcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s;filter:grayscale(.8) brightness(.7)}
.bcard:hover .ph img{transform:scale(1.12);filter:none}
.bcard .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,var(--bg2))}
.bcard .bd{padding:6px 24px 26px;margin-top:-34px;position:relative;z-index:1;transform:translateZ(30px)}
.bcard .plate{margin-bottom:14px}.bcard .plate img{height:34px}
.bcard p{font-size:.93rem;margin:6px 0 14px}
.more{color:var(--c);font-weight:600;font-size:.92rem}

/* chaos vs one */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:50px}
.vs>div{border:1px solid var(--line);border-radius:var(--r);padding:30px;background:var(--card);min-height:320px;position:relative;overflow:hidden}
.vs h3{margin-bottom:6px}
.vs svg{width:100%;height:220px;margin-top:14px}
.vs .one{border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.07)}
.vs .ln{stroke-dasharray:6 6;animation:dash 1.2s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.vs .pulse{animation:pls 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pls{50%{transform:scale(1.18)}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:50px;counter-reset:s;position:relative}
.step{counter-increment:s;padding:28px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);position:relative}
.step:before{content:"0" counter(s);display:block;font-size:3.4rem;font-weight:800;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px var(--accent);margin-bottom:10px;line-height:1}
.step p{font-size:.94rem;margin-top:8px}

/* tiles / services */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:46px}
.tile{padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);transition:.4s var(--ease)}
.tile:hover{transform:translateY(-6px);border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.07)}
.tile .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(var(--accent-rgb),.16);color:var(--accent);margin-bottom:16px;font-size:1.3rem}
.tile p{font-size:.92rem;margin-top:8px}

/* widgets */
.widget{border:1px solid var(--line);border-radius:30px;padding:clamp(22px,3vw,40px);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));margin-top:44px}
.range{width:100%;accent-color:var(--accent);height:30px}
.race{display:grid;gap:18px;margin-top:22px}
.race .lane{background:rgba(255,255,255,.06);border-radius:14px;height:64px;position:relative;overflow:hidden}
.race .lane i{position:absolute;inset:0 auto 0 0;width:0;border-radius:14px;display:flex;align-items:center;padding:0 20px;font-weight:700;white-space:nowrap;transition:width .8s var(--ease)}
.race .a i{background:#4b4f5c;color:#fff}.race .b i{background:var(--accent);color:#000}
.home{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:24px}
.sw{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line);cursor:pointer;transition:.3s}
.sw.on{background:rgba(var(--accent-rgb),.18);border-color:var(--accent);box-shadow:0 0 40px -8px rgba(var(--accent-rgb),.8)}
.sw span{font-size:.95rem}.sw i{width:44px;height:26px;border-radius:99px;background:#3b3f4a;position:relative;transition:.3s}
.sw i:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.3s}
.sw.on i{background:var(--accent)}.sw.on i:after{left:21px}
.room{height:200px;border-radius:20px;margin-top:22px;position:relative;overflow:hidden;background:#05060a;border:1px solid var(--line);transition:.6s}
.room .lamp{position:absolute;left:50%;top:-20px;width:300px;height:300px;margin-left:-150px;border-radius:50%;background:radial-gradient(circle,rgba(255,230,160,.9),rgba(255,200,90,.25) 40%,transparent 68%);opacity:0;transition:.6s}
.room.light .lamp{opacity:1}.room.light{background:#14110a}
.room .car{position:absolute;bottom:22px;left:20px;right:20px;height:12px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
.room .car i{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 20px var(--accent);transition:width 3s linear}
.room.wb .car i{width:100%}
.room .txt{position:absolute;left:20px;top:16px;font-size:.82rem;color:#aab}
.room .blind{position:absolute;right:30px;top:0;width:70px;background:repeating-linear-gradient(#2a2d36 0 6px,#1c1e25 6px 10px);height:100%;transition:height .8s var(--ease);height:0}
.room.shade .blind{height:100%}

/* faq */
.faq{max-width:860px;margin:46px auto 0}
details{border-bottom:1px solid var(--line);padding:22px 4px}
summary{cursor:pointer;font-size:1.2rem;font-weight:600;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:20px;color:#fff}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-size:1.6rem;line-height:1;color:var(--accent);transition:transform .3s}
details[open] summary:after{transform:rotate(45deg)}
details p{margin-top:14px;max-width:70ch}

/* cta */
.cta{border-radius:36px;padding:clamp(40px,7vw,100px);text-align:center;background:radial-gradient(800px circle at 50% 0,rgba(var(--accent-rgb),.28),transparent 60%),var(--bg2);border:1px solid var(--line)}
.cta h2{max-width:16ch;margin-inline:auto}
.cta .row{justify-content:center;margin-top:30px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;justify-content:center}
.chips span{font-size:.8rem;padding:6px 14px;border-radius:99px;border:1px solid var(--line);color:var(--mut)}

/* form */
.form{display:grid;gap:14px;margin-top:30px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f{display:grid;gap:6px;font-size:.85rem;color:var(--mut)}
.f input,.f select,.f textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:14px;padding:15px 16px;color:#fff;font:inherit;font-size:1rem;transition:.25s}
.f select option{background:#111}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18)}
.chk{display:flex;gap:10px;font-size:.84rem;color:var(--mut);align-items:flex-start}.chk input{margin-top:4px;accent-color:var(--accent)}
.contact-cards{display:grid;gap:14px}
.cc{display:flex;gap:16px;align-items:center;padding:20px 22px;border-radius:18px;border:1px solid var(--line);background:var(--card);transition:.3s}
.cc:hover{border-color:var(--accent)}.cc b{display:block;color:#fff}.cc span{font-size:.9rem;color:var(--mut)}

/* footer */
footer{border-top:1px solid var(--line);padding:70px 0 40px;background:rgba(6,7,10,.85);backdrop-filter:blur(10px)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h4{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:16px;font-weight:600}
footer li{list-style:none;margin:9px 0;font-size:.95rem;color:#c9ced8}
footer li a:hover{color:var(--accent)}
.f-logos{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.f-logos .plate img{height:24px}
.copy{margin-top:50px;padding-top:24px;border-top:1px solid var(--line);font-size:.82rem;color:var(--mut);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.regions{font-size:.84rem;color:var(--mut);margin-top:16px;max-width:60ch}

/* lotse */
#lotse-fab{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:12px;padding:8px 22px 8px 8px;border-radius:99px;background:rgba(18,20,26,.85);backdrop-filter:blur(20px);border:1px solid rgba(var(--accent-rgb),.6);box-shadow:0 20px 60px -10px rgba(var(--accent-rgb),.55);transition:.4s var(--ease)}
#lotse-fab:hover{transform:translateY(-3px) scale(1.03)}
.orb{width:46px;height:46px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),#fff,var(--accent));position:relative;animation:spin 6s linear infinite;flex:none}
.orb:after{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#556,#07080b 70%)}
@keyframes spin{to{transform:rotate(360deg)}}
#lotse-fab b{font-size:.92rem;display:block;line-height:1.1}#lotse-fab small{font-size:.72rem;color:var(--mut)}
#lotse-tip{position:fixed;right:22px;bottom:92px;z-index:90;max-width:260px;padding:14px 18px;border-radius:18px 18px 4px 18px;background:#fff;color:#111;font-size:.9rem;box-shadow:0 20px 60px rgba(0,0,0,.5);opacity:0;transform:translateY(10px);transition:.5s var(--ease);pointer-events:none}
#lotse-tip.show{opacity:1;transform:none;pointer-events:auto}
#lotse{position:fixed;right:22px;bottom:22px;z-index:100;width:min(410px,calc(100vw - 24px));height:min(640px,calc(100svh - 44px));border-radius:28px;background:rgba(12,13,18,.92);backdrop-filter:blur(30px);border:1px solid var(--line);box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 0 1px rgba(var(--accent-rgb),.3);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transform:scale(.8) translateY(30px);opacity:0;pointer-events:none;transition:.5s var(--ease)}
#lotse.open{transform:none;opacity:1;pointer-events:auto}
.lh{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.lh .orb{width:38px;height:38px}.lh b{display:block;font-size:.98rem}.lh small{color:#5ee08a;font-size:.74rem}
.lh small:before{content:"● ";font-size:.6rem}
.lh button{margin-left:auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);font-size:1.1rem}
.lprog{height:2px;background:rgba(255,255,255,.08)}.lprog i{display:block;height:100%;width:0;background:var(--accent);transition:width .5s}
.lm{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.msg{max-width:86%;padding:12px 16px;border-radius:18px;font-size:.93rem;line-height:1.45;animation:pop .4s var(--ease);color:#e8eaf0}
.msg.b{background:rgba(255,255,255,.08);border-bottom-left-radius:5px;align-self:flex-start}
.msg.u{background:var(--accent);color:#000;font-weight:600;border-bottom-right-radius:5px;align-self:flex-end}
.msg.b strong{color:#fff}
.typing{display:flex;gap:4px;padding:14px 16px}.typing i{width:6px;height:6px;border-radius:50%;background:#aab;animation:ty 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes ty{50%{transform:translateY(-5px);opacity:.4}}
.lo{padding:14px 16px 18px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}
.lo button{padding:10px 16px;border-radius:99px;border:1px solid rgba(var(--accent-rgb),.55);font-size:.88rem;transition:.25s;background:rgba(var(--accent-rgb),.08)}
.lo button:hover{background:var(--accent);color:#000}
.lo form{display:flex;gap:8px;width:100%}.lo input{flex:1;min-width:0;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:99px;padding:12px 16px;color:#fff;font:inherit;font-size:.92rem}
.lo input:focus{outline:0;border-color:var(--accent)}
.lo form button{background:var(--accent);color:#000;font-weight:700}
.lo a.btn{width:100%;justify-content:center}

/* misc */
.mq{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;white-space:nowrap;background:rgba(255,255,255,.02)}
.mq div{display:inline-flex;gap:60px;animation:mq 40s linear infinite;font-size:clamp(1.3rem,3vw,2.2rem);font-weight:700;letter-spacing:-.03em;color:#fff}
.mq span{opacity:.9}.mq em{font-style:normal;color:var(--gold)}
@keyframes mq{to{transform:translateX(-50%)}}
.prose{max-width:760px}.prose h2{font-size:1.8rem;margin-top:44px}.prose p{margin-top:12px}
.legal{padding-top:150px}

@media(max-width:900px){
  .nav-links{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:flex-start;padding:24px 28px 34px;background:rgba(6,7,10,.96);backdrop-filter:blur(20px);gap:18px;font-size:1.2rem;transform:translateY(-130%);transition:.5s var(--ease);border-bottom:1px solid var(--line)}
  .nav-links.open{transform:none}.burger{display:block}
  .split2,.vs,.f-grid,.form .two{grid-template-columns:1fr}
  .story{height:560vh}.story-stick{align-items:flex-end;padding-bottom:70px}
  .chap{height:auto;bottom:0;top:auto;inset:auto 0 0 0}
  .dots{right:10px}
  #lotse-fab small{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv,.split span i{opacity:1;transform:none;filter:none}}

.dmg.ok{color:#5ee08a;text-shadow:0 0 24px rgba(94,224,138,.6),0 2px 0 #000;font-size:clamp(1.1rem,2.6vw,1.7rem);text-align:center;white-space:normal;width:min(320px,80vw);animation-duration:3.2s}
.dmg small{display:block;font-size:.55em;font-weight:600;color:#c9f5d8;margin-top:4px}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f input[type=file]{padding:12px}
.btn:disabled{opacity:.6;cursor:wait}

/* ===== Google-Ads-Landingpages (body.lp) – ruhig, ohne Animationen ===== */
body.lp{background:var(--bg)}
.lp header.nav{position:sticky}
.lp-hero{padding:clamp(28px,6vw,72px) 0 clamp(40px,6vw,80px);background:radial-gradient(900px circle at 85% 0,rgba(var(--accent-rgb),.14),transparent 60%)}
.lp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:start}
.lp-hero h1{font-size:clamp(2rem,5vw,3.6rem);margin:6px 0 18px;max-width:20ch;letter-spacing:-.03em}
.lp-hero .plate img{height:40px;width:auto}
.lp-check{list-style:none;display:grid;gap:8px;margin:22px 0 28px}
.lp-check li{padding-left:28px;position:relative;color:#d7dbe4}
.lp-check li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.lp-card{background:var(--bg2);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3vw,32px);scroll-margin-top:90px}
.lp-card .form{margin-top:0}
.lp-sec{padding:clamp(48px,7vw,96px) 0}
.lp-sec.alt{background:rgba(255,255,255,.025);border-block:1px solid var(--line)}
.lp-sec h2{font-size:clamp(1.6rem,3.4vw,2.5rem);margin:0 0 24px}
.lp-sec p{max-width:62ch}.lp-sec p+p{margin-top:12px}
.lp-grid3,.lp-grid4{list-style:none;display:grid;gap:16px}
.lp-grid3{grid-template-columns:repeat(3,1fr)}.lp-grid4{grid-template-columns:repeat(4,1fr);counter-reset:st}
.lp-ben,.lp-step{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.lp-ben p,.lp-step p{margin-top:8px;font-size:.96rem}
.lp-step{counter-increment:st}.lp-step:before{content:counter(st);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#000;font-weight:700;margin-bottom:12px}
.lp-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px)}
.lp-two h3{margin-bottom:10px}
.lp-list{list-style:none;display:grid;gap:10px;margin:14px 0}
.lp-list li{padding-left:22px;position:relative;color:#d7dbe4}
.lp-list li:before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:var(--accent)}
.lp-narrow{max-width:820px}
.lp-narrow .faq{max-width:none}
.lp-links{list-style:none;display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:center;margin-top:34px;font-size:.92rem}
.lp-links a{color:var(--mut);text-decoration:underline}.lp-links a:hover{color:#fff}
.lp .btn{box-shadow:none}
.lp-sticky{display:none}
.lp a:focus-visible,.lp button:focus-visible,.lp input:focus-visible,.lp select:focus-visible,.lp textarea:focus-visible,.lp summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:980px){
  .lp-hero-grid,.lp-two{grid-template-columns:1fr}
  .lp-grid3,.lp-grid4{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .lp-grid3,.lp-grid4{grid-template-columns:1fr}
  .lp-hero .row .btn{width:100%;justify-content:center}
  .lp-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(6,7,10,.94);border-top:1px solid var(--line);transition:transform .25s}
  .lp-sticky.off{transform:translateY(110%)}
  .lp-sticky .btn{width:100%;justify-content:center}
  body.lp{padding-bottom:78px}
}
.lp .btn{justify-content:center;text-align:center;line-height:1.25}
.lp-sticky.off{pointer-events:none}
.lp-fig{margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;align-self:start}
.lp-fig svg{width:100%;height:auto;max-height:260px;display:block}
.lp-fig figcaption{font-size:.8rem;color:var(--mut);margin-top:12px}
.lp-note{margin-top:24px;padding:16px 20px;border-left:3px solid var(--accent);background:rgba(var(--accent-rgb),.08);border-radius:0 12px 12px 0;color:#d7dbe4;max-width:80ch}
.lp-checklist{list-style:none;display:grid;gap:10px;margin-top:22px}
.lp-checklist li{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:16px 20px 16px 52px;position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px}
.lp-checklist li:before{content:"✓";position:absolute;left:20px;top:16px;color:var(--accent);font-weight:700}
.lp-checklist span{color:var(--mut);font-size:.95rem}
.lp-cmp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.lp-cmp .alt2{border-color:rgba(255,255,255,.2);background:transparent}
.lp-grid4.plain{counter-reset:none;margin-top:22px}
.lp-sec>.wrap>.lp-grid4.plain,.lp-sec>.wrap>.lp-grid3{margin-top:22px}
.lp-sec>.wrap>.lp-grid4{margin-top:22px}
@media(max-width:640px){.lp-cmp{grid-template-columns:1fr}}

/* ===== Anfrageformular (einheitlich für /anfrage/ und alle Landingpages) ===== */
.req-form .fs{border:1px solid var(--line);border-radius:16px;padding:16px 16px 4px;display:grid;gap:12px;margin:0;min-width:0}
.req-form legend{padding:0 8px;font-weight:600;font-size:.95rem;color:#fff}
.req-form legend b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#000;font-size:.78rem;margin-right:6px}
.req-form .req-h{font-size:1.5rem;margin:0}
.cbx{border:0;padding:0;margin:0;display:grid;gap:8px}
.cbx legend{padding:0;font-size:.85rem;color:var(--mut);font-weight:400;margin-bottom:6px}
.cbx label{display:flex;gap:10px;align-items:center;font-size:.95rem;color:#d7dbe4;min-height:32px}
.cbx input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.req-form details.opt{border:1px dashed var(--line);border-radius:12px;padding:10px 14px;margin-bottom:12px}
.req-form details.opt summary{font-size:.95rem;font-weight:500;color:#d7dbe4;cursor:pointer;display:block}
.req-form details.opt summary:after{display:none}
.req-form details.opt[open]{display:grid;gap:12px}
.req-form .f .hint{margin-top:2px}
.err{color:#ff8da1;font-size:.84rem;margin-top:2px}
.f [aria-invalid=true],.cbx [aria-invalid=true]{border-color:#ff6b86!important}
.form-sum{border:1px solid #ff6b86;background:rgba(255,107,134,.1);border-radius:12px;padding:12px 16px;font-size:.92rem;color:#ffd3db}
.form-sum ul{margin:6px 0 0 18px}.form-sum a{color:#fff;text-decoration:underline}
.req-form .priv{font-size:.82rem}
.req-form button[disabled]{opacity:.65;cursor:wait}
.lp header.nav{background:rgba(6,7,10,.96);border-bottom:1px solid var(--line)}
@media(min-width:641px) and (max-width:900px){.req-form .two{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.req-form .two:has(#f-plz){grid-template-columns:110px 1fr}}

/* ===== Einwilligungs-Banner ===== */
.cm{position:fixed;z-index:130;left:16px;bottom:16px;width:min(460px,calc(100vw - 32px));background:#12141a;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:20px;box-shadow:0 20px 70px rgba(0,0,0,.65);font-size:.9rem}
.cm h2{font-size:1.15rem;margin:0 0 8px;letter-spacing:-.01em}.cm p{color:#c3c8d2;font-size:.88rem;margin:0 0 10px}.cm a{text-decoration:underline;color:#fff}
.cm-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.cm-btns .btn{padding:11px 16px;font-size:.9rem;flex:1 1 auto;justify-content:center;box-shadow:none}
.cm-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.cm-row p{margin:2px 0 0}.cm-row input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:2px}.cm-on{font-size:.8rem;color:var(--mut);white-space:nowrap}
.cm-note{font-size:.8rem}.cm-link{background:none;border:0;color:inherit;font:inherit;padding:0;text-decoration:underline;cursor:pointer}
.cm:focus,.cm button:focus-visible{outline:3px solid #fff;outline-offset:2px}
body.cm-open .lp-sticky{display:none}
@media(max-width:640px){.cm{left:8px;right:8px;bottom:8px;width:auto;padding:16px;max-height:80svh;overflow:auto}}

.af{align-items:start}
@media(min-width:901px){.af{grid-template-columns:1.3fr 1fr}}
