@font-face{font-family:'Bebas Neue';src:url('../fonts/bebas-neue-v16-latin-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Font Awesome Brands: Schrift + @font-face + Icon-Zuordnung kommen über
   brands.min.css von cdnjs (s. HTML-Dateien) - diese Datei enthält bereits
   alles Nötige, INKLUSIVE der Zeichen-Zuordnung (per direktem Abgleich mit
   der cdnjs-Datei geprüft). Was ihr aber fehlt, sind zwei Basis-Regeln, die
   normalerweise aus der großen, hier bewusst nicht geladenen
   fontawesome.min.css kommen: 1) die font-family-Bindung selbst
   (brands.min.css setzt auf .fa-brands/.fab nur font-weight) - ohne sie
   fordert der Browser die .woff2 nie an; 2) font-style:normal, weil das
   <i>-Tag im Browser standardmäßig kursiv ist. */
.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}
/* cdnjs liefert font-display:block für diese Schrift (Icon bis zu 3s
   unsichtbar, falls die Datei langsam lädt). Eigene @font-face mit
   gleichem family/weight/style + gleicher Quelle, aber font-display:swap,
   überschreibt das (laut Spec gewinnt die zuletzt deklarierte @font-face
   mit identischen Merkmalen) - PageSpeed-Empfehlung, spart minimal Zeit
   und zeigt notfalls sofort einen Platzhalter statt zu warten. */
@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.woff2) format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.ttf) format("truetype")}
:root{--ink:#0a0a0a;--paper:#f2efe6;--accent-1:#8b5cf6;--accent-2:#22d3ee;--accent:var(--accent-2);--accent-gradient:linear-gradient(90deg, var(--accent-1), var(--accent-2));--bg:var(--ink);--fg:var(--paper);--line:rgba(242,239,230,.16);--line-strong:rgba(242,239,230,.32);--font-display:'Bebas Neue', 'Anton', 'Arial Narrow Bold', Impact, sans-serif;--font-body:'Plus Jakarta Sans', 'General Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;--radius:8px;--radius-sm:4px;--container-w:1320px;--section-pad:clamp(5rem, 10vw, 9rem);--ease:cubic-bezier(.16,1,.3,1);--dur-fast:.22s;--dur-med:.45s}[data-theme=light]{--bg:var(--paper);--fg:var(--ink);--line:rgba(10,10,10,.13);--line-strong:rgba(10,10,10,.28)}*,::before,::after{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:var(--accent-1) var(--ink)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-1) 65%,var(--accent-2) 100%);border-radius:999px;border:2px solid var(--ink);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{border-width:1px}::-webkit-scrollbar-corner{background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}img{max-width:100%;height:auto;display:block;-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}img[loading="lazy"]{opacity:0;transition:opacity .5s var(--ease)}img[loading="lazy"].img-loaded{opacity:1}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.008em;line-height:1.06;overflow-wrap:break-word;word-break:break-word}p{margin:0}button{font:inherit;color:inherit;background:0 0;border:0;cursor:pointer}input,textarea{font:inherit;color:inherit}svg{display:block}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}[tabindex="-1"]:focus{outline:none}.skip-link{position:absolute;top:-48px;left:12px;background:var(--accent-gradient);color:var(--ink);padding:.6rem 1rem;border-radius:var(--radius-sm);z-index:1000;transition:top var(--dur-fast) var(--ease);font-weight:700}.skip-link:focus{top:12px}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--accent-gradient);z-index:900;transform-origin:left}.container{width:100%;max-width:var(--container-w);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.center{text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1.1rem}.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent-gradient);display:inline-block}.section-title{font-size:clamp(2.4rem,6vw,4.6rem);color:var(--fg);max-width:18ch}.stats-break-tablet{display:none}.footer-break-mobile{display:none}.footer-nowrap{white-space:nowrap}.center .section-title{margin-inline:auto}.section-text{color:var(--fg);opacity:.68;max-width:56ch;font-size:1.05rem}.center .section-text{margin-inline:auto}.hl-accent{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hl-accent-underline{position:relative;color:inherit;display:inline-block;transform-origin:left bottom}.hl-accent-bar{position:absolute;left:0;right:0;bottom:0;height:.12em;background:var(--accent-gradient);z-index:-1;transform:scaleX(0);transform-origin:left center}.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.8rem;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;font-size:1.02rem;letter-spacing:.015em;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);white-space:nowrap;border:1.5px solid transparent;margin-block:.3rem}.btn::before{content:"";position:absolute;inset:-4px;z-index:-1;border-radius:inherit;opacity:0;box-shadow:0 0 26px 3px rgba(139,92,246,.45),0 0 46px 14px rgba(34,211,238,.25);transition:opacity var(--dur-fast) var(--ease);pointer-events:none}.btn:hover::before{opacity:1}.btn-primary{background:var(--accent-gradient);color:var(--ink);border-color:transparent}.btn-ghost{background:0 0;border-color:var(--line-strong);color:var(--fg)}.btn-primary:hover,.btn-ghost:hover{transform:translateY(-2px);background:#fff;-webkit-background-clip:border-box;background-clip:border-box;color:var(--ink);border-color:transparent}.btn-label{display:inline-block;transition:transform var(--dur-fast) var(--ease)}.btn-primary:hover .btn-label,.btn-ghost:hover .btn-label{transform:scale(1.08)}.hero-actions .btn-ghost:hover{transform:none;border-color:transparent;border-image:var(--accent-gradient)1;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.arrow-down{display:inline-block;animation:bob 2s ease-in-out infinite}html.js-anim .reveal-up{opacity:0;transform:translateY(32px)}html.js-anim .reveal-img{opacity:0;clip-path:inset(0 0 100%0)}html.js-anim .split-reveal .line-inner{transform:translateY(110%)}.split-reveal .line-inner{display:inline-block}.split-reveal .line-mask{overflow:hidden;display:block;padding-block:.1em;margin-block:-.1em}html.js-anim .slide-in-left{opacity:0}html.js-anim .slide-in-right{opacity:0}html.js-anim .signature{opacity:0}html.js-anim .about-img-slide{opacity:0}html.js-anim .trust-badge-grow{opacity:0;transform:scale(.15)}html.js-anim .card-slide-right{opacity:0;transform:translateX(320px)}html.js-anim .tag-drop{opacity:0;transform:translateY(-42px)}html.js-anim .hero-drop{opacity:0;transform:translateY(-130px)}.site-preloader{display:none}html.preload-active .site-preloader{display:flex;position:fixed;inset:0;z-index:9000;align-items:center;justify-content:center;background:var(--ink);opacity:1;transition:opacity .5s var(--ease)}.site-preloader.is-hiding{opacity:0;pointer-events:none}.preloader-mark{position:relative;display:flex;align-items:center;justify-content:center}.preloader-logo{width:clamp(160px,33vw,520px);height:auto;opacity:.92;animation:preloader-pulse 1.1s ease-in-out infinite}@keyframes preloader-pulse{0%,to{transform:scale(1);opacity:.78}50%{transform:scale(1.07);opacity:1}}@media (prefers-reduced-motion:reduce){.preloader-logo{animation:none;opacity:1}}.site-header{position:fixed;top:0;left:0;right:0;z-index:500;background:rgba(10,10,10,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(242,239,230,.1)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.9rem clamp(1.25rem,4vw,3rem);position:relative;z-index:490}.brand{position:relative;display:inline-flex}.brand-logo{height:30px;width:auto;filter:brightness(0) invert(1);transform-origin:center}.brand:hover .brand-logo{animation:logoBurst 5s ease-in-out infinite}@keyframes logoBurst{0%{transform:scale(1);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 0 transparent) drop-shadow(0 0 0 transparent);animation-timing-function:ease-in}2%{transform:scale(1.045);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 22px rgba(139,92,246,.85)) drop-shadow(0 0 38px rgba(34,211,238,.7));animation-timing-function:ease-out}4%{transform:scale(1.06);opacity:0;filter:brightness(0) invert(1) drop-shadow(0 0 55px #8b5cf6) drop-shadow(0 0 85px #22d3ee);animation-timing-function:linear}5.5%{transform:scale(1.06);opacity:0;filter:brightness(0) invert(1) drop-shadow(0 0 55px #8b5cf6) drop-shadow(0 0 85px #22d3ee);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}7.3%{transform:scale(1.025);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 16px rgba(139,92,246,.4)) drop-shadow(0 0 26px rgba(34,211,238,.25));animation-timing-function:cubic-bezier(.34,1.56,.64,1)}9.2%{transform:scale(.986);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 6px rgba(139,92,246,.15)) drop-shadow(0 0 10px rgba(34,211,238,.1));animation-timing-function:ease-in-out}11%{transform:scale(1.008);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 0 transparent) drop-shadow(0 0 0 transparent);animation-timing-function:ease-out}13%{transform:scale(1);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 0 transparent) drop-shadow(0 0 0 transparent)}to{transform:scale(1);opacity:1;filter:brightness(0) invert(1) drop-shadow(0 0 0 transparent) drop-shadow(0 0 0 transparent)}}.site-header .brand::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.7) 47%,rgba(255,255,255,.95) 50%,rgba(255,255,255,.7) 53%,transparent 70%);background-size:300% 100%;background-position:220%0;background-repeat:no-repeat;-webkit-mask-image:url(../img/logo.svg);mask-image:url(../img/logo.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;mix-blend-mode:screen;opacity:0;animation:logoShine 20s ease-in-out infinite}@keyframes logoShine{0%,87%{opacity:0;background-position:220%0}90%{opacity:1;background-position:130%0}96%{opacity:1;background-position:-60%0}to{opacity:0;background-position:-140%0}}.main-nav{display:flex;align-items:center;gap:2.2rem}.main-nav a{display:inline-block;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(242,239,230,.75);transition:color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.main-nav a:hover{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;transform:scale(1.1);filter:drop-shadow(0 0 6px rgba(139,92,246,.4)) drop-shadow(0 0 12px rgba(34,211,238,.22))}.main-nav .nav-cta{color:var(--ink);background:var(--accent-gradient);padding:.55rem 1.1rem;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.main-nav .nav-cta:hover{transform:none}.nav-cta-label{display:inline-block;transition:transform var(--dur-fast) var(--ease)}.main-nav .nav-cta:hover .nav-cta-label,.main-nav .nav-cta:active .nav-cta-label{transform:scale(1.1)}.main-nav .nav-cta:hover,.main-nav .nav-cta:focus-visible,.main-nav .nav-cta:active{background:#fff;-webkit-background-clip:border-box;background-clip:border-box;color:var(--ink);box-shadow:0 0 26px 3px rgba(139,92,246,.5),0 0 46px 14px rgba(34,211,238,.3)}.burger{display:flex;align-items:center;gap:.7rem;color:var(--paper)}.burger-label{display:inline-block;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform var(--dur-fast) var(--ease)}
.burger:hover .burger-label{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;transform:scale(1.1);filter:drop-shadow(0 0 6px rgba(139,92,246,.4)) drop-shadow(0 0 12px rgba(34,211,238,.22))}.burger-icon{display:flex;flex-direction:column;gap:5px;width:22px;transition:transform var(--dur-fast) var(--ease)}
.burger:hover .burger-icon{transform:scale(1.1)}.burger-icon span{display:block;height:2px;width:100%;background:var(--paper);transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}
.burger:hover .burger-icon span{filter:drop-shadow(0 0 6px rgba(139,92,246,.4)) drop-shadow(0 0 12px rgba(34,211,238,.22))}.burger[aria-expanded=true] .burger-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] .burger-icon span:nth-child(2){opacity:0;transform:scaleX(0)}.burger[aria-expanded=true] .burger-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{position:fixed;inset:0;z-index:480;background:var(--ink);display:flex;align-items:stretch;overflow-y:auto;-webkit-overflow-scrolling:touch;visibility:hidden;opacity:0;transition:opacity var(--dur-med) var(--ease),visibility 0s linear var(--dur-med)}.mobile-nav.is-open{visibility:visible;opacity:1;transition-delay:0s}.mobile-nav-inner{width:100%;min-height:100%;display:flex;flex-direction:column;padding:clamp(3rem,10vh,6rem) clamp(1.5rem,6vw,6rem) 2rem}.mobile-nav-list{flex:1;display:flex;flex-direction:column;min-height:0}.mobile-nav-list li{flex:1;display:flex;min-height:0;border-top:1px solid rgba(242,239,230,.12)}.mobile-nav-list li:last-child{border-bottom:1px solid rgba(242,239,230,.12)}.mobile-nav-list a{flex:1;display:flex;min-height:0;align-items:center;gap:clamp(.6rem,2.6vh,1.1rem);padding:clamp(0rem,.7vh,.3rem) 0;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(1rem,min(3.3vw,4.4vh),2.1rem);line-height:1.1;color:var(--paper);transition:color var(--dur-fast) var(--ease),padding-left var(--dur-fast) var(--ease)}.mobile-nav-list a:hover{padding-left:.6rem;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.mn-index{font-family:var(--font-body);font-size:clamp(.75rem,min(1.4vw,1.9vh),1.05rem);font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.mobile-nav-footer{margin-top:1.4rem;display:flex;justify-content:space-between;color:rgba(242,239,230,.55);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.mobile-nav-socials{display:flex;gap:1.4rem}.mobile-nav-socials a{display:inline-flex;align-items:center}.mobile-nav-socials a i{width:1.15em;margin-right:.5em;font-size:.95em;text-align:center;flex-shrink:0}.mobile-nav-socials a:hover{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.mobile-nav-socials a:hover i::before{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.sec{position:relative;background:var(--bg);color:var(--fg);padding-block:var(--section-pad);overflow:hidden}.ghost-num{position:absolute;top:.3em;right:2vw;font-family:var(--font-display);font-size:16vw;line-height:1;color:var(--fg);opacity:.05;pointer-events:none;user-select:none;z-index:0}html.js-anim .ghost-num{opacity:0}.sec>.container,.sec>.hero-inner{position:relative;z-index:1}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:6.5rem;padding-bottom:calc(clamp(2.4rem,6vw,4rem) + 5vh)}.hero-grain{position:absolute;inset:0;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2000' height='2000'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:cover;pointer-events:none}.hero-inner{max-width:760px;margin-inline:auto;text-align:center;position:relative}.hero-inner::before{content:"";position:absolute;inset:-1.4rem -2.8rem -1.2rem;z-index:-1;background:radial-gradient(ellipse 66% 78%at center,rgba(10,10,10,.58)0,rgba(10,10,10,.44) 38%,rgba(10,10,10,.2) 62%,rgba(10,10,10,0) 82%);filter:blur(20px);pointer-events:none;animation:heroGlowDrift 10s ease-in-out infinite;will-change:transform}@keyframes heroGlowDrift{0%,to{transform:scale(1) translate(0,0)}33%{transform:scale(1.1) translate(-2%,2.5%)}66%{transform:scale(.94) translate(2.5%,-1.5%)}}.hero .eyebrow{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:initial;color:var(--fg)}.hero .eyebrow::before{display:none}.hero-title{font-size:clamp(1.9rem,4.4vw,3.4rem);margin-block:.6rem 1rem}.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-video{width:100%;height:100%;object-fit:cover;display:block}.hero-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(10,10,10,.88)0,rgba(10,10,10,.58) 20%,rgba(10,10,10,.12) 42%,rgba(10,10,10,0) 58%),radial-gradient(ellipse at center,rgba(10,10,10,0) 45%,rgba(10,10,10,.32) 82%,rgba(10,10,10,.7) 100%)}.hero-sub{color:var(--fg);opacity:.78;font-size:clamp(.92rem,1.1vw,1.02rem);max-width:42ch;margin:0 auto 1.3rem}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:.4rem;margin-bottom:1.8rem}.trust-line{color:var(--fg);opacity:.6;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.scroll-hint{position:absolute;left:50%;bottom:clamp(1.4rem,3vh,2.4rem);transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);opacity:.5}.scroll-line{width:1px;height:34px;background:linear-gradient(var(--accent-1),var(--accent-2),transparent);animation:scroll-line 2s ease-in-out infinite}.thesis{text-align:center;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.thesis-title{font-size:clamp(2.4rem,7vw,5.6rem);max-width:18ch;margin-inline:auto;margin-bottom:2.2rem}.thesis-copy{max-width:62ch;margin-inline:auto;display:flex;flex-direction:column;gap:1.1rem}.thesis-copy p{font-size:1.15rem;opacity:.7}.thesis-accent{font-weight:700;opacity:1!important}.stats .section-title{margin-bottom:3.2rem}.stats-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(2rem,5vw,3.5rem);padding-block:1rem 1.5rem}.stat-card{position:relative;width:min(100%,300px);display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:2.4rem 2rem 1.9rem;box-shadow:0 22px 44px rgba(0,0,0,.38),0 2px 0 rgba(0,0,0,.06)}.stat-card::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:var(--accent-gradient);box-shadow:0 3px 7px rgba(0,0,0,.45)}.stat-number{--stat-number-size:clamp(3.8rem, 8vw, 6rem);display:block;font-family:var(--font-display);font-weight:700;font-size:var(--stat-number-size);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.05}.stat-icon{display:flex;align-items:center;justify-content:center;width:calc(clamp(3.8rem,8vw,6rem)*2/3);height:calc(clamp(3.8rem,8vw,6rem)*2/3);border-radius:50%;background:var(--accent-gradient);color:var(--ink);margin-bottom:1.2rem}.stat-icon svg{width:55%;height:55%}.stat-text{color:var(--ink);opacity:.78;margin:.9rem 0 1.1rem;max-width:26ch}.stat-source{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);opacity:.5}html.js-anim .stat-card-fly{opacity:0}.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.hours-legend{margin-top:1.6rem;display:flex;flex-direction:column;gap:.65rem;color:var(--fg);opacity:.75;font-size:.95rem}.dot{display:inline-block;width:10px;height:10px;margin-right:.6rem}.dot--net{background:var(--accent-gradient)}.dot--vacation{background:rgba(242,239,230,.6)}.dot--sick{background:rgba(242,239,230,.42)}.dot--holiday{background:rgba(242,239,230,.26)}.dot--training{background:rgba(242,239,230,.14)}.hours-visual{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(3rem,7vw,5.5rem)}html.js-anim .hours-visual{opacity:0}.donut-wrap{position:relative;width:min(100%,340px);aspect-ratio:1;margin-block:1.5rem;will-change:transform;transform-style:preserve-3d}.donut-chart{width:100%;height:100%;transform:rotate(-90deg)}.donut-track{fill:none;stroke:var(--line);stroke-width:22}.donut-seg{fill:none;stroke-width:22}.donut-seg--net{stroke:url(#accentGradient)}.donut-seg--vacation{stroke:rgba(242,239,230,.6)}.donut-seg--sick{stroke:rgba(242,239,230,.42)}.donut-seg--holiday{stroke:rgba(242,239,230,.26)}.donut-seg--training{stroke:rgba(242,239,230,.14)}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.donut-number{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;color:var(--fg)}.donut-number::before{content:"≈ "}.donut-caption{font-size:.78rem;color:var(--fg);opacity:.55;text-transform:uppercase;letter-spacing:.08em}.donut-tag{position:absolute;top:50%;left:50%;--tag-radius:235px;transform:translate(-50%,-50%) rotate(var(--tag-angle, 0deg)) translateY(calc(-1*var(--tag-radius))) rotate(calc(-1*var(--tag-angle, 0deg)));font-size:.66rem;font-weight:700;letter-spacing:.03em;padding:.3rem .7rem;border:1px solid var(--line);color:var(--fg);opacity:.7;white-space:nowrap}html.js-anim .donut-tag{opacity:0}.donut-tag--1{--tag-angle:0deg;--tag-radius:210px}.donut-tag--2{--tag-angle:45deg;--tag-radius:216px}.donut-tag--3{--tag-angle:90deg;--tag-radius:233px}.donut-tag--4{--tag-angle:135deg;--tag-radius:216px}.donut-tag--5{--tag-angle:180deg;--tag-radius:210px}.donut-tag--6{--tag-angle:225deg;--tag-radius:230px}.donut-tag--7{--tag-angle:270deg;--tag-radius:240px}.donut-tag--8{--tag-angle:315deg;--tag-radius:216px}.cost-chart-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem}.cost-chart{display:flex;align-items:flex-end;gap:clamp(.55rem,1.6vw,1rem);height:clamp(160px,20vw,220px)}.cost-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:clamp(20px,2.8vw,30px)}.cost-bar-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:var(--fg);opacity:.75;margin-bottom:.55rem;white-space:nowrap;max-height:128px}.cost-bar-track{position:relative;width:100%;flex:1 1 auto;background:rgba(242,239,230,.08);border:1px solid rgba(242,239,230,.14);border-radius:6px 6px 3px 3px;overflow:hidden;display:flex;align-items:flex-end}.cost-bar-fill{width:100%;height:100%;background:var(--accent-gradient);background-size:100% 100%;background-repeat:no-repeat;border-radius:5px 5px 0 0;box-shadow:0 0 14px rgba(139,92,246,.35)}.cost-chart-caption{font-size:.74rem;color:var(--fg);opacity:.5;text-align:center;max-width:36ch}.dust-particle{position:fixed;top:0;left:0;width:9px;height:9px;border-radius:50%;pointer-events:none;z-index:2000;filter:blur(.5px);will-change:transform,opacity}html.js-anim .cost-bar-fill{height:0%}html.js-anim .cost-bar-label{opacity:0;transform:translateY(-90px) rotate(180deg)}.compare .section-title{margin-bottom:3.2rem;max-width:34ch}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative}.compare-card{background:#fff;padding:2.4rem 2rem;position:relative;border-radius:1.25rem;transform-origin:top center;box-shadow:0 0 0 1.5px rgba(139,92,246,.3),0 0 26px 4px rgba(139,92,246,.12),0 0 42px 12px rgba(34,211,238,.08)}html.js-anim .compare-card{opacity:0}.compare-card h3{position:relative;z-index:1;font-size:1.5rem;margin-bottom:1.3rem}.compare-card li{position:relative;z-index:1;padding:.6rem 0;border-top:1px solid var(--line);color:var(--fg);opacity:.65;font-size:.95rem;font-family:var(--font-body);text-transform:none}.compare-card li:first-child{border-top:none}.compare-card--best{background:var(--fg);color:var(--bg);animation:compareCardGlow 4s ease-in-out infinite;padding:3rem 2.3rem 2.6rem}.compare-card--best h3{font-size:1.75rem}.compare-card--best li{font-size:1.05rem}@keyframes compareCardGlow{0%,to{box-shadow:0 0 0 1.5px rgba(139,92,246,.3),0 0 26px 4px rgba(139,92,246,.12),0 0 42px 12px rgba(34,211,238,.08)}50%{box-shadow:0 0 0 1.5px rgba(139,92,246,.42),0 0 34px 6px rgba(139,92,246,.2),0 0 54px 16px rgba(34,211,238,.15)}}.compare-card--best li{color:var(--bg);opacity:.85;border-color:rgba(128,128,128,.25)}.compare-card--best h3{color:var(--bg)}.badge{position:absolute;top:-13px;right:24px;z-index:2;background:var(--accent-gradient);color:var(--ink);font-size:.7rem;font-weight:700;padding:.35rem .8rem;border-radius:var(--radius-sm)}.compare-card--best .badge{left:50%;right:auto;top:0;transform:translate(-50%,-50%);font-size:.85rem;padding:.5rem 1.2rem;box-shadow:0 6px 18px rgba(139,92,246,.35)}.compare-index{position:absolute;top:-22px;right:22px;z-index:3;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-gradient);font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1;color:var(--ink);box-shadow:0 6px 20px rgba(139,92,246,.35);pointer-events:none;user-select:none}.compare-card--best .compare-index{width:64px;height:64px;font-size:1.7rem;animation:compareIndexPulse 2.4s ease-in-out infinite}@keyframes compareIndexPulse{0%,to{transform:scale(1);box-shadow:0 6px 20px rgba(139,92,246,.35)}50%{transform:scale(1.08);box-shadow:0 8px 30px rgba(139,92,246,.5),0 0 34px rgba(34,211,238,.4)}}.compare-side-icon{position:absolute;top:0;bottom:0;margin-block:auto;height:fit-content;display:flex;flex-direction:row;align-items:center;gap:.7rem;color:var(--fg);opacity:.9}.compare-side-icon-col{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding-bottom:.4rem}.compare-side-icon svg,.compare-side-icon img{display:block}.compare-side-icon--time{left:4%}.compare-side-icon--cost{right:4%}.compare-question-mark{position:absolute;top:0;bottom:0;right:1%;width:34%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:clamp(9rem,36vh,20rem);line-height:1;color:var(--fg);pointer-events:none;user-select:none;z-index:0;animation:compareQuestionPulse 2.6s ease-in-out infinite}@keyframes compareQuestionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){.compare-question-mark{display:none}}.compare-side-icon{max-width:350px}.compare-side-icon-main{width:clamp(170px,13vw,240px);height:clamp(170px,13vw,240px);object-fit:contain}.compare-side-icon--cost .compare-side-icon-main{width:clamp(184px,14vw,260px);height:clamp(184px,14vw,260px)}.compare-side-icon-label{font-family:var(--font-display);font-weight:700;font-size:2rem;-webkit-text-stroke:.022em currentColor;letter-spacing:.02em;text-transform:uppercase;opacity:.95;white-space:nowrap;animation:compareLabelWiggle 2.6s ease-in-out infinite}.compare-side-icon--cost .compare-side-icon-label{animation-delay:.5s}@keyframes compareLabelWiggle{0%,to{transform:rotate(0deg) translateX(0)}12%{transform:rotate(-3.5deg) translateX(-3px)}24%{transform:rotate(3deg) translateX(3px)}36%{transform:rotate(-2.5deg) translateX(-2px)}48%{transform:rotate(2deg) translateX(2px)}60%{transform:rotate(-1deg) translateX(-1px)}72%,to{transform:rotate(0deg) translateX(0)}}@media (max-width:1180px){.compare-side-icon{display:none}}.services-pairs>.container>.section-text{margin-bottom:4rem}.pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;margin-block:clamp(3.5rem,8vw,7rem)}.pair--img-left .pair-media{order:1}.pair--img-left .pair-copy{order:2}.pair--img-right .pair-media{order:2}.pair--img-right .pair-copy{order:1}.pair-media{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.pair-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s var(--ease)}@media (hover:hover){.pair-media:hover img{filter:grayscale(0) contrast(1)}}.pair-media.is-touch-active img{filter:grayscale(0) contrast(1)}html.has-mouse .pair-media:hover img{filter:grayscale(0) contrast(1)}.pair-tag{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.9rem}.pair-copy h3{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1.1rem}.pair-copy p{color:var(--fg);opacity:.68;font-size:1.02rem;text-transform:none;font-family:var(--font-body)}.pair-media-reveal{position:relative;z-index:2}.pair-copy-reveal{position:relative;z-index:1}html.js-anim .pair-media-reveal{opacity:0}html.js-anim .pair-copy-reveal{opacity:0}.gallery-band{padding-block:2.5rem}.gallery-band .container,.gallery-band .gallery-grid{position:relative;z-index:1}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);padding-inline:clamp(1.25rem,4vw,3rem);max-width:var(--container-w);margin-inline:auto}.gallery-item{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s var(--ease)}@media (hover:hover){.gallery-item:hover img{filter:grayscale(0) contrast(1)}}.gallery-item.is-touch-active img{filter:grayscale(0) contrast(1)}html.has-mouse .gallery-item:hover img{filter:grayscale(0) contrast(1)}.gallery-item figcaption{position:absolute;left:1rem;bottom:1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.4rem .9rem;background:var(--ink);color:var(--paper)}html.js-anim .reveal-gallery{opacity:0;transform:translateY(70px)}.spark-particle{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;pointer-events:none;z-index:2000;will-change:transform,opacity}.dust-particle{position:fixed;top:0;left:0;border-radius:50%;background:radial-gradient(circle,rgba(230,225,214,.6)0,rgba(230,225,214,0) 72%);filter:blur(3px);pointer-events:none;z-index:2000;opacity:0;will-change:transform,opacity}.value .section-title{margin-bottom:3.6rem}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.value-card{position:relative;background:#fff;padding:2.4rem 2rem;border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--line)}.value-card:not(:first-child)::before{content:"";position:absolute;top:6%;bottom:6%;left:-.9rem;width:2px;background-image:repeating-linear-gradient(to bottom,var(--line)0,var(--line) 8px,transparent 8px,transparent 16px)}.value-number{display:block;font-family:var(--font-display);font-weight:700;line-height:1.1;font-size:clamp(2.4rem,3.6vw,3rem);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.7rem}.value-card h3{font-size:1.65rem;margin-bottom:.9rem}.value-card p{color:var(--fg);opacity:.68;text-transform:none;font-family:var(--font-body)}.services-detail .section-title{margin-bottom:3.2rem}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-bottom:2.8rem}.detail-card{position:relative;background:var(--bg);padding:0 2.2rem 2.2rem;border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--line);overflow:hidden}.detail-card:not(:first-child)::before{content:"";position:absolute;top:14%;bottom:14%;left:-.8rem;border-left:2px dashed var(--line)}.detail-card-visual{position:relative;overflow:hidden;width:calc(100% + 4.4rem);margin:0-2.2rem 1.4rem;height:150px}.detail-card-visual img{width:100%;height:100%;object-fit:cover;max-width:none;filter:grayscale(1) contrast(1.05);transition:filter .5s var(--ease)}@media (hover:hover){.detail-card-visual:hover img{filter:grayscale(0) contrast(1)}}.detail-card-visual.is-touch-active img{filter:grayscale(0) contrast(1)}html.has-mouse .detail-card-visual:hover img{filter:grayscale(0) contrast(1)}.detail-card h3{font-size:1.35rem;margin-bottom:.9rem;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.detail-card p{color:var(--fg);opacity:.68;font-size:.95rem;text-transform:none;font-family:var(--font-body)}.skill-grid{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.skill-grid li{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem 1.2rem;font-size:.86rem;color:var(--fg);opacity:.75;transition:border-color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.skill-grid li:hover{border-color:transparent;border-image:var(--accent-gradient)1;opacity:1}.references .section-title{margin-bottom:3.2rem}.ref-band{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:2.1rem}.ref-track{display:flex;gap:4rem;width:max-content;animation:ref-marquee 38s linear infinite}.ref-band:hover .ref-track{animation-play-state:paused}.ref-item{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.1;letter-spacing:0;color:var(--fg);white-space:nowrap;transform-origin:center center}.ref-item em{font-family:var(--font-body);font-weight:400;font-style:normal;text-transform:none;font-size:.5em;color:var(--fg);opacity:.5;margin-left:.5rem}.ref-footnote{margin-top:1.6rem;text-align:center;color:var(--fg);opacity:.5;font-size:.85rem}@keyframes ref-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.about-visual{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.about-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}.about-copy .section-title{margin-block:1rem 1.4rem}.about-copy .section-text{text-transform:none}.about-copy .eyebrow,.about-copy .section-title,.about-copy .section-text,.signature-text{position:relative;z-index:2}.signature{margin-top:calc(1.6rem - 15px)}.signature-text{font-family:var(--font-display);font-weight:700;line-height:1.1;font-size:1.4rem;background:linear-gradient(90deg,var(--accent-1),#a27df8);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.signature{white-space:nowrap}.signature-img-wrap{position:relative;z-index:0;display:inline-block;vertical-align:middle;margin-left:.6rem;overflow:hidden;transform:rotate(-4deg);transform-origin:left bottom}.signature-img{display:block;height:10.5rem;width:auto}.signature-cover-wipe{position:absolute;inset:0;background:var(--bg);transform:translateX(0);pointer-events:none}.signature-cover-blot{position:absolute;left:50%;top:50%;width:260%;height:260%;margin-left:-130%;margin-top:-130%;border-radius:50%;background:radial-gradient(circle,var(--bg) 0%,var(--bg) 55%,transparent 72%);transform:scale(0);opacity:0;pointer-events:none}.process .section-text{margin-bottom:4.2rem}.timeline{position:relative;max-width:760px;margin-inline:auto}.timeline::before{content:"";position:absolute;left:26px;top:0;bottom:0;width:3px;background:var(--line);z-index:1}.timeline::after{content:"";position:absolute;left:26px;top:0;width:3px;height:var(--timeline-progress, 0%);opacity:var(--timeline-opacity, 0);background:var(--accent-gradient);transition:height 1s var(--ease),opacity 1s var(--ease);z-index:1}.timeline-step{position:relative;z-index:2;padding-left:5.2rem;padding-bottom:3.2rem}.timeline-step:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:0;top:0;z-index:3;width:56px;height:56px;border-radius:50%;background:var(--accent-gradient);opacity:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;line-height:1.1;font-size:1.2rem;color:var(--ink)}.timeline-copy h3{font-size:1.45rem;margin-bottom:.7rem}.timeline-copy p{color:var(--fg);opacity:.68;text-transform:none;font-family:var(--font-body)}.trust-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4rem);align-items:center}.trust-copy .section-title{margin-block:1rem 1.4rem}.trust-copy .section-text{text-transform:none}.trust-copy p+p{margin-top:1.1rem}.trust-visual{display:flex;justify-content:center}.trust-badge{width:clamp(200px,20vw,340px);height:clamp(200px,20vw,340px);border-radius:50%;background:var(--accent-gradient);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .35s var(--ease);animation:trustBadgeBlob 7s ease-in-out infinite}.trust-badge:hover{animation:trustBadgeBlobHover 2.8s ease-in-out infinite}.trust-badge.trust-badge-js-blob,.trust-badge.trust-badge-js-blob:hover{animation:none}@keyframes trustBadgeBlob{0%,to{border-radius:50% 50% 50% 50%/50% 50% 50% 50%}25%{border-radius:54% 46% 48% 52%/47% 53% 46% 54%}50%{border-radius:47% 53% 55% 45%/54% 46% 53% 47%}75%{border-radius:52% 48% 45% 55%/48% 52% 55% 45%}}@keyframes trustBadgeBlobHover{0%,to{border-radius:50% 50% 50% 50%/50% 50% 50% 50%}25%{border-radius:60% 40% 44% 56%/42% 58% 40% 60%}50%{border-radius:42% 58% 62% 38%/60% 40% 58% 42%}75%{border-radius:56% 44% 38% 62%/44% 56% 62% 38%}}.trust-badge-number{font-family:var(--font-display);font-weight:700;font-size:clamp(4.5rem,7vw,7.2rem);line-height:1}.trust-badge-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:.5rem}.cta-grid{display:block}.cta-copy{max-width:620px;margin-left:auto;padding-left:clamp(2rem,6vw,4.5rem)}.cta-visual{position:absolute;top:0;left:0;bottom:0;width:calc(42% + 6px);z-index:0;overflow:hidden;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.cta-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}.cta-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,10,0) 15%,#0a0a0a 95%),linear-gradient(to bottom,transparent 78%,var(--bg) 100%);pointer-events:none}.cta-copy .section-title{margin-bottom:1.2rem}.cta-copy .section-text{text-transform:none}.cta-notes{margin:1.5rem 0;display:flex;flex-wrap:wrap;gap:.6rem}.cta-notes li{font-size:.8rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.4rem 1rem;color:var(--fg);opacity:.7}.cta-signature{font-weight:700;margin-bottom:1.7rem}.cta-signature span{display:block;font-weight:400;opacity:.6;font-size:.85rem}.cta-actions{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.3rem;margin-bottom:2.6rem}.contact-form{border-top:1px solid var(--line);padding-top:2.2rem;max-width:520px}.contact-form-note{color:var(--fg);opacity:.6;font-size:.9rem;margin-bottom:1.3rem}.form-row{margin-bottom:1rem;display:flex;flex-direction:column;gap:.4rem}.form-row label{font-size:.85rem;color:var(--fg);opacity:.6}.form-row input[type=text],.form-row input[type=email],.form-row textarea{background:0 0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.8rem 1rem;color:var(--fg);resize:vertical;transition:border-color var(--dur-fast) var(--ease)}.form-row input:focus,.form-row textarea:focus{border-color:transparent;border-image:var(--accent-gradient)1}.form-row--consent{flex-direction:row;align-items:flex-start;gap:.6rem}.form-row--consent label{font-size:.78rem}.form-row--consent a{text-decoration:underline;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.contact-form .btn-primary{margin-top:2rem;margin-bottom:1.4rem}.form-status{margin-top:.8rem;font-size:.88rem;min-height:1.2em;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.form-status.is-error{background:0 0;-webkit-background-clip:initial;background-clip:initial;color:#ff6b6b}.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.site-footer{padding-top:4.5rem}.footer-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2rem;padding-bottom:3rem}.footer-brand .brand{margin-bottom:1.3rem;margin-left:-.6rem}.footer-brand .brand-logo{height:42px;margin-bottom:0}.footer-brand h3{font-size:1.5rem;margin-bottom:.7rem}.footer-brand p{color:var(--fg);opacity:.6;font-size:.9rem;text-transform:none;font-family:var(--font-body)}.footer-col h4{font-family:var(--font-display);font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.1rem;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.footer-col ul{display:flex;flex-direction:column;gap:.7rem}.footer-col a{color:var(--fg);opacity:.65;font-size:.92rem;transition:opacity var(--dur-fast) var(--ease)}.footer-col a:hover{opacity:1}.footer-col--social a{display:inline-flex;align-items:center}.footer-col--social a i{width:1.15em;margin-right:.55em;font-size:.95em;text-align:center;flex-shrink:0;transition:color var(--dur-fast) var(--ease)}.footer-col--social a:hover i::before{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.footer-contact h4:nth-of-type(2){margin-top:1.5rem}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-block:1.7rem;border-top:1px solid var(--line);color:var(--fg);opacity:.5;font-size:.82rem}.back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;width:46px;height:46px;border-radius:50%;background:var(--accent-gradient);color:var(--ink);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);z-index:400;font-weight:700;transform:translateY(calc(var(--bt-clamp,0px) * -1))}.back-to-top.is-visible{opacity:1;pointer-events:auto}.back-to-top:hover{transform:translateY(calc(-3px - var(--bt-clamp,0px)))}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes scroll-line{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media (max-width:1024px){.about-grid,.trust-grid{grid-template-columns:1fr}.about-visual{max-width:380px;margin-inline:auto}.cta-visual{position:relative;top:auto;left:auto;bottom:auto;width:100%;height:320px;margin-bottom:2rem;border-radius:var(--radius)}.cta-visual::after{background:linear-gradient(to bottom,transparent 65%,var(--bg) 100%)}.cta-copy{margin-left:0;padding-left:0;max-width:none}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.ghost-num{font-size:22vw}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (any-pointer:coarse) and (orientation:landscape) and (min-width:1030px) and (max-width:1210px){.sec.hours,.sec.compare,.sec.stats{padding-top:calc(82px + 5vh);padding-bottom:calc(20px + 5vh)}.sec.stats .section-title{max-width:34ch;margin-bottom:2rem}.stats-break-tablet{display:inline}.sec.hours .container{align-items:start}.sec.hours .hours-visual{flex-direction:column;gap:12vh}.sec.hours .donut-wrap{width:min(100%,190px);margin-block:.5rem}.donut-tag--1{--tag-radius:118px}.donut-tag--2{--tag-radius:121px}.donut-tag--3{--tag-radius:130px}.donut-tag--4{--tag-radius:121px}.donut-tag--5{--tag-radius:118px}.donut-tag--6{--tag-radius:129px}.donut-tag--7{--tag-radius:134px}.donut-tag--8{--tag-radius:121px}.donut-tag{font-size:.58rem;padding:.24rem .55rem}.sec.compare{min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.sec.compare .section-title{margin-bottom:2rem}.sec.compare .compare-grid{gap:1.2rem}.sec.compare .compare-card{padding:2rem 1.7rem}.sec.compare .compare-card--best{padding:2.2rem 1.9rem 2rem}.sec.compare .compare-card h3{margin-bottom:1rem}.sec.compare .compare-card li{padding:.5rem 0}}@media (max-width:860px){.main-nav{display:none}.compare-grid,.value-grid,.detail-grid{grid-template-columns:1fr}.value-card::before,.detail-card::before{display:none}.pair,.pair--img-left,.pair--img-right{grid-template-columns:1fr}.pair--img-left .pair-media,.pair--img-left .pair-copy,.pair--img-right .pair-media,.pair--img-right .pair-copy{order:initial}.hours-grid{grid-template-columns:1fr}.hours-copy{text-align:center}.hours-legend{align-items:center}.donut-tag{display:none}.footer-top{grid-template-columns:1fr 1fr}.signature{white-space:normal}.signature-img{height:4.5rem}.signature-img-wrap{margin-top:.5rem}}@media (max-width:1210px){.footer-break-mobile{display:block}}@media (max-width:560px){.gallery-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.cta-notes{justify-content:center}.form-row--consent{flex-direction:column}.ghost-num{display:none}}.consent-gate{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}.consent-gate.is-visible{opacity:1;pointer-events:auto}.consent-card{position:relative;width:100%;max-width:540px;background:var(--ink);color:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);padding:2.6rem 2.2rem 2.2rem;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1.5px rgba(139,92,246,.15);transform:translateY(14px);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease)}.consent-gate.is-visible .consent-card{transform:translateY(0);opacity:1}.consent-logo{display:block;height:1.3rem;width:auto;margin:0 auto 1.4rem}.consent-card h2{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:1rem}.consent-card p{font-size:.92rem;line-height:1.65;color:var(--paper);opacity:.75;margin-bottom:1.9rem;text-transform:none}.consent-card p a{text-decoration:underline;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.consent-actions{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center}@media (max-width:480px){.consent-actions{flex-direction:column}.consent-actions .btn{width:100%;justify-content:center}}html.consent-lock,html.consent-lock body{overflow:hidden;height:100%}.social-notice{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}.social-notice.is-visible{opacity:1;pointer-events:auto}.social-notice-card{position:relative;width:100%;max-width:420px;background:var(--ink);color:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);padding:2.2rem 2rem 1.9rem;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1.5px rgba(139,92,246,.15);transform:translateY(14px);opacity:0;transition:transform .35s var(--ease),opacity .35s var(--ease)}.social-notice.is-visible .social-notice-card{transform:translateY(0);opacity:1}.social-notice-card p{font-size:.95rem;line-height:1.6;color:var(--paper);opacity:.85;margin-bottom:1.5rem;text-transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::before,::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal-up,.reveal-img,.reveal-gallery,.split-reveal .line-inner,.stat-card-fly,.slide-in-left,.slide-in-right,.about-img-slide,.trust-badge-grow,.card-slide-right,.tag-drop,.hours-visual,.pair-media-reveal,.pair-copy-reveal,.compare-card,.signature{opacity:1!important;transform:none!important;clip-path:none!important}.signature-cover-wipe{transform:translateX(105%)!important}.signature-cover-blot{opacity:0!important;transform:scale(0)!important}.cost-bar-label{opacity:1!important}.donut-wrap{transform:none!important}.donut-tag{opacity:.7!important}.ghost-num{opacity:.05!important}}

/* ============================================================
   POPUP "Persönlichen Zugang anfordern" (öffnet nach Sektion 10/
   Referenzen, s. #lead-popup in index.html + assets/js/popup-lead.js).
   Breiter, zweispaltiger Aufbau (Intro links, Formular rechts) statt
   gestapelt - dadurch niedriger, damit auf möglichst vielen Bildschirmen
   (auch größeren Smartphones) kein Scrollen INNERHALB der Box nötig ist.
   Der Schließen-Button liegt außerhalb des scrollbaren Innenbereichs
   (.lead-popup-scroll) und bleibt dadurch IMMER sichtbar/klickbar, auch
   falls die Box auf einem sehr kleinen Fenster doch einmal höher als der
   Viewport wird. Die Box selbst federt beim Erscheinen elastisch ein
   ("Wackelpudding"-Effekt) rein über eine transform-Keyframe-Animation
   (Scale/ScaleY) - keine JS-Bibliothek nötig, GPU-günstig (nur
   transform+opacity, s. Performance-Hinweis in animation-performance-
   Referenz).

   SAFARI-FIX (nach mehreren gescheiterten Anläufen mit selbstgebautem
   Ein-/Ausblenden, s. Git-Historie): #lead-popup ist jetzt ein natives
   <dialog>-Element (s. index.html), gesteuert über showModal()/close() in
   popup-lead.js statt über selbstgebaute CSS-Klassen. Top-Layer-Stacking,
   Fokus-Falle und Interaktivität übernimmt der Browser dadurch komplett
   selbst - es gibt keine eigene Logik mehr, die Safari abweichend von
   Chrome/Firefox interpretieren könnte. Das <dialog> selbst bildet den
   vollen, abgedunkelten/weichgezeichneten Hintergrund (Klick darauf
   schließt), die sichtbare Karte bleibt ein normales <div
   class="lead-popup-box"> darin. */
dialog.lead-popup{position:fixed;inset:0;z-index:5000;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:1.5rem;border:0;background:radial-gradient(ellipse at center,rgba(10,10,10,.42) 0%,rgba(10,10,10,.68) 45%,rgba(10,10,10,.92) 100%);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);opacity:0}
dialog.lead-popup::backdrop{background:transparent}
/* [open] statt einer selbstgebauten .is-open-Klasse: das <dialog>-Element
   setzt/entfernt dieses Attribut selbst bei showModal()/close(), die
   Sichtbarkeit kann dadurch nie mehr aus dem Takt geraten. Die
   Einblend-Animation läuft bewusst als @keyframes statt als transition:
   transitions auf einem frisch geöffneten <dialog> animieren ohne
   @starting-style (ältere Safari-Versionen unterstützen das noch nicht)
   nicht, sondern erscheinen sofort im Endzustand - @keyframes-Animationen
   haben dieses Problem nicht. */
dialog.lead-popup[open]{display:flex;align-items:center;justify-content:center;animation:leadPopupBackdropFade .4s var(--ease) forwards}
@keyframes leadPopupBackdropFade{from{opacity:0}to{opacity:1}}
html.lead-popup-lock{overflow:hidden}
.lead-popup-box{position:relative;display:flex;flex-direction:column;width:100%;max-width:min(1040px,94vw);max-height:calc(100dvh - 2.4rem);background:var(--ink);color:var(--paper);border-radius:var(--radius);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1.5px rgba(139,92,246,.4),0 0 46px 10px rgba(139,92,246,.2),0 0 70px 18px rgba(34,211,238,.14);transform:scale(.35);opacity:0;overflow:hidden}
dialog.lead-popup[open] .lead-popup-box{animation:leadPopupJelly .8s cubic-bezier(.22,.85,.3,1) forwards}
/* SAFARI-FIX: WebKit lässt nach einer transform-Animation mit
   animation-fill-mode:forwards manchmal eine veraltete Hit-Test-Region
   stehen - Klicks/Hover landen dann auf der (unsichtbaren)
   Ausgangsposition/-größe der Animation statt auf der tatsächlich
   sichtbaren Box. popup-lead.js entfernt daher die Animation per Klasse,
   sobald sie fertig ist (animationend), was WebKit zu einem sauberen
   Neu-Layout zwingt. Bis dahin (während der Animation) ist ein Klick
   ohnehin nicht sinnvoll möglich. */
.lead-popup-box.lead-popup-settled{animation:none!important;transform:none!important;opacity:1!important}
@keyframes leadPopupJelly{0%{transform:scale(.35);opacity:0}8%{opacity:1}45%{transform:scale(1.07) scaleY(.94);opacity:1}62%{transform:scale(.96) scaleY(1.05)}78%{transform:scale(1.025) scaleY(.985)}90%{transform:scale(.995) scaleY(1.007)}100%{transform:scale(1) scaleY(1);opacity:1}}
.lead-popup-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:2.9rem 3.2rem 2.4rem}
.lead-popup-close{position:absolute;top:.9rem;right:1rem;z-index:6;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(242,239,230,.1);color:var(--paper);font-size:1.5rem;line-height:1;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);cursor:pointer}
.lead-popup-close:hover{background:rgba(242,239,230,.2);transform:scale(1.1)}
.lead-popup-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:3.2rem;align-items:end}
.lead-popup-intro .eyebrow{margin-bottom:.9rem}
/* Dreizeilig per festem <br><br> im HTML (Frage liest sich bewusst in drei
   kurzen, gleich schweren Zeilen statt als ein langer, umbrechender Satz -
   "und was Sie so alles" bekommt dadurch eine eigene Betonung). Diese
   Zeilenumbrüche bewusst NICHT anfassen, wenn Text drumherum geändert wird. */
.lead-popup-headline{font-family:var(--font-display);font-size:clamp(2.1rem,3.9vw,3.1rem);line-height:1.04;margin-bottom:.8rem;text-transform:none;letter-spacing:0;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Ersparnis-Zeile zwischen Headline und CTA-Zeile: greift bewusst dieselbe
   Zahl ("Bis zu 50 %") wie die Value-Sektion (#value) weiter unten auf der
   Seite auf, damit die Aussage konsistent bleibt statt sich zu widersprechen. */
.lead-popup-savings{font-family:var(--font-body);font-size:clamp(.95rem,1.3vw,1.05rem);line-height:1.5;color:var(--paper);opacity:.75;margin-bottom:1rem;max-width:36ch}
.lead-popup-savings strong{color:#fff;opacity:1}
/* Nutzerwunsch: auf Handys (Hoch- UND Querformat) ausgeblendet, auf Tablet
   und Desktop weiterhin sichtbar - "Jetzt persönlichen Zugang anfordern."
   (.lead-popup-cta-line) bleibt überall stehen, nur diese Zeile verschwindet.
   max-width:760px greift im Hochformat (deckt sich mit der bestehenden
   Popup-Mobile-Schwelle weiter unten). Für das Querformat reicht die Breite
   allein nicht (ein Handy quer ist oft breiter als 760px) - deshalb
   zusätzlich orientation:landscape + max-height:500px: die kurze Seite
   eines Handys bleibt so gut wie immer unter 500px, während selbst kleine
   Tablets im Querformat auf über 700px Höhe kommen und damit sicher
   ausgenommen sind. */
@media (max-width:760px),(orientation:landscape) and (max-height:500px){
  .lead-popup-savings{display:none}
}
.lead-popup-cta-line{font-family:var(--font-body);font-size:clamp(1.1rem,1.7vw,1.3rem);font-weight:700;color:var(--paper);opacity:.92;text-transform:none}
.lead-popup-success .lead-popup-cta-line{margin-top:.4rem}
.lead-popup-formcol .form-row{margin-bottom:.9rem}
/* .lead-popup-row2 ist ein Grid mit eigenem "gap" für den Abstand ZWISCHEN
   Name und Firma - die beiden .form-row-Kinder brauchen dafür kein
   zusätzliches margin-bottom aus der Regel oben, sonst addieren sich gap
   UND margin-bottom (auf Mobilgeräten, wo beide Felder untereinanderstehen,
   fiel das als sichtbar zu großer Abstand zwischen Name und Firma auf -
   doppelt so groß wie der Abstand von Firma zur E-Mail darunter). Der
   Abstand zur E-Mail-Zeile danach kommt jetzt stattdessen einheitlich vom
   margin-bottom auf .lead-popup-row2 selbst, exakt derselbe Wert wie bei
   jeder anderen .form-row. */
.lead-popup-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.9rem}
.lead-popup-row2 .form-row{margin-bottom:0}
.lead-popup-box .form-row label{font-size:.85rem;color:var(--paper);opacity:.65}
.lead-popup-box input[type=text],.lead-popup-box input[type=email]{width:100%;background:rgba(242,239,230,.07);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.8rem 1rem;color:var(--paper);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);-webkit-user-select:text;user-select:text}
.lead-popup-box input::placeholder{color:rgba(242,239,230,.4)}
.lead-popup-box input:focus{border-color:transparent;border-image:var(--accent-gradient) 1;background:rgba(242,239,230,.12)}
.lead-popup-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:1.3rem;margin-top:.6rem}
.lead-popup-submit{flex:0 0 auto}
.lead-popup-privacy{flex:1 1 200px;margin:0;font-size:.74rem;line-height:1.5;color:var(--paper);opacity:.55;text-transform:none;text-align:right}
.lead-popup-privacy a{text-decoration:underline;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead-popup-status{margin-top:.8rem;font-size:.88rem;min-height:1.2em;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:block}
/* Ohne Inhalt (Normalfall) keinen Platz reservieren, damit das Ende von
   .lead-popup-formcol tatsächlich an der Submit-Zeile (Button/Datenschutz-
   Text) liegt - genau daran soll der linke Intro-Text unten (s.
   .lead-popup-grid{align-items:end}) ausgerichtet werden, nicht an einer
   unsichtbaren Reserve-Zeile darunter. */
.lead-popup-status:empty{margin-top:0;min-height:0}
.lead-popup-status.is-error{background:none;-webkit-background-clip:initial;background-clip:initial;color:#ff8080}
.lead-popup-success{text-align:center;max-width:440px;margin-inline:auto}
.lead-popup-success h2{margin-top:.2rem;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);text-transform:none;letter-spacing:0}
.lead-popup-success .btn{margin-top:1.4rem}
@media (max-width:760px){
  .lead-popup-grid{grid-template-columns:1fr;gap:1.2rem}
  .lead-popup-intro{text-align:left}
  .lead-popup-scroll{padding:2.6rem 1.6rem 1.5rem}
  .lead-popup-headline{font-size:clamp(1.8rem,6.4vw,2.3rem);margin-bottom:1rem}
  /* Name/Firma auf Mobilgeräten volle Breite statt nebeneinander - zwei
     schmale Spalten sind auf Handybreite zu eng für längere Firmennamen. */
  .lead-popup-row2{grid-template-columns:1fr;gap:.9rem}
  .lead-popup-submit-row{flex-direction:column;align-items:stretch}
  .lead-popup-submit{width:100%;justify-content:center}
  .lead-popup-privacy{text-align:left;flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){
  dialog.lead-popup,.lead-popup-close{transition:none!important}
  dialog.lead-popup[open]{animation:none!important;opacity:1!important}
  dialog.lead-popup[open] .lead-popup-box{animation:none!important;transform:none!important;opacity:1!important}
}

/* ============================================================
   Persistente "€"-Seitenlasche: erscheint erst NACHDEM das Popup einmal
   ohne Absenden weggeklickt wurde (s. popup-lead.js) - bleibt danach
   dauerhaft (auch über Besuche hinweg, bis Anfrage abgeschickt oder
   bewusst per ×-Button ausgeblendet) am rechten Rand erreichbar, damit
   das Popup jederzeit erneut geöffnet werden kann. */
.lead-tab{position:fixed;left:0;bottom:1.5rem;z-index:4500;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}html.mobile-nav-open .lead-tab{opacity:0!important;pointer-events:none!important}
.lead-tab.is-visible{opacity:1;pointer-events:auto}
.lead-tab-main{position:relative;width:46px;height:46px;border-radius:0 50% 50% 0;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);color:var(--ink);box-shadow:6px 6px 26px rgba(0,0,0,.35);transform:translateX(-30%);transition:transform .35s var(--ease);animation:leadTabPulse 3.4s ease-in-out infinite}
.lead-tab-euro-icon{width:22px;height:22px;margin-left:6px}
.lead-tab:hover .lead-tab-main,.lead-tab:focus-within .lead-tab-main{transform:translateX(0)}
@keyframes leadTabPulse{0%,100%{box-shadow:6px 6px 26px rgba(0,0,0,.35),0 0 0 0 rgba(139,92,246,.5)}50%{box-shadow:6px 6px 26px rgba(0,0,0,.35),0 0 0 9px rgba(139,92,246,0)}}
.lead-tab-optout{position:absolute;top:-9px;right:-9px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--paper);border:1px solid var(--line-strong);font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);cursor:pointer}
.lead-tab.is-optout-ready .lead-tab-optout{opacity:1;transform:scale(1);pointer-events:auto}
.lead-tab-pulse-once .lead-tab-main{animation:leadTabPulse 3.4s ease-in-out infinite,leadTabAttention .7s ease-in-out 2}
@keyframes leadTabAttention{0%,100%{transform:translateX(-30%) scale(1)}50%{transform:translateX(0) scale(1.12)}}
@media (prefers-reduced-motion:reduce){.lead-tab-main{animation:none}.lead-tab-pulse-once .lead-tab-main{animation:none}}