:root{--bg:#f6f8fb;--bg-tint:#eef3f8;--bg-elevated:#ffffff;--border:rgba(20, 26, 34, 0.08);--border-hover:rgba(20, 26, 34, 0.18);--text:#141a22;--text-dim:#4b5563;--text-faint:#6b7280;--accent:#0c6e76;--accent-bright:#0e8a90;--accent-deep:#073e42;--accent-dim:rgba(12, 110, 118, 0.08);--accent-line:rgba(12, 110, 118, 0.35);--accent-text-on:#073e42;--water-aqua:rgba(179, 232, 224, 0.6);--water-sky:rgba(191, 220, 250, 0.55);--water-lavender:rgba(214, 206, 247, 0.5);--water-white:rgba(255, 255, 255, 0.75);--font-display:"Chakra Petch", var(--font-sans);--font-sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", "Consolas", monospace;--container:1120px;--radius:14px;--ease:cubic-bezier(0.16, 1, 0.3, 1);--transition-fast:160ms var(--ease);--transition:260ms var(--ease);--shadow-soft:0 1px 2px rgba(20, 26, 34, 0.04), 0 16px 40px -20px rgba(20, 26, 34, 0.14);--shadow-soft-hover:0 2px 4px rgba(20, 26, 34, 0.05), 0 28px 60px -24px rgba(20, 26, 34, 0.2)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}section[id]{scroll-margin-top:72px}a{color:inherit;text-decoration:none}ul,ol,dl{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.hero-in{animation:hero-fade-up .8s var(--ease)both;animation-delay:var(--d,0ms)}@keyframes hero-fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.kicker{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem}.hero__name{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0 0 .6rem}.section__inner{max-width:var(--container);margin:0 auto;padding:6.5rem 1.5rem}.section__inner--narrow{max-width:760px}.section__title{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;letter-spacing:-.005em;margin-bottom:1rem}.section__intro{color:var(--text-dim);font-size:1.05rem;max-width:640px;margin-bottom:3rem}.section__footnote{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:.95rem;max-width:720px}.tag{display:inline-block;font-family:var(--font-mono);font-size:.8rem;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:.35rem .8rem;background:rgba(255,255,255,.6)}.pill-list{display:flex;flex-wrap:wrap;gap:.6rem}.pill{font-size:.85rem;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;background:var(--bg-elevated);transition:border-color var(--transition-fast),color var(--transition-fast)}.pill--mono{font-family:var(--font-mono)}.pill:hover{border-color:var(--accent-line);color:var(--accent-deep)}.section--tint{background:var(--bg-tint)}.btn{display:inline-block;font-family:var(--font-mono);font-size:.9rem;font-weight:500;letter-spacing:.01em;padding:.85rem 1.6rem;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-bright);transform:translateY(-2px);box-shadow:0 14px 32px -12px rgba(12,110,118,.45)}.btn--secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.btn--secondary:hover{border-color:var(--accent-line);color:var(--accent-deep);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.btn--on-accent{background:#fff;color:var(--accent-text-on)}.btn--on-accent:hover{background:var(--accent-deep);color:#fff;transform:translateY(-2px);box-shadow:0 14px 32px -12px rgba(0,0,0,.35)}.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.7);backdrop-filter:blur(14px)saturate(1.4);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border)}.site-nav__inner{max-width:var(--container);margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:relative}.site-nav__brand{display:flex;align-items:baseline;font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:.02em;color:var(--text)}.site-nav__brand-mark{width:6px;height:6px;margin-left:4px;border-radius:1px;background:var(--accent);transition:background-color var(--transition-fast),transform var(--transition-fast)}.site-nav__brand:hover .site-nav__brand-mark{background:var(--accent-bright);transform:scale(1.3)}.site-nav__links{display:flex;align-items:center;gap:2rem}.site-nav__links a{font-family:var(--font-mono);font-size:.85rem;color:var(--text-dim);position:relative;padding-bottom:.2rem;transition:color var(--transition-fast)}.site-nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width var(--transition-fast)}.site-nav__links a:hover,.site-nav__links a.is-active{color:var(--text)}.site-nav__links a:hover::after,.site-nav__links a.is-active::after{width:100%}.site-nav__cta{font-family:var(--font-mono);color:var(--text)!important;border:1px solid var(--border);border-radius:999px;padding:.45rem 1rem}.site-nav__cta:hover{border-color:var(--accent-line);color:var(--accent-deep)!important}.site-nav__cta::after{display:none}.site-nav__toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:44px;cursor:pointer;padding:.5rem;background:0 0;border:none}.site-nav__toggle span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform var(--transition-fast),opacity var(--transition-fast)}.site-nav__toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px)rotate(45deg)}.site-nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.site-nav__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:4rem;background:var(--bg)}.hero__water{position:absolute;inset:0;overflow:hidden}.hero__blob{position:absolute;border-radius:42% 58% 63% 37%/48% 42% 58% 52%;filter:blur(70px);will-change:transform}.hero__blob--1{top:-10%;left:-8%;width:55vmax;height:55vmax;background:var(--water-sky);animation:blob-drift-1 38s var(--ease)infinite alternate}.hero__blob--2{top:10%;right:-15%;width:48vmax;height:48vmax;background:var(--water-aqua);animation:blob-drift-2 44s var(--ease)infinite alternate}.hero__blob--3{bottom:-20%;left:15%;width:50vmax;height:50vmax;background:var(--water-lavender);animation:blob-drift-3 50s var(--ease)infinite alternate}.hero__blob--4{top:35%;left:35%;width:32vmax;height:32vmax;background:var(--water-white);animation:blob-drift-1 32s var(--ease)infinite alternate-reverse}@keyframes blob-drift-1{from{transform:translate3d(0,0,0)scale(1)rotate(0)}to{transform:translate3d(4%,6%,0)scale(1.12)rotate(8deg)}}@keyframes blob-drift-2{from{transform:translate3d(0,0,0)scale(1)rotate(0)}to{transform:translate3d(-6%,4%,0)scale(1.08)rotate(-10deg)}}@keyframes blob-drift-3{from{transform:translate3d(0,0,0)scale(1)rotate(0)}to{transform:translate3d(3%,-5%,0)scale(1.15)rotate(6deg)}}.hero__scrim{position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 32% 42%,rgba(255,255,255,.55),transparent 70%);pointer-events:none}.hero__inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:2rem 1.5rem;display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:center;width:100%}.hero__title{font-family:var(--font-display);font-size:clamp(2.1rem,4.2vw,3.5rem);font-weight:600;letter-spacing:-.01em;line-height:1.14;margin-bottom:1.4rem;color:var(--text)}.hero__subtitle{font-size:1.1rem;color:var(--text-dim);max-width:620px;margin-bottom:1rem}.hero__credibility{font-family:var(--font-mono);font-size:.85rem;color:var(--text-faint);margin-bottom:1.8rem}.hero__meta{margin-bottom:2rem}.hero__photo{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);aspect-ratio:1/1;background:var(--bg-elevated);box-shadow:0 30px 70px -30px rgba(20,26,34,.28)}.hero__photo img{width:100%;height:100%;object-fit:cover}.servicios__bloque{margin-bottom:4rem}.servicios__bloque:last-child{margin-bottom:0}.servicios__bloque-head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1rem}.servicios__bloque-num{font-family:var(--font-mono);color:var(--accent);font-size:1.05rem;font-weight:600}.servicios__bloque-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.servicios__bloque-kicker{color:var(--text-dim);font-size:1.05rem;max-width:720px;margin-bottom:2.5rem}.servicios__web-copy{max-width:720px}.servicios__web-copy p{color:var(--text-dim);font-size:1rem;margin-bottom:1.1rem}.servicios__web-copy .card__meta{margin-top:1.3rem}.servicios__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow-soft);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.card:hover{transform:translateY(-5px);border-color:var(--accent-line);box-shadow:var(--shadow-soft-hover)}.card__icon{width:34px;height:34px;color:var(--accent);margin-bottom:1.1rem;transition:transform var(--transition)}.card:hover .card__icon{transform:scale(1.08)}.card__title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:.8rem}.card__desc{color:var(--text-dim);font-size:.95rem;margin-bottom:1rem}.card__meta{font-size:.85rem;color:var(--text-faint);margin-top:.4rem}.card__meta-label{color:var(--text-dim);font-family:var(--font-mono)}.card--discreto{padding:1.3rem 1.8rem;background:0 0;box-shadow:none}.card--discreto .card__icon{width:24px;height:24px;margin-bottom:.7rem;opacity:.75}.card--discreto .card__title{font-size:1rem}.card--discreto .card__desc{font-size:.88rem}.proceso{display:flex;flex-direction:column;gap:1.4rem;margin-bottom:3rem;counter-reset:step}.proceso__item{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;align-items:baseline;padding-bottom:1.4rem;border-bottom:1px solid var(--border)}.proceso__item:last-child{border-bottom:none}.proceso__num{font-family:var(--font-mono);color:var(--accent);font-size:.95rem}.proceso__text{color:var(--text-dim)}.proceso__text strong{color:var(--text);font-weight:600}.proceso-divider{padding-top:2rem;margin-bottom:2rem;border-top:1px solid var(--border)}.proceso-divider__title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:.7rem}.proceso-divider__intro{color:var(--text-dim);font-size:1.05rem;max-width:640px}.como-trabajo__estandares{margin-bottom:1rem}.como-trabajo__estandares-label{display:block;font-family:var(--font-mono);font-size:.8rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.muestra{background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.1),transparent 40%),linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fff;--text:#fff;--text-dim:rgba(255, 255, 255, 0.86);--text-faint:rgba(255, 255, 255, 0.65)}.muestra .kicker{color:rgba(255,255,255,.85)}.muestra .section__title{color:#fff}.muestra__text{font-size:1.05rem;margin-bottom:2rem}.muestra__text em{color:#fff;font-style:normal;font-family:var(--font-mono);font-size:.95rem}.sobre-mi__bio{color:var(--text-dim);font-size:1.05rem;max-width:720px;margin-bottom:1.2rem}.sobre-mi__bio+.sobre-mi__bio{margin-bottom:.8rem}.sobre-mi__linkedin{font-size:.9rem;color:var(--text-faint);margin-bottom:3rem}.sobre-mi__linkedin a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.sobre-mi__linkedin a:hover{color:var(--accent-deep)}.sobre-mi__subhead{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:2.5rem 0 1.2rem}.sobre-mi__subhead:first-of-type{margin-top:0}.trayectoria{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.trayectoria__item{display:flex;flex-wrap:wrap;gap:.3rem 1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.trayectoria__item:last-child{border-bottom:none}.trayectoria__periodo{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);min-width:9rem}.trayectoria__rol{color:var(--text-dim);font-size:.95rem}.trayectoria__rol strong{color:var(--text)}.certis{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.certis__label{display:block;font-family:var(--font-mono);font-size:.8rem;color:var(--text-faint);margin-bottom:.8rem}.certis__col ul{display:flex;flex-direction:column;gap:.5rem}.certis__col li{color:var(--text-dim);font-size:.92rem}.certis__item--destacada{color:var(--text);font-weight:600}.certis__star{color:var(--accent);font-size:.85rem}.contacto__text{font-size:1.1rem;margin-bottom:.8rem}.contacto__scoping{color:var(--text-dim);font-size:.95rem;margin-bottom:2rem}.contacto__details{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:2rem;border-top:1px solid var(--border)}.contacto__details dt{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:.4rem}.contacto__details dd{margin:0;font-size:.95rem}.contacto__details a{transition:color var(--transition-fast)}.contacto__details a:hover{color:var(--accent)}.faq__list{display:flex;flex-direction:column;gap:.9rem}.faq__item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.5rem;box-shadow:var(--shadow-soft);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.faq__item:hover{border-color:var(--accent-line)}.faq__item[open]{box-shadow:var(--shadow-soft-hover)}.faq__question{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:1.02rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}.faq__question::-webkit-details-marker{display:none}.faq__question::after{content:"+";flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1.1rem;color:var(--accent);border:1px solid var(--border);border-radius:50%;transition:transform var(--transition-fast)}.faq__item[open] .faq__question::after{content:"−"}.faq__answer{color:var(--text-dim);font-size:.95rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.error-page{min-height:70vh;display:flex;align-items:center;padding-top:4rem}.error-page__text{color:var(--text-dim);font-size:1.05rem;margin-bottom:2rem}.site-footer{max-width:var(--container);margin:0 auto;padding:2.5rem 1.5rem 3rem;display:flex;justify-content:space-between;color:var(--text-faint);font-size:.85rem;border-top:1px solid var(--border)}@media(max-width:860px){.hero__inner{grid-template-columns:1fr}.hero__photo{max-width:240px;margin:0 auto;order:-1}.hero__text{text-align:left}.servicios__grid{grid-template-columns:1fr}.certis{grid-template-columns:1fr;gap:1.5rem}.contacto__details{grid-template-columns:1fr;gap:1.2rem}.site-nav__toggle{display:flex}.site-nav__links{position:absolute;top:calc(100% + 1px);left:0;right:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:0;max-height:0;overflow:hidden;transition:max-height var(--transition)}.site-nav__links.is-open{max-height:400px}.site-nav__links li{width:100%}.site-nav__links a{display:block;padding:1rem 1.5rem;width:100%}.site-nav__cta{margin:.5rem 1.5rem;display:inline-block}.section__inner{padding:4.5rem 1.25rem}}