:root {--bg: #efe7da;--paper: #f8f3eb;--paper-strong: #fffdf8;--ink: #151515;--muted: #625b52;--line: rgba(21, 21, 21, 0.1);--blue: #165dff;--blue-deep: #0f43b7;--sand: #dbc6ab;--sand-deep: #c7ab88;--dark: #101010;--dark-soft: #1b1b1b;--white: #ffffff;--shadow: 0 24px 60px rgba(36, 27, 16, 0.12);--radius-xl: 34px;--radius-lg: 24px;--radius-md: 18px;--max-width: 1240px;}* {box-sizing: border-box;}html {scroll-behavior: smooth;}body {margin: 0;color: var(--ink);font-family: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;background:radial-gradient(circle at top right, rgba(22, 93, 255, 0.08), transparent 18%),linear-gradient(180deg, #f3ecdf 0%, #efe7da 100%);}body::before {content: "";position: fixed;inset: 0;pointer-events: none;background-image: linear-gradient(rgba(21, 21, 21, 0.035) 1px, transparent 1px);background-size: 100% 46px;opacity: 0.5;}a {color: inherit;text-decoration: none;}img {display: block;max-width: 100%;}.page-shell {position: relative;width: min(calc(100% - 32px), var(--max-width));margin: 18px auto;}.site-header {position: sticky;top: 14px;z-index: 30;display: flex;align-items: center;justify-content: space-between;gap: 20px;padding: 14px 18px;border: 1px solid rgba(255, 255, 255, 0.7);border-radius: 999px;background: rgba(255, 252, 246, 0.84);backdrop-filter: blur(18px);-webkit-backdrop-filter: blur(18px);box-shadow: 0 14px 30px rgba(45, 34, 18, 0.08);}.brand {display: inline-flex;align-items: center;gap: 12px;}.brand-mark {display: grid;place-items: center;width: 48px;height: 48px;border-radius: 14px;background: linear-gradient(135deg, var(--blue), var(--blue-deep));color: var(--white);font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-weight: 700;}.brand-copy {display: flex;flex-direction: column;line-height: 1.1;}.brand-copy small,.site-nav {color: var(--muted);}.site-nav {display: flex;gap: 22px;margin-left: auto;align-items: center;font-size: 0.95rem;}.lang-switch {display: inline-flex;flex-shrink: 0;align-items: center;gap: 6px;margin-left: 12px;padding: 4px;border: 1px solid rgba(21, 21, 21, 0.08);border-radius: 999px;background: rgba(255, 255, 255, 0.56);}.lang-btn {min-width: 42px;height: 34px;border: 0;padding: 0 12px;border-radius: 999px;background: transparent;color: var(--muted);font-size: 0.78rem;font-weight: 800;letter-spacing: 0.08em;cursor: pointer;transition: background 0.2s ease, color 0.2s ease;}.lang-btn.is-active {background: var(--ink);color: var(--white);}.site-nav a {position: relative;}.site-nav a::after {content: "";position: absolute;left: 0;bottom: -5px;width: 100%;height: 1px;transform: scaleX(0);transform-origin: left;background: var(--ink);transition: transform 0.22s ease;}.site-nav a:hover::after,.site-nav a:focus-visible::after {transform: scaleX(1);}.nav-toggle {display: none;align-items: center;justify-content: center;width: 46px;height: 46px;border: 0;padding: 0;border-radius: 14px;background: rgba(255, 255, 255, 0.72);box-shadow: inset 0 0 0 1px rgba(21, 21, 21, 0.08);}.nav-toggle span {display: block;width: 20px;height: 2px;margin: 4px 0;background: var(--ink);transition: 0.25s ease;}.hero {display: grid;grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);gap: 34px;align-items: end;padding: 54px 0 30px;}.hero-copy {padding: 28px 0 18px;}.eyebrow {margin: 0 0 18px;color: var(--blue);font-size: 0.82rem;font-weight: 800;letter-spacing: 0.14em;text-transform: uppercase;}.hero-kicker {margin: 0 0 14px;max-width: 34ch;color: var(--muted);font-size: 1rem;font-weight: 700;}.hero-copy h1,.section-heading h2,.cta-card h2 {margin: 0;font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-weight: 700;letter-spacing: -0.06em;}.hero-copy h1 {max-width: 13.5ch;font-size: clamp(2.6rem, 4.8vw, 5rem);line-height: 0.95;}.hero-text {max-width: 62ch;margin: 26px 0 0;color: var(--muted);font-size: 1.05rem;line-height: 1.95;}.hero-actions,.cta-actions {display: flex;flex-wrap: wrap;gap: 14px;margin-top: 28px;}.button {display: inline-flex;align-items: center;justify-content: center;min-height: 54px;padding: 0 22px;border: 1px solid transparent;border-radius: 999px;font-weight: 800;transition: transform 0.2s ease, box-shadow 0.2s ease;}.button:hover,.button:focus-visible {transform: translateY(-2px);}.button-primary {color: var(--white);background: linear-gradient(135deg, var(--blue), var(--blue-deep));box-shadow: 0 14px 30px rgba(22, 93, 255, 0.2);}.button-secondary,.button-ghost {border-color: var(--line);background: rgba(255, 255, 255, 0.55);}.button-ghost {background: rgba(219, 198, 171, 0.35);}.hero-ribbon {display: flex;flex-wrap: wrap;gap: 10px;margin-top: 30px;}.hero-ribbon span,.stack-level {display: inline-flex;align-items: center;min-height: 38px;padding: 0 14px;border-radius: 999px;font-size: 0.76rem;font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase;}.hero-ribbon span {background: rgba(255, 255, 255, 0.64);border: 1px solid rgba(21, 21, 21, 0.08);}.hero-visual {position: relative;min-height: auto;isolation: isolate;}.hero-card {position: relative;inset: auto;z-index: 1;padding: 24px;border-radius: var(--radius-xl);background: var(--paper-strong);border: 1px solid rgba(21, 21, 21, 0.08);box-shadow: var(--shadow);}.hero-card::before {content: "";position: absolute;inset: -22px 34px auto auto;width: 140px;height: 140px;border-radius: 50%;background: rgba(22, 93, 255, 0.08);}.identity-topline {position: relative;z-index: 1;display: flex;justify-content: space-between;gap: 16px;margin-bottom: 16px;color: var(--muted);font-size: 0.88rem;font-weight: 700;}.portrait-wrap {position: relative;z-index: 1;overflow: hidden;display: grid;place-items: end center;min-height: 390px;border-radius: 28px;background:linear-gradient(180deg, #f5f7fb 0%, #fefcf8 100%);border: 1px solid rgba(21, 21, 21, 0.06);}.portrait-wrap img {width: min(100%, 320px);object-fit: contain;}.portrait-orbit {position: absolute;border-radius: 50%;border: 1px solid rgba(21, 21, 21, 0.07);}.orbit-one {width: 260px;height: 260px;top: 54px;left: 50%;transform: translateX(-50%);}.orbit-two {width: 380px;height: 380px;top: 0;left: 50%;transform: translateX(-50%);border-style: dashed;}.identity-grid {position: relative;z-index: 1;display: grid;grid-template-columns: repeat(2, 1fr);gap: 12px;margin-top: 16px;}.identity-grid article {padding: 16px;border-radius: 18px;background: #f2ede4;}.identity-grid strong {display: block;margin-bottom: 8px;font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-size: 1.25rem;}.identity-grid span {color: var(--muted);line-height: 1.6;}.floating-card {position: absolute;z-index: 3;max-width: 280px;padding: 18px 20px;border-radius: 22px;box-shadow: var(--shadow);}.floating-label {display: inline-block;margin-bottom: 8px;font-size: 0.72rem;font-weight: 800;letter-spacing: 0.12em;text-transform: uppercase;}.floating-card strong {display: block;line-height: 1.2;}.floating-card p {margin: 10px 0 0;line-height: 1.7;}.floating-card-primary {top: 0;left: 0;color: var(--white);background: var(--dark);}.floating-card-primary .floating-label {color: rgba(255, 255, 255, 0.55);}.floating-card-primary p {color: rgba(255, 255, 255, 0.72);}.floating-card-secondary {right: 18px;bottom: 26px;background: var(--sand);}.floating-card-secondary .floating-label {color: rgba(21, 21, 21, 0.5);}.impact-strip {display: grid;grid-template-columns: repeat(3, 1fr);gap: 18px;padding: 22px 0;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line);}.impact-strip article {padding-right: 18px;}.impact-number {display: inline-flex;align-items: center;min-height: 34px;margin-bottom: 14px;padding: 0 12px;border-radius: 999px;background: rgba(22, 93, 255, 0.1);color: var(--blue-deep);font-size: 0.78rem;font-weight: 800;letter-spacing: 0.08em;line-height: 1;text-transform: uppercase;}.impact-strip p {margin: 0;color: var(--muted);line-height: 1.8;}.section {padding: 92px 0 0;content-visibility: auto;contain-intrinsic-size: 1px 900px;}.section-heading {max-width: 760px;margin-bottom: 28px;}.section-heading h2,.cta-card h2 {font-size: clamp(2.3rem, 4vw, 4.4rem);line-height: 0.93;}.profile-layout {display: grid;grid-template-columns: 1fr 1fr;gap: 18px;}.panel,.stack-card,.timeline-content,.service-card,.quote-panel,.cta-card,.contact-card {border: 1px solid rgba(21, 21, 21, 0.08);border-radius: var(--radius-lg);box-shadow: var(--shadow);}.panel,.stack-card,.timeline-content,.service-card {padding: 28px;}.panel {min-height: 100%;background: rgba(255, 252, 246, 0.72);}.panel-story {background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(248, 243, 235, 0.9));}.panel-points {background: linear-gradient(180deg, rgba(219, 198, 171, 0.24), rgba(255, 252, 246, 0.9));}.panel-index {margin-bottom: 18px;font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-size: 2.6rem;line-height: 1;color: rgba(21, 21, 21, 0.18);}.panel p,.stack-card p,.service-card p,.timeline-company,.cta-card p {margin: 0;color: var(--muted);line-height: 1.9;}.panel p + p {margin-top: 18px;}.panel h3,.stack-card h3,.service-card h3,.timeline-content h3 {margin: 0 0 12px;font-size: 1.35rem;}.check-list,.timeline-content ul {margin: 0;padding-left: 20px;color: var(--muted);line-height: 1.9;}.quote-panel {grid-column: 1 / -1;padding: 32px;background: var(--dark);color: var(--white);}.quote-panel p {margin: 0;max-width: 30ch;font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-size: clamp(1.8rem, 3vw, 2.9rem);line-height: 1;letter-spacing: -0.05em;}.stack-showcase {display: grid;grid-template-columns: 1.2fr 1fr 1fr;gap: 18px;}.stack-card {background: rgba(255, 252, 246, 0.75);}.stack-card-featured {grid-row: auto;min-height: 0;display: flex;flex-direction: column;justify-content: flex-start;gap: 14px;background:linear-gradient(180deg, rgba(22, 93, 255, 0.08), rgba(255, 255, 255, 0.8)),#fffdf8;}.stack-level {margin-bottom: 16px;background: rgba(219, 198, 171, 0.48);}.skill-meter {display: grid;grid-template-columns: repeat(4, 1fr);gap: 14px;margin-top: 20px;}.skill-card {padding: 14px 14px 16px;border: 1px solid rgba(21, 21, 21, 0.09);border-radius: 18px;background:linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.54)),rgba(255, 255, 255, 0.62);box-shadow: 0 12px 24px rgba(26, 20, 13, 0.06);}.skill-top {display: grid;grid-template-columns: 1fr auto;gap: 10px;align-items: end;}.skill-meta {display: grid;gap: 7px;min-width: 0;}.skill-tag {display: inline-flex;align-items: center;width: fit-content;min-height: 24px;padding: 0 10px;border-radius: 999px;border: 1px solid rgba(22, 93, 255, 0.2);background: rgba(22, 93, 255, 0.1);color: var(--blue-deep);font-size: 0.68rem;font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase;}.skill-name {min-width: 0;color: #2f2a24;font-size: 1.18rem;font-weight: 800;letter-spacing: -0.02em;line-height: 1.2;}.skill-card strong {font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-size: 1.7rem;letter-spacing: -0.03em;line-height: 1;}.skill-track {position: relative;height: 9px;margin-top: 14px;border-radius: 999px;overflow: hidden;background: rgba(16, 16, 16, 0.1);}.skill-track span {position: relative;display: block;width: var(--level, 0%);height: 100%;border-radius: inherit;background: linear-gradient(90deg, var(--blue), #23a0ff);}.skill-track span::after {content: "";position: absolute;top: 0;right: 0;width: 34px;height: 100%;background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.45));}.timeline {display: grid;gap: 18px;}.timeline-item {display: grid;grid-template-columns: 230px 1fr;gap: 18px;}.timeline-date {align-self: start;position: sticky;top: 102px;padding: 18px;border-radius: 18px;border: 1px solid rgba(21, 21, 21, 0.08);background: rgba(255, 255, 255, 0.55);font-weight: 800;}.timeline-content {background: rgba(255, 252, 246, 0.74);}.timeline-company {margin-bottom: 14px;}#proyectos {position: relative;}.projects-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 18px;}.project-card {display: flex;flex-direction: column;min-height: 100%;overflow: hidden;border: 1px solid rgba(21, 21, 21, 0.08);border-radius: var(--radius-lg);background:linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(248, 243, 235, 0.94));box-shadow: var(--shadow);transition: transform 0.2s ease, box-shadow 0.2s ease;}.project-card:hover,.project-card:focus-visible {transform: translateY(-4px);}.project-card-featured {grid-row: auto;background:linear-gradient(180deg, rgba(22, 93, 255, 0.12), rgba(255, 255, 255, 0.78)),#fffdf8;}.project-preview {aspect-ratio: 16 / 9;overflow: hidden;border-bottom: 1px solid rgba(21, 21, 21, 0.08);background: linear-gradient(180deg, #edf2fb, #f8f3eb);}.project-preview img {width: 100%;height: 100%;object-fit: cover;object-position: top center;}.project-copy {display: flex;flex: 1;flex-direction: column;justify-content: space-between;min-height: 220px;padding: 22px 24px 24px;}.project-type,.project-link {font-size: 0.76rem;font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase;}.project-type {color: var(--blue-deep);}.project-card h3 {margin: 16px 0 12px;font-size: 1.6rem;}.project-card p {margin: 0 0 26px;color: var(--muted);line-height: 1.85;}.project-link {color: var(--ink);}#servicios {position: relative;overflow: visible;}#servicios::before {display: none;}#servicios .eyebrow,#servicios h2 {color: var(--ink);}#servicios .eyebrow {color: var(--blue-deep);}.services-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 18px;}.service-card {background: rgba(255, 252, 246, 0.86);color: var(--ink);}.service-card p {color: var(--muted);}.service-card-large {grid-column: span 2;min-height: 240px;background:linear-gradient(180deg, rgba(22, 93, 255, 0.12), rgba(255, 255, 255, 0.72)),rgba(255, 252, 246, 0.92);}.service-card-accent {background:linear-gradient(180deg, rgba(219, 198, 171, 0.35), rgba(255, 255, 255, 0.72)),rgba(255, 252, 246, 0.92);}.cta-section {padding-bottom: 78px;}.cta-card {display: grid;grid-template-columns: 1fr 1.05fr;gap: 24px;padding: 34px;background: var(--paper-strong);}.contact-cards {display: grid;grid-template-columns: 1fr 1fr;gap: 16px;}.contact-card {display: flex;flex-direction: column;justify-content: space-between;min-height: 220px;padding: 24px;background: rgba(255, 255, 255, 0.56);transition: transform 0.2s ease, box-shadow 0.2s ease;}.contact-card:hover,.contact-card:focus-visible {transform: translateY(-3px);}.contact-card-kicker {display: inline-block;margin-bottom: 26px;color: var(--muted);font-size: 0.74rem;font-weight: 800;letter-spacing: 0.1em;text-transform: uppercase;}.contact-card strong {display: block;margin-bottom: 10px;font-family: "Helvetica Neue", "Avenir Next", sans-serif;font-size: clamp(1.3rem, 2vw, 1.9rem);line-height: 1;letter-spacing: -0.04em;}.contact-card small {color: var(--muted);line-height: 1.7;}.contact-card-primary {background: linear-gradient(180deg, var(--blue), var(--blue-deep));color: var(--white);}.contact-card-primary .contact-card-kicker,.contact-card-primary small {color: rgba(255, 255, 255, 0.72);}.contact-card-light {background: var(--paper);}.contact-card-soft {background: rgba(219, 198, 171, 0.35);}.site-footer {padding: 0 0 26px;color: var(--muted);text-align: center;}@media (max-width: 1100px) {.hero,.profile-layout,.cta-card,.timeline-item {grid-template-columns: 1fr;}.hero-visual {min-height: auto;display: grid;gap: 16px;}.hero-card,.floating-card {position: relative;inset: auto;max-width: none;}.floating-card-primary,.floating-card-secondary {top: auto;right: auto;bottom: auto;left: auto;}.stack-showcase,.projects-grid,.services-grid,.impact-strip,.skill-meter,.contact-cards {grid-template-columns: repeat(2, 1fr);}.stack-card-featured,.project-card-featured,.service-card-large {grid-column: auto;grid-row: auto;min-height: 280px;}.timeline-date {position: static;}}@media (max-width: 768px) {.page-shell {width: min(calc(100% - 20px), var(--max-width));}.site-header {top: 8px;border-radius: 28px;align-items: flex-start;flex-wrap: wrap;}.lang-switch {order: 4;margin-left: 0;}.nav-toggle {display: inline-flex;order: 2;margin-left: auto;}.site-nav {order: 3;display: none;width: 100%;padding-top: 12px;flex-direction: column;align-items: flex-start;gap: 12px;}.site-header.is-open .site-nav {display: flex;}.site-header.is-open .nav-toggle span:first-child {transform: translateY(7px) rotate(45deg);}.site-header.is-open .nav-toggle span:last-child {transform: translateY(-7px) rotate(-45deg);}.hero {grid-template-columns: 1fr;padding-top: 38px;}.hero-copy h1 {max-width: 14ch;font-size: clamp(1.95rem, 8.6vw, 3.35rem);line-height: 0.96;}.hero-visual {min-height: auto;}.hero-card,.floating-card {position: relative;inset: auto;max-width: none;}.hero-card {margin-bottom: 16px;}.impact-strip,.stack-showcase,.projects-grid,.services-grid,.skill-meter,.identity-grid,.contact-cards {grid-template-columns: 1fr;}.section {padding-top: 72px;}.contact-card {min-height: 180px;}}