/* Design-Tokens */
:root{
  color-scheme:light dark;
  --bg:light-dark(#fbf8f3,#0b111c);
  --bg-alt:light-dark(#f4ede2,#101827);
  --surface:light-dark(#ffffff,#151e2e);
  --surface-2:light-dark(#fbf8f3,#1b2537);
  --text:light-dark(#121826,#f4efe7);
  --muted:light-dark(#4d5566,#b9bfcb);
  --line:light-dark(rgb(18 24 38 / .12),rgb(244 239 231 / .14));
  --line-strong:light-dark(rgb(18 24 38 / .26),rgb(244 239 231 / .3));
  --acc:light-dark(#d99a3b,#e8b057);
  --acc-text:light-dark(#87570f,#f2c46e);
  --acc-tint:light-dark(#fbefd9,#2a2416);
  --hl-1:light-dark(#7a4c0e,#f2c46e);
  --hl-2:light-dark(#a8701f,#ffe2a6);
  --primary:light-dark(#0d1422,#f2c46e);
  --primary-hover:light-dark(#1b2436,#f7d48f);
  --on-primary:light-dark(#ffffff,#0d1422);
  --danger:light-dark(#b3261e,#ff8a80);
  --device:#0b0e15;
  --shadow-color:light-dark(rgb(70 45 15 / .42),rgb(0 0 0 / .62));
  --shadow:0 22px 48px -30px var(--shadow-color);
  --shadow-lg:0 34px 70px -34px var(--shadow-color);
  --glow-color:color-mix(in srgb,var(--acc) 50%,transparent);
  --glow:0 0 0 1px var(--acc),0 14px 36px -12px var(--glow-color);
  --veil:light-dark(rgb(251 248 243 / 0),rgb(11 17 28 / .62));
  --header-bg:color-mix(in srgb,var(--bg) 88%,transparent);
  --font-head:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-body:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --r:6px;
  --r-sm:4px;
  --r-xs:2px;
  --gutter:clamp(1rem,4.5vw,2.75rem);
  --space:clamp(5rem,10vw,8.5rem);
  --header-h:72px;
  --ease:cubic-bezier(.22,.7,.18,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --z-header:50;--z-menu:45;--z-float:40;--z-cookie:60;--z-cursor:90;--z-skip:100;
}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}

/* Schriften */
@font-face{font-family:"Geist";src:url("/assets/fonts/geist-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("/assets/fonts/inter-tight-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* Grundlagen */
*,*::before,*::after{box-sizing:border-box}
:root [hidden]{display:none}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem);-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;transition:background-color .4s var(--ease),color .4s var(--ease)}
main{flex:1}
img,video,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3{margin:0;font-family:var(--font-head);font-weight:800;line-height:1.08;letter-spacing:-.015em;color:var(--text);text-wrap:balance}
p,figure,blockquote,dl,dd,ul,ol{margin:0}
p,li,dd{text-wrap:pretty}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
::selection{background:color-mix(in srgb,var(--acc) 38%,transparent);color:var(--text)}
:focus-visible{outline:2px solid var(--acc-text);outline-offset:3px;border-radius:var(--r-xs)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:.75rem;z-index:var(--z-skip);padding:.75rem 1.1rem;border-radius:var(--r-sm);background:var(--primary);color:var(--on-primary);font-weight:600;text-decoration:none;transform:translateY(-200%);transition:transform .25s var(--ease)}
.skip:focus{transform:none}
.wrap{width:min(100% - 2 * var(--gutter),1200px);margin-inline:auto}
.i{width:1.25em;height:1.25em;flex:none;fill:currentColor}
.nw{white-space:nowrap}

/* Buttons */
.btn{--h:52px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:var(--h);padding:.55rem 1.5rem;border:1px solid transparent;border-radius:var(--r-sm);font:600 .98rem/1.15 var(--font-head);letter-spacing:-.005em;text-align:center;text-decoration:none;cursor:pointer;isolation:isolate;overflow:hidden;transition:transform .3s var(--ease),box-shadow .35s var(--ease),background-color .3s,border-color .3s,color .3s}
.btn .i{width:1.05em;height:1.05em;transition:transform .3s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,color-mix(in srgb,var(--acc) 35%,transparent) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--glow)}
.btn:hover::after{transform:translateX(120%)}
.btn:hover .i{transform:translateX(3px)}
.btn:active{transform:translateY(0) scale(.98);transition-duration:.12s}
.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 14px 28px -18px var(--shadow-color)}
.btn-primary:hover{background:var(--primary-hover);color:var(--on-primary)}
.btn-primary .i{color:currentColor}
.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong)}
.btn-secondary:hover{border-color:var(--acc)}
.btn-secondary .i{color:var(--acc-text)}
.btn-sm{--h:44px;width:auto;padding:.4rem 1.1rem;font-size:.92rem}
.btn[disabled]{opacity:.65;cursor:wait;transform:none}
.text-link{display:inline-flex;align-items:center;gap:.4rem;font:600 .97rem/1.3 var(--font-head);color:var(--acc-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--acc) 55%,transparent);text-decoration-thickness:2px;text-underline-offset:5px;transition:color .25s,text-decoration-color .25s,text-shadow .3s}
.text-link:hover{color:var(--text);text-decoration-color:var(--acc);text-shadow:0 0 18px var(--glow-color)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (min-width:768px){
  .btn{width:auto}
}

/* Abschnitte und Überschriften */
.section{padding-block:var(--space)}
.section-alt{background:var(--bg-alt)}
.section-intro{max-width:46rem;margin:0 auto clamp(2.75rem,5vw,4rem);text-align:center}
.section-intro h2{font-size:clamp(2rem,4vw,3.1rem)}
.section-intro p:not(.eyebrow){margin-top:1.1rem;color:var(--muted);font-size:clamp(1.04rem,1.4vw,1.15rem)}
.eyebrow{display:block;margin-bottom:1rem;font:700 .76rem/1.3 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--acc-text)}
.hl{background:linear-gradient(95deg,var(--hl-1) 0%,var(--hl-2) 45%,var(--hl-1) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}

/* Header */
.site-header{position:sticky;top:0;z-index:var(--z-header);isolation:isolate}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--header-bg);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px 0 var(--line);opacity:0;transition:opacity .35s var(--ease)}
.site-header.scrolled::before,.menu-open .site-header::before{opacity:1}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--hl-1),var(--acc));pointer-events:none}
.header-bar{position:relative;display:flex;align-items:center;gap:1rem;height:var(--header-h)}
.burger{display:inline-flex;align-items:center;gap:.65rem;height:44px;padding:0 .9rem 0 .75rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:600 .92rem/1 var(--font-head);cursor:pointer;transition:border-color .3s,box-shadow .35s var(--ease)}
.burger:hover{border-color:var(--acc);box-shadow:var(--glow)}
.burger-lines{position:relative;width:18px;height:12px}
.burger-lines span{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .35s var(--ease)}
.burger-lines span:first-child{top:1px}
.burger-lines span:last-child{bottom:1px}
.burger[aria-expanded="true"] .burger-lines span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] .burger-lines span:last-child{transform:translateY(-4px) rotate(-45deg)}
.nav-main{display:none}
.nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(1.25rem,2.2vw,2.1rem)}
.nav-link{position:relative;display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 0;border:0;background:none;font:500 .95rem/1 var(--font-body);color:var(--muted);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .25s,text-shadow .3s}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--acc);box-shadow:0 0 12px var(--glow-color);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav-link:hover,.nav-link.active,.nav-link[aria-current="page"],.nav-drop.open .nav-link{color:var(--text);text-shadow:0 0 18px var(--glow-color)}
.nav-link:hover::after,.nav-link.active::after,.nav-link[aria-current="page"]::after,.nav-drop.open .nav-link::after{transform:scaleX(1)}
.nav-drop-btn .i{width:12px;height:12px;transition:transform .35s var(--ease)}
.nav-drop.open .nav-drop-btn .i{transform:rotate(180deg)}
.nav-drop-panel{position:absolute;top:calc(100% + .5rem);left:0;right:0;max-height:calc(100dvh - var(--header-h) - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.5rem,2.5vw,2.25rem);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-lg);animation:drop-in .3s var(--ease)}
.nav-drop-title{font:800 clamp(1.4rem,2vw,1.8rem)/1.1 var(--font-head);letter-spacing:-.02em}
.nav-drop-text{max-width:42rem;margin-top:.45rem;color:var(--muted)}
.menu-groups{display:grid;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.menu-group{padding:.9rem .6rem .5rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);break-inside:avoid}
.menu-group-title{margin:0 0 .4rem .55rem;font:600 .74rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.menu-guides{background:var(--acc-tint);border-color:color-mix(in srgb,var(--acc) 35%,transparent)}
.menu-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.menu-link{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem .55rem;border:1px solid transparent;border-radius:var(--r-sm);font:600 1rem/1.25 var(--font-head);letter-spacing:-.01em;color:var(--text);text-decoration:none;transition:background-color .25s,border-color .25s,box-shadow .3s var(--ease)}
.menu-link:hover{background:var(--surface);border-color:var(--acc);box-shadow:var(--glow)}
.menu-link[aria-current="page"]{background:var(--acc-tint);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.menu-ico{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:var(--primary);color:var(--on-primary);transition:transform .3s var(--ease)}
.menu-ico .i{width:19px;height:19px}
.menu-link:hover .menu-ico{transform:scale(1.06)}
.menu-name{min-width:0;align-self:center}
.menu-text{display:block;margin-top:.15rem;font:400 .86rem/1.4 var(--font-body);color:var(--muted)}
.nav-drop-more{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.nav-drop-more a{display:inline-flex;align-items:center;gap:.5rem;font:600 .95rem/1.3 var(--font-head);color:var(--text);text-decoration:none;transition:color .25s,text-shadow .3s}
.nav-drop-more a:hover{color:var(--acc-text);text-shadow:0 0 16px var(--glow-color)}
.nav-drop-more .nav-offer{color:var(--acc-text)}
.pulse{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--acc)}
.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:pulse 2s var(--ease-out) infinite}
.nav-tools{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.lang{display:inline-flex;padding:3px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface)}
.lang a{display:grid;place-items:center;min-width:38px;height:36px;padding:0 .5rem;border-radius:var(--r-xs);font:700 .8rem/1 var(--font-head);letter-spacing:.06em;color:var(--muted);text-decoration:none;transition:background-color .25s,color .25s,box-shadow .3s}
.lang a:hover{color:var(--text);box-shadow:var(--glow)}
.lang a[aria-current="true"]{background:var(--primary);color:var(--on-primary)}
.icon-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .3s,box-shadow .35s var(--ease),transform .3s var(--ease)}
.icon-btn:hover{border-color:var(--acc);box-shadow:var(--glow)}
.icon-btn .i{width:20px;height:20px}
.theme-toggle .i{transition:transform .5s var(--ease),opacity .3s}
.theme-toggle .i-dark{display:none}
.theme-toggle[aria-pressed="true"] .i-light{display:none}
.theme-toggle[aria-pressed="true"] .i-dark{display:block}
.theme-toggle:hover .i{transform:rotate(-20deg)}
.nav-cta{display:none}
.mobile-menu{position:fixed;inset:var(--header-h) 0 0;z-index:var(--z-menu);height:calc(100dvh - var(--header-h));display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem var(--gutter) calc(env(safe-area-inset-bottom,0px) + 1.5rem);background:var(--bg);overflow-y:auto;overscroll-behavior:contain;opacity:0;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .35s var(--ease)}
.mobile-menu.open{opacity:1;transform:none}
.mobile-links{list-style:none;margin:0;padding:0;display:grid}
.mobile-links>li{border-bottom:1px solid var(--line)}
.mobile-link,.mobile-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.95rem 0;border:0;background:none;font:700 clamp(1.4rem,6vw,1.9rem)/1.2 var(--font-head);letter-spacing:-.02em;color:var(--text);text-align:left;text-decoration:none;cursor:pointer;transition:color .25s,text-shadow .3s}
.mobile-link:hover,.mobile-toggle:hover{color:var(--acc-text);text-shadow:0 0 18px var(--glow-color)}
.mobile-toggle .i{width:.7em;height:.7em;transition:transform .35s var(--ease)}
.mobile-toggle[aria-expanded="true"] .i{transform:rotate(180deg)}
.mobile-sub{padding-bottom:1rem}
.mobile-sub .menu-groups{margin-top:0;padding-top:0;border-top:0}
.mobile-sub .nav-drop-more{margin-top:.75rem}
.mobile-actions{display:grid;gap:.6rem;margin-top:auto}
.menu-open{overflow:hidden}
@media (min-width:768px){
  .nav-cta{display:inline-flex}
  .menu-groups{columns:2;column-gap:1rem;display:block}
  .menu-group{margin-bottom:1rem}
  .mobile-sub .menu-groups{columns:2}
}
@media (min-width:1024px){
  .burger{display:none}
  .nav-main{display:block}
  .mobile-menu{display:none}
}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(calc(100svh - var(--header-h)),60rem);display:flex;align-items:center;padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(6rem,10vw,8rem)}
.hero-bg{position:absolute;inset:0;z-index:-1;background:var(--bg)}
.hero-bg::before{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:image-set(url("/assets/images/hero-abendlicht-1000.webp") 1x,url("/assets/images/hero-abendlicht.webp") 2x) 50% 40%/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgb(0 0 0 / .5) 25%,#000 55%);mask-image:linear-gradient(180deg,transparent 0%,rgb(0 0 0 / .5) 25%,#000 55%)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--veil),var(--veil))}
.hero-grid{display:grid;gap:3rem;align-items:center}
.hero-title{font-size:clamp(2.5rem,7vw,4.4rem);line-height:1.02;letter-spacing:-.02em}
.hero-title .eyebrow{font-size:.76rem;line-height:1.5}
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line-in{display:inline-block;animation:line-up 1.1s var(--ease-out) both;animation-delay:var(--dl,0s)}
.hero-lead{max-width:34rem;margin-top:1.5rem;font-size:clamp(1.04rem,1.4vw,1.15rem);line-height:1.65;color:var(--muted)}
.hero .hero-actions{margin-top:2rem}
.hero-proof{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.7rem}
.hero-proof li{display:flex;align-items:center;gap:.8rem;font-size:.9rem;line-height:1.35;color:var(--muted)}
.hero-proof strong{display:block;font:600 .95rem/1.3 var(--font-head);color:var(--text)}
.proof-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--acc-text);box-shadow:var(--shadow)}
.proof-ico .i{width:18px;height:18px}
.hero-visual{position:relative;width:100%;max-width:640px;margin:0 auto;padding:4% 4% 9% 0;container-type:inline-size}
.hero-visual::before{content:"";position:absolute;z-index:-1;left:-50vw;right:-50vw;top:calc(100% - 9cqw - 22px);height:60vh;border-top:1px solid color-mix(in srgb,var(--surface) 80%,transparent);background:radial-gradient(50% 40% at 55% 0%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 70%),linear-gradient(180deg,var(--bg-alt),var(--bg))}
.laptop{position:relative;width:88%}
.screen{position:relative;padding:2.4% 2.4% 3.2%;border-radius:var(--r) var(--r) var(--r-xs) var(--r-xs);background:var(--device);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .08),0 50px 80px -40px var(--shadow-color)}
.screen img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-xs)}
.screen::after{content:"";position:absolute;inset:2.4% 2.4% 3.2%;border-radius:var(--r-xs);background:linear-gradient(115deg,rgb(255 255 255 / .16),transparent 38%);pointer-events:none}
.laptop-base{position:relative;height:14px;margin:0 -7%;border-radius:var(--r-xs) var(--r-xs) var(--r) var(--r);background:linear-gradient(180deg,#e6e7ea,#a9adb5 60%,#7d828c);box-shadow:0 26px 36px -18px var(--shadow-color)}
.laptop-base::before{content:"";position:absolute;left:50%;top:0;width:16%;height:5px;translate:-50% 0;border-radius:0 0 var(--r-sm) var(--r-sm);background:#c4c7cd}
.phone{position:absolute;right:-1%;bottom:2%;width:28%;padding:1.6% 1.4%;border-radius:calc(var(--r) * 3);background:var(--device);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .1),0 40px 60px -26px var(--shadow-color);transform:rotate(-2deg)}
.phone img{width:100%;aspect-ratio:560/1212;object-fit:cover;border-radius:calc(var(--r) * 2)}
.hero-tag{position:absolute;left:3%;bottom:calc(9cqw - 4.25rem);display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .8rem .4rem .45rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow);font-size:.8rem;color:var(--muted);white-space:nowrap;text-decoration:none;transition:border-color .3s,box-shadow .35s var(--ease),color .25s}
.hero-tag:hover{border-color:var(--acc);box-shadow:var(--glow);color:var(--text)}
.tag-chip{padding:.2rem .5rem;border-radius:var(--r-xs);background:var(--acc-tint);color:var(--acc-text);font:700 .64rem/1.2 var(--font-body);font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.hero-note{display:flex;align-items:center;gap:.8rem;width:fit-content;animation:float 8s ease-in-out -4s infinite;max-width:100%;margin:0 0 1.5rem;padding:.8rem 1.05rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--text);text-decoration:none;transition:border-color .3s,box-shadow .35s var(--ease)}
.hero-note:hover{border-color:var(--acc);box-shadow:var(--glow);animation-play-state:paused}
.hero-note .i{flex:none;width:32px;height:32px;padding:6px;border-radius:var(--r-sm);background:var(--acc-tint);color:var(--acc-text)}
.hero-note span{display:block;font-size:.84rem;line-height:1.35;color:var(--muted)}
.hero-note strong{display:block;font:600 .92rem/1.3 var(--font-head);color:var(--text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--acc) 60%,transparent);text-decoration-thickness:2px;text-underline-offset:3px}
.scroll-hint{display:none}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;fill:var(--bg-alt)}
.hero-fade{animation:fade-up 1s var(--ease) both;animation-delay:var(--dl,.4s)}
.hl.line-in{animation:line-up 1.1s var(--ease-out) var(--dl,0s) both,shine 7s ease-in-out 1.4s infinite}
.laptop{animation:float 9s ease-in-out infinite}
.phone{animation:float 7s ease-in-out -2.5s infinite}
.hero.is-off .laptop,.hero.is-off .phone,.hero.is-off .hero-note,.hero.is-off .hl{animation-play-state:paused}
.hero-bg::before{translate:0 calc(var(--hero-y,0) * .35px)}
.hero-visual{translate:0 calc(var(--hero-y,0) * -.08px)}
@media (min-width:768px){
  .hero-note{position:absolute;z-index:2;top:-2%;right:6%;max-width:17rem;margin:0}
}
@media (min-width:1024px){
  .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .hero-bg::after{background:radial-gradient(26% 32% at 84% 30%,color-mix(in srgb,var(--acc) 30%,transparent),transparent 70%),linear-gradient(var(--veil),var(--veil))}
  .hero-bg::before{top:-34%;left:auto;right:0;bottom:auto;height:120%;width:auto;min-width:58%;aspect-ratio:1400/1547;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgb(0 0 0 / .6) 22%,#000 40%),linear-gradient(180deg,#000 70%,transparent 98%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgb(0 0 0 / .6) 22%,#000 40%),linear-gradient(180deg,#000 70%,transparent 98%);mask-composite:intersect}
  .hero-visual{max-width:none}
  .hero-visual::before{left:-12%;right:-60vw;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%)}
  .laptop{width:92%;margin-left:auto;transform:perspective(1800px) rotateY(calc(-12deg + var(--tilt-y,0deg))) rotateX(calc(3deg + var(--tilt-x,0deg)));transform-origin:70% 60%;transition:transform .9s var(--ease-out)}
  .phone{width:24%;transform:rotate(-2deg) translate(var(--px,0px),var(--py,0px));transition:transform .9s var(--ease-out)}
}
@media (min-width:1440px){
  .scroll-hint{position:absolute;left:max(var(--gutter),calc((100vw - 1200px) / 2));bottom:4.25rem;display:inline-flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--muted);text-decoration:none;transition:color .25s,text-shadow .3s}
  .scroll-hint:hover{color:var(--text);text-shadow:0 0 16px var(--glow-color)}
  .mouse{position:relative;width:16px;height:24px;border:1.5px solid var(--acc-text);border-radius:var(--r-sm)}
  .mouse::after{content:"";position:absolute;left:50%;top:5px;width:2px;height:5px;translate:-50% 0;background:var(--acc-text);animation:wheel 1.8s var(--ease) infinite}
}

/* Branchen-Band */
.band{background:var(--bg-alt);padding:.5rem 0 0}
.band-row{display:grid;gap:.9rem;align-items:center}
.band-title{font:700 .76rem/1.3 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--acc-text);white-space:nowrap}
.band-title span{color:var(--muted)}
.marquee{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee::-webkit-scrollbar{display:none}
.marquee.is-loop{overflow:hidden}
.marquee.is-loop:focus-within{overflow-x:auto}
.marquee-track{list-style:none;margin:0;padding:.6rem .7rem .6rem 0;display:flex;gap:.7rem;flex:none}
.marquee-track a{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem .6rem .8rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font:500 .9rem/1 var(--font-head);color:var(--text);text-decoration:none;white-space:nowrap;transition:border-color .25s,box-shadow .35s var(--ease),transform .3s var(--ease)}
.marquee-track a:hover{border-color:var(--acc);box-shadow:var(--glow);transform:translateY(-2px)}
.marquee-track .i{width:18px;height:18px;color:var(--acc-text)}
.marquee.is-loop .marquee-track{animation:band 55s linear infinite}
.marquee.is-loop:hover .marquee-track,.marquee.is-loop:focus-within .marquee-track,.marquee.is-off .marquee-track{animation-play-state:paused}
@media (min-width:834px){
  .band-row{grid-template-columns:auto minmax(0,1fr);gap:2rem}
}

/* Leistungen */
.svc-list{list-style:none;margin:0 auto;padding:0;max-width:60rem;display:grid;gap:1rem}
.svc{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:1rem;padding:1.15rem 1.15rem 1.25rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);transition:border-color .3s,box-shadow .4s var(--ease)}
.svc:has(.svc-toggle:hover),.svc.is-open{border-color:var(--acc);box-shadow:var(--glow)}
.svc-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);background:var(--acc-tint);color:var(--acc-text);transition:background-color .3s,color .3s}
.svc-ico .i{width:24px;height:24px}
.svc.is-open .svc-ico{background:var(--primary);color:var(--on-primary)}
.svc-title{font-size:clamp(1.15rem,2vw,1.4rem);font-weight:700;letter-spacing:-.015em}
.svc-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.55rem 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.svc-toggle:hover{color:var(--acc-text)}
.svc-hint{display:none;margin-left:auto;font:600 .88rem/1 var(--font-head);color:var(--muted);white-space:nowrap;transition:color .25s}
.svc-toggle:hover .svc-hint{color:var(--acc-text)}
.plus{position:relative;flex:none;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text);transition:transform .45s var(--ease),background-color .3s,border-color .3s,box-shadow .35s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.svc-toggle:hover .plus{border-color:var(--acc);box-shadow:var(--glow)}
.svc-toggle[aria-expanded="true"] .plus{transform:rotate(45deg);background:var(--acc);border-color:var(--acc);color:var(--primary)}
.svc-teaser{grid-column:1 / -1;margin-top:.35rem;color:var(--muted);font-size:.98rem;line-height:1.6}
.svc-more{grid-column:1 / -1}
.svc-more-inner{display:grid;gap:1rem;padding-top:1.1rem;margin-top:1.1rem;border-top:1px solid var(--line)}
.svc-more-inner p{color:var(--muted)}
.svc-more-inner .text-link{justify-self:start}
.js .svc-more{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .5s var(--ease),visibility 0s linear .5s}
.js .svc-more>.svc-more-inner{min-height:0;overflow:hidden;margin-top:0;padding-top:0;border-top-color:transparent;transition:margin-top .5s var(--ease),padding-top .5s var(--ease),border-color .5s}
.js .svc-more.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .5s var(--ease),visibility 0s}
.js .svc-more.open>.svc-more-inner{margin-top:1.1rem;padding-top:1.1rem;border-top-color:var(--line)}
.tick-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.tick-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.97rem;line-height:1.5}
.tick-list .i{flex:none;width:20px;height:20px;margin-top:.1rem;padding:3px;border-radius:var(--r-xs);background:var(--acc-tint);color:var(--acc-text)}
@media (min-width:768px){
  .svc{align-items:start;padding:1.5rem 1.75rem 1.5rem 1.5rem;column-gap:1.5rem}
  .svc-ico{grid-row:1 / span 3;width:56px;height:56px}
  .svc-teaser{grid-column:2;margin-top:0}
  .svc-more{grid-column:2}
  .svc-ico .i{width:27px;height:27px}
  .svc-hint{display:inline}
  .tick-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.75rem}
}

/* Pakete und Preise */
.pkg-layout{display:grid;gap:2.5rem}
.pkg-intro h2{font-size:clamp(2rem,4vw,3.1rem)}
.pkg-intro p:not(.eyebrow){margin-top:1.1rem;color:var(--muted)}
.pkg-intro .text-link{margin-top:1.5rem}
.pricing{display:grid;gap:1.25rem}
.price-card{position:relative;display:grid;gap:.35rem;padding:clamp(1.5rem,3vw,2.1rem);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);transition:border-color .3s,box-shadow .4s var(--ease)}
.price-card:has(.btn:hover){border-color:var(--acc);box-shadow:var(--glow)}
.price-card h3{font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:800;letter-spacing:-.02em}
.price-sub{font-size:.88rem;font-weight:600;color:var(--muted)}
.price{margin-top:.6rem;font:800 clamp(2.3rem,4.2vw,3rem)/1 var(--font-head);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}
.price [data-count]{display:inline-block;text-align:right}
.price-vat{font-size:.88rem;color:var(--muted)}
.price-text{margin-top:.6rem;color:var(--muted)}
.price-list{list-style:none;margin:.9rem 0 1.25rem;padding:1rem 0 0;display:grid;gap:.6rem;border-top:1px solid var(--line)}
.price-list li{display:flex;align-items:flex-start;gap:.6rem;line-height:1.45}
.price-list .i{flex:none;width:20px;height:20px;margin-top:.05rem;padding:3px;border-radius:var(--r-xs);background:var(--acc-tint);color:var(--acc-text)}
.price-card .btn{align-self:end}
.price-card.featured{overflow:hidden;border:2px solid var(--acc);box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 14%,transparent),var(--shadow-lg)}
.price-card.featured::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 35%,color-mix(in srgb,var(--acc) 26%,transparent) 50%,transparent 65%);transform:translateX(-110%);pointer-events:none}
.price-card.featured.in::after{transform:translateX(110%);transition:transform 1.4s var(--ease) .5s}
.price-badge{justify-self:start;margin-bottom:.4rem;padding:.35rem .7rem;border-radius:var(--r-xs);background:var(--acc);color:#0d1422;font:700 .72rem/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase}
.pricing-note{margin-top:1.4rem;font-size:.88rem;color:var(--muted)}
@media (min-width:768px){
  .price-card .btn{justify-self:start}
}
@media (min-width:834px){
  .price-card{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-auto-flow:dense;column-gap:2.5rem;align-items:start}
  .price-card>*{grid-column:1}
  .price-card>.price-list{grid-column:2;grid-row:1 / span 6;margin:0;padding:0 0 0 2rem;border-top:0;border-left:1px solid var(--line);align-self:stretch;align-content:center}
  .price-card>.btn{grid-column:2;justify-self:start;margin-left:2rem;margin-top:1rem}
}
@media (min-width:1024px){
  .pkg-layout{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3.5rem;align-items:start}
  .pkg-intro{position:sticky;top:calc(var(--header-h) + 2rem)}
}

/* Angebot des Monats */
.offer{position:relative;isolation:isolate;overflow:hidden;background:var(--surface)}
.offer::before{content:"";position:absolute;z-index:-1;top:-10%;right:-10%;width:60%;height:70%;background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 16%,transparent),transparent);pointer-events:none}
.offer-top{display:grid;gap:2.5rem;align-items:center}
.offer-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.55rem .7rem;margin-bottom:1.2rem;padding:.45rem .9rem .45rem .75rem;border-radius:var(--r-sm);background:#0d1422;color:#fff;font:700 .74rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase}
.offer-badge .pulse{background:#f2c46e}
.offer-for{display:inline-flex;align-items:center;gap:.35rem;color:#f2c46e;letter-spacing:.08em}
.offer-for .i{width:15px;height:15px}
.offer h2{max-width:20ch;font-size:clamp(2rem,4vw,3.1rem);margin-bottom:1rem}
.offer-lead{max-width:38rem;color:var(--muted);font-size:1.06rem;line-height:1.7}
.offer-points{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.1rem 2rem}
.offer-points li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;font-size:.92rem;line-height:1.5;color:var(--muted)}
.offer-points strong{display:block;margin-bottom:.15rem;font:600 1rem/1.3 var(--font-head);color:var(--text)}
.of-no{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--acc-tint);color:var(--acc-text);font:700 .78rem/1 var(--font-head);font-variant-numeric:tabular-nums}
.offer-visual{position:relative;margin:0 auto;width:min(100%,330px)}
.offer-visual img{width:100%;aspect-ratio:420/795;filter:drop-shadow(0 40px 50px var(--shadow-color));animation:float 8s ease-in-out infinite}
.offer-chip{position:absolute;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-lg);font:600 .84rem/1 var(--font-head);color:var(--text);white-space:nowrap}
.offer-chip .i{width:20px;height:20px;padding:4px;border-radius:var(--r-xs);background:var(--acc-tint);color:var(--acc-text)}
.offer-chip-1{top:22%;left:-4%;animation:float 7s ease-in-out -2s infinite}
.offer-chip-2{top:58%;right:-4%;animation:float 9s ease-in-out -5s infinite}
.offer.is-off .offer-visual img,.offer.is-off .offer-chip,.offer.is-off .pulse::after{animation-play-state:paused}
.offer-tag{position:absolute;left:50%;bottom:-.6rem;translate:-50% 0;display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .8rem .4rem .45rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow);font-size:.8rem;color:var(--muted);white-space:nowrap}
.offer-packs{max-width:60rem;margin:clamp(3.5rem,7vw,5rem) auto 0}
.offer-packs-title{margin-bottom:1.5rem;text-align:center;font:700 .76rem/1.3 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--acc-text)}
.offer-packs .pricing-note{text-align:center}
@media (min-width:480px){
  .offer-chip-1{left:-14%}
  .offer-chip-2{right:-14%}
}
@media (min-width:768px){
  .offer-points{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .offer-top{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:4rem}
  .offer-chip-1{left:-18%}
  .offer-chip-2{right:-16%}
}

/* Ablauf und Demo */
.process-grid{display:grid;gap:2.5rem}
.process-intro h2{font-size:clamp(2rem,4vw,3.1rem)}
.process-intro p:not(.eyebrow){margin-top:1.1rem;color:var(--muted)}
.process-badge{display:grid;gap:.25rem;max-width:20rem;margin-top:1.8rem;padding:1.3rem 1.4rem;border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);font-size:.92rem;box-shadow:var(--shadow)}
.process-badge strong{font:800 2rem/1.1 var(--font-head);letter-spacing:-.03em;color:var(--text)}
.process-cta{margin-top:1.8rem}
.timeline{--p:1;--line-top:26px;--line-h:calc(100% - 52px);position:relative;list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.timeline::before,.timeline::after{content:"";position:absolute;left:25px;top:var(--line-top);width:2px;height:var(--line-h);background:var(--line-strong)}
.timeline::after{background:linear-gradient(180deg,var(--acc),var(--hl-2));box-shadow:0 0 12px var(--glow-color);transform-origin:top;transform:scaleY(var(--p));transition:transform .5s var(--ease)}
.tl-step{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:1.1rem;align-items:start}
.tl-node{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--acc-text);transition:background-color .5s,color .5s,border-color .5s,box-shadow .5s}
.tl-node .i{width:24px;height:24px}
.tl-step.is-active .tl-node{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:var(--glow)}
.tl-body{padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:border-color .5s,box-shadow .5s}
.tl-step.is-active .tl-body{border-color:color-mix(in srgb,var(--acc) 55%,transparent);box-shadow:var(--shadow)}
.tl-body h3{margin-bottom:.35rem;font-size:1.15rem;font-weight:700;line-height:1.3}
.tl-text{font-size:.96rem;line-height:1.55;color:var(--muted)}
.tl-meta{display:inline-flex;align-items:center;gap:.45rem;margin-top:.85rem;padding:.35rem .65rem;border-radius:var(--r-xs);background:var(--acc-tint);color:var(--acc-text);font:600 .84rem/1.3 var(--font-head)}
.tl-meta .i{width:15px;height:15px}
.demo{display:grid;gap:2.25rem;align-items:center;margin-top:clamp(4rem,8vw,6rem);padding-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--line)}
.demo h3{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}
.demo-text p:not(.eyebrow){color:var(--muted);max-width:32rem}
.demo-text .btn{margin-top:1.6rem}
.demo-figure{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-lg);transition:border-color .3s,box-shadow .4s var(--ease)}
.demo-figure:has(a:hover){border-color:var(--acc);box-shadow:var(--glow)}
.demo-figure img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.demo-figure:has(a:hover) img{transform:scale(1.035)}
.demo-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem}
.demo-figure figcaption span{display:grid;gap:.15rem;font-size:.82rem;color:var(--muted)}
.demo-figure strong{display:flex;align-items:center;gap:.5rem;font:600 .98rem/1.2 var(--font-head);color:var(--text)}
@media (min-width:768px){
  .timeline{gap:1.25rem}
  .tl-step{column-gap:1.5rem}
  .tl-body{padding:1.5rem 1.75rem}
}
@media (min-width:1024px){
  .process-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3.5rem;align-items:start}
  .process-intro{position:sticky;top:calc(var(--header-h) + 2rem)}
  .demo{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3.5rem}
}

/* Über uns */
.about-grid{display:grid;gap:1.5rem 4rem;align-items:center}
.about-grid h2{max-width:16ch;font-size:clamp(2rem,4vw,3.1rem)}
.about-text p{color:var(--muted);font-size:1.08rem;line-height:1.75}
.about-text .btn{margin-top:1.6rem}
@media (min-width:1024px){
  .about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
}

/* Häufige Fragen */
.faq-grid{display:grid;gap:1rem;max-width:60rem;margin-inline:auto}
.faq-card{display:block;padding:1.6rem 1.5rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);color:inherit;text-decoration:none}
.faq-card h3{font-size:1.1rem;font-weight:700;line-height:1.35;margin-bottom:.5rem}
.faq-card p{font-size:.96rem;line-height:1.6;color:var(--muted)}
.faq-card p a{color:var(--text);text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:3px}
.faq-card p a:hover{color:var(--acc-text)}
.faq-link{transition:border-color .3s,box-shadow .4s var(--ease),transform .35s var(--ease)}
.faq-link:hover{border-color:var(--acc);box-shadow:var(--glow);transform:translateY(-3px)}
.more{display:inline-flex;align-items:center;gap:.4rem;margin-top:.8rem;font:600 .94rem/1 var(--font-head);color:var(--acc-text)}
.more .i{width:16px;height:16px;transition:transform .3s var(--ease)}
.faq-link:hover .more .i{transform:translateX(4px)}
.faq-intro-link{color:var(--text);text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:4px}
.faq-intro-link:hover{color:var(--acc-text)}
@media (min-width:768px){
  .faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Kontakt */
.contact-intro{max-width:46rem;margin:0 auto 2.5rem;text-align:center}
.contact-intro h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:.8rem}
.contact-intro p:not(.eyebrow){color:var(--muted)}
.choose{display:grid;gap:1rem;max-width:60rem;margin:0 auto 1.5rem}
.choice{display:flex;align-items:center;gap:1.1rem;width:100%;padding:1.35rem 1.4rem;border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s var(--ease)}
.choice:hover{transform:translateY(-3px);border-color:var(--acc);box-shadow:var(--glow)}
.choice:active{transform:translateY(-1px) scale(.99)}
.choice.is-active{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 16%,transparent),var(--shadow)}
.choice-ico{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:var(--r-sm);background:var(--acc-tint);color:var(--acc-text);transition:background-color .3s,color .3s}
.choice-ico .i{width:26px;height:26px}
.choice.is-active .choice-ico{background:var(--primary);color:var(--on-primary)}
.choice-text{display:grid;gap:.3rem;flex:1;min-width:0}
.choice-text strong{font:800 1.15rem/1.2 var(--font-head);letter-spacing:-.015em}
.choice-text span{font-size:.93rem;line-height:1.5;color:var(--muted)}
.choice .plus{transition:transform .45s var(--ease),background-color .3s,border-color .3s}
.choice.is-active .plus{transform:rotate(45deg);background:var(--acc);border-color:var(--acc);color:var(--primary)}
.contact-grid{display:grid;gap:1.25rem;max-width:60rem;margin-inline:auto}
.contact-grid.is-waiting{display:none}
.contact-grid>:not([hidden]){animation:rise .55s var(--ease-out) both}
.contact-grid.is-closing>:not([hidden]){animation:sink .28s var(--ease) both}
.card-pad{padding:clamp(1.5rem,3.5vw,2.4rem);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}
.contact-grid h3{font-size:1.4rem;font-weight:700;letter-spacing:-.015em;margin-bottom:1.25rem}
.form-intro{margin:-.6rem 0 1.1rem;max-width:36rem;color:var(--muted)}
.form-promise{margin-bottom:1.4rem;padding:1rem 1.15rem;border-radius:var(--r-sm);background:var(--acc-tint)}
.form-promise p{margin-bottom:.55rem;font:600 .9rem/1.3 var(--font-head)}
.form-promise ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.form-promise li{display:flex;align-items:center;gap:.6rem;font-size:.97rem}
.form-promise .i{width:20px;height:20px;color:var(--acc-text)}
.form-body{display:grid;gap:1.15rem}
.form-row{display:grid;gap:1.15rem}
.field{display:grid;gap:.45rem;min-width:0}
.field>label,.chip-select legend,.seg legend{font-size:.92rem;font-weight:500;color:var(--muted)}
.opt{font-weight:400;color:var(--muted)}
.input{width:100%;height:52px;padding:0 1rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);transition:border-color .25s,box-shadow .25s}
textarea.input{height:auto;min-height:140px;padding:.9rem 1rem;resize:vertical;line-height:1.55}
.input::placeholder{color:var(--muted)}
.input:hover{border-color:var(--acc)}
.input:focus{outline:none;border-color:var(--acc-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 40%,transparent)}
.err .input{border-color:var(--danger)}
.err-msg{font-size:.88rem;color:var(--danger)}
.err-msg:empty{display:none}
.chip-select,.seg{min-width:0;margin:0;padding:0;border:0}
.chip-select legend,.seg legend{padding:0;margin-bottom:.6rem}
.chips-in{display:flex;flex-wrap:wrap;gap:.5rem}
.chips-in input,.seg input{position:absolute;opacity:0;pointer-events:none}
.chips-in span{display:inline-block;padding:.6rem .95rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-size:.94rem;cursor:pointer;transition:background-color .25s,border-color .25s,box-shadow .3s}
.chips-in label:hover span{border-color:var(--acc);box-shadow:var(--glow)}
.chips-in input:checked+span{background:var(--acc);border-color:var(--acc);color:#0d1422}
.chips-in input:focus-visible+span,.seg input:focus-visible+span{outline:2px solid var(--acc-text);outline-offset:2px}
.seg-opts{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.seg label span{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:var(--r-xs);font:600 .93rem/1 var(--font-head);color:var(--muted);cursor:pointer;transition:background-color .3s,color .3s,box-shadow .3s}
.seg label:hover span{color:var(--text);box-shadow:var(--glow)}
.seg label .i{width:17px;height:17px}
.seg input:checked+span{background:var(--primary);color:var(--on-primary)}
.check{grid-template-columns:auto 1fr;align-items:start;column-gap:.8rem}
.check input{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:22px;height:22px;margin:.1rem 0 0;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);cursor:pointer;transition:border-color .25s,box-shadow .3s}
.check input:hover{border-color:var(--acc);box-shadow:var(--glow)}
.check input:checked{background:var(--acc);border-color:var(--acc)}
.check input:checked::after{content:"";width:10px;height:6px;border-left:2px solid #0d1422;border-bottom:2px solid #0d1422;transform:translateY(-1px) rotate(-45deg)}
.check.err input{border-color:var(--danger)}
.check label{font-size:.92rem;line-height:1.5;color:var(--muted)}
.check label a{color:var(--text)}
.check .err-msg{grid-column:2}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-error{font-size:.94rem;color:var(--danger)}
.form-error:empty{display:none}
.fstep{display:grid;gap:.9rem;min-width:0;margin:0;padding:0;border:0}
.fstep:focus{outline:none}
.fstep .q{padding:0;margin:0;font:700 clamp(1.25rem,2.2vw,1.55rem)/1.25 var(--font-head);letter-spacing:-.015em;color:var(--text)}
.fstep .q-hint{margin-top:-.45rem;font-size:.94rem;color:var(--muted)}
.fstep legend.q{margin-bottom:.45rem}
.fstep legend.q+.q-hint{margin-top:0}
.fstep .seg{display:grid;gap:.9rem}
.fstep .seg legend.q{margin-bottom:.9rem}
.fstep .seg-opts{justify-self:start}
.stepper .form-body{gap:1.4rem}
.stepper .fstep{min-height:12.5rem;align-content:start;animation:step-in .35s var(--ease)}
.form-progress{display:grid;gap:.55rem}
.form-progress p{font-size:.88rem;font-weight:600;color:var(--muted)}
.form-progress .bar{height:4px;border-radius:var(--r-xs);background:var(--line);overflow:hidden}
.form-progress .bar span{display:block;height:100%;background:var(--acc);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .45s var(--ease)}
.step-nav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.step-nav .btn{flex:1 1 0}
.form-success{display:grid;gap:.75rem;padding:.5rem 0}
.form-success .i{width:44px;height:44px;color:var(--acc-text)}
.form-success strong{font:700 1.35rem/1.3 var(--font-head)}
.form-success p{color:var(--muted)}
.contact-person{display:flex;align-items:center;gap:.8rem;margin:-.4rem 0 1rem}
.contact-avatar{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);background:var(--primary);color:var(--on-primary);font:700 .95rem/1 var(--font-head);letter-spacing:.02em}
.contact-person span:last-child{display:grid;gap:.1rem;font-size:.92rem;color:var(--muted)}
.contact-person strong{font:700 1rem/1.25 var(--font-head);color:var(--text)}
.contact-ways{display:grid;gap:.6rem;margin-bottom:1.4rem}
.contact-way{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);text-decoration:none;transition:border-color .25s,box-shadow .35s var(--ease),background-color .25s}
.contact-way:hover{border-color:var(--acc);box-shadow:var(--glow);background:var(--acc-tint)}
.contact-way .i{width:22px;height:22px;color:var(--acc-text)}
.contact-way span{display:grid;gap:.1rem;min-width:0;font-size:.93rem;color:var(--muted);overflow-wrap:anywhere}
.contact-way strong{font:700 1rem/1.25 var(--font-head);color:var(--text)}
.form-plain .form-body{gap:1rem}
.form-plain textarea.input{min-height:120px}
.booking{margin-top:1.75rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.label{display:block;margin-bottom:.8rem;font-size:.86rem;font-weight:600;color:var(--muted)}
.booking-embed{display:grid;place-items:center;min-height:220px;padding:1.25rem;border:1px dashed var(--line-strong);border-radius:var(--r-sm);text-align:center}
.booking-embed iframe{width:100%;min-height:620px;border:0;border-radius:var(--r-sm)}
.booking-gate{display:grid;gap:1rem;justify-items:center;max-width:24rem;font-size:.95rem;color:var(--muted)}
@media (min-width:768px){
  .choose{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-row{grid-template-columns:1fr 1fr}
  .form-promise ul{grid-template-columns:auto auto;justify-content:start;column-gap:1.75rem}
  .form-body>.btn{justify-self:start}
  .step-nav .btn{flex:none}
  .stepper .step-nav .btn-primary{margin-left:auto}
}
@media (min-width:1024px){
  .contact-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;max-width:none}
  .contact-grid:has(>[hidden]){grid-template-columns:minmax(0,1fr);max-width:780px}
}

/* Unterseiten: Titelbereich */
.page-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.5rem,6vw,4.5rem)}
.crumbs ol{list-style:none;margin:0 0 clamp(1.5rem,3vw,2.25rem);padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-size:.9rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line-strong)}
.crumbs a{color:var(--muted);text-decoration:none;transition:color .25s,text-shadow .3s}
.crumbs a:hover{color:var(--text);text-shadow:0 0 14px var(--glow-color)}
.page-hero h1{max-width:24ch;font-size:clamp(1.9rem,5.4vw,3.4rem);line-height:1.05;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.hero-sub{max-width:38rem;margin-top:1.5rem;font-size:clamp(1.06rem,1.6vw,1.22rem);line-height:1.6;color:var(--muted)}
.page-hero .hero-actions{margin-top:2rem}
.page-hero .hero-fade{animation-duration:.45s;animation-delay:calc(var(--dl,0s) * .3)}
.page-hero-grid{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:end}
.page-hero-media{overflow:hidden;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg)}
.page-hero-media img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
@media (min-width:1024px){
  .page-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
}

/* Unterseiten: Inhaltsbereiche */
.section.tight-top{padding-top:0}
.section-head{max-width:46rem;margin-bottom:clamp(2.25rem,4.5vw,3.5rem)}
.section-head h2,.cta-box h2{font-size:clamp(1.9rem,4vw,3rem)}
.section-head p{max-width:40rem;margin-top:1rem;color:var(--muted);font-size:clamp(1.03rem,1.4vw,1.14rem)}
.surface{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.features{display:grid;gap:1.25rem}
.feature{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:clamp(1.4rem,3vw,1.9rem);border-radius:var(--r)}
.svc-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-sm);background:var(--primary);color:var(--on-primary)}
.svc-icon .i{width:24px;height:24px}
.feature h3{margin-bottom:.4rem;font-size:1.2rem;font-weight:700;line-height:1.25}
.feature p{color:var(--muted)}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:1rem 2.5rem}
.checklist li{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;padding-top:1rem;border-top:1px solid var(--line)}
.checklist .i{width:22px;height:22px;margin-top:.1rem;padding:3px;border-radius:var(--r-xs);background:var(--acc-tint);color:var(--acc-text)}
.checklist.warn .i{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}
.checklist strong{display:block;margin-bottom:.2rem;font:600 1.05rem/1.35 var(--font-head)}
.checklist span{color:var(--muted)}
.inc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
.inc li{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem .9rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:.96rem;line-height:1.35}
.inc .i{width:15px;height:15px;color:var(--acc-text)}
.more-link{margin-top:2rem}
.related-content{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.related-content a{display:flex;flex-direction:column;gap:.45rem;height:100%;padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);text-decoration:none;transition:border-color .3s,box-shadow .35s var(--ease),transform .35s var(--ease)}
.related-content a:hover{border-color:var(--acc);box-shadow:var(--glow);transform:translateY(-3px)}
.related-content a span{font-size:.88rem;font-weight:600;color:var(--acc-text)}
.related-content a strong{font:700 1.15rem/1.3 var(--font-head);letter-spacing:-.015em}
.related{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.related li{display:grid;gap:.35rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.related strong{font:700 1.2rem/1.3 var(--font-head);letter-spacing:-.015em}
.related span{color:var(--muted)}
.industries{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.industry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;padding:clamp(1.5rem,3.2vw,2.25rem) clamp(.25rem,1.5vw,1.25rem);border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;isolation:isolate;transition:box-shadow .35s var(--ease)}
.industry::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 24%,transparent),transparent 75%);opacity:0;transition:opacity .45s var(--ease)}
.industry:hover::before,.industry:focus-visible::before{opacity:1}
.industry-icon{display:none;place-items:center;width:56px;height:56px;border-radius:var(--r-sm);background:var(--primary);color:var(--on-primary)}
.industry-icon .i{width:28px;height:28px}
.industry-body{display:grid;gap:.4rem}
.industry-name{display:block;font:800 clamp(1.5rem,3.4vw,2.4rem)/1.1 var(--font-head);letter-spacing:-.02em;transition:transform .5s var(--ease)}
.industry:hover .industry-name{transform:translateX(6px)}
.industry-text{display:block;max-width:32rem;color:var(--muted)}
.industry-go{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:var(--r-sm);transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s}
.industry-go .i{width:20px;height:20px}
.industry:hover .industry-go{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:var(--glow)}
.mini-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;max-width:46rem}
.mini-steps li{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:1.25rem;align-items:start}
.mini-steps li::before{content:"";grid-row:1 / span 2;position:relative;z-index:1;width:16px;height:16px;margin-top:.75rem;border-radius:var(--r-xs);background:var(--acc);box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 18%,transparent)}
.mini-steps li:not(:last-child)::after{content:"";position:absolute;left:7px;top:calc(.75rem + 16px);bottom:-2rem;width:2px;background:linear-gradient(180deg,var(--acc),var(--line-strong))}
.mini-steps strong{display:block;padding-top:.55rem;margin-bottom:.3rem;font:700 1.15rem/1.3 var(--font-head)}
.mini-steps span{color:var(--muted)}
.qa-grid{display:grid;gap:clamp(1.75rem,3.5vw,2.5rem) clamp(2rem,5vw,4rem)}
.qa{padding-top:1.25rem;border-top:1px solid var(--line-strong)}
.qa h3{margin-bottom:.55rem;font-size:clamp(1.08rem,1.6vw,1.2rem);font-weight:700;line-height:1.35}
.qa p{max-width:34rem;color:var(--muted)}
.qa p a,.section-head p a{color:var(--text);text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:3px}
.qa p a:hover,.section-head p a:hover{color:var(--acc-text)}
.case{display:grid;overflow:hidden;border-radius:var(--r)}
.case-media{position:relative;min-height:340px;overflow:hidden;background:radial-gradient(70% 80% at 25% 15%,color-mix(in srgb,var(--acc) 35%,transparent),transparent 60%),var(--bg-alt)}
.phones{display:flex;justify-content:center;align-items:flex-start;gap:clamp(.75rem,2vw,1.25rem);height:100%;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,3vw,2rem) 0;perspective:1300px}
.phones img{width:min(31%,210px);aspect-ratio:560/1212;object-fit:cover;border:1px solid var(--line-strong);border-radius:calc(var(--r) * 2);box-shadow:var(--shadow-lg)}
.phones img:nth-child(1){transform:translateY(14%) rotateY(22deg) translateZ(-30px)}
.phones img:nth-child(2){transform:translateZ(40px)}
.phones img:nth-child(3){transform:translateY(20%) rotateY(-22deg) translateZ(-30px)}
.case-body{display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1.75rem,4vw,3rem)}
.case-meta{font-size:.9rem;font-weight:600;color:var(--muted)}
.case h3{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800}
.case-body>p{color:var(--muted)}
.case-facts{display:grid;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.case-facts dt{margin-bottom:.25rem;font-size:.86rem;font-weight:600;color:var(--muted)}
.case-facts dd{font-weight:500;line-height:1.5}
.case-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}
.cta-band{padding-block:clamp(4rem,8vw,6.5rem)}
.cta-box{position:relative;overflow:hidden;display:grid;gap:1.5rem;justify-items:center;padding:clamp(2rem,5vw,4rem);border:1px solid var(--line);border-radius:var(--r);background:radial-gradient(60% 90% at 90% 10%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 60%),var(--surface);box-shadow:var(--shadow-lg);text-align:center}
.cta-box p{max-width:36rem;color:var(--muted);font-size:clamp(1.03rem,1.4vw,1.15rem)}
.cta-box .hero-actions{justify-content:center;width:100%}
@media (min-width:768px){
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checklist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-content{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related li{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:2rem;align-items:baseline}
  .industry{grid-template-columns:auto minmax(0,1fr) auto}
  .industry-icon{display:grid}
  .qa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-box .hero-actions{width:auto}
}
@media (min-width:1024px){
  .industry-body{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:2rem}
  .case{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
}

/* Rechtliches, Danke und 404 */
.legal{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(4rem,8vw,6rem)}
.legal-inner{max-width:46rem}
.legal h1{margin:0 0 2rem;font-size:clamp(2.2rem,6vw,3.4rem);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.legal h2{margin:2.25rem 0 .6rem;font-size:1.25rem;font-weight:700}
.legal h3{margin:1.5rem 0 .4rem;font-size:1.08rem;font-weight:700}
.legal p,.legal li{color:var(--muted);line-height:1.7}
.legal p+p{margin-top:.75rem}
.legal ul{margin-top:.5rem;padding-left:1.2rem}
.legal a{color:var(--text);text-decoration-color:var(--acc);text-underline-offset:3px}
.legal a:hover{color:var(--acc-text)}
.notfound{padding:clamp(4rem,10vw,7rem) 0 clamp(5rem,10vw,8rem)}
.notfound .code{font:800 clamp(5rem,20vw,11rem)/.9 var(--font-head);letter-spacing:-.05em;background:linear-gradient(180deg,var(--text),color-mix(in srgb,var(--text) 25%,transparent));-webkit-background-clip:text;background-clip:text;color:transparent}
.notfound h1{margin-top:1rem;font-size:clamp(1.8rem,4vw,2.6rem);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.notfound p{max-width:36rem;margin-top:1rem;color:var(--muted)}
.notfound p+p{margin-top:.75rem}
.notfound .hero-actions{margin-top:2rem}
.thanks-icon{width:64px;height:64px;margin-bottom:1.5rem;color:var(--acc-text)}

/* Footer */
.site-footer{padding:clamp(3.5rem,7vw,5.5rem) 0 2rem;border-top:1px solid var(--line);background:var(--bg-alt);color:var(--muted)}
.footer-grid{display:grid;gap:2.75rem}
.footer-brand{display:inline-block;border-radius:var(--r-sm);transition:filter .35s var(--ease)}
.footer-brand:hover{filter:drop-shadow(0 0 14px var(--glow-color))}
.footer-brand img{width:auto;height:72px}
.footer-about p{max-width:22rem;margin-top:1rem;font-size:.96rem}
.footer-contact{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.55rem}
.footer-contact a{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.96rem;color:var(--text);text-decoration:none;transition:color .25s,text-shadow .3s}
.footer-contact a:hover{color:var(--acc-text);text-shadow:0 0 16px var(--glow-color)}
.footer-contact .i{width:18px;height:18px;color:var(--acc-text)}
.footer-nav{display:grid;gap:2.25rem}
.f-title{margin:0 0 .9rem;font:600 .74rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--acc-text)}
.f-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.96rem}
.f-list a{color:var(--muted);text-decoration:none;transition:color .25s,text-shadow .3s}
.f-list a:hover,.f-list a[aria-current="page"]{color:var(--text);text-shadow:0 0 16px var(--glow-color)}
.places{display:grid;border-top:1px solid var(--line)}
.place-group{border-bottom:1px solid var(--line)}
.place-group summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;font:600 .98rem/1.3 var(--font-head);color:var(--text);list-style:none;cursor:pointer;transition:color .25s,text-shadow .3s}
.place-group summary::-webkit-details-marker{display:none}
.place-group summary:hover{color:var(--acc-text);text-shadow:0 0 16px var(--glow-color)}
.place-group summary .i{width:14px;height:14px;transition:transform .35s var(--ease)}
.place-group[open] summary .i{transform:rotate(180deg)}
.place-count{margin-left:auto;font:500 .82rem/1 var(--font-body);color:var(--muted)}
.place-group ul{list-style:none;margin:0;padding:0 0 1rem;display:grid;gap:.45rem}
.place-group a{font-size:.94rem;color:var(--muted);text-decoration:none;transition:color .25s,text-shadow .3s}
.place-group a:hover,.place-group a[aria-current="page"]{color:var(--text);text-shadow:0 0 16px var(--glow-color)}
.wordmark{display:block;margin-top:clamp(2.5rem,6vw,4rem);overflow:hidden;line-height:.84;text-decoration:none;user-select:none;border-radius:var(--r-sm)}
.wordmark span{display:block;font:800 calc(min(100vw - 2 * var(--gutter),1200px) / 3.9)/.84 var(--font-head);letter-spacing:-.055em;white-space:nowrap;background:linear-gradient(95deg,var(--hl-1) 0%,var(--hl-2) 40%,var(--acc) 68%,var(--hl-1) 100%);background-size:200% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%);transition:background-position 1.2s var(--ease),filter .4s var(--ease)}
.wordmark:hover span{background-position:100% 0;filter:drop-shadow(0 0 22px var(--glow-color))}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.9rem}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.footer-bottom a,.linkbtn{padding:0;border:0;background:none;color:var(--muted);font-size:inherit;text-decoration:none;cursor:pointer;transition:color .25s,text-shadow .3s}
.footer-bottom a:hover,.linkbtn:hover{color:var(--text);text-shadow:0 0 16px var(--glow-color)}
@media (min-width:768px){
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem}
}
@media (min-width:1024px){
  .footer-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3.5rem}
}

/* Schwebende Bedienelemente */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-float);padding:12px var(--gutter) calc(env(safe-area-inset-bottom,0px) + 12px);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 94%,transparent) 40%);transform:translateY(110%);transition:transform .45s var(--ease)}
.sticky-cta.show{transform:none}
.to-top{position:fixed;right:max(1rem,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);z-index:var(--z-float);display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);text-decoration:none;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s,border-color .3s,box-shadow .35s var(--ease)}
.to-top .i{width:20px;height:20px;transition:transform .3s var(--ease)}
.to-top:hover{border-color:var(--acc);box-shadow:var(--glow)}
.to-top:hover .i{transform:translateY(-3px)}
.js .to-top:not(.show){opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s linear .35s}
body:has(.sticky-cta.show) .to-top{bottom:calc(env(safe-area-inset-bottom,0px) + 88px)}
@media (min-width:768px){
  .sticky-cta{display:none}
  .to-top{right:1.5rem;bottom:1.5rem}
}
@media (max-width:767px){
  .site-footer{padding-bottom:calc(2rem + 84px)}
}

/* Cookie-Hinweis */
.cookie{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:var(--z-cookie);max-width:470px;padding:1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(16px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.cookie.open{opacity:1;transform:none}
.cookie-title{margin-bottom:.5rem;font:700 1.05rem/1.3 var(--font-head)}
.cookie p{font-size:.92rem;color:var(--muted)}
.cookie a{color:var(--text)}
.cookie-settings{display:grid;gap:.7rem;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}
.toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.93rem;cursor:pointer}
.toggle input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:42px;height:24px;border-radius:var(--r-sm);background:var(--line-strong);cursor:pointer;transition:background-color .25s}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--r-xs);background:var(--surface);transition:transform .25s var(--ease)}
.toggle input:checked{background:var(--acc)}
.toggle input:checked::after{transform:translateX(18px)}
.toggle input:disabled{opacity:.55;cursor:not-allowed}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.1rem}
.cookie-actions .btn{flex:1 1 auto}
.cookie-actions .linkbtn{flex-basis:100%;padding-top:.3rem;font-size:.9rem;text-align:left;text-decoration:underline;text-underline-offset:3px}
@media (min-width:768px){
  .cookie{left:24px;bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}
}

/* Mauszeiger-Effekt */
.cursor,.cursor-dot{position:fixed;left:0;top:0;z-index:var(--z-cursor);pointer-events:none;border-radius:50%;opacity:0;transition:opacity .3s,width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background-color .35s,border-color .35s}
.cursor{width:36px;height:36px;margin:-18px 0 0 -18px;border:1.5px solid color-mix(in srgb,var(--acc) 75%,transparent)}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--acc)}
.cursor.is-on,.cursor-dot.is-on{opacity:1}
.cursor.is-hover{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:var(--acc);background:color-mix(in srgb,var(--acc) 16%,transparent);box-shadow:0 0 28px var(--glow-color)}
.cursor.is-down{width:28px;height:28px;margin:-14px 0 0 -14px}

/* Scroll-Animationen */
.rv .reveal{transition:opacity .8s var(--ease),translate .9s var(--ease-out);transition-delay:calc(var(--d,0) * 90ms)}
.rv .reveal:not(.in){opacity:0;translate:0 28px}
.zoom{transform-origin:50% 50%}
@supports (animation-timeline:view()){
  .zoom{animation:zoom-in linear both;animation-timeline:view();animation-range:entry 0% cover 42%}
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@keyframes drop-in{from{opacity:0;transform:translateY(-6px)}}
@keyframes pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3)}}
@keyframes wheel{0%{opacity:0;transform:translateY(-2px)}40%{opacity:1}100%{opacity:0;transform:translateY(6px)}}
@keyframes zoom-in{from{scale:.9}to{scale:1}}
@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes line-up{from{transform:translateY(105%)}to{transform:none}}
@keyframes shine{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes band{to{transform:translateX(-100%)}}
@keyframes step-in{from{opacity:0;transform:translateX(14px)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@keyframes sink{to{opacity:0;transform:translateY(12px)}}

/* Bewegung reduzieren */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;transition-delay:0s}
  .zoom{animation:none}
  .hero-fade,.line-in,.hl.line-in{animation:fade-in .01ms both}
  .rv .reveal:not(.in){translate:none}
  .hero-bg::before,.hero-visual{translate:none}
  .cursor,.cursor-dot{display:none}
  @view-transition{navigation:none}
}
