.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.nav .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}.nav{position:fixed;top:clamp(12px,1.4vw,20px);left:50%;transform:translate(-50%);width:calc(100% - 2 * var(--section-gutter));max-width:1920px;z-index:50;background:var(--nav-bg);border:0;border-radius:12px;box-shadow:var(--nav-shadow);view-transition-name:site-nav}.nav>.wrap{max-width:none;padding-left:clamp(20px,2.4vw,32px);padding-right:clamp(20px,2.4vw,32px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:clamp(20px,3vw,40px)}.brand{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}.brand-logo{display:block;width:94px;height:32px;color:var(--ink)}.brand-logo svg{width:100%;height:100%;display:block;fill:currentColor}.nav-links{display:flex;gap:clamp(18px,2.4vw,36px);align-items:center}.nav-links .sound-toggle,.nav-links .theme-toggle,.nav-links .menu-trigger{margin-left:-8px}.nav-links a.nav-link{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--ink);line-height:1.2;display:inline-block;vertical-align:middle;text-decoration:none;cursor:pointer}.nav-links a.nav-link .char-roll,.nav-links a.nav-link .char{cursor:pointer}.char-roll{position:relative;display:inline-flex;flex-direction:column;overflow:hidden;height:1.2em;line-height:1.2;vertical-align:top}.char-roll__main,.char-roll__copy{display:inline-flex;flex:0 0 1.2em;white-space:nowrap;align-items:center}.char-roll .char{display:inline-block;transition:transform .32s cubic-bezier(.36,1.7,.5,1);transition-delay:calc(var(--i, 0) * 18ms);will-change:transform}.char.char-arr{margin-left:6px;font-size:.9em;font-weight:400}.nav-links a.nav-link:hover .char{transform:translateY(-100%)}.nav-links a.nav-link.nav-cv{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 22px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.005em;text-transform:none;line-height:1;overflow:visible;transition:background .22s ease,color .22s ease,border-color .22s}.nav-links a.nav-link.nav-cv:hover,:root[data-theme=dark] .nav-links a.nav-link.nav-cv:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.nav-links .menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:var(--icon-btn-bg);color:var(--ink);cursor:pointer;transition:background .2s ease,color .2s ease;position:relative}.nav-links .menu-trigger:hover{background:var(--icon-btn-hover)}.nav-links .menu-trigger .bars{display:inline-flex;flex-direction:column;gap:5px;width:17px}.nav-links .menu-trigger .bars span{display:block;height:1.5px;background:currentColor;border-radius:1px}@media(hover:hover)and (pointer:fine){.icon-btn,.theme-toggle,.sound-toggle,.nav-links .menu-trigger{position:relative}.icon-btn[data-tooltip]:after,.theme-toggle[data-tooltip]:after,.sound-toggle[data-tooltip]:after,.nav-links .menu-trigger[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:50%;padding:6px 12px;background:var(--ink);color:var(--bg);font-family:var(--sans);font-size:12px;font-weight:500;line-height:1;letter-spacing:-.005em;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-4px);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1);z-index:60}.icon-btn:hover[data-tooltip]:after,.theme-toggle:hover[data-tooltip]:after,.sound-toggle:hover[data-tooltip]:after,.nav-links .menu-trigger:hover[data-tooltip]:after{opacity:1;transform:translate(-50%) translateY(0)}}.icon-btn,.theme-toggle,.sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:var(--icon-btn-bg);color:var(--ink);cursor:pointer;transition:background .2s ease,color .2s ease}.icon-btn:hover,.theme-toggle:hover,.sound-toggle:hover{background:var(--icon-btn-hover);color:var(--ink)}.theme-toggle svg{width:19px;height:19px}.sound-toggle svg{width:16px;height:16px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.sound-toggle .bars{display:inline-flex;align-items:center;gap:2.5px;height:16px}.sound-toggle .bars span{display:inline-block;width:2.5px;height:4px;background:currentColor;border-radius:999px;transition:height .24s ease}.sound-toggle[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.sound-toggle[aria-pressed=true] .bars span{animation:bar-pulse 1.1s ease-in-out infinite}.sound-toggle[aria-pressed=true] .bars span:nth-child(1){animation-delay:0ms}.sound-toggle[aria-pressed=true] .bars span:nth-child(2){animation-delay:.14s}.sound-toggle[aria-pressed=true] .bars span:nth-child(3){animation-delay:.28s}.sound-toggle[aria-pressed=true] .bars span:nth-child(4){animation-delay:80ms}@keyframes bar-pulse{0%,to{height:3px}50%{height:14px}}@media(max-width:768px){.nav-links a.nav-link,.nav-links a.nav-link.nav-cv{display:none!important}.nav-links .sound-toggle,.nav-links .theme-toggle,.nav-links .menu-trigger{margin-left:0}}@media(max-width:1023px){.nav{left:clamp(12px,1.4vw,20px);right:clamp(12px,1.4vw,20px);transform:none;width:auto}}.menu-overlay{position:fixed;inset:0;z-index:100;--m-bg: #000000;--m-fg: #CCCCCC;--m-fg-strong: #FFFFFF;--m-fg-soft: #B3B3B3;--m-fg-softer: #808080;--m-fg-mid: #B3B3B3;--m-fg-link: #B3B3B3;--m-btn-bg: rgba(255, 255, 255, .08);--m-btn-bg-hover: rgba(255, 255, 255, .16);--m-kbd-border: rgba(255, 255, 255, .2);background:var(--m-bg);color:var(--m-fg);--menu-edge: calc(var(--section-gutter) + clamp(20px, 2.4vw, 32px))}@media(max-width:1023px){.menu-overlay{--menu-edge: calc(clamp(12px, 1.4vw, 20px) + clamp(20px, 2.4vw, 32px)) }}.menu-overlay{--menu-ox: calc(100% - (var(--menu-edge) + 20px));--menu-oy: calc(clamp(12px, 1.4vw, 20px) + 34px) ;--menu-header-pt: calc(clamp(12px, 1.4vw, 20px) + 14px) ;--menu-header-pl: var(--menu-edge);--menu-header-pr: var(--menu-edge);clip-path:circle(0% at var(--menu-ox) var(--menu-oy));-webkit-clip-path:circle(0% at var(--menu-ox) var(--menu-oy));transition:clip-path .56s cubic-bezier(.7,0,.3,1),-webkit-clip-path .56s cubic-bezier(.7,0,.3,1);pointer-events:none;overflow:hidden}.menu-overlay[data-open=true]{clip-path:circle(160% at var(--menu-ox) var(--menu-oy));-webkit-clip-path:circle(160% at var(--menu-ox) var(--menu-oy));pointer-events:auto}.menu-header{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding-top:var(--menu-header-pt);padding-bottom:var(--menu-header-pt);padding-left:var(--menu-header-pl);padding-right:var(--menu-header-pr)}.menu-header .brand-logo{color:var(--m-fg-strong)}:root[data-theme=dark] .menu-overlay{--m-bg: #FFFFFF;--m-fg: #222222;--m-fg-strong: #222222;--m-fg-soft: #737373;--m-fg-softer: #8C8C8C;--m-fg-mid: #595959;--m-fg-link: #3D3D3D;--m-btn-bg: rgba(0, 0, 0, .05);--m-btn-bg-hover: rgba(0, 0, 0, .1);--m-kbd-border: rgba(0, 0, 0, .18)}.menu-close{width:40px;height:40px;border-radius:999px;border:0;background:var(--m-btn-bg);color:var(--m-fg-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .22s}.menu-close:hover{background:var(--m-btn-bg-hover)}@media(hover:hover)and (pointer:fine){.menu-close[data-tooltip]{position:relative}.menu-close[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:50%;padding:6px 12px;background:var(--m-fg);color:var(--m-bg);font-family:var(--sans);font-size:12px;font-weight:500;line-height:1;letter-spacing:-.005em;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-4px);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1);z-index:60}.menu-close:hover[data-tooltip]:after{opacity:1;transform:translate(-50%) translateY(0)}}.menu-close svg{width:16px;height:16px;display:none}.menu-close .bars{display:inline-flex;flex-direction:column;gap:5px;width:17px}.menu-close .bars span{display:block;height:1.5px;background:currentColor;border-radius:1px;transform-origin:center;translate:0 0;rotate:0deg;transition:rotate .28s cubic-bezier(.65,0,.35,1),translate .28s cubic-bezier(.65,0,.35,1) .28s}.menu-overlay[data-open=true] .menu-close .bars span{transition:translate .28s cubic-bezier(.65,0,.35,1),rotate .28s cubic-bezier(.65,0,.35,1) .28s}.menu-overlay[data-open=true] .menu-close .bars span:nth-child(1){translate:0 3.25px;rotate:45deg}.menu-overlay[data-open=true] .menu-close .bars span:nth-child(2){translate:0 -3.25px;rotate:-45deg}.menu-body{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:var(--section-space) var(--menu-edge) clamp(40px,6vw,80px);gap:clamp(40px,6vw,96px);opacity:0;transition:opacity .32s ease .16s}@media(min-width:800px){.menu-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding-bottom:var(--section-space)}}.menu-overlay[data-open=true] .menu-body{opacity:1;transition-delay:.28s}.menu-main{display:flex;flex-direction:column;gap:clamp(4px,.8vw,12px)}@media(max-width:1023px){.menu-main{gap:16px}}.menu-main a{display:inline-flex;align-items:baseline;gap:16px;font-family:var(--sans);font-weight:500;font-size:clamp(40px,7vw,88px);line-height:1.05;letter-spacing:-.035em;color:var(--m-fg-soft);text-decoration:none;transition:color .22s ease,transform .32s cubic-bezier(.2,.7,.2,1);width:max-content;cursor:pointer}.menu-main a:hover{color:var(--m-fg-strong);transform:translate(6px)}.menu-main a .num{font-size:.22em;font-weight:500;color:var(--m-fg-softer);letter-spacing:.04em}.menu-sub{display:flex;flex-direction:column;gap:10px}.menu-sub .menu-sub-label{font-family:var(--sans);font-size:11px;letter-spacing:.08em;font-weight:500;text-transform:none;color:var(--m-fg-softer);margin-bottom:6px}.menu-sub a,.menu-sub .menu-sub-link{font-family:var(--sans);font-size:clamp(18px,1.8vw,24px);font-weight:400;color:var(--m-fg-mid);letter-spacing:-.01em;text-decoration:none;transition:color .22s}.menu-sub a{cursor:pointer}.menu-sub a:hover{color:var(--m-fg-strong)}.menu-sub .menu-sub-link--disabled{color:var(--m-fg-softer);cursor:not-allowed}.menu-sub .menu-sub-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid currentColor;font-size:.5em;font-weight:500;letter-spacing:.02em;vertical-align:middle;opacity:.7}@media(max-width:600px){.menu-main{gap:12px}.menu-main a{font-size:34px}}.menu-footer{position:absolute;left:0;right:0;bottom:clamp(20px,3vw,40px);z-index:2;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:0 var(--menu-edge);font-family:var(--sans);font-size:12px;color:var(--m-fg-softer)}.menu-footer a{color:var(--m-fg-link);text-decoration:none;transition:color .22s}.menu-footer a:hover{color:var(--m-fg-strong)}.menu-footer kbd{display:inline-block;padding:2px 6px;border:1px solid var(--m-kbd-border);border-radius:4px;font-family:var(--sans);font-size:11px;color:var(--m-fg-mid);margin-left:6px}@media(max-width:1023px){.menu-footer{display:none}}@media(prefers-reduced-motion:reduce){.menu-overlay,.menu-overlay .menu-body{transition:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}:root{--footer-bg: #E2E9FB;--footer-ink: #0E1538;--footer-mute: #6B7398;--footer-line: #C7D2EF;--footer-accent: #B7411E}:root[data-theme=dark]{--footer-bg: #102320;--footer-ink: #E5F5E5;--footer-mute: #8FA890;--footer-line: #1F3F22;--footer-accent: #2ECC71}.contact{background:var(--footer-bg);color:var(--footer-ink)}.contact h2,.contact h3,.contact a,.contact strong{color:var(--footer-ink)}.contact a{text-decoration:none}.contact .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter);padding-top:var(--section-pad-v);padding-bottom:24px}.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,64px) clamp(32px,5vw,80px);align-items:start}@media(min-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.contact-prompt{grid-column:1;display:flex;flex-direction:column;gap:28px;max-width:44ch}.contact-prompt p{color:var(--footer-ink);font-size:clamp(17px,1.4vw,19px);line-height:1.5}.contact .btn{background:var(--footer-ink);border-color:var(--footer-ink);color:var(--footer-bg);align-self:flex-start}.contact .btn:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}:root[data-theme=dark] .contact .btn:hover{background:var(--footer-accent);border-color:var(--footer-accent);color:var(--footer-bg)}:root[data-theme=dark] .contact .btn:hover .btn-ring{background:color-mix(in oklab,var(--footer-bg) 35%,transparent);color:var(--footer-ink)}.contact .btn .btn-ring{background:color-mix(in oklab,var(--footer-bg) 25%,transparent)}.contact .btn:hover .btn-ring{background:#ffffff40}.contact-nav{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 64px}@media(min-width:900px){.contact-nav{grid-column:2;justify-self:end;width:36ch}}.contact-nav .col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-nav .col-label{font-size:12px;letter-spacing:.06em;color:var(--footer-mute);font-weight:500;margin-bottom:4px}.contact-nav a{font-size:16px;font-weight:500;letter-spacing:-.005em;transition:color .2s ease;display:inline-flex;align-items:center;line-height:1.2;cursor:pointer}.contact-nav a:hover{color:var(--footer-accent)}.contact-nav a:hover .char{transform:translateY(-100%)}.contact-headline{grid-column:1;margin-top:48px;margin-bottom:48px;color:var(--footer-ink);font-size:0;line-height:0}@media(max-width:700px){.contact-headline{margin-top:24px;margin-bottom:24px}}@media(min-width:900px){.contact-headline{margin-top:0;margin-bottom:0;align-self:center}}.lets-talk-svg{display:block;width:clamp(140px,36vw,480px);height:auto;color:var(--footer-ink);overflow:visible}@media(min-width:900px){.lets-talk-svg{width:clamp(140px,28.8vw,384px)}}.lets-talk-svg .lt-path{fill:currentColor;stroke:none}.contact-blocks{grid-column:1;display:flex;flex-direction:column;gap:clamp(28px,3vw,40px)}@media(min-width:900px){.contact-blocks{grid-column:2;justify-self:end;width:36ch;align-self:center}}.contact-block strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.005em;margin-bottom:6px;color:var(--footer-ink)}.contact-block p{font-size:15px;line-height:1.55;color:var(--footer-mute);margin:0}.availability{display:inline-flex;align-items:center;gap:8px}.availability__pulse{position:relative;width:9px;height:9px;border-radius:999px;background:#2ecc71;flex:0 0 auto}.availability__pulse:after{content:"";position:absolute;inset:-2px;border-radius:999px;background:#2ecc71;opacity:.6;animation:availability-pulse 1.8s cubic-bezier(.2,.7,.2,1) infinite}@keyframes availability-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.4);opacity:0}}@media(prefers-reduced-motion:reduce){.availability__pulse:after{animation:none}}.contact-email{font-size:clamp(18px,1.6vw,22px);font-weight:500;letter-spacing:-.015em;color:var(--footer-ink);border-bottom:1px solid var(--footer-ink);align-self:flex-start;padding-bottom:2px;transition:color .2s,border-color .2s}.contact-email:hover{color:var(--footer-accent);border-color:var(--footer-accent)}.contact-legal{grid-column:1;margin-top:clamp(56px,8vw,96px);padding-top:24px;border-top:1px solid color-mix(in oklab,var(--footer-mute) 50%,transparent);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;letter-spacing:0;color:var(--footer-mute)}@media(min-width:900px){.contact-legal{grid-column:1 / -1}}.contact-legal a{color:var(--footer-mute);transition:color .2s}.contact-legal a:hover{color:var(--footer-ink)}.contact-legal-links{display:flex;gap:clamp(16px,2vw,28px);margin-left:auto;flex-wrap:wrap}.contact-legal-links a{white-space:nowrap}@media(max-width:700px){.contact-legal-links{margin-left:0}.contact-legal__vat-sep{display:none}.contact-legal__vat{display:block}}#hepton-top-loader[data-astro-cid-4u3ehgod]{position:fixed;top:0;left:0;right:0;height:3px;width:100%;pointer-events:none;z-index:2147483646;opacity:0;transition:opacity .22s ease;background:transparent}#hepton-top-loader[data-astro-cid-4u3ehgod].is-active{opacity:1}#hepton-top-loader[data-astro-cid-4u3ehgod]>span[data-astro-cid-4u3ehgod]{display:block;height:100%;width:0%;background:var(--primary, #0000FE);transform-origin:left center;transition:width .18s linear}@media(prefers-reduced-motion:reduce){#hepton-top-loader[data-astro-cid-4u3ehgod],#hepton-top-loader[data-astro-cid-4u3ehgod]>span[data-astro-cid-4u3ehgod]{transition:none}}.consent[data-astro-cid-63gysk4c]{position:fixed;left:50%;bottom:16px;transform:translate(-50%) translateY(12px);width:min(640px,calc(100vw - 32px));z-index:2147483645;background:#fff;color:var(--ink);border:1px solid var(--nav-border);border-radius:12px;box-shadow:0 20px 40px -16px #0f16322e;padding:16px 16px 16px 20px;opacity:0;pointer-events:none;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1)}:root[data-theme=dark] .consent[data-astro-cid-63gysk4c]{background:#1c1c1c;box-shadow:0 20px 40px -16px #0009}.consent[data-astro-cid-63gysk4c].is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.consent-inner[data-astro-cid-63gysk4c]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.consent-copy[data-astro-cid-63gysk4c]{flex:1 1 280px;min-width:0}.consent-copy[data-astro-cid-63gysk4c] p[data-astro-cid-63gysk4c]{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}.consent-copy[data-astro-cid-63gysk4c] a[data-astro-cid-63gysk4c]{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.consent-copy[data-astro-cid-63gysk4c] a[data-astro-cid-63gysk4c]:hover{color:var(--primary-hover)}.consent-actions[data-astro-cid-63gysk4c]{display:flex;gap:8px;flex-shrink:0}.consent-btn[data-astro-cid-63gysk4c]{height:40px;padding:0 18px;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:-.005em;cursor:pointer;border:1px solid var(--primary);transition:background .22s ease,color .22s ease,border-color .22s ease}.consent-btn--primary[data-astro-cid-63gysk4c]{background:var(--primary);color:var(--primary-ink)}.consent-btn--primary[data-astro-cid-63gysk4c]:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.consent-btn--ghost[data-astro-cid-63gysk4c]{background:transparent;color:var(--primary)}.consent-btn--ghost[data-astro-cid-63gysk4c]:hover{background:var(--primary);color:var(--primary-ink)}@media(max-width:520px){.consent[data-astro-cid-63gysk4c]{bottom:12px;padding:14px 14px 14px 16px}.consent-inner[data-astro-cid-63gysk4c]{gap:12px}.consent-actions[data-astro-cid-63gysk4c]{width:100%}.consent-btn[data-astro-cid-63gysk4c]{flex:1}}@media(prefers-reduced-motion:reduce){.consent[data-astro-cid-63gysk4c]{transition:opacity 0ms,transform 0ms}}html,body{margin:0;width:100%}
