:root{--bg:#f5f1e8;--paper:#fbf8f1;--ink:#1e1c19;--muted:#6b6457;--line:#dcd2c0;--shu:#c8442f;color-scheme:light}:root[data-theme=dark]{--bg:#10141f;--paper:#161c2a;--ink:#ece6d8;--muted:#a59e90;--line:#2a3244;--shu:#e3644d;color-scheme:dark}:root.daynight-anim{--daynight:2s cubic-bezier(.45, 0, .55, 1) .25s}:root.daynight-anim :is(.top,.toggle,.photo,.rule,.projects,.projects a,.lang-list,.lang-list li,.socials a,.foot){transition:background-color var(--daynight), border-color var(--daynight), box-shadow var(--daynight)!important}:root.daynight-anim :is(.brand-name>span,.brand b,.logo,nav a,.kicker,h1 .given,h1 .surname,.tagline,h2,.num,.lead,.terrace h3,.seal,.seal-name,.lang-name,.lang-level,.p-name,.p-desc,.p-lang,.p-arrow,.more,.big,.contact-note,.mail svg,.mail span,.where,.so-label,.so-handle,.so-arrow,.foot-name>span):not([data-reveal]:not(.is-done)){transition:color var(--daynight)!important}:root.daynight-anim :is(.btn,.so-icon){transition:color var(--daynight), background-color var(--daynight), border-color var(--daynight), box-shadow var(--daynight)!important}*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .45 0 0 0 0 .4 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body{background-color:var(--bg);background-image:var(--grain);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:400 1.0625rem/1.75 Zen Kaku Gothic New,system-ui,sans-serif;overflow-x:hidden}h1,h2{margin:0;font-family:Shippori Mincho,Georgia,serif;font-weight:600;line-height:1.1}a{color:inherit}img{max-width:100%;display:block}svg{width:1em;height:1em}.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}:focus-visible{outline:2px solid var(--shu);outline-offset:4px}.progress{z-index:60;background:var(--shu);transform-origin:0;height:2px;transform:scaleX(var(--progress,0));position:fixed;inset:0 0 auto}.top{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;inset:0 0 auto}.top.scrolled{background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(12px);border-color:var(--line)}.bar{align-items:center;gap:2rem;height:68px;display:flex}.brand{align-items:center;gap:.55rem;font-family:Shippori Mincho,serif;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.brand b{font-weight:inherit;color:var(--shu)}.logo{width:1.5em;height:auto;color:var(--shu);flex:none}.brand .logo{transition:transform .4s}.brand:hover .logo{transform:translateY(-2px)}.foot-name{align-items:center;gap:.5rem;display:inline-flex}.foot-name .logo{width:1.3em}nav{gap:1.8rem;margin-left:auto;font-size:.95rem;display:flex}nav a{color:var(--muted);text-decoration:none;transition:color .2s;position:relative}nav a:after{content:"";background:var(--shu);transform-origin:0;border-radius:2px;height:2px;transition:transform .4s;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}nav a:hover{color:var(--ink)}nav a:hover:after{transform:none}.nav-huerto{align-items:center;gap:.35rem;display:inline-flex}html:not(.huerto-on) .nav-huerto{display:none}.huerto-new .nav-huerto{animation:.9s cubic-bezier(.2,.8,.25,1.15) both huerto-in}.huerto-new .nav-huerto .k{animation:1.6s ease-out .3s both huerto-k}@keyframes huerto-in{0%{opacity:0;filter:blur(4px);transform:translateY(10px)scale(.9)}to{opacity:1;filter:none;transform:none}}@keyframes huerto-k{0%{text-shadow:0 0 #0000}35%{text-shadow:0 0 12px color-mix(in srgb, var(--shu) 70%, transparent)}to{text-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.huerto-new .nav-huerto,.huerto-new .nav-huerto .k{animation:none}}.nav-huerto .k{color:var(--shu);font-family:Shippori Mincho,serif;font-weight:700}nav a[aria-current=page]{color:var(--ink)}nav a[aria-current=page]:after{transform:none}.toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;width:58px;height:30px;padding:0;position:relative}.knob{background:var(--shu);color:#fff8ee;border-radius:50%;place-items:center;width:22px;height:22px;transition:transform .6s cubic-bezier(.65,0,.35,1),background .6s;display:grid;position:absolute;top:3px;left:3px}.knob span{grid-area:1/1;transition:opacity .4s,transform .6s;display:grid}.knob svg{width:13px;height:13px}.i-moon{opacity:0;transform:rotate(-90deg)}[data-theme=dark] .knob{color:#10141f;background:#efe8d6;transform:translate(28px)}[data-theme=dark] .i-sun{opacity:0;transform:rotate(90deg)}[data-theme=dark] .i-moon{opacity:1;transform:none}[data-reveal]{opacity:0;transition:-webkit-mask-position 1.6s cubic-bezier(.3,.6,.2,1),mask-position 1.6s cubic-bezier(.3,.6,.2,1),opacity 1.6s cubic-bezier(.3,.6,.2,1),transform .6s;transition-delay:calc(var(--i,0) * .13s);transform:translate(-10px);-webkit-mask-image:linear-gradient(100deg,#000 40%,#0000 60%);mask-image:linear-gradient(100deg,#000 40%,#0000 60%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:260% 100%;mask-size:260% 100%}[data-reveal].is-in{opacity:1;transform:none;-webkit-mask-position:0 0;mask-position:0 0}[data-reveal].is-done{-webkit-mask-image:none;mask-image:none}.hero{isolation:isolate;--land:clamp(320px, 52vh, 700px);--orb:120px;min-height:max(700px,100svh);padding:120px 0 calc(var(--land) * .8);align-items:center;display:flex;position:relative;overflow:hidden}.kicker{color:var(--shu);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.85rem;font-weight:500}.actions{flex-wrap:wrap;gap:.8rem;margin:calc(2.1rem - 8px) -8px -8px;padding:8px;display:flex}.btn{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 85%, transparent);border-radius:999px;align-items:center;gap:.55rem;padding:.78rem 1.3rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.btn:hover{border-color:var(--ink);transform:translateY(-2px)}.btn.solid{background:var(--shu);border-color:var(--shu);color:#fff8ee}.btn.solid:hover{border-color:var(--shu);background:color-mix(in srgb, var(--shu) 88%, #000)}.scroll-veil{z-index:-1;opacity:calc(var(--scroll,0) / 1100);pointer-events:none;position:absolute;inset:0}.scroll-veil:before,.scroll-veil:after{content:"";background:#f5f1e8 var(--grain);transition:opacity 2s cubic-bezier(.45,0,.55,1) .25s;position:absolute;inset:0}.scroll-veil:after{opacity:0;background-color:#10141f}[data-theme=dark] .scroll-veil:after{opacity:1}.hero.is-veiled>:is(.rf-sky,.rf-stars,.rf-meteors,.rf-eclipse-veil,.rf-orbs,.rf-land,.rf-rainveil,.rf-ripples,.rf-rain,.rf-fireflies,.hr-scene){visibility:hidden}.foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:clamp(5rem,11vw,8rem);padding:2rem 0 5.5rem;font-size:.9rem;display:flex}@media (width<=860px){.hero{--land:320px;--orb:76px;padding-top:100px}nav{display:none}.toggle{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}:root:not(.daynight-anim) *,:root:not(.daynight-anim) :before,:root:not(.daynight-anim) :after{transition:none!important}html{scroll-behavior:auto}}.rf-meteors[data-astro-cid-v6cyj5od]{z-index:-7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.rf-meteors[data-astro-cid-v6cyj5od] i{transform-origin:100%;filter:drop-shadow(0 0 4px #fff5dcb3);opacity:0;will-change:transform, opacity;background:linear-gradient(90deg,#f3ead600,#f3ead68c 70%,#fffaf0);border-radius:2px;height:2px;margin-top:-1px;position:absolute;top:0;left:0}.rf-sky[data-astro-cid-s2xxtotd]{z-index:-8;position:absolute;inset:0}.rf-nightsky[data-astro-cid-s2xxtotd]{opacity:0;transition:opacity 2s cubic-bezier(.45,0,.55,1) .4s}[data-theme=dark] .rf-nightsky[data-astro-cid-s2xxtotd]{opacity:1;transition-delay:.2s}.rf-stars[data-astro-cid-s2xxtotd]{z-index:-7;opacity:0;transition:opacity .9s;position:absolute;inset:0}[data-theme=dark] .rf-stars[data-astro-cid-s2xxtotd]{opacity:1;transition:opacity 1.4s 1.1s}.rf-stars[data-astro-cid-s2xxtotd] i[data-astro-cid-s2xxtotd]{background:#f3ead6;border-radius:50%;width:2px;height:2px;animation:5s ease-in-out infinite rf-glint;position:absolute}@keyframes rf-glint{50%{opacity:.25}}.rf-orbs[data-astro-cid-s2xxtotd]{z-index:-6;pointer-events:none;opacity:0;-webkit-mask:linear-gradient(#000, #000) top / 100% calc(100% - var(--land,420px) + 2px) no-repeat, var(--sky-mask) center bottom / max(100%, calc(var(--land,420px) * 2400 / 560)) auto no-repeat;mask:linear-gradient(#000, #000) top / 100% calc(100% - var(--land,420px) + 2px) no-repeat, var(--sky-mask) center bottom / max(100%, calc(var(--land,420px) * 2400 / 560)) auto no-repeat;transition:opacity .6s;position:absolute;inset:0}.rf-orbs[data-astro-cid-s2xxtotd].is-ready{opacity:1}.rf-orb[data-astro-cid-s2xxtotd]{width:var(--orb,120px);height:var(--orb,120px);margin:calc(var(--orb,120px) / -2) 0 0 calc(var(--orb,120px) / -2);will-change:transform;border-radius:50%;transition:opacity .9s;position:absolute;top:0;left:0}.rf-sun[data-astro-cid-s2xxtotd]{background:radial-gradient(circle at 45% 40%,#e2654b,#c8442f 60%,#a8321f);box-shadow:0 0 80px 12px #c8442f29}.rf-moon[data-astro-cid-s2xxtotd]{background:radial-gradient(circle at 40% 40%,#fbf5e6,#e8dfc8 70%);box-shadow:0 0 90px 20px #f0e6c824}.rf-moon[data-astro-cid-s2xxtotd],[data-theme=dark] .rf-sun[data-astro-cid-s2xxtotd]{opacity:0}[data-theme=dark] .rf-moon[data-astro-cid-s2xxtotd]{opacity:1}.rf-sun[data-astro-cid-s2xxtotd]{overflow:hidden}.rf-eclipse-shadow[data-astro-cid-s2xxtotd]{background:radial-gradient(circle at 42% 40%,#3a3640,#24222b 75%);border-radius:50%;position:absolute;inset:0;transform:translate(-130%)}.rf-corona[data-astro-cid-s2xxtotd]{opacity:0;width:calc(var(--orb,120px) * 1.5);height:calc(var(--orb,120px) * 1.5);margin:calc(var(--orb,120px) * -.75) 0 0 calc(var(--orb,120px) * -.75);--corona-mask:radial-gradient(circle closest-side, transparent 62%, #000 65%, #00000059 80%, transparent 100%);-webkit-mask:var(--corona-mask);mask:var(--corona-mask);z-index:1;background:radial-gradient(circle closest-side,#fff8e800 64%,#fffaee 66.5%,#ffeed2b3 69.5%,#ffe6c452 77%,#ffe2be1a 88%,#ffe2be00 100%),repeating-conic-gradient(from 8deg,#fff0d74d 0deg 7deg,#fff0d700 13deg 29deg,#fff0d733 34deg 38deg,#fff0d700 44deg 61deg);transition:none}.rf-diamond[data-astro-cid-s2xxtotd]{opacity:0;background:radial-gradient(circle closest-side,#fff 0 10%,#fffaebe6 20%,#ffeed259 48%,#ffecce00);border-radius:50%;width:28%;height:28%;margin:-14% 0 0 -14%;position:absolute}.rf-diamond-in[data-astro-cid-s2xxtotd]{top:60%;left:84%}.rf-diamond-out[data-astro-cid-s2xxtotd]{top:40%;left:16%}.hero{touch-action:manipulation}.rf-eclipse-veil[data-astro-cid-s2xxtotd]{pointer-events:none;opacity:0;position:absolute;inset:0}.rf-eclipse-sky[data-astro-cid-s2xxtotd]{z-index:-7}.rf-eclipse-land[data-astro-cid-s2xxtotd]{z-index:-4;inset:auto 0 0}.rf-land[data-astro-cid-s2xxtotd]{z-index:-4;width:100%;height:var(--land,420px);position:absolute;bottom:0;left:0}.rf-paint[data-astro-cid-s2xxtotd]{--k:max(calc(100cqw / 2400), calc(100cqh / 560));container-type:size}.rf-tint[data-astro-cid-s2xxtotd],.rf-refl[data-astro-cid-s2xxtotd],.rf-paint[data-astro-cid-s2xxtotd] img[data-astro-cid-s2xxtotd]{width:100%;height:100%;position:absolute;inset:0}.rf-paint[data-astro-cid-s2xxtotd] img[data-astro-cid-s2xxtotd]{object-fit:cover;object-position:50% 100%;max-width:none;display:block}.rf-refl[data-astro-cid-s2xxtotd]{opacity:.4;clip-path:inset(calc(100% - 230 * var(--k)) 0 0 0)}@media (hover:hover) and (pointer:fine){.rf-paint[data-astro-cid-s2xxtotd].is-moving [data-astro-cid-s2xxtotd]:is(.rf-far,.rf-near,.rf-far-refl,.rf-near-refl){will-change:transform}.rf-far[data-astro-cid-s2xxtotd]{transform:translateY(calc(var(--scroll,0) * .2 * var(--k)))}.rf-near[data-astro-cid-s2xxtotd]{transform:translateY(calc(var(--scroll,0) * .1 * var(--k)))}.rf-far-refl[data-astro-cid-s2xxtotd]{transform:translateY(calc(var(--scroll,0) * -.2 * var(--k)))}.rf-near-refl[data-astro-cid-s2xxtotd]{transform:translateY(calc(var(--scroll,0) * -.1 * var(--k)))}}.rf-tint-night[data-astro-cid-s2xxtotd] img[data-astro-cid-s2xxtotd]{filter:brightness(.3)sepia(.5)hue-rotate(175deg)saturate(.9)}.rf-paint[data-astro-cid-s2xxtotd]{isolation:isolate}.rf-tint[data-astro-cid-s2xxtotd]{mix-blend-mode:plus-lighter;transition:opacity 2.2s cubic-bezier(.45,0,.55,1) .3s}.rf-tint-night[data-astro-cid-s2xxtotd],[data-theme=dark] .rf-tint-day[data-astro-cid-s2xxtotd]{opacity:0}[data-theme=dark] .rf-tint-night[data-astro-cid-s2xxtotd]{opacity:1}:root[data-theme=dark]:not(.daynight-anim) .rf-tint-day[data-astro-cid-s2xxtotd],:root:not([data-theme=dark]):not(.daynight-anim) .rf-tint-night[data-astro-cid-s2xxtotd]{visibility:hidden}.rf-lights[data-astro-cid-s2xxtotd]{z-index:-3;fill:#f6cf86;opacity:0;transition:opacity .8s}.rf-lights[data-astro-cid-s2xxtotd] g[data-astro-cid-s2xxtotd]:first-child{filter:drop-shadow(0 0 6px #f5b04ae6)}[data-theme=dark] .rf-lights[data-astro-cid-s2xxtotd]{opacity:1;transition:opacity 1s 1.4s}.rf-land[data-astro-cid-s2xxtotd],.rf-rain[data-astro-cid-s2xxtotd]{--f:45%;-webkit-mask-image:linear-gradient(180deg, #0000 0%, #000 var(--top,0%), #000 calc(100% - var(--f) * 1), #000000f4 calc(100% - var(--f) * .875), #000000d7 calc(100% - var(--f) * .75), #000000ae calc(100% - var(--f) * .625), #00000080 calc(100% - var(--f) * .5), #00000051 calc(100% - var(--f) * .375), #00000028 calc(100% - var(--f) * .25), #0000000b calc(100% - var(--f) * .125), #0000 calc(100% - var(--f) * 0));mask-image:linear-gradient(180deg, #0000 0%, #000 var(--top,0%), #000 calc(100% - var(--f) * 1), #000000f4 calc(100% - var(--f) * .875), #000000d7 calc(100% - var(--f) * .75), #000000ae calc(100% - var(--f) * .625), #00000080 calc(100% - var(--f) * .5), #00000051 calc(100% - var(--f) * .375), #00000028 calc(100% - var(--f) * .25), #0000000b calc(100% - var(--f) * .125), #0000 calc(100% - var(--f) * 0))}.rf-land[data-astro-cid-s2xxtotd]{--f:62%;--top:12%}.rf-rainveil[data-astro-cid-s2xxtotd],.rf-rain[data-astro-cid-s2xxtotd],.rf-ripples[data-astro-cid-s2xxtotd]{pointer-events:none;opacity:0;transition:opacity 2s cubic-bezier(.45,0,.55,1);position:absolute}.rf-rainveil[data-astro-cid-s2xxtotd]{z-index:-4;inset:0}[data-rain=on]:not([data-theme=dark]) .rf-rainveil-day[data-astro-cid-s2xxtotd],[data-rain=on][data-theme=dark] .rf-rainveil-night[data-astro-cid-s2xxtotd],[data-drops=on] [data-astro-cid-s2xxtotd]:is(.rf-rain,.rf-ripples){opacity:1;transition:opacity 2.4s cubic-bezier(.45,0,.55,1) .4s}@media not ((hover:hover) and (pointer:fine)){[data-drops=on] [data-astro-cid-s2xxtotd]:is(.rf-rain,.rf-ripples){transition:opacity 1.6s}}[data-drops=on][data-theme=dark] .rf-rain[data-astro-cid-s2xxtotd]{opacity:.5}.rf-rain[data-astro-cid-s2xxtotd]{z-index:-2;inset:0;overflow:hidden;container-type:size}.rf-drops[data-astro-cid-s2xxtotd]{--t:var(--rain-tile);width:calc(98.8cqw + 15.6cqh + 4px);height:calc(100cqw * .156 + 100cqh * .988 + var(--t) + 4px);will-change:transform;animation:linear infinite paused rf-fall;position:absolute;top:50%;left:50%}.rf-drops-far[data-astro-cid-s2xxtotd]{opacity:.55;animation-duration:.9s}.rf-drops-near[data-astro-cid-s2xxtotd]{--t:calc(var(--rain-tile) * 1.25);opacity:.5;background-position:60px 0;background-size:300px;animation-name:rf-fall-near;animation-duration:.55s}@keyframes rf-fall{0%{transform:translate(-50%,-50%)rotate(9deg)translateY(-160px)}to{transform:translate(-50%,-50%)rotate(9deg)translateY(160px)}}@keyframes rf-fall-near{0%{transform:translate(-50%,-50%)rotate(9deg)translateY(-200px)}to{transform:translate(-50%,-50%)rotate(9deg)translateY(200px)}}.rf-ripples[data-astro-cid-s2xxtotd]{z-index:-3;width:100%;height:var(--land,420px);bottom:0;left:0}.rf-ripples[data-astro-cid-s2xxtotd] i[data-astro-cid-s2xxtotd]{opacity:0;border:1px solid #8c9eaebf;border-radius:50%;width:28px;height:7px;margin:-3.5px 0 0 -14px;animation:ease-out infinite paused rf-ripple;position:absolute}[data-drops] [data-astro-cid-s2xxtotd]:is(.rf-drops,.rf-ripples i){animation-play-state:running}@keyframes rf-ripple{0%{opacity:.9;transform:scale(.15)}to{opacity:0;transform:scale(1.3)}}.rf-fireflies[data-astro-cid-s2xxtotd]{z-index:-2;pointer-events:none;opacity:0;transition:opacity .8s;position:absolute;inset:0}[data-theme=dark] .rf-fireflies[data-astro-cid-s2xxtotd]{opacity:1;transition:opacity 1.2s 1.5s}[data-rain=on][data-theme=dark] .rf-fireflies[data-astro-cid-s2xxtotd]{opacity:0;transition:opacity 1.5s}.rf-fireflies[data-astro-cid-s2xxtotd] b[data-astro-cid-s2xxtotd]{position:absolute}.rf-fireflies[data-astro-cid-s2xxtotd] i[data-astro-cid-s2xxtotd]{background:#f6e27a;border-radius:50%;width:4px;height:4px;animation:ease-in-out infinite alternate rf-firefly;display:block;box-shadow:0 0 10px 3px #f6e27a8c}@keyframes rf-firefly{0%{opacity:.1;transform:translate(0)}50%{opacity:1}to{opacity:.2;transform:translate(24px,-18px)}}
