@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:local(IBM Plex Sans),local(IBMPlexSans-Regular),url(/dist/assets/ibm-400-CDDApCn2.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:local(IBM Plex Sans Medium),local(IBMPlexSans-Medium),url(/dist/assets/ibm-500-6ng42L7E.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:local(IBM Plex Sans SemiBold),local(IBMPlexSans-SemiBold),url(/dist/assets/ibm-600-CuJfVYMP.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:local(IBM Plex Sans Bold),local(IBMPlexSans-Bold),url(/dist/assets/ibm-700-Bxkt5Cjx.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-main:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;--brand:#2563eb;--brand-2:#1d4ed8;--accent:#38bdf8;--brand-glow:#2563eb59;--brand-linkedin:#0a66c2;--brand-xing:#026466;--text:#111827;--muted:#4b5563;--muted-2:#6b7280;--text-inverse:#e5e7eb;--text-inverse-muted:#d1d5dbf2;--text-xxs:.75rem;--text-xs:.85rem;--text-sm:.95rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.55rem;--bg:#f3f4f6;--bg-dark:#0f172a;--white:#fff;--black:#000;--panel:var(--white);--panel-soft:#f9fafbeb;--panel-dark:#1f2937;--header-bg:#111827;--hero-bg:#1f2937;--header-height:65px;--container-max:1200px;--container-narrow:650px;--section-gap:5rem;--section-gap-mobile:3.5rem;--btn-padding-y:.75rem;--btn-padding-x:1.35rem;--btn-sm-padding-y:.65rem;--btn-sm-padding-x:1rem;--z-base:1;--z-elevated:10;--z-sticky:100;--z-overlay:1000;--z-modal:9999;--header-glass:#111827eb;--header-glass-mobile:#111827fa;--border:#1118271a;--border-2:#11182714;--border-subtle:#2563eb40;--border-success-subtle:#22c55e59;--border-inverse:#ffffff1a;--border-inverse-subtle:#ffffff0d;--success-bg:#dcfce7;--success-border:#bbf7d0;--success-text:#166534;--success-icon:#10b981;--warning-bg:#fefce8;--warning-border:#fde047;--warning-text:#854d0e;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#991b1b;--danger:#dc3545;--danger-hover:#a71d2a;--focus-ring:#2563eb1f;--error-focus-ring:#dc354526;--focus-width:3px;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 10px 25px #0f172a14;--shadow-lg:0 18px 44px #0f172a1a;--shadow-brand:0 10px 25px #2563eb40;--shadow-dark:0 10px 15px #0006;--shadow-dark-lg:0 32px 90px #0f172aa6;--r-sm:.6rem;--r-md:.75rem;--r-lg:.95rem;--r-xl:1.5rem;--space-xxs:.15rem;--space-xs:.25rem;--space-sm:.5rem;--space-sm-md:.75rem;--space-md:1rem;--space-md-lg:1.25rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--ease:cubic-bezier(.2, .8, .2, 1);--duration-fast:.15s;--duration-snappy:.18s;--duration-smooth:.22s;--duration-normal:.3s;--duration-elegant:.4s;--duration-slow:.5s;--duration-flip:.52s;--icon-sm:1.5rem;--icon-md:2rem;--icon-lg:2.5rem}*,:before,:after{box-sizing:border-box;min-width:0;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;width:100%;overflow-x:clip}body{min-height:100dvh;line-height:1.5;font-family:var(--font-main);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:clip}p,h1,h2,h3,h4,h5,h6,li{overflow-wrap:break-word;word-wrap:break-word}img,picture,video,canvas,svg,iframe{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit;max-width:100%}:focus:not(:focus-visible){outline:none}:focus-visible{outline:var(--focus-width) solid var(--brand);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring);border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-lg);margin-inline:auto}.section{padding-block:clamp(var(--section-gap-mobile), 5vw + 1rem, var(--section-gap));background-color:var(--panel)}.section-alt{background-color:var(--bg)}.form-wrapper{width:100%;max-width:var(--container-narrow);margin-block-start:var(--space-lg)}.grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=768px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=360px){.container{padding-inline:var(--space-md)}.grid{gap:var(--space-md)}}h1,h2,h3,h4,h5,h6{color:var(--text);text-wrap:balance;-webkit-hyphens:auto;hyphens:auto;margin-block-start:0;margin-block-end:var(--space-md);font-weight:700;line-height:1.2}h1{letter-spacing:-.03em;font-size:clamp(2rem,4vw + 1rem,2.55rem)}h2{letter-spacing:-.02em;font-size:clamp(1.75rem,3vw + 1rem,2.15rem)}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}p{max-width:80ch;color:var(--muted);text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;margin-block-start:0;margin-block-end:var(--space-md-lg)}ul,ol{max-width:80ch;margin-block-start:0;margin-block-end:var(--space-md-lg);padding-inline-start:var(--space-lg)}li{color:var(--muted);margin-block-end:var(--space-sm)}a{color:var(--brand);overflow-wrap:break-word;outline-offset:3px;transition:color var(--duration-snappy) var(--ease), outline-color var(--duration-snappy) var(--ease);text-decoration:none}@media (hover:hover){a:hover{color:var(--brand-2);text-decoration:none}}a:focus-visible{outline:2px solid var(--brand);border-radius:2px}@media (width<=360px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h1,h2,h3,h4,h5,h6{word-break:break-word;overflow-wrap:anywhere}}body{padding-block-start:var(--header-height)}.skip-link{top:-100px;background:var(--accent);color:var(--white);padding:.75rem var(--space-md-lg);z-index:9999;border-radius:0 0 var(--r-md) var(--r-md);transition:top var(--duration-smooth) var(--ease);font-weight:700;text-decoration:none;position:absolute;inset-inline-start:1rem}.skip-link:focus-visible{outline:2px solid var(--white);outline-offset:-4px;top:0}.site-header{background:var(--header-glass);color:var(--text-inverse);top:0;width:100%;height:var(--header-height);z-index:var(--z-sticky);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;inset-inline-start:0}.header-inner{height:100%;padding-inline:var(--space-sm);justify-content:flex-end;align-items:center;display:flex}.main-nav{gap:var(--space-md);display:flex}.main-nav a{color:var(--text-inverse);font-size:var(--text-sm);opacity:.88;transition:opacity var(--duration-snappy) var(--ease), transform var(--duration-smooth) var(--ease), letter-spacing var(--duration-smooth) var(--ease);will-change:transform;font-weight:500;text-decoration:none;position:relative}@media (hover:hover){.main-nav a:hover{opacity:1}}.main-nav a[aria-current=page],.main-nav a[aria-current=true]{opacity:1;letter-spacing:.015em;font-weight:700;transform:scale(1.08)}.main-nav a[aria-current=page]:after,.main-nav a[aria-current=true]:after{content:"";inset-inline-start:50%;background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.9;width:22px;height:2px;transition:width var(--duration-smooth) var(--ease), opacity var(--duration-smooth) var(--ease);border-radius:999px;position:absolute;bottom:-6px;transform:translate(-50%)}@media (hover:hover){.main-nav a[aria-current=page]:hover:after,.main-nav a[aria-current=true]:hover:after{width:28px}}.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.nav-toggle{cursor:pointer;padding:var(--space-sm);-webkit-tap-highlight-color:transparent;background:0 0;border:none;display:none}.hamburger{background:var(--text-inverse);width:24px;height:2px;transition:background var(--duration-fast) var(--ease);display:block;position:relative}.hamburger:before,.hamburger:after{content:"";background:var(--text-inverse);width:100%;height:2px;transition:transform var(--duration-normal) var(--ease), top var(--duration-normal) var(--ease), bottom var(--duration-normal) var(--ease);position:absolute;left:0}.hamburger:before{top:-7px}.hamburger:after{bottom:-7px}@media (width<=768px){.header-inner{justify-content:space-between;position:relative}.nav-toggle{width:44px;height:44px;z-index:var(--z-elevated);justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.nav-toggle[aria-expanded=true] .hamburger{background:0 0}.nav-toggle[aria-expanded=true] .hamburger:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger:after{bottom:0;transform:rotate(-45deg)}.main-nav{inset-inline:0;top:var(--header-height);background:var(--header-glass-mobile);padding:var(--space-md);border-radius:0 0 var(--r-md) var(--r-md);border-block-start:1px solid var(--border-inverse);box-shadow:var(--shadow-dark);text-align:center;z-index:calc(var(--z-sticky) - 1);max-height:calc(100dvh - var(--header-height));-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-normal) var(--ease), transform var(--duration-normal) var(--ease), visibility var(--duration-normal) var(--ease);flex-direction:column;position:fixed;overflow-y:auto;transform:translateY(-10px)}.main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.main-nav a{font-size:var(--text-lg);border-block-end:1px solid var(--border-inverse-subtle);padding-block:.8rem}.main-nav a:last-child{border-block-end:none}.main-nav a[aria-current=page]:after,.main-nav a[aria-current=true]:after{bottom:.6rem}}@media screen and (height<=500px) and (orientation:landscape){.main-nav a{padding-block:var(--space-sm);font-size:var(--text-base)}}@media (width<=85px){.header-inner{padding-inline:var(--space-xs)}.nav-toggle{flex-shrink:0;order:-1;margin-inline-start:0;margin-inline-end:var(--space-sm)}}@media (prefers-reduced-motion:reduce){.main-nav,.main-nav a,.main-nav a:after,.hamburger,.hamburger:before,.hamburger:after{transition:none}.main-nav,.main-nav a[aria-current=page],.main-nav a[aria-current=true]{transform:none}.main-nav a[aria-current=page]:after,.main-nav a[aria-current=true]:after{transform:translate(-50%)}}.btn-primary,.btn-secondary,.btn-cancel,.btn-abort{cursor:pointer;padding-block:var(--btn-padding-y);padding-inline:var(--btn-padding-x);border-radius:var(--r-md);font-family:inherit;font-weight:600;font-size:var(--text-base);transition:transform var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), opacity var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);will-change:transform;border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-cancel:focus-visible,.btn-abort:focus-visible,.btn-copy:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.btn-primary{background:var(--brand);color:var(--white);box-shadow:var(--shadow-brand)}.btn-secondary{color:var(--text-inverse);border:1px solid var(--border-inverse);background:0 0}.btn-cancel{border:1px solid var(--border);color:var(--muted);padding-block:var(--btn-sm-padding-y);padding-inline:var(--btn-sm-padding-x);font-size:var(--text-sm);background:0 0;font-weight:500}.btn-abort{color:var(--error-text);border:1px solid var(--error-border);background:0 0;margin-inline-start:var(--space-md);display:none}.btn-abort.is-visible{display:inline-flex}.btn-copy{cursor:pointer;color:currentColor;opacity:.6;transition:opacity var(--duration-fast) var(--ease);background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.btn-copy .icon-copy{display:block}.btn-copy .icon-check{color:var(--success-icon);display:none}.btn-copy.is-copied{opacity:1}.btn-copy.is-copied .icon-copy{display:none}.btn-copy.is-copied .icon-check{display:block}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--brand-2);color:var(--white);transform:translateY(-1px)}.btn-secondary:hover:not(:disabled){border-color:var(--white);color:var(--white);transform:translateY(-1px)}.btn-cancel:hover:not(:disabled){background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.btn-abort:hover:not(:disabled){background:var(--error-bg);transform:translateY(-1px)}.btn-copy:hover{opacity:1}}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-cancel:active:not(:disabled),.btn-abort:active:not(:disabled){transform:scale(.98)}button:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.65;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn-dots{gap:2px;margin-inline-start:6px;display:inline-flex;transform:translateY(4px)}.btn-dots span{opacity:.45;backface-visibility:hidden;background:currentColor;border-radius:50%;width:4px;height:4px;font-size:0;animation:1s infinite dotJump;display:inline-block}.btn-dots span:nth-child(2){animation-delay:.15s}.btn-dots span:nth-child(3){animation-delay:.3s}.btn-spinner{border:2px solid var(--border-inverse);border-top-color:var(--white);vertical-align:-2px;backface-visibility:hidden;border-radius:999px;width:14px;min-width:14px;height:14px;margin-inline-start:8px;animation:.9s linear infinite spin;display:inline-block}@keyframes dotJump{0%,80%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=360px){.btn-primary,.btn-secondary{padding-block:var(--btn-sm-padding-y);padding-inline:var(--btn-sm-padding-x);font-size:var(--text-sm)}.btn-cancel{font-size:var(--text-xs);padding-block:.5rem;padding-inline:.8rem}}@media (prefers-reduced-motion:reduce){.btn-dots span,.btn-spinner{animation:none}.btn-dots span{opacity:1}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.btn-abort:hover:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-cancel:active:not(:disabled),.btn-abort:active:not(:disabled){transform:none}}.hero,.page-hero{background:radial-gradient(900px 400px at 20% 0%, var(--brand-glow), transparent 55%), var(--hero-bg);color:var(--text-inverse);border-block-end:1px solid var(--border-inverse);padding-block:3.2rem 3.8rem}.hero:first-child,.page-hero:first-child{margin-block-start:0;padding-block-start:var(--header-height,65px)}.hero-inner{gap:var(--space-xl);display:grid}.hero-text{max-width:680px}.hero h1,.hero h2,.hero h3,.page-hero h1,.page-hero h2,.page-hero h3{color:var(--white)}.hero h1{margin-block:var(--space-xs) 0;letter-spacing:-.02em;font-size:2.15rem;line-height:1.15}.page-hero h1{margin-block:0 var(--space-sm-md);letter-spacing:-.02em;font-size:2.15rem;line-height:1.15}.hero-role{color:var(--text-inverse-muted);margin-block:var(--space-xs) .6rem;font-weight:600}.hero-sub,.page-hero p{color:var(--text-inverse-muted);max-width:70ch;margin-block:.9rem 1.15rem}.hero-actions{gap:var(--space-sm-md);margin-block:var(--space-md) 1.3rem;flex-wrap:wrap;display:flex}.hero-stats{gap:var(--space-lg);flex-wrap:wrap;display:flex}.hero-points{flex-direction:column;gap:.9rem;display:flex}.hero-point{flex-direction:column;display:flex}.hero-point .point-title{font-weight:600;font-size:var(--text-sm);letter-spacing:-.01em;color:var(--white)}.hero-point .point-detail{border-inline-start:2px solid var(--border-success-subtle);font-size:var(--text-sm);color:var(--text-inverse-muted);margin-block-start:var(--space-xs);padding-inline-start:.85rem;line-height:1.55}.hero-offer{background:radial-gradient(600px 300px at 85% 20%, var(--brand-glow), transparent 60%), linear-gradient(135deg, var(--panel-dark), var(--bg-dark));border-radius:var(--r-xl);max-width:860px;box-shadow:var(--shadow-dark-lg);color:var(--text-inverse);padding:2.4rem 2.6rem}.hero-offer--light{background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);border:1px solid var(--border)}.hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:var(--text-xxs);color:var(--accent);margin-block:0 .45rem;font-weight:600}.hero-offer--light .hero-eyebrow,.hero-offer--light .hero-subtitle{color:var(--brand)}.hero-offer-title{letter-spacing:-.02em;color:var(--white);margin-block:0 1.1rem;font-size:2.15rem;font-weight:700;line-height:1.15}.hero-offer--light .hero-offer-title{color:var(--text)}.hero-subtitle{margin-block:var(--space-md-lg) .45rem;font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-weight:600}.hero-bullets{gap:.42rem;margin-block:0 1.4rem;padding-inline-start:0;list-style:none;display:grid}.hero-bullets.compact{gap:.35rem;margin-block-end:1.1rem}.hero-bullets li{font-size:var(--text-sm);color:var(--text-inverse);padding-inline-start:var(--space-md-lg);line-height:1.55;position:relative}.hero-bullets li:before{content:">";inset-inline-start:0;color:var(--accent);font-weight:700;position:absolute;top:0}.hero-offer--light .hero-bullets li{color:var(--text)}.hero-offer--light .hero-bullets li:before{color:var(--brand)}.hero-result{font-size:var(--text-sm);color:var(--text-inverse);border-block-start:1px solid var(--border-inverse-subtle);margin-block-start:1.2rem;padding-block-start:.9rem;line-height:1.6}.hero-offer--light .hero-result{color:var(--text);border-block-start-color:var(--border-subtle)}@media (width>=768px){.hero-inner{grid-template-columns:minmax(0,2.1fr) minmax(0,1.3fr);align-items:center}}@media (width>=1024px){.hero,.page-hero{padding-block:4rem 4.6rem}.hero h1,.page-hero h1{font-size:2.55rem}}@media (width<=768px){.hero-offer{padding:1.9rem 1.6rem}.hero-offer-title{font-size:1.85rem}}@media (width<=360px){.hero h1,.page-hero h1{font-size:1.7rem}.hero-offer-title{font-size:1.45rem}.hero-offer{padding:var(--space-md-lg) var(--space-md)}.hero-stats{gap:var(--space-md);flex-direction:column}}.card,.skill-block{background:var(--panel);padding:var(--space-lg);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform var(--duration-snappy) var(--ease), box-shadow var(--duration-smooth) var(--ease), border-color var(--duration-smooth) var(--ease)}@media (hover:hover){.card:hover,.skill-block:hover{box-shadow:var(--shadow-md);border-color:var(--border-subtle);transform:translateY(-2px)}}.card h3{letter-spacing:-.01em;margin-block-start:0}.card h3 a,.skill-block a{color:inherit}.skill-block a{color:var(--brand)}.scroll-area{max-height:250px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;margin-block-start:var(--space-md);padding-inline-end:var(--space-sm);overflow-y:auto}.scroll-area::-webkit-scrollbar{width:6px}.scroll-area::-webkit-scrollbar-track{background:0 0}.scroll-area::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:var(--r-xl)}.scroll-area::-webkit-scrollbar-thumb:hover{background-color:var(--muted-2)}.scroll-area .list-spaced{gap:var(--space-sm-md);flex-direction:column;margin-block-end:var(--space-md);display:flex}.skill-desc{margin-block-end:var(--space-md)}.skill-cta{margin-block-start:var(--space-md)}.service-flip{perspective:1200px}.service-flip__inner{min-height:360px;transform-style:preserve-3d;--flip-rot:0deg;--lift:0px;transform:rotateY(var(--flip-rot)) translateY(var(--lift));transition:transform var(--duration-flip) var(--ease);cursor:pointer;-webkit-tap-highlight-color:transparent;will-change:transform;outline:none;position:relative}.service-flip__inner:focus-visible .service-flip__side{outline:var(--focus-width) solid var(--brand);outline-offset:4px}.service-flip.is-flipped .service-flip__inner{--flip-rot:180deg}.service-flip__side{border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-sm);backface-visibility:hidden;border:0;position:absolute;inset:0;overflow:hidden}.service-flip__side:before{content:"";background:radial-gradient(900px 260px at 20% 0%, var(--border-subtle), transparent 60%);pointer-events:none;position:absolute;inset:0}.service-flip__front{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-lg);flex-direction:column;display:flex;transform:rotateY(0)}.service-flip__front lottie-player{mix-blend-mode:multiply;width:200px;height:200px}.service-flip__back{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex;transform:rotateY(180deg)translateZ(1px)}.service-flip__title{z-index:1;font-size:var(--text-xl);letter-spacing:-.02em;color:var(--text);text-align:center;margin:0;line-height:1.2;position:relative}.service-flip__back .service-flip__title{text-align:left;margin-block-end:var(--space-xs)}.service-flip__body{z-index:1;scrollbar-gutter:stable;color:var(--text);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;padding-inline-end:2px;line-height:1.65;position:relative;overflow:hidden auto}.service-flip__body h4{font-size:var(--text-base);color:var(--text);margin-block:var(--space-md) var(--space-sm);letter-spacing:-.01em;font-weight:600}.service-flip__body ul{margin:0;padding-inline-start:1.15rem}.service-flip__body li{margin-block:var(--space-sm);color:var(--muted);line-height:1.6}.service-flip__body li strong{color:var(--text);font-weight:700}.service-flip__body p{margin-block:var(--space-sm-md);color:var(--text)}.service-flip__body .point-title{color:var(--text)}.service-flip__body .point-detail{color:var(--muted);border-inline-start-color:var(--brand-glow)}.service-flip__body::-webkit-scrollbar{width:6px}.service-flip__body::-webkit-scrollbar-track{background:0 0}.service-flip__body::-webkit-scrollbar-thumb{background-color:var(--border-subtle);border-radius:var(--r-xl)}.flip-hint{inset-inline-end:10px;pointer-events:none;opacity:.9;width:28px;height:28px;transition:opacity var(--duration-snappy) var(--ease);justify-content:flex-end;align-items:flex-end;display:flex;position:absolute;bottom:10px}.flip-arrow{border-style:solid;border-width:0 0 14px 14px;border-color:transparent transparent var(--accent) transparent;transform-origin:100% 100%;width:0;height:0;transition:transform var(--duration-smooth) var(--ease), opacity var(--duration-smooth) var(--ease);will-change:transform}@media (hover:hover){.service-flip__inner:hover .flip-arrow,.service-flip__inner:focus-visible .flip-arrow{opacity:1;transform:scale(1.15)}}.service-flip.is-flipped .flip-hint{opacity:0}@media (width>=768px){.service-flip__inner{min-height:420px}@media (hover:hover){.service-flip__inner:hover{--lift:-2px}.service-flip__inner:hover .service-flip__side{box-shadow:var(--shadow-md)}}}@media (width<=360px){.card,.skill-block,.service-flip__front,.service-flip__back{padding:var(--space-md)}.service-flip__title{font-size:var(--text-lg);word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.service-flip__body{word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.service-flip__front lottie-player{width:140px;height:140px}}@media (prefers-reduced-motion:reduce){.card,.skill-block,.service-flip__inner,.flip-arrow{transition:none}.card:hover,.skill-block:hover{transform:none}.service-flip__inner:hover{--lift:0px}.service-flip__inner:hover .flip-arrow,.service-flip__inner:focus-visible .flip-arrow{transform:none}}.list{margin:0;padding-inline-start:0;list-style:none}.list li{margin-block:var(--space-sm);color:var(--text);padding-inline-start:var(--space-md-lg);position:relative}.list li:before{content:"•";inset-inline-start:0;color:var(--brand);font-weight:700;line-height:inherit;position:absolute;top:0}.cert-id-wrapper{align-items:center;gap:var(--space-sm);margin-block-start:var(--space-xs);display:flex}.cert-meta{font-size:var(--text-xs);color:var(--muted);margin-block-start:var(--space-xs);display:block}.cert-meta code{background:var(--border-2);color:var(--brand-2);padding-block:var(--space-xxs);padding-inline:var(--space-sm);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;border:1px solid var(--border-subtle);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-weight:600;line-height:1.2;display:inline-block}.cert-note{font-size:var(--text-sm);color:var(--muted);margin-block-start:var(--space-sm-md)}.contact-form{gap:var(--space-sm-md);display:grid}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding-block:var(--space-sm-md);padding-inline:var(--space-sm-md);border-radius:var(--r-md);border:1px solid var(--border);font-family:inherit;font-size:var(--text-base);appearance:none;background:var(--panel);transition:box-shadow var(--duration-snappy) var(--ease), border-color var(--duration-snappy) var(--ease), opacity var(--duration-snappy) var(--ease)}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input[type=text]:focus,.contact-form input[type=email]:focus,.contact-form textarea:focus{outline-offset:2px;border-color:var(--brand);box-shadow:0 0 0 4px var(--focus-ring);outline:2px solid #0000}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted-2);opacity:.8}.contact-form input:not([type=file]):disabled,.contact-form textarea:disabled{opacity:.6;background:var(--bg);cursor:not-allowed}.form-label-row{justify-content:space-between;align-items:baseline;margin-block-end:var(--space-xs);display:flex}.form-label-row label{margin-block-end:0}.clear-all-btn{cursor:pointer;color:var(--danger);font-size:var(--text-xs);transition:color var(--duration-snappy) var(--ease);background:0 0;border:none;padding:0;text-decoration:underline;display:none}.clear-all-btn.is-visible{display:inline-block}.clear-all-btn:focus-visible{outline:2px solid var(--danger);outline-offset:4px;border-radius:2px}@media (hover:hover){.clear-all-btn:hover{color:var(--danger-hover)}}.file-drop-area{width:100%;padding:var(--space-md);border:1px dashed var(--border);border-radius:var(--r-md);background:var(--panel);transition:border-color var(--duration-snappy) var(--ease), background var(--duration-snappy) var(--ease), box-shadow var(--duration-snappy) var(--ease);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.file-drop-area.is-disabled{pointer-events:none;opacity:.5}.file-drop-area:hover,.file-drop-area.is-dragover{border-color:var(--brand);background:var(--panel-soft)}.file-drop-area:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--focus-ring)}.file-input-hidden{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-input-hidden:disabled{cursor:not-allowed}.file-msg{font-size:var(--text-sm);color:var(--muted-2);pointer-events:none}@media (hover:none),(pointer:coarse){.drag-text{display:none}}.file-list{margin-block:var(--space-sm) 0 0;border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:column;padding-inline-start:0;list-style:none;display:flex;overflow:hidden}.file-list:empty{display:none}.file-item{justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--panel);padding-block:var(--space-sm);padding-inline:var(--space-sm-md);font-size:var(--text-xs);border-block-start:1px solid var(--border);display:flex}.file-item:first-child{border-block-start:none}.file-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.remove-file-btn{cursor:pointer;color:var(--danger);border-radius:var(--r-sm);transition:background var(--duration-snappy) var(--ease), color var(--duration-snappy) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.remove-file-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px}@media (hover:hover){.remove-file-btn:hover{background:var(--error-bg);color:var(--danger-hover)}}.remove-file-btn svg{width:18px;height:18px}.form-hint{font-size:var(--text-xs);color:var(--muted-2)}.form-hint.req-hint{margin-block-end:var(--space-sm)}.form-hint.file-hint{margin-block-start:var(--space-xs);display:block}.privacy-group{margin-block:var(--space-lg) 0}.privacy-label{gap:var(--space-sm);cursor:pointer;align-items:flex-start;font-weight:400;display:flex}.privacy-checkbox{flex-shrink:0;width:1.1rem;height:1.1rem;margin-block-start:var(--space-xs)}.privacy-text{font-size:var(--text-xs);line-height:1.4}.privacy-link{color:inherit;text-decoration:underline}.privacy-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.hp-wrapper{display:none}.hp-field{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}altcha-widget{width:100%;max-width:300px;margin-block-start:var(--space-xs);display:block}altcha-widget.is-disabled{pointer-events:none;opacity:.6}.req-mark{color:var(--error-text);margin-inline-start:var(--space-xxs);font-weight:700}.contact-form input.is-invalid,.contact-form textarea.is-invalid,.file-drop-area.is-invalid{border-color:var(--error-border)}.contact-form input.is-invalid:focus,.contact-form textarea.is-invalid:focus,.file-drop-area.is-invalid:focus-within{box-shadow:0 0 0 4px var(--error-focus-ring)}altcha-widget.is-invalid{outline:2px solid var(--error-border);outline-offset:2px;border-radius:var(--r-md)}.privacy-checkbox.is-invalid{outline:2px solid var(--error-border);outline-offset:2px}.privacy-checkbox.is-invalid+.privacy-text,.privacy-checkbox.is-invalid+.privacy-text .privacy-link{color:var(--error-text)}#contact-feedback{margin-block-start:var(--space-sm-md)}#contact-feedback:focus{outline:none}.form-success,.form-errors,.form-warning{max-width:var(--container-narrow);margin-block:var(--space-md) var(--space-xl);padding-block:var(--space-sm-md);padding-inline:var(--space-md);border-radius:var(--r-md);border:1px solid}.form-success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.form-errors{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.form-warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.form-errors ul,.form-warning ul{margin-block-start:var(--space-sm);padding-inline-start:var(--space-md-lg)}.limit-warning,#charCounter.limit-reached{color:var(--error-text)}.form-actions{align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-block-start:var(--space-sm);display:flex}@media (width<=360px){.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{padding:var(--space-sm)}.form-label-row{align-items:flex-start;gap:var(--space-xs);flex-direction:column}}@media (prefers-reduced-motion:reduce){.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea,.clear-all-btn,.file-drop-area,.remove-file-btn{transition:none}}.sticky-social-bar{bottom:var(--space-xl);right:var(--space-xl);background-color:var(--panel);padding:var(--space-sm-md);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:var(--z-modal);pointer-events:none;transition:opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);will-change:transform, opacity;position:fixed}.sticky-social-bar.is-hidden{opacity:0;transform:translateY(var(--space-xl));pointer-events:none}.sticky-social-bar.is-hidden .social-link{pointer-events:none}.social-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.social-link{color:var(--muted);transition:transform var(--duration-smooth) var(--ease), color var(--duration-smooth) var(--ease), box-shadow var(--duration-smooth) var(--ease);will-change:transform;pointer-events:auto;outline:none;justify-content:center;align-items:center;display:flex}.social-link svg{width:var(--icon-lg);height:var(--icon-lg)}@media (hover:hover){.social-link:hover{color:var(--brand);transform:scale(1.1)}}.social-link:focus-visible{color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring);border-radius:4px;transform:scale(1.1)}@media (width<=768px){.sticky-social-bar{bottom:var(--space-md-lg);right:var(--space-md-lg);padding:var(--space-sm-md)}.social-list{gap:var(--space-sm)}}@media (width<=85px){.sticky-social-bar{bottom:auto;right:auto;top:calc(var(--header-height) + var(--space-md-lg));left:var(--space-sm-md);padding:var(--space-sm-md);opacity:.85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.social-list{gap:var(--space-sm-md)}}@media screen and (height<=500px) and (orientation:landscape){.sticky-social-bar{bottom:var(--space-sm);right:var(--space-sm);transform-origin:100% 100%;transform:scale(.85)}}@media print{.sticky-social-bar{display:none}}@media (prefers-reduced-motion:reduce){.sticky-social-bar,.social-link{transition:none}.sticky-social-bar.is-hidden,.social-link:hover,.social-link:focus-visible{transform:none}}.social-link[href*=linkedin\.com]{color:var(--brand-linkedin)}.social-link[href*=xing\.com]{color:var(--brand-xing)}@media (hover:hover){.social-link[href*=linkedin\.com]:hover{color:var(--brand-linkedin);opacity:.8}.social-link[href*=xing\.com]:hover{color:var(--brand-xing);opacity:.8}}.social-link[href*=linkedin\.com]:focus-visible{color:var(--brand-linkedin)}.social-link[href*=xing\.com]:focus-visible{color:var(--brand-xing)}.about-grid{gap:var(--space-xl) var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.about-photo-wrapper{grid-area:1/1/2/2;margin-block-end:var(--space-sm)}.about-text-left{grid-area:2/1/3/2}.about-text-right{grid-area:2/2/3/3}.about-text-right h3{margin-block-start:0}.about-photo{margin-block:var(--space-sm) var(--space-2xl);width:fit-content;margin-inline-start:var(--space-md);position:relative}.about-photo:before{content:"";top:var(--space-md);background:linear-gradient(135deg, var(--brand), var(--brand-2));border-radius:var(--r-xl,1.5rem);z-index:0;opacity:.15;width:100%;height:100%;transition:transform var(--duration-elegant) var(--ease);will-change:transform;position:absolute;inset-inline-start:calc(var(--space-md) * -1)}.about-photo img{z-index:1;object-fit:cover;border-radius:var(--r-xl,1.5rem);border:4px solid var(--panel);width:170px;height:170px;box-shadow:var(--shadow-md);transition:transform var(--duration-elegant) var(--ease), box-shadow var(--duration-elegant) var(--ease);will-change:transform, box-shadow;display:block;position:relative}@media (hover:hover){.about-photo:hover img{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.about-photo:hover:before{transform:translate(6px,-6px)}}@media (width<=768px){.about-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.about-photo-wrapper,.about-text-left,.about-text-right{grid-area:auto/1/auto/-1}}@media (width<=360px){.about-grid{gap:var(--space-md)}.about-photo{margin-block-end:var(--space-lg);margin-inline-start:var(--space-sm-md)}.about-photo img{width:140px;height:140px}.about-photo:before{top:var(--space-sm-md);inset-inline-start:calc(var(--space-sm-md) * -1)}}@media (prefers-reduced-motion:reduce){.about-photo:before,.about-photo img{transition:none}.about-photo:hover img,.about-photo:hover:before{transform:none}}.text-center{text-align:center}.is-hidden{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{opacity:0;transform:translateY(var(--space-sm-md));filter:blur(1px);transition:opacity var(--duration-normal) var(--ease), transform var(--duration-normal) var(--ease), filter var(--duration-normal) var(--ease);will-change:opacity, transform, filter}.reveal.visible{opacity:1;filter:blur();transform:translateY(0)}.no-js .reveal{opacity:1;filter:none;transform:none}body.no-scroll{overflow:hidden}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;filter:none;transition:none;transform:none}}.site-footer{background:var(--header-bg);text-align:center;padding-block:var(--space-lg);border-block-start:1px solid var(--border-inverse)}.site-footer p{max-width:none;font-size:var(--text-sm);color:var(--muted);margin-block-end:0}.stat{font-size:var(--text-sm);flex-direction:column;gap:.1rem;display:flex}.counter{font-size:var(--text-2xl);letter-spacing:-.01em;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-weight:800}.stat-label{color:var(--text-inverse-muted)}.no-js-banner{background-color:var(--bg-dark);width:100vw;height:100vh;color:var(--text-inverse);z-index:999999;text-align:center;padding:var(--space-xl);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.no-js-content h1{font-size:var(--text-2xl);margin-bottom:var(--space-md);color:var(--danger)}
