@font-face{font-family:Instrument;src:url(/fonts/instrument-serif.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-semibold.woff2)format("woff2");font-weight:600;font-display:swap}:root{--ink:#0a0a0b;--paper:#efece4;--soft:#b9b6ae;--muted:#a3a099;--faint:#8a877f;--line:#efece417;--surface:#131314;--glass:#0e0e0fb8;--accent:#ff7a3d;--serif:Instrument, Georgia, serif;--sans:Manrope, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--gutter:clamp(22px, 4.6vw, 72px);color:var(--paper);background:var(--ink);font-family:var(--sans);font-synthesis:none;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}::selection{color:var(--ink);background:var(--accent)}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#scene{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body:not(.character-page):after{content:"";pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#0a0a0bcc);position:fixed;inset:0}.scene-only>:not(#scene){display:none}.scene-only:after{content:none!important}header{z-index:3;padding:18px var(--gutter);justify-content:space-between;align-items:center;gap:24px;font-size:13px;display:flex;position:fixed;inset:0 0 auto}.brand{letter-spacing:-.3px;white-space:nowrap;font-weight:600}.brand span{color:var(--accent)}.brand{align-items:center;display:inline-flex}.brand .sol{width:22px;height:22px;margin-right:9px;animation:40s linear infinite sol;overflow:visible}@keyframes sol{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.brand .sol{animation:none}}nav{color:var(--muted);border:1px solid #0000;border-radius:999px;padding:4px;transition:background .4s,border-color .4s,backdrop-filter .4s;display:flex;position:relative}.scrolled nav{border-color:var(--line);background:var(--glass);backdrop-filter:blur(18px)saturate(1.4)}nav a{border-radius:999px;padding:7px 14px;transition:color .25s;position:relative}nav a:hover,nav a[aria-current]{color:var(--paper)}.nav-mark{opacity:0;width:0;transition:translate .5s var(--ease), width .5s var(--ease), opacity .3s;background:#efece414;border-radius:999px;position:absolute;top:4px;bottom:4px;left:0}.clock{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);font:11px var(--mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;border-radius:999px;margin:0;padding:7px 12px}.clock time{color:var(--paper);font-variant-numeric:tabular-nums}.corner{align-items:center;gap:8px;display:flex}.cv-link{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);font:11px var(--mono);letter-spacing:.06em;color:var(--soft);border-radius:999px;gap:6px;padding:7px 12px;transition:color .25s,border-color .25s;display:inline-flex}.cv-link:hover{color:var(--paper);border-color:#efece455}.langs{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);border-radius:999px;margin:0;padding:3px;display:flex}.langs a{font:11px var(--mono);letter-spacing:.06em;color:var(--muted);border-radius:999px;padding:4px 9px;transition:color .25s,background .25s}.langs a:hover{color:var(--paper)}.langs a[aria-current=true]{color:var(--ink);background:var(--paper)}.rail{z-index:3;gap:2px;margin:0;padding:0;list-style:none;display:grid;position:fixed;top:50%;right:18px;translate:0 -50%}.rail a{height:22px;font:10px var(--mono);letter-spacing:.06em;color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;display:flex}.rail span{opacity:0;transition:opacity .25s, translate .35s var(--ease);translate:6px}.rail i{background:var(--faint);color:#0000;width:14px;height:1px;transition:width .4s var(--ease), background .3s;overflow:hidden}.rail a:hover span,.rail a:focus-visible span{opacity:1;translate:0}.rail a[aria-current] i{background:var(--accent);width:28px}main{z-index:1;position:relative}.panel{min-height:92svh;padding:110px var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;display:grid;position:relative}.hero{min-height:100svh}.compact{min-height:70svh}.panel[data-side=left] .copy{grid-column:2}.copy{max-width:540px}.label{font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.label b{color:var(--accent);margin-right:14px;font-weight:400}.eyebrow{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);font:11px var(--mono);letter-spacing:.04em;color:var(--soft);border-radius:999px;align-items:center;gap:9px;margin:0;padding:6px 12px 6px 10px;display:inline-flex}.eyebrow i{background:radial-gradient(circle,#f6b40e 0 1.4px,#0000 1.9px),linear-gradient(#74acdf 0 33.3%,#fff 0 66.6%,#74acdf 0);border-radius:2px;width:15px;height:10px;animation:2.4s ease-out infinite beat;box-shadow:0 0 #74acdf}@keyframes beat{to{box-shadow:0 0 0 9px #0000}}h1{font:400 clamp(46px, 5.8vw, 96px) / .96 var(--serif);letter-spacing:-.022em;text-wrap:balance;margin:26px 0}h1 span{display:block}h1 .muted{color:var(--muted)}.intro{max-width:460px;color:var(--muted);text-wrap:pretty;margin:0 0 34px;font-size:17px;line-height:1.6}.intro strong{color:var(--paper);font-weight:400}.actions{flex-wrap:wrap;gap:10px;margin:0;display:flex}.button{border:1px solid var(--paper);background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;transition:scale .35s var(--ease), background .25s, border-color .25s, color .25s;border-radius:999px;align-items:center;gap:10px;padding:0 20px;font-size:14px;font-weight:600;display:inline-flex}.button:hover{background:#fff;border-color:#fff}.button:active{scale:.97}.button span{opacity:.6;transition:translate .35s var(--ease), opacity .25s;font-weight:400}.button:hover span{opacity:1;translate:3px}.button.ghost{border-color:var(--line);background:var(--glass);backdrop-filter:blur(12px);color:var(--paper)}.button.ghost:hover{background:#efece412;border-color:#efece455}.hero-foot{inset:auto var(--gutter) 34px;justify-content:space-between;align-items:center;gap:20px;margin:0;display:flex;position:absolute}.scroll-hint{font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;transition:color .25s;display:flex}.scroll-hint:hover{color:var(--paper)}.hero-foot .label{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);border-radius:999px;padding:7px 12px}.scroll-hint i{background:var(--line);width:1px;height:34px;position:relative;overflow:hidden}.scroll-hint i:after{content:"";background:var(--paper);animation:drip 2.2s var(--ease) infinite;position:absolute;inset:0}@keyframes drip{0%{translate:0 -100%}to{translate:0 100%}}#proyectos .label{justify-content:space-between;align-items:baseline;display:flex}.count b{color:var(--tint,var(--accent));margin:0}.project-name{font:400 clamp(40px, 4.8vw, 74px) / 1 var(--serif);letter-spacing:-.02em;color:var(--paper);margin:22px 0 12px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meta{font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tint,var(--accent));margin:0 0 18px}.more{color:var(--tint,var(--accent));font-size:13px}.project-detail{min-height:330px}.tuner{align-items:center;gap:12px;margin-top:26px;display:flex}.tune{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);width:36px;height:36px;font:14px var(--mono);color:var(--soft);cursor:pointer;border-radius:50%;flex:none;transition:color .25s,border-color .25s}.tune:hover{color:var(--paper);border-color:#efece455}.dial{--pad:14px;background:repeating-linear-gradient(90deg, #efece426 0 1px, transparent 1px 8px) left var(--pad) bottom 12px / calc(100% - var(--pad) * 2) 8px no-repeat, linear-gradient(#efece42e, #efece42e) left var(--pad) bottom 12px / calc(100% - var(--pad) * 2) 1px no-repeat;cursor:grab;touch-action:pan-y;user-select:none;border-radius:8px;flex:1;height:66px;position:relative}.dial.dragging{cursor:grabbing}.station{bottom:12px;left:calc(var(--pad) + (100% - var(--pad) * 2) * var(--at));width:26px;color:var(--faint);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;transition:color .3s;display:flex;position:absolute;translate:-50%}.station:after{content:"";width:1px;height:18px;transition:height .4s var(--ease);background:currentColor}.station-number{font:10px var(--mono);letter-spacing:.04em;margin-bottom:6px}.station-name{font:10px var(--mono);letter-spacing:.04em;white-space:nowrap;color:var(--soft);opacity:0;pointer-events:none;margin-bottom:4px;transition:opacity .25s,translate .25s;position:absolute;bottom:100%;left:50%;translate:-50% 4px}.station:hover{color:var(--soft)}.station:hover .station-name{opacity:1;translate:-50%}.station[aria-pressed=true]{color:var(--tint,var(--accent))}.station[aria-pressed=true]:after{height:26px}.needle{top:2px;bottom:6px;left:calc(var(--pad) + (100% - var(--pad) * 2) * var(--needle));background:var(--tint,var(--accent));width:2px;box-shadow:0 0 14px var(--tint,var(--accent));pointer-events:none;transition:left .6s var(--ease), background .4s, box-shadow .4s;border-radius:2px;position:absolute;translate:-1px}.needle:before{content:"";background:inherit;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-3px}.dial.dragging .needle{transition:background .4s,box-shadow .4s}.story{color:var(--soft);text-wrap:pretty;margin:0 0 22px;font-size:15px;line-height:1.75}.tags,.chips{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.tags span,.chips span{border:1px solid var(--line);font:11px var(--mono);letter-spacing:.02em;color:var(--muted);white-space:nowrap;border-radius:999px;padding:5px 10px}.chips span{color:var(--soft);transition:color .25s,border-color .25s}.chips span:hover{color:var(--paper);border-color:#efece455}.tags a{color:var(--accent);margin-left:auto;font-size:13px}.lead{font:400 clamp(25px, 2.6vw, 38px) / 1.18 var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:20px 0 32px}.lead span{color:var(--muted)}.rows{margin:0;padding:0;list-style:none}.rows li{border-top:1px solid var(--line);color:var(--soft);grid-template-columns:150px 1fr;gap:22px;padding:18px 0;font-size:13px;line-height:1.6;display:grid}.rows li>span{font:11px var(--mono);letter-spacing:.02em;color:var(--muted);padding-top:2px}.rows h3{color:var(--paper);margin:0 0 3px;font-size:15px;font-weight:600}.rows p{margin:0}.stack{margin-top:22px}.talk{font:400 clamp(60px, 7.4vw, 124px) / .95 var(--serif);letter-spacing:-.025em;align-items:center;gap:24px;margin:18px 0 34px;display:flex}.talk span{color:var(--muted);transition:translate .4s var(--ease), color .25s;font-size:.5em}.talk:hover span{color:var(--accent);translate:6px -6px}footer{inset:auto var(--gutter) 30px;border-top:1px solid var(--line);font:11px var(--mono);letter-spacing:.04em;color:var(--faint);justify-content:space-between;gap:20px;padding-top:16px;display:flex;position:absolute}.js [data-reveal]>*{opacity:0;filter:blur(10px);transition:opacity .9s var(--ease), translate 1.1s var(--ease), filter .9s var(--ease);transition-delay:calc(var(--i,0) * 80ms + 80ms);translate:0 26px}.js [data-reveal].shown>*{opacity:1;filter:none;translate:0}.character-page{overflow:hidden}.back{color:var(--muted);transition:color .2s}.back:hover{color:var(--paper)}.controls{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:0 16px clamp(14px,2.4svh,26px);display:flex;position:fixed;inset:auto 0 0}.bubble{width:min(92vw,640px);font:400 clamp(20px, 2.4vw, 32px) / 1.15 var(--serif);text-align:center;pointer-events:none;margin:0;position:fixed;top:clamp(58px,8svh,84px);left:50%;translate:-50%}.caption{max-width:560px;min-height:1.4em;font:400 clamp(18px, 2vw, 24px) / 1.3 var(--serif);margin:0}.moods{border:1px solid var(--line);background:#0c0c0df2;border-radius:22px;flex-wrap:wrap;justify-content:center;gap:4px;padding:5px;display:flex}.moods button,.mic{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:13px;transition:color .2s,background .2s}.moods button:hover,.mic:hover{color:var(--paper)}.moods button[aria-pressed=true]{color:var(--ink);background:var(--paper)}.chat{border:1px solid var(--line);background:#0c0c0df2;border-radius:999px;width:min(92vw,420px);display:flex}.chat input{outline-offset:-2px;background:0 0;border:0;border-radius:999px;flex:1;min-width:0;height:40px;padding:0 18px;font-size:14px}.chat input::placeholder{color:#6b6963}.chat button{width:44px;color:var(--muted);cursor:pointer;background:0 0;border:0}.mic:before{content:"";background:var(--muted);border-radius:50%;width:8px;height:8px;margin-right:9px;display:inline-block}.mic[aria-pressed=true]:before{background:#ff4a4a}@media (width<=1100px){.clock{display:none}}@media (width<=819px){nav a{color:var(--paper)}header{background:linear-gradient(var(--ink) 45%, transparent);padding-bottom:34px}nav,.scrolled nav{border-color:var(--line);background:var(--glass);backdrop-filter:blur(18px)saturate(1.4);justify-content:space-around;position:fixed;bottom:14px;left:14px;right:14px}nav a{padding:11px 10px}.rail{display:none}.panel{grid-template-columns:1fr;align-items:end;padding:56svh 22px 150px}.panel[data-side=left] .copy{grid-column:1}.hero-foot{display:none}.intro{font-size:16px}.project-detail{min-height:440px}footer{flex-direction:column;gap:4px;inset:auto 22px 150px}#contacto{padding-bottom:230px}.moods button,.mic{min-height:32px;padding:0 10px;font-size:12px}.chat input{height:36px}.rows li{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.eyebrow i,.scroll-hint i:after{animation:none!important}.nav-mark,.js [data-reveal]>*{transition:none}}
