@font-face{font-family:Gallaecia;src:url(/fonts/gallaecia.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vila Morena;src:url(/fonts/vilamorena.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg-primary: #eef2ea;--bg-secondary: #e2e8da;--bg-tertiary: #f7faf3;--text-primary: #223129;--text-secondary: #5a685f;--text-muted: #6b7566;--accent: #83DEB5;--accent-text: #2B9B6A;--accent-hover: #6bc89e;--accent-light: #d9f5e8;--border: rgba(34, 49, 41, .12);--shadow: rgba(41, 45, 37, .08);--sage: #78886f;--blue: #7f918d;--gold: #b8a274;--accent-subtle: rgba(131, 222, 181, .1);--font-display: "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: clamp(1.5rem, 3vw, 2rem);--text-2xl: clamp(2.15rem, 4vw + .6rem, 3.8rem);--text-3xl: clamp(2.5rem, 6vw, 5rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 10rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .4s}[data-theme=dark]{--bg-primary: #151b18;--bg-secondary: #1c2320;--bg-tertiary: #232c28;--text-primary: #eef3ea;--text-secondary: #c1c8be;--text-muted: #8d948b;--accent: #83DEB5;--accent-text: #83DEB5;--accent-hover: #a5e8ca;--accent-light: #1a3328;--accent-subtle: rgba(131, 222, 181, .12);--border: rgba(238, 243, 234, .12);--shadow: rgba(0, 0, 0, .28);--sage: #91a08a;--blue: #8da29c;--gold: #c6b083}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;will-change:transform}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-secondary)}body{font-family:var(--font-body);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 18%),linear-gradient(90deg,color-mix(in srgb,var(--sage) 4%,transparent),transparent 18%,transparent 82%,color-mix(in srgb,var(--gold) 4%,transparent)),var(--bg-primary);color:var(--text-primary);line-height:1.68;letter-spacing:-.01em;overflow-x:hidden;-webkit-font-smoothing:antialiased}html.theme-transitioning,html.theme-transitioning body,html.theme-transitioning .nav,html.theme-transitioning .mobile-menu,html.theme-transitioning .hero__gradient-bg,html.theme-transitioning .section,html.theme-transitioning .experience__item,html.theme-transitioning .project,html.theme-transitioning .case-study,html.theme-transitioning .about__principles,html.theme-transitioning .footer,html.theme-transitioning .btn,html.theme-transitioning .theme-toggle,html.theme-transitioning .nav__menu-btn,html.theme-transitioning .scroll-progress,html.theme-transitioning .skip-to-content,html.theme-transitioning .experience__stack-tag,html.theme-transitioning .project__tag,html.theme-transitioning .project__badge,html.theme-transitioning .stack-tag{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}::selection{background-color:var(--accent);color:var(--bg-primary)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.home__bio a,.case-block a,.case-block__content a{color:var(--accent-text);background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-out);padding-bottom:1px}.home__bio a:hover,.case-block a:hover,.case-block__content a:hover{background-size:100% 1.5px}button{font-family:inherit;cursor:pointer;border:none;background:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}@media(min-width:768px){.container{padding:0 var(--space-lg)}}.section{padding:var(--space-2xl) 0}@media(min-width:768px){.section{padding:var(--space-3xl) 0}}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);z-index:200;transform:scaleX(0);transform-origin:left;transition:transform .1s linear}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-md) 0;transition:background-color var(--duration-normal) ease,backdrop-filter var(--duration-normal) ease,padding var(--duration-normal) ease}.nav.scrolled{background-color:color-mix(in srgb,var(--bg-primary) 90%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-sm) 0}.nav__inner{display:flex;justify-content:space-between;align-items:center}.nav__logo{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;transition:opacity var(--duration-fast) ease}.nav--home .nav__logo{opacity:0;pointer-events:none}.nav__right{display:flex;align-items:center;gap:var(--space-md)}.nav__links{display:none;gap:var(--space-lg);list-style:none}@media(min-width:900px){.nav__links{display:flex}}.nav__link{font-size:var(--text-sm);color:var(--text-secondary);transition:color var(--duration-fast) ease;position:relative}.nav__link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background-color:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform var(--duration-normal) var(--ease-out)}.nav__link.active{color:var(--text-primary)}.nav__link.active:after{transform:scaleX(1);transform-origin:left}.theme-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--bg-secondary);transition:background-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-bounce)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:20px;height:20px;color:var(--text-primary);transition:transform .5s var(--ease-bounce)}.theme-toggle .sun{display:none}.theme-toggle .moon,[data-theme=dark] .theme-toggle .sun{display:block}[data-theme=dark] .theme-toggle .moon{display:none}.nav__menu-btn{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:50%;background-color:var(--bg-secondary);transition:background-color var(--duration-fast) ease}@media(min-width:900px){.nav__menu-btn{display:none}}.nav__menu-btn span{display:block;width:18px;height:2px;background-color:var(--text-primary);border-radius:1px;transition:transform var(--duration-fast) ease,opacity var(--duration-fast) ease}.nav__menu-btn.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav__menu-btn.active span:nth-child(2){opacity:0}.nav__menu-btn.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:99;background-color:color-mix(in srgb,var(--bg-primary) 95%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}.mobile-menu.active{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s 0s}.mobile-menu__link{font-family:var(--font-display);font-size:clamp(2rem,6vw + .5rem,3.5rem);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s var(--ease-out),color var(--duration-fast) ease}.mobile-menu.active .mobile-menu__link{opacity:1;transform:translateY(0)}.mobile-menu.active .mobile-menu__link:nth-child(1){transition-delay:.05s}.mobile-menu.active .mobile-menu__link:nth-child(2){transition-delay:.1s}.mobile-menu.active .mobile-menu__link:nth-child(3){transition-delay:.15s}.mobile-menu.active .mobile-menu__link:nth-child(4){transition-delay:.2s}.mobile-menu.active .mobile-menu__link:nth-child(5){transition-delay:.25s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:.9rem 1.3rem;border-radius:1rem;transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.btn--primary{background-color:var(--text-primary);color:var(--bg-primary)}.btn--primary:active{transform:translateY(0) scale(.97)}.btn--secondary{background-color:color-mix(in srgb,var(--bg-secondary) 74%,transparent);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:active{transform:translateY(0) scale(.97)}.btn svg{width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out)}.section__header{margin-bottom:var(--space-xl)}.section__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.035em}.section__title:after{content:"";display:block;width:0;height:2px;margin-top:.4em;background:var(--accent);border-radius:2px;transition:width 1s var(--ease-out) .3s}.reveal.visible .section__title:after{width:clamp(40px,8vw,80px)}.section__subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-top:var(--space-sm)}.case-study{background:color-mix(in srgb,var(--bg-secondary) 78%,transparent)}.case-study--page{background:transparent;padding-top:var(--space-xl)}.case-blocks{display:grid;gap:var(--space-xl);max-width:800px;margin:0 auto}.case-block{display:grid;gap:var(--space-md);position:relative}.case-block+.case-block:before{content:"";position:absolute;top:calc(-1 * var(--space-xl) / 2);left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--border),transparent)}@media(min-width:600px){.case-block{grid-template-columns:140px 1fr;gap:var(--space-lg)}}.case-block__label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-text);padding-top:var(--space-md)}.case-block__content{color:var(--text-secondary);line-height:1.8}.case-block__content p+p{margin-top:var(--space-sm)}.case-block__highlight{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text-primary);line-height:1.4;letter-spacing:-.01em;margin-bottom:var(--space-sm)}.case-block__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.case-block__list li{display:flex;align-items:flex-start;gap:var(--space-sm)}.case-block__list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:.55rem}.stack-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--space-md)}.stack-tag{padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:.5rem;font-family:var(--font-body);font-size:var(--text-sm);border:1px solid var(--border)}.case-study__cta{margin-top:var(--space-2xl);display:flex;justify-content:flex-start}.case-study-page-shell{padding-top:4.5rem}.crypto-demo-intro{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.crypto-demo-intro__text{font-size:var(--text-base);color:var(--text-secondary);line-height:1.6;max-width:42rem}.case-study-page__back{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.25rem 0;margin-bottom:0;color:var(--text-secondary);font-size:.875rem;transition:color var(--duration-fast) ease}.case-study-page__back:hover{color:var(--accent)}.case-study-page__hero{max-width:900px;margin-bottom:var(--space-xl)}.case-study-page__cover{display:block;width:100%;max-width:200px;border-radius:12px;margin:0 auto var(--space-sm)}@media(max-width:480px){.case-study-page__hero{margin-bottom:var(--space-md)}.case-study-page__cover{max-width:160px;border-radius:10px;margin-bottom:var(--space-xs)}.case-study-page__title,.case-study-page__eyebrow{margin-bottom:var(--space-sm)}.case-study-page__highlights{margin-top:var(--space-md);gap:.5rem}.case-study-page__highlight{padding:.75rem;font-size:.85rem}}.case-study-page__eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-body);color:var(--accent-text);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-md)}.case-study-page__eyebrow:before{content:"";width:36px;height:1px;background:currentColor}.case-study-page__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;line-height:1;letter-spacing:-.03em;margin-bottom:var(--space-md)}.case-study-page__summary{max-width:62ch;color:var(--text-secondary);font-size:var(--text-base);line-height:1.8}.case-study-page__highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:var(--space-xl)}.case-study-page__highlight{padding:1rem;border-radius:1rem;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);line-height:1.55}.case-study-page__cta{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-md);padding:.75rem 1.5rem;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--bg-primary);background:var(--accent);border-radius:8px;text-decoration:none;letter-spacing:.01em;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.case-study-page__cta:hover{background:var(--accent-hover);transform:translateY(-1px)}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--border)}.footer__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.footer__copy{font-size:var(--text-sm);color:var(--text-muted)}.footer__status{display:flex;align-items:center;gap:.75rem;font-size:var(--text-sm);color:var(--text-muted)}.footer__sentidino{font-family:Vila Morena,Georgia,serif}.footer__cta{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.footer__email{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--accent-text);text-decoration:none;transition:opacity var(--duration-fast) ease}.footer__email:hover{opacity:.75}.footer__social{display:flex;gap:.25rem}.footer__social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-muted);transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.footer__social a:hover{color:var(--accent-text);background:var(--accent-subtle)}.footer__social svg{width:17px;height:17px}.footer__bottom{display:flex;align-items:center;justify-content:space-between;width:100%}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .reveal-left{opacity:0;transform:translate(-30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.js .reveal-left.visible{opacity:1;transform:translate(0)}.js .reveal-right{opacity:0;transform:translate(30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.js .reveal-right.visible{opacity:1;transform:translate(0)}.js .reveal-scale{opacity:0;transform:scale(.97);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.js .reveal-scale.visible{opacity:1;transform:scale(1)}@media(max-width:480px){.lang-switcher__link{min-width:2rem;min-height:2rem;padding:.375rem .25rem}.lang-switcher{gap:.125rem}.nav__right{gap:.5rem}}@media(max-width:374px){.container{padding:0 var(--space-sm)}}@media(max-width:768px){.js .reveal{transform:translateY(12px);transition-duration:.5s}.js .reveal-left{transform:translate(-12px);transition-duration:.5s}.js .reveal-right{transform:translate(12px);transition-duration:.5s}.js .section-reveal{transform:translateY(10px);transition-duration:.5s}}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;background:var(--accent);color:var(--text-primary);border-radius:0 0 .5rem .5rem;font-size:.875rem;font-weight:500;z-index:200;transition:top var(--duration-fast) ease}.skip-to-content:focus{top:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:focus:not(:focus-visible){outline:none}a[target=_blank]:after{content:" ↗";font-size:.75em;vertical-align:super;opacity:.6}a[target=_blank][aria-label]:after,a[target=_blank].card__social-link:after,a[target=_blank].btn:after,.card__social a[target=_blank]:after{content:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}html{scroll-behavior:auto}.js .reveal,.js .reveal-left,.js .reveal-right,.js .reveal-scale,.js .section-reveal,.char-reveal__char{opacity:1;transform:none}.home__project{opacity:1!important;transform:none!important}}.blog{padding:calc(var(--space-3xl) + 4rem) 0 var(--space-3xl);min-height:100vh}.blog__header{margin-bottom:var(--space-2xl)}.blog__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.blog__subtitle{font-size:var(--text-base);color:var(--text-secondary);max-width:40ch}.blog__empty{color:var(--text-muted);font-size:var(--text-md);padding:var(--space-2xl) 0}.blog-locale-note{max-width:44rem;padding:var(--space-xl);border-radius:1.25rem;border:1px solid var(--border);background:var(--bg-secondary)}.blog-locale-note--post{margin-top:var(--space-lg)}.blog-locale-note__text{color:var(--text-secondary);font-size:1rem;line-height:1.8;margin-bottom:var(--space-lg)}.blog__list{display:flex;flex-direction:column;gap:var(--space-lg)}.blog__back{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 0;margin-top:var(--space-2xl);color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color var(--duration-fast) ease}.blog__back:hover{color:var(--accent)}.blog-card{display:block;text-decoration:none;padding:var(--space-lg);border-radius:1rem;border:1px solid var(--border);background:var(--bg-secondary);transition:border-color var(--duration-fast) ease,transform var(--duration-fast) ease}.blog-card__date{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.blog-card__title{font-family:var(--font-body);font-weight:700;font-size:var(--text-xl);color:var(--text-primary);margin:var(--space-xs) 0;line-height:1.3}.blog-card__description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6}.blog-card__meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);font-size:.8125rem;color:var(--text-muted)}.blog-card__tags{display:flex;gap:.375rem;flex-wrap:wrap}.blog-card__tag{background:var(--bg-primary);padding:.125rem .5rem;border-radius:100px;font-size:.75rem;color:var(--text-secondary);border:1px solid transparent;transition:opacity var(--duration-fast) ease}.blog-card__tag[data-tag=código]{background:color-mix(in srgb,var(--sage) 15%,var(--bg-primary));color:var(--sage);border-color:color-mix(in srgb,var(--sage) 20%,transparent)}.blog-card__tag[data-tag=infra]{background:color-mix(in srgb,var(--blue) 15%,var(--bg-primary));color:var(--blue);border-color:color-mix(in srgb,var(--blue) 20%,transparent)}.blog-card__tag[data-tag=producto]{background:color-mix(in srgb,var(--gold) 15%,var(--bg-primary));color:var(--gold);border-color:color-mix(in srgb,var(--gold) 20%,transparent)}.blog-card__tag[data-tag=vida]{background:color-mix(in srgb,var(--accent) 12%,var(--bg-primary));color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.blog-card__tag[data-tag=aprendizaje]{background:color-mix(in srgb,var(--accent) 8%,color-mix(in srgb,var(--gold) 8%,var(--bg-primary)));color:color-mix(in srgb,var(--accent) 50%,var(--gold));border-color:color-mix(in srgb,var(--accent) 12%,transparent)}.blog-post{padding:calc(var(--space-3xl) + 4rem) 0 var(--space-3xl)}.blog-post__back{display:inline-block;color:var(--text-secondary);text-decoration:none;font-size:.875rem;margin-bottom:var(--space-xl);transition:color var(--duration-fast) ease}.blog-post__back:hover{color:var(--accent)}.blog-post__back--bottom{margin-top:var(--space-2xl);margin-bottom:0}.blog-post__header{margin-bottom:var(--space-2xl);max-width:42rem}.blog-post__date{font-size:.8125rem;color:var(--text-muted)}.blog-post__title{font-family:var(--font-body);font-weight:700;font-size:var(--text-2xl);color:var(--text-primary);margin:var(--space-sm) 0;line-height:1.2}.blog-post__description{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6}.blog-post__readtime{font-size:.8125rem;color:var(--text-muted);margin-top:var(--space-xs);display:block}.prose{max-width:42rem;font-size:clamp(1rem,2vw,1.0625rem);color:var(--text-secondary);line-height:1.8}.prose h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:var(--space-xl) 0 var(--space-sm)}.prose h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:var(--space-lg) 0 var(--space-xs)}.prose p{margin-bottom:var(--space-md)}.prose strong{color:var(--text-primary);font-weight:600}.prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.prose a:hover{opacity:.8}.prose ul,.prose ol{margin:var(--space-sm) 0 var(--space-md);padding-left:1.5rem}.prose li{margin-bottom:.375rem}.prose li::marker{color:var(--accent)}.prose code{background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-size:.875em}.prose pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.75rem;padding:var(--space-md);overflow-x:auto;margin:var(--space-md) 0}.prose pre code{background:none;padding:0;font-size:.875rem}.prose blockquote{border-left:3px solid var(--accent);padding-left:var(--space-md);color:var(--text-muted);font-style:italic;margin:var(--space-md) 0}.prose hr{border:none;border-top:1px solid var(--border);margin:var(--space-xl) 0}.prose .yt-embed{position:relative;width:100%;padding-bottom:56.25%;margin-bottom:var(--space-md);border-radius:.75rem;overflow:hidden;background:var(--bg-secondary)}.prose .yt-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}@media(max-width:720px){.blog,.blog-post{padding-top:calc(var(--space-2xl) + 4rem)}.blog-card{padding:var(--space-md)}.blog-card__meta{flex-wrap:wrap}.blog-locale-note{padding:var(--space-lg)}}.case-study:not(.case-study--page){background:transparent;padding-top:var(--space-xl)}.case-study-teaser{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:var(--space-xl);align-items:end;padding:clamp(1.4rem,2vw,2rem);border:1px solid var(--border);border-radius:1.75rem;background:color-mix(in srgb,var(--bg-secondary) 90%,transparent);transition:transform var(--duration-normal) var(--ease-out),border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.case-study-teaser__eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--accent-text);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-md)}.case-study-teaser__eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.case-study-teaser__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.04em;margin-bottom:.75rem}.case-study-teaser__text{max-width:34ch;color:var(--text-secondary);line-height:1.75}.case-study-teaser__meta{display:grid;gap:1rem;justify-items:start}.case-study-teaser__chips{display:flex;flex-wrap:wrap;gap:.65rem}.case-study-teaser__chip{padding:.65rem .85rem;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;line-height:1.4}.case-study-teaser__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:500}.case-study-teaser__link svg{width:16px;height:16px}@media(max-width:960px){.case-study-teaser{grid-template-columns:1fr}}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:var(--space-xl)}.not-found__title{font-family:var(--font-display);font-size:clamp(4rem,12vw,8rem);color:var(--text-primary);line-height:1;opacity:.15}.not-found__text{font-size:var(--text-md);color:var(--text-secondary);margin:var(--space-sm) 0 var(--space-lg);max-width:30ch}.not-found__link{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1.5rem;background:var(--accent);color:var(--text-primary);text-decoration:none;border-radius:100px;font-size:.875rem;font-weight:500;transition:opacity var(--duration-fast) ease}.not-found__link:hover{opacity:.85}.char-reveal{display:inline}.char-reveal__char{display:inline-block;opacity:0;transform:translateY(6px);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.char-reveal__char--visible{opacity:1;transform:translateY(0)}.js .section-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.js .section-reveal--visible{opacity:1;transform:translateY(0)}@media print{body:after,.nav,.scroll-progress,.mobile-menu,.theme-toggle,.skip-to-content,.footer__status:before{display:none!important}body{background:#fff;color:#000}a{color:inherit}*{animation:none!important;transition:none!important}.footer{border-top:1px solid #ccc}}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}::view-transition-old(root){animation:vt-fade-out .22s ease-in 80ms both;z-index:2}::view-transition-new(root){animation:vt-fade-in .2s ease-out .1s both;z-index:1}.nav{view-transition-name:header}::view-transition-old(header),::view-transition-new(header){animation:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}a:active,button:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.nav__logo:hover{opacity:.7}.nav__link:hover{color:var(--text-primary)}.nav__link:hover:after{transform:scaleX(1);transform-origin:left}.theme-toggle:hover{transform:scale(1.1)}.theme-toggle:hover svg{transform:rotate(20deg)}.mobile-menu__link:hover{color:var(--accent)}.btn--primary:hover{background-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px var(--shadow)}.btn--secondary:hover{background-color:var(--bg-secondary);border-color:var(--text-muted);transform:translateY(-1px)}.btn:hover svg{transform:translate(4px)}.case-study-teaser:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 18px 60px var(--shadow)}.blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px var(--shadow)}.case-study-page__back:hover{color:var(--text-primary)}.case-study-page__cta:hover{opacity:.85}.cflow-dot:hover{opacity:.7!important}}@media(hover:none){.nav__logo:hover,.nav__link:hover,.theme-toggle:hover,.btn--primary:hover,.btn--secondary:hover,.case-study-teaser:hover,.blog-card:hover{transform:none;box-shadow:none}}.btn,.case-study-teaser,.blog-card,.theme-toggle,.nav__menu-btn{will-change:transform}.nav__link{position:relative;min-height:44px;display:inline-flex;align-items:center}.case-study-page__back,.blog__back,.blog-post__back{min-height:44px;display:inline-flex;align-items:center}.case-study-teaser,.blog-card{-webkit-backface-visibility:hidden;backface-visibility:hidden}.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}.lang-switcher[data-astro-cid-a2mxz4y6]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;letter-spacing:.05em}.lang-switcher__sep[data-astro-cid-a2mxz4y6]{color:var(--text-muted);user-select:none}.lang-switcher__link[data-astro-cid-a2mxz4y6]{color:var(--text-secondary);text-decoration:none;padding:.625rem .5rem;min-width:2.75rem;min-height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background-color .2s}.lang-switcher__link[data-astro-cid-a2mxz4y6]:hover{color:var(--text-primary)}.lang-switcher__link[data-astro-cid-a2mxz4y6].active{color:var(--accent);font-weight:600}
