/* REV-231 · Self-hosted Inter VARIABLE font. One file per subset covers all weights (100-900) via the wght axis.
   Replaces the broken per-weight static woff2 that lacked basic-Latin glyphs (a-z, digits, German umlauts) and
   forced the whole site into system fallback while wasting 83 KB per file. inter-latin-var.woff2 is preloaded above. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/inter-latin-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/inter-latin-ext-var.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* REV-241 · Variable headline subset (Inter, all weights 100-900, headline glyphs only, ~26KB) drives the ENTIRE above-the-fold (header + hero, incl. the sub-paragraph = the mobile LCP element). One preloaded file replaces the old 12KB-900-subset + 47KB-full-Inter critical pair: critical-path font bytes 59KB -> 26KB, and the sub-paragraph now paints from the preloaded subset instead of waiting on the 47KB body font. Same Inter outlines -> identical look + no CLS. The full 47KB 'Inter' (above) still serves below-the-fold body text; content-visibility:auto defers that past first paint so it no longer competes for bandwidth. The two glyphs absent from the subset (-> the arrow, the nav caret) fall back exactly as today - no Inter on this site ever contained them. */
@font-face{font-family:'Inter Hero';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/inter-hero-var.woff2') format('woff2')}
/* REV-242 · The hero sub-paragraph is the mobile LCP element. With font-display:swap it paints in fallback at FCP (~1,2s) then re-paints when Inter swaps in (~2,7s on Slow-4G), and Lighthouse records that later swap time -> LCP 2,7s. font-display:optional removes the swap: on a normal connection the preloaded 26KB font arrives inside the ~100ms block period so everyone still sees Inter; on a slow first load the sub keeps a size-adjusted Arial fallback (106,32% = Inter's exact advance width at weight 400, measured -> zero width shift) instead of swapping late -> LCP = FCP ~1,2s. Scoped to the body sub-paragraph ONLY; the H1 keeps 'Inter Hero' (swap) so the headline is always Inter 900. Same woff2 (browser dedupes the fetch), no extra bytes. */
@font-face{font-family:'Inter Sub';font-style:normal;font-weight:100 900;font-display:optional;src:url('/fonts/inter-hero-var.woff2') format('woff2')}
@font-face{font-family:'Inter Sub Fallback';src:local('Arial');size-adjust:106.32%}
/* REV-243 · The H1 headline is the mobile LCP element. On Slow-4G it swapped to Inter at ~2,7s (network font) and Lighthouse recorded that swap time -> LCP 2,7s (REV-242's sub-fix did not move it because the H1, not the sub, is the binding element). Here the H1's exact 19 glyphs (G u-umlaut n s t i g e W b r l a 1 4 9 euro + space) are inlined as a ~5KB base64 woff2 = part of the HTML, zero network request, so the headline paints in Inter at FCP and NEVER swaps -> LCP = FCP ~1,2s. Headline stays 100% Inter for every visitor incl. slow connections (JP: "keep Inter"). font-display:block: the font is inline = decoded instantly, so no fallback flash and no late swap. Requires CSP font-src 'self' data: (Caddyfile, same commit). Any glyph not in this subset falls back to 'Inter Hero' (the /fonts file). */
@font-face{font-family:'Inter H1';font-style:normal;font-weight:100 900;font-display:block;src:url(data:font/woff2;base64,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) format('woff2')}
/*__CRIT__*/
:root { --primary: #111111; --primary-dark: #000000; --primary-light: #333333; --dark: #111111; --dark-2: #1a1a1a; --text: #334155; --text-light: #566477; --text-lighter: #586776; --bg: #F8FAFC; --bg-2: #F1F5F9; --bg-alt: #EDF2F7; --white: #FFFFFF; --border: rgba(148, 163, 184, 0.2); --glass: rgba(255, 255, 255, 0.7); --glass-border: rgba(255, 255, 255, 0.3); --shadow-sm: 0 1px 2px rgba(0,0,0,0.05); --shadow: 0 4px 6px -1px rgba(0,0,0,0.07),0 2px 4px -2px rgba(0,0,0,0.05); --shadow-lg: 0 10px 25px -3px rgba(0,0,0,0.08),0 4px 6px -4px rgba(0,0,0,0.04); --shadow-xl: 0 20px 40px -5px rgba(0,0,0,0.1); --shadow-glow: 0 0 40px rgba(17, 17, 17, 0.15); --radius: 16px; --radius-sm: 10px; --radius-lg: 24px; --radius-full: 9999px; --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1); --max-width: 1200px; --font: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }
/* REV-239 · content-visibility:auto on the below-the-fold sections: the browser skips their layout+paint (and their off-screen animations) until scrolled into view -> cuts the dominant ~980ms Style&Layout main-thread cost on this 30k-px-tall page. contain-intrinsic-size = measured mobile heights (auto keyword remembers the real size after first render) so the scrollbar stays correct. No visual change; content-visibility:auto self-renders anything near the viewport. */
.benefits{content-visibility:auto;contain-intrinsic-size:auto 1835px}
.process{content-visibility:auto;contain-intrinsic-size:auto 1518px}
.cta-band{content-visibility:auto;contain-intrinsic-size:auto 388px}
.risks{content-visibility:auto;contain-intrinsic-size:auto 1700px}
.pricing{content-visibility:auto;contain-intrinsic-size:auto 4351px}
.nach-launch{content-visibility:auto;contain-intrinsic-size:auto 2128px}
.portfolio{content-visibility:auto;contain-intrinsic-size:auto 3291px}
.srgate{content-visibility:auto;contain-intrinsic-size:auto 677px}
.about{content-visibility:auto;contain-intrinsic-size:auto 1996px}
.local-seo{content-visibility:auto;contain-intrinsic-size:auto 1021px}
.reasons{content-visibility:auto;contain-intrinsic-size:auto 1818px}
.faq{content-visibility:auto;contain-intrinsic-size:auto 2601px}
.rg-home{content-visibility:auto;contain-intrinsic-size:auto 2550px}
.contact{content-visibility:auto;contain-intrinsic-size:auto 1814px}
.footer-cta{content-visibility:auto;contain-intrinsic-size:auto 528px}
.footer{content-visibility:auto;contain-intrinsic-size:auto 1837px}
/* REV-238 · Defer ONLY the heavy continuous non-composited decorative loops (the gradient glow-beam animates a conic-gradient angle and the dots animate box-shadow = a full main-thread repaint every frame) off the busy first-paint window so they don't delay the LCP. The inline script below resumes them on idle. Composited animations (transform/opacity: entrance, marquee, glows, orbit) are untouched, so nothing can be stranded. */
html.gw-preload .spk-beam::after, html.gw-preload .srgate-ctawrap::before, html.gw-preload .pulse, html.gw-preload .sticky-cta-btn::after, html.gw-preload .sticky-cta-meta p::before { animation-play-state: paused !important; }
*, ::after, ::before { box-sizing: border-box; margin: 0px; padding: 0px; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { font-family: var(--font); color: var(--text); background: var(--white); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--primary-dark); }
.grain { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; pointer-events: none; z-index: 9999; opacity: 0.03; background-image: url("../images/grain.png"); background-repeat: repeat; }
.container { max-width: var(--max-width); margin: 0px auto; padding: 0px clamp(16px, 4vw, 32px); }
h1, h2, h3, h4 { color: var(--dark); line-height: 1.15; letter-spacing: -0.03em; }
h1 { font-size: clamp(2rem, 6vw, 4.5rem); font-weight: 900; overflow-wrap: break-word; word-break: break-word; }
.header, .hero, .header .btn, .hero .btn { font-family: 'Inter Hero', var(--font); }
.hero .hero-sub { font-family: 'Inter Sub', 'Inter Sub Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.hero h1 { font-family: 'Inter H1', 'Inter Hero', var(--font); }
h3 { font-size: 1.2rem; font-weight: 700; letter-spacing: -0.02em; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 28px; border-radius: var(--radius-full); font-weight: 600; font-size: 0.9375rem; cursor: pointer; transition: all var(--transition); border: 1.5px solid transparent; text-decoration: none; font-family: var(--font); }
.btn svg { transition: transform var(--transition); }
.btn:hover svg { transform: translateX(3px); }
.btn-primary { background: linear-gradient(135deg,var(--primary),var(--primary-dark)); color: var(--white); border-color: var(--primary); box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 15px; }
.btn-primary:hover { color: var(--white);  box-shadow: rgba(0, 0, 0, 0.3) 0px 8px 25px; }
.btn-glass { background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(10px); border: 1.5px solid var(--dark); color: var(--dark); }
.btn-glass:hover { background: rgba(255, 255, 255, 0.3); color: var(--dark);  }
.btn-lg { padding: 16px 32px; font-size: 1rem; border-radius: var(--radius); }
.btn-block { width: 100%; text-align: center; }
.header { position: fixed; top: 0px; left: 0px; right: 0px; background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(20px) saturate(180%); z-index: 1000; border-bottom: 1px solid var(--border); transition: all var(--transition); }
.header .container { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.logo { display: flex; align-items: center; gap: 10px; font-size: 1.1rem; color: var(--dark); font-weight: 500; }
.logo:hover { color: var(--dark); }
.logo strong { font-weight: 800; }
.logo-mark { width: 38px; height: 38px; background: linear-gradient(135deg,var(--primary),var(--primary)); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; color: var(--white); font-weight: 900; font-size: 0.7rem; letter-spacing: -0.05em; position: relative; overflow: hidden; }
.logo-mark::before { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: conic-gradient(transparent 0deg, rgba(255, 255, 255, 0.15) 25%, transparent 50%); animation: 4s linear 0s infinite normal none running logo-shine; }
.logo-mark span:first-child { font-size: 1.05rem; position: relative; z-index: 1; transform: translateX(1px); }
.logo-mark span:last-child { font-size: 1.05rem; position: relative; z-index: 1; opacity: 0.75; transform: translateX(-1px); }
.nav { display: flex; align-items: center; gap: 8px; }
.nav-link { color: var(--text-light); font-weight: 500; font-size: 0.875rem; padding: 8px 14px; border-radius: var(--radius-sm); transition: all var(--transition); }
.nav-link:hover { color: var(--dark); background: var(--bg); }
.nav .nav-cta { background: linear-gradient(135deg,var(--primary),var(--primary-dark)); color: var(--white); padding: 10px 20px; border-radius: var(--radius-sm); display: flex; align-items: center; gap: 6px; }
.nav .nav-cta:hover { color: var(--white); background: linear-gradient(135deg,var(--primary-dark),#000);  box-shadow: rgba(0, 0, 0, 0.25) 0px 4px 12px; }
.cta-arrow { transition: transform var(--transition); }
.nav-cta:hover .cta-arrow { transform: translateX(3px); }
.hamburger { display: none; flex-direction: column; gap: 5px; background: 0px 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; cursor: pointer; padding: 12px; min-width: 44px; min-height: 44px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--dark); transition: all var(--transition); border-radius: 2px; }
.hero { padding: clamp(120px, 15vw, 180px) 0px clamp(60px, 10vw, 100px); text-align: center; position: relative; overflow: hidden; background: var(--bg); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(100px); opacity: 0.5; pointer-events: none; }
.hero-glow-1 { width: 600px; height: 600px; background: rgba(17, 17, 17, 0.06); top: -200px; right: -100px; animation: 8s ease-in-out 0s infinite normal none running float; }
.hero-glow-2 { width: 500px; height: 500px; background: rgba(17, 17, 17, 0.04); bottom: -200px; left: -100px; animation: 10s ease-in-out 0s infinite reverse none running float; }
.hero-container { position: relative; z-index: 1; }
.hero-badge { display: inline-flex; align-items: center; gap: 10px; background: var(--white); border: 1px solid var(--border); padding: 8px 20px; border-radius: var(--radius-full); font-size: 0.8125rem; font-weight: 600; color: var(--text); margin-bottom: 32px; box-shadow: var(--shadow-sm); }
.pulse { width: 8px; height: 8px; background: var(--primary); border-radius: 50%; display: inline-block; animation: 2s ease-in-out 0s infinite normal none running pulse; }
.hero h1 { max-width: 800px; margin: 0px auto 24px; }
.hero-sub { font-size: clamp(1rem, 2vw, 1.25rem); color: var(--text-light); max-width: 580px; margin: 0px auto clamp(32px, 5vw, 48px); line-height: 1.7; }
.hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: clamp(40px, 6vw, 64px); }
.hero-stats { display: flex; align-items: center; justify-content: center; gap: clamp(20px, 4vw, 40px); flex-wrap: wrap; }
.stat { text-align: center; }
.stat strong { display: block; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; color: var(--dark); letter-spacing: -0.03em; line-height: 1; }
.stat span { font-size: 0.8125rem; color: var(--text-light); font-weight: 500; }
.stat-divider { width: 1px; height: 40px; background: var(--border); }
.success-modal-overlay { position: fixed; inset: 0px; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0); backdrop-filter: blur(0px); opacity: 0; visibility: hidden; transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1); padding: 20px; }
.success-modal { background: var(--white); border-radius: 20px; padding: 48px 40px 36px; max-width: 420px; width: 100%; text-align: center; position: relative; transform: scale(0.85) translateY(30px); opacity: 0; transition: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: rgba(0, 0, 0, 0.3) 0px 25px 60px; }
.success-modal-close { position: absolute; top: 16px; right: 20px; background: 0px 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; font-size: 1.5rem; color: var(--text-light); cursor: pointer; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: 0.2s; }
.success-modal-close:hover { background: var(--bg-alt); color: var(--dark); }
.success-checkmark { width: 72px; height: 72px; margin: 0px auto 24px; }
.checkmark-svg { width: 72px; height: 72px; }
.checkmark-circle { stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 2; stroke-miterlimit: 10; stroke: rgb(34, 197, 94); animation: 0.6s cubic-bezier(0.65, 0, 0.45, 1) 0.15s 1 normal forwards running checkmark-stroke; }
.checkmark-check { stroke-dasharray: 48; stroke-dashoffset: 48; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(34, 197, 94); animation: 0.35s cubic-bezier(0.65, 0, 0.45, 1) 0.55s 1 normal forwards running checkmark-stroke; }
.success-modal-title { font-size: 1.35rem; font-weight: 700; color: var(--dark); margin-bottom: 6px; }
.success-modal-sub { color: var(--text-light); font-size: 0.925rem; margin-bottom: 28px; line-height: 1.5; }
.success-timer-wrap { background: var(--bg-alt); border-radius: 14px; padding: 20px; margin-bottom: 24px; }
.success-timer-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-light); font-weight: 600; margin-bottom: 10px; }
.success-timer { display: flex; align-items: center; justify-content: center; gap: 4px; }
.timer-segment { display: flex; flex-direction: column; align-items: center; }
.timer-num { font-size: 2.25rem; font-weight: 800; color: var(--dark); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; min-width: 60px; }
.timer-colon { font-size: 2rem; font-weight: 700; color: var(--dark); line-height: 1; margin-bottom: 14px; animation: 1s step-end 0s infinite normal none running blink; }
.timer-unit { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-light); font-weight: 600; margin-top: 4px; }
.success-timer-avg { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; font-size: 0.8rem; color: var(--text-light); font-weight: 500; }
.success-timer-avg svg { color: rgb(34, 197, 94); flex-shrink: 0; }
.success-modal-btn { margin-top: 0px; padding: 14px 24px; font-size: 0.95rem; }
@media (max-width: 768px){.hamburger { display: flex; }.hero { padding: 120px 0px 60px; }.hero h1 { font-size: clamp(1.75rem, 8vw, 2.5rem); }.hero-ctas { flex-direction: column; align-items: center; }.hero-stats { gap: 16px; }}
.sticky-cta-btn { position: fixed; bottom: 24px; right: 24px; z-index: 9000; width: 56px; height: 56px; border-radius: 50%; background: var(--primary); color: var(--white); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; cursor: pointer; box-shadow: var(--shadow-lg); display: flex; align-items: center; justify-content: center; transition: all var(--transition); animation: 2s ease-in-out 0s infinite normal none running pulse; }
.sticky-cta-btn:hover {  box-shadow: var(--shadow-xl); }
.sticky-cta-btn svg { width: 24px; height: 24px; pointer-events: none; }
.sticky-cta-overlay { position: fixed; bottom: 24px; right: 24px; z-index: 9001; width: 380px; max-height: calc(-48px + 100vh); background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-xl); transform: scale(0.9) translateY(20px); opacity: 0; visibility: hidden; transition: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); overflow-y: auto; }
.sticky-cta-hd { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--border); }
.sticky-cta-hd h3 { font-size: 1.1rem; margin: 0px; letter-spacing: -0.02em; }
.sticky-cta-x { background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; cursor: pointer; padding: 4px 8px; border-radius: var(--radius-sm); font-size: 1.5rem; line-height: 1; color: var(--text-lighter); transition: background var(--transition); }
.sticky-cta-x:hover { background: var(--bg-2); }
.sticky-cta-bd { padding: 20px 24px; }
.sticky-cta-bd .sc-group { margin-bottom: 14px; }
.sticky-cta-bd label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 5px; color: var(--text); }
.sticky-cta-bd input, .sticky-cta-bd textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-family: var(--font); font-size: 0.9rem; transition: border-color var(--transition); background: var(--white); }
.sticky-cta-bd input:focus, .sticky-cta-bd textarea:focus { outline: none; border-color: var(--primary); }
.sticky-cta-bd textarea { resize: vertical; min-height: 70px; }
.sticky-cta-bd .sc-check { display: flex; align-items: flex-start; gap: 8px; font-size: 0.78rem; color: var(--text-lighter); margin-bottom: 16px; }
.sticky-cta-bd .sc-check input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }
.sticky-cta-bd .sc-check a { color: var(--primary); text-decoration: underline; }
@media (max-width: 480px){.sticky-cta-overlay { left: 12px; right: 12px; bottom: 12px; width: auto; }.sticky-cta-btn { bottom: 16px; right: 16px; }}
.sticky-cta-label { position: absolute; right: calc(100% + 12px); top: 50%; transform: translateY(-50%); white-space: nowrap; background: var(--primary); color: var(--white); padding: 8px 16px; border-radius: var(--radius-sm); font-size: 0.85rem; font-weight: 600; font-family: var(--font); box-shadow: var(--shadow); pointer-events: none; }
.sticky-cta-label::after { content: ""; position: absolute; right: -6px; top: 50%; transform: translateY(-50%); border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 6px solid var(--primary); }
.sticky-cta-bd select { width: 100%; padding: 10px 36px 10px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-family: var(--font); font-size: 0.9rem; background-size: ; background-attachment: ; background-origin: ; background-clip: ; background-color: ; color: var(--text); transition: border-color var(--transition); appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; cursor: pointer; }
.sticky-cta-bd select:focus { outline: none; border-color: var(--primary); }
.sticky-cta-bd .sc-check { display: flex; align-items: flex-start; gap: 10px; font-size: 0.8rem; line-height: 1.4; color: var(--text-lighter); margin-bottom: 16px; }
.sticky-cta-bd .sc-check input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--primary); cursor: pointer; }
.sticky-cta-bd .sc-check label { cursor: pointer; }
.sticky-cta-btn { overflow: visible; }
.sticky-cta-btn::after { content: ""; position: absolute; bottom: 2px; right: 2px; width: 14px; height: 14px; background: rgb(34, 197, 94); border: 2px solid var(--white); border-radius: 50%; animation: 2.4s ease-in-out 0s infinite normal none running online-pulse; }
.sticky-cta-hd { gap: 12px; }
.sticky-cta-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--dark); color: var(--white); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sticky-cta-avatar svg { width: 22px; height: 22px; }
.sticky-cta-meta { flex: 1 1 0%; min-width: 0px; }
.sticky-cta-meta h3 { font-size: 1rem; margin: 0px 0px 2px; letter-spacing: -0.01em; }
.sticky-cta-meta p { font-size: 0.78rem; color: var(--text-lighter); margin: 0px; display: flex; align-items: center; gap: 6px; line-height: 1.3; }
.sticky-cta-meta p::before { content: ""; width: 8px; height: 8px; background: rgb(34, 197, 94); border-radius: 50%; flex-shrink: 0; animation: 2.4s ease-in-out 0s infinite normal none running online-pulse; }
.sticky-cta-btn, .sticky-cta-x { touch-action: manipulation; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
@media (max-width: 480px){.sticky-cta-btn { animation: auto ease 0s 1 normal none running none; }.sticky-cta-bd input, .sticky-cta-bd textarea, .sticky-cta-bd select { font-size: 16px; }.sticky-cta-x { padding: 8px 12px; font-size: 1.75rem; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }.sticky-cta-overlay { max-height: calc(-24px + 100dvh); }}
.sticky-cta-btn::after, .sticky-cta-label { pointer-events: none; }
@media (max-width: 768px){.sticky-cta-btn, .sticky-cta-btn::after { animation: auto ease 0s 1 normal none running none; }}
@media (min-width: 1024px){.hero.hero--with-showcase { text-align: left; overflow: hidden; min-height: 100vh; padding-top: clamp(96px, 9vw, 120px); padding-bottom: clamp(60px, 8vw, 100px); position: relative; display: flex; align-items: center; }.hero--with-showcase .hero-container { position: relative; z-index: 2; width: 100%; }.hero--with-showcase .hero-content { max-width: 50%; text-align: left; }.hero--with-showcase .hero-content h1 { max-width: 620px; margin: 0px 0px 18px; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; }.hero--with-showcase .hero-content .hero-sub { max-width: 520px; margin: 0px 0px clamp(20px, 2.5vw, 28px); font-size: 0.98rem; }.hero--with-showcase .hero-content .hero-ctas { justify-content: flex-start; margin-bottom: 14px; }.hero--with-showcase .hero-content .hero-secondary-link { text-align: left; margin: 12px 0px clamp(20px, 2.5vw, 28px) !important; }.hero--with-showcase .hero-content .hero-stats { justify-content: flex-start; gap: clamp(14px, 2vw, 22px); flex-wrap: nowrap; }.hero--with-showcase .hero-content .hero-stats .stat strong { font-size: clamp(1rem, 1.4vw, 1.25rem); }.hero--with-showcase .hero-content .hero-stats .stat span { font-size: 0.72rem; }.hero--with-showcase .hero-content .hero-stats .stat-divider { height: 28px; }.hero--with-showcase .hero-showcase { position: absolute; top: 0px; right: 0px; bottom: 0px; width: 50vw; height: auto; overflow: hidden; border-radius: 0px; z-index: 0; pointer-events: none; }.hero--with-showcase .hero-showcase::before { content: ""; position: absolute; top: 0px; bottom: 0px; left: 0px; width: 160px; background: linear-gradient(90deg, var(--bg) 0%, rgba(248, 250, 252, 0.85) 35%, transparent 100%); z-index: 5; pointer-events: none; }.hero--with-showcase .hero-showcase::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 80px; background: linear-gradient(180deg, transparent 0%, var(--bg) 100%); z-index: 5; pointer-events: none; }}
@media (max-width: 1023px){.hero-showcase{display:none}}
.hero-showcase-inner { position: absolute; inset: -18% -10%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; transform: rotate(6deg); transform-origin: center center; }
.hero-showcase-col { display: flex; flex-direction: column; gap: 16px; will-change: transform; }
.hero-showcase-col--up { animation: 90s linear 0s infinite normal none running hero-showcase-up; }
.hero-showcase-col--down { animation: 90s linear 0s infinite normal none running hero-showcase-down; }
.hero-showcase-card { flex-shrink: 0; border-radius: 12px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.18) 0px 22px 44px -12px, rgba(0, 0, 0, 0.1) 0px 10px 18px -6px; border: 1px solid rgba(0, 0, 0, 0.06); background: rgb(255, 255, 255); aspect-ratio: 16 / 10; transform: translateZ(0px); }
.hero-showcase-card img { object-position: center top; }
.hero-showcase-card img { width: 100%; height: 100%; object-fit: cover; display: block; background: var(--bg); }
.nav-item { position: relative; display: flex; align-items: center; }
.nav-item .nav-link { display: inline-flex; align-items: center; gap: 4px; }
.nav-caret { font-size: 0.65rem; color: var(--text-light); transition: transform 0.2s; line-height: 1; display: inline-block; }
.nav-item:hover .nav-caret, .nav-item.is-open .nav-caret { transform: rotate(180deg); }
.nav-dropdown { position: absolute; top: 100%; left: 0px; display: flex; flex-direction: column; gap: 1px; min-width: 280px; margin-top: 8px; padding: 8px; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(20px) saturate(180%); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-lg); z-index: 1100; opacity: 0; visibility: hidden; transform: translateY(-4px); pointer-events: none; transition: opacity 0.15s, transform 0.15s, visibility linear 0.2s; }
.nav-dropdown::before { content: ""; position: absolute; top: -12px; left: 0px; right: 0px; height: 14px; }
.nav-item:hover > .nav-dropdown, .nav-item.is-open > .nav-dropdown, .nav-item:focus-within > .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0px); pointer-events: auto; transition: opacity 0.15s, transform 0.15s, visibility linear; }
.nav-dropdown-link { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--radius-sm); color: var(--dark); text-decoration: none; transition: background 0.15s, color 0.15s; }
.nav-dropdown-link:hover { background: var(--bg); color: var(--dark); }
.nav-dropdown-title { font-weight: 600; font-size: 0.92rem; line-height: 1.3; }
.nav-dropdown-desc { font-size: 0.76rem; color: var(--text-light); line-height: 1.35; font-weight: 400; }
.nav-dropdown-link:hover .nav-dropdown-desc { color: var(--text); }
.nav-dropdown-link-cta { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--border); font-weight: 600; font-size: 0.86rem; color: var(--dark); }
.hero-showcase-card { background: linear-gradient(135deg,var(--bg-2),var(--bg-alt)); overflow: hidden; }
@media (max-width: 768px){body.mobile-nav-open { overflow: hidden; }.header { z-index: 10000; }}
.sticky-cta-btn { transition: opacity var(--transition),visibility var(--transition),transform var(--transition),box-shadow var(--transition); }
body.sticky-cta-hero-hidden .sticky-cta-btn:not(.hidden) { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(16px) scale(0.92); }
.sticky-cta-backdrop { display: none; }
@media (min-width: 769px){.sticky-cta-backdrop { display: block; position: fixed; inset: 0px; z-index: 8999; background: radial-gradient(130% 130% at 88% 92%, rgba(17, 17, 17, 0.16) 0%, rgba(8, 10, 14, 0.44) 100%); opacity: 0; visibility: hidden; pointer-events: none; backdrop-filter: blur(0px) saturate(100%); transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-backdrop-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter 0.55s cubic-bezier(0.4, 0, 0.2, 1), visibility linear 0.55s; will-change: opacity, backdrop-filter; }}
@property --gw-beam { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.contact-pro .form-group input[type="text"]:not(:placeholder-shown):valid, .contact-pro .form-group input[type="email"]:not(:placeholder-shown):valid, .contact-pro .form-group input[type="tel"]:not(:placeholder-shown):valid { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 42px; }
.loc-pro .loc-map-canvas:has(.loc-city:hover) .loc-city:not(:hover) { opacity: 0.38; }
@keyframes logo-shine {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes float {
  0%, 100% { transform: translate(0px, 0px); }
  50% { transform: translate(30px, -30px); }
}
@keyframes pulse {
  0%, 100% { box-shadow: rgba(17, 17, 17, 0.4) 0px 0px 0px 0px; }
  50% { box-shadow: rgba(17, 17, 17, 0) 0px 0px 0px 8px; }
}
@keyframes checkmark-stroke {
  100% { stroke-dashoffset: 0; }
}
@keyframes blink {
  50% { opacity: 0; }
}
@keyframes online-pulse {
  0%, 100% { box-shadow: rgba(34, 197, 94, 0.55) 0px 0px 0px 0px; }
  50% { box-shadow: rgba(34, 197, 94, 0) 0px 0px 0px 7px; }
}
@keyframes hero-showcase-up {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-50%); }
}
@keyframes hero-showcase-down {
  0% { transform: translateY(-50%); }
  100% { transform: translateY(0px); }
}
