:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--duration-fast: .2s;--duration-normal: .45s;--duration-slow: .7s}[data-reveal]{opacity:0;transform:translateY(1.25rem);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal=fade]{transform:none}[data-reveal=left]{transform:translate(-1.25rem)}[data-reveal=right]{transform:translate(1.25rem)}[data-reveal=left].is-visible,[data-reveal=right].is-visible{transform:translate(0)}[data-reveal=scale]{transform:scale(.96)}[data-reveal=scale].is-visible{transform:scale(1)}[data-reveal-stagger].is-visible>*{opacity:1;transform:translateY(0)}[data-reveal-stagger]>*{opacity:0;transform:translateY(.75rem);transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out);transition-delay:calc(var(--reveal-delay, 0ms) + var(--stagger-index, 0) * 80ms)}.hero [data-hero-item]{opacity:0;transform:translateY(1rem)}.hero.hero--ready [data-hero-item]{animation:hero-in var(--duration-slow) var(--ease-out) forwards;animation-delay:var(--hero-delay, 0ms)}@keyframes hero-in{to{opacity:1;transform:translateY(0)}}.section-label:before{transform-origin:left center;transform:scaleX(0);transition:transform var(--duration-normal) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.is-visible .section-label:before,.hero.hero--ready .hero__eyebrow:before{transform:scaleX(1)}.hero__eyebrow:before{content:"";display:block;width:1.5rem;height:2px;margin-bottom:.75rem;background:linear-gradient(90deg,var(--color-cyan-light),transparent);transform-origin:left center;transform:scaleX(0);transition:transform var(--duration-normal) var(--ease-out);transition-delay:0ms}.nav__link{position:relative}.nav__link:after{content:"";position:absolute;left:0;bottom:-.3rem;width:100%;height:2px;background:currentColor;border-radius:1px;transform:scaleX(0);transform-origin:right center;transition:transform var(--duration-normal) var(--ease-out)}.nav__link:hover:after,.nav__link:focus-visible:after{transform:scaleX(1);transform-origin:left center}.logo{transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) ease}.logo:hover{transform:scale(1.03);opacity:.92}.btn{position:relative;overflow:hidden;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) ease,background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);transform:translate(-100%);transition:transform .55s var(--ease-out)}.btn:hover:after{transform:translate(100%)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98);transition-duration:.08s}.service-card{transition:border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease,transform var(--duration-normal) var(--ease-out)}.service-card:hover{transform:translateY(-4px)}.service-card__icon{transition:background var(--duration-normal) ease,transform var(--duration-normal) var(--ease-spring)}.service-card:hover .service-card__icon{transform:scale(1.06);background:#06b6d429}.service-card__icon svg{transition:transform var(--duration-normal) var(--ease-spring)}.service-card:hover .service-card__icon svg{transform:scale(1.1)}.service-card__tags li{transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out)}.service-card:hover .service-card__tags li{transform:translateY(-1px)}.about__highlight{transition:border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease,transform var(--duration-normal) var(--ease-out)}.about__photo-ring{transition:transform var(--duration-normal) var(--ease-out)}.about__list li{transition:transform var(--duration-fast) var(--ease-out)}.about__list li:hover{transform:translate(4px)}.about__list svg{transition:transform var(--duration-fast) var(--ease-spring)}.about__list li:hover svg{transform:scale(1.15)}.stack__group{transition:border-color var(--duration-normal) ease,transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) ease}.stack__group:hover{transform:translateY(-3px);border-color:#06b6d459;box-shadow:var(--shadow-md)}.stack__tags li{transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out),background var(--duration-fast) ease}.stack__tags li:hover{transform:translateY(-2px) scale(1.02)}.contact__card{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) ease}.contact__card:hover{transform:translateY(-2px);box-shadow:0 28px 64px #0f12182e}.contact__email svg{transition:transform var(--duration-normal) var(--ease-spring)}.contact__email:hover svg{transform:translate(3px) rotate(-6deg)}.hero__highlights li{transition:padding-left var(--duration-normal) var(--ease-out),border-color var(--duration-normal) ease}.hero__highlights li:hover{padding-left:.35rem;border-color:#22d3ee40}.hero__highlight-num{transition:color var(--duration-fast) ease}.hero__highlights li:hover .hero__highlight-num{color:#fff}.footer__nav a{position:relative}.footer__nav a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--color-cyan-dark);transform:scaleX(0);transform-origin:right;transition:transform var(--duration-normal) var(--ease-out)}.footer__nav a:hover:after{transform:scaleX(1);transform-origin:left}@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal-stagger]>*,.hero [data-hero-item]{opacity:1!important;transform:none!important;animation:none!important}.section-label:before,.hero__eyebrow:before{transform:scaleX(1)!important}.btn:after{display:none}.service-card:hover,.stack__group:hover,.about__highlight:hover,.about__portrait:hover .about__photo-ring,.contact__card:hover,.logo:hover{transform:none!important}}:root{--color-bg: #fafafa;--color-bg-alt: #f0f1f3;--color-surface: #ffffff;--color-dark: #0f1218;--color-dark-soft: #1a1f2a;--color-text: #1c2129;--color-text-muted: #5c6573;--color-text-soft: #8b95a5;--color-border: #e4e7ec;--color-cyan: #06b6d4;--color-cyan-light: #22d3ee;--color-cyan-dark: #0891b2;--color-cyan-glow: rgba(6, 182, 212, .35);--font-sans: "Plus Jakarta Sans", system-ui, sans-serif;--font-display: "Manrope", "Plus Jakarta Sans", system-ui, sans-serif;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--radius-xl: 1.75rem;--shadow-sm: 0 1px 2px rgba(15, 18, 24, .04);--shadow-md: 0 8px 30px rgba(15, 18, 24, .06);--shadow-lg: 0 24px 60px rgba(15, 18, 24, .1);--shadow-cyan: 0 12px 40px var(--color-cyan-glow);--header-height: 4.5rem;--max-width: 72rem;--section-gap: clamp(5rem, 11vw, 8.5rem);--section-gap-lg: clamp(6.5rem, 14vw, 10.5rem);--section-header-gap: clamp(2.5rem, 5vw, 4rem)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.65;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--color-cyan);outline-offset:3px}.container{width:min(100% - 2rem,var(--max-width));margin-inline:auto}.section-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-cyan-dark)}.section-label:before{content:"";width:1.5rem;height:2px;background:linear-gradient(90deg,var(--color-cyan),transparent);transform:scaleX(0);transform-origin:left center}.section-title{margin-top:.875rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--color-text)}.section-lead{margin-top:1.25rem;max-width:38rem;font-size:1.0625rem;line-height:1.7;color:var(--color-text-muted)}.section{padding-block:var(--section-gap)}.section--spacious{padding-block:var(--section-gap-lg)}.section-header{margin-bottom:var(--section-header-gap)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md)}.btn--primary{color:var(--color-dark);background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan));box-shadow:var(--shadow-cyan)}.btn--primary:hover{box-shadow:0 16px 48px var(--color-cyan-glow)}.btn--ghost{color:#fff;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;backdrop-filter:blur(8px)}.btn--ghost:hover{border-color:#22d3ee80;background:#06b6d41f}.btn--outline{color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface)}.btn--outline:hover{border-color:var(--color-cyan);color:var(--color-cyan-dark)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cookie[data-astro-cid-garwan2p]{position:fixed;inset:auto 0 0;z-index:200;padding:1rem;pointer-events:none}.cookie[data-astro-cid-garwan2p]:not([hidden]){pointer-events:auto}.cookie__panel[data-astro-cid-garwan2p]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem 1.5rem;width:min(100%,var(--max-width));margin-inline:auto;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.cookie__text[data-astro-cid-garwan2p]{flex:1 1 18rem;min-width:0}.cookie__title[data-astro-cid-garwan2p]{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.cookie__desc[data-astro-cid-garwan2p]{margin-top:.5rem;font-size:.875rem;line-height:1.55;color:var(--color-text-muted)}.cookie__desc[data-astro-cid-garwan2p] a[data-astro-cid-garwan2p]{color:var(--color-cyan-dark);text-decoration:underline;text-underline-offset:2px}.cookie__desc[data-astro-cid-garwan2p] a[data-astro-cid-garwan2p]:hover{color:var(--color-cyan)}.cookie__actions[data-astro-cid-garwan2p]{display:flex;flex-wrap:wrap;gap:.625rem;flex-shrink:0}.cookie__btn[data-astro-cid-garwan2p]{padding:.7rem 1.15rem;font-size:.875rem}@media(max-width:640px){.cookie[data-astro-cid-garwan2p]{padding:.75rem}.cookie__panel[data-astro-cid-garwan2p]{padding:1.125rem}.cookie__actions[data-astro-cid-garwan2p]{width:100%}.cookie__btn[data-astro-cid-garwan2p]{flex:1 1 auto;justify-content:center}}.logo-img[data-astro-cid-tvrurpns]{display:block;width:auto;height:2rem}.logo-img--footer{height:1.75rem}
