:root{--bg: #0a0a0b;--bg-hero: #070708;--surface: #111113;--card: rgba(20, 20, 23, .6);--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .22);--text: #ededef;--text-strong: #f5f2ec;--text-soft: #c4c4cc;--muted: #a1a1aa;--dim: #8b8b94;--accent: #e0a458;--on-accent: #14100a;--cream: #f2ede4;--radius-card: 28px;--radius-btn: 6px;--radius-pill: 999px;--font-display: "Big Shoulders Display", "Oswald", Impact, "Arial Narrow", sans-serif;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-h1: clamp(44px, 10.5vw, 156px);--fs-h2: clamp(32px, 6vw, 80px);--fs-h3: clamp(28px, 4vw, 40px);--fs-body: clamp(15px, 1.1vw, 18px);--container: min(100% - 48px, 1200px);--nav-height: 76px;--ease-out: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 12px)}body{margin:0;min-height:100dvh;background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body.no-scroll{overflow:hidden}h1,h2,h3,p,ul,ol{margin:0}img,svg{display:block;max-width:100%}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}main,app-site-footer{position:relative;z-index:1}app-projects-bento,app-experience,app-contact{position:relative;z-index:1;content-visibility:auto;contain-intrinsic-size:auto 640px}app-stack-marquee,app-resumen{position:relative;z-index:1}.container{width:var(--container);margin-inline:auto}.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;color:var(--text-strong)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 16px;background-color:var(--cream);color:var(--bg);font-size:14px;font-weight:600;border-radius:var(--radius-btn);text-decoration:none;transform:translateY(-150%);transition:transform .2s ease}.skip-link:focus-visible{transform:translateY(0)}.card{border:1px solid var(--border);border-radius:var(--radius-card);background-color:#0f0f12eb;transition:transform .35s var(--ease-out),border-color .35s ease,background-color .35s ease}.card:hover{transform:translateY(-4px);border-color:var(--border-hover)}.bento{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.bento>*{min-width:0}@media(min-width:900px){.bento{grid-template-columns:repeat(6,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}}.cursor-grid{--grid-x: -300px;--grid-y: -300px;--grid-mask: radial-gradient( circle 160px at var(--grid-x) var(--grid-y), #000 0%, rgba(0, 0, 0, .4) 45%, transparent 72% );position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s ease;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:56px 56px;background-position:center center;-webkit-mask-image:var(--grid-mask);mask-image:var(--grid-mask)}.cursor-grid.is-active{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;border-radius:var(--radius-btn);font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .25s ease,border-color .25s ease,color .25s ease}:where(button).btn{border:1px solid transparent;background-color:transparent;cursor:pointer}.btn-solid{background-color:var(--cream);color:var(--bg)}.btn-solid:hover{background-color:#fff;color:var(--bg)}.btn-ghost{border:1px solid rgba(255,255,255,.16);color:var(--text-strong)}.btn-ghost:hover{border-color:#fff6;background-color:#ffffff0a;color:var(--text-strong)}.btn .arrow{flex-shrink:0;transition:transform .25s ease}.btn:hover .arrow{transform:translate(2px,-2px)}.btn-ghost .arrow{color:var(--accent)}.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chips>li{font-family:var(--font-mono);font-size:12px;color:var(--text-soft);padding:6px 12px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.1)}.section-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:56px}.section-head__label{display:flex;flex-wrap:wrap;justify-content:center;row-gap:4px;gap:14px;font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.section-head__label>span:first-child{color:var(--accent)}.section-head__title{font-size:var(--fs-h2);line-height:.92;text-wrap:balance}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover{transform:none}}
