:root{--base: #a2c1b4;--bg: #f5faf7;--surface: #ffffff;--text: #1c2b25;--muted: #5f7068;--accent: #a2c1b4;--accent-deep: #6fa68c;--accent-ink: #3f7a63;--card-shadow: 0 10px 30px rgba(63, 122, 99, .12);--line: #dcebe4}:root[data-theme=dark]{--bg: #101a16;--surface: #1a2722;--text: #eaf4ef;--muted: #97aea4;--accent: #a2c1b4;--accent-deep: #82b89f;--accent-ink: #a2c1b4;--card-shadow: 0 10px 30px rgba(0, 0, 0, .45);--line: #2a3a33}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;transition:background .3s ease,color .3s ease}img{max-width:100%;display:block}h1,h2,h3{line-height:1.2;margin:0 0 .5em}section{padding:5rem 1.5rem}.wrap{max-width:1040px;margin:0 auto}.section-title{font-size:2rem;display:inline-flex;align-items:center;gap:.6rem}.section-sub{color:var(--muted);max-width:48ch;margin-bottom:3rem}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav .logo{font-weight:700;text-decoration:none;color:var(--text);letter-spacing:.02em}.nav .links{display:flex;gap:1.25rem;align-items:center}.nav .links a{color:var(--muted);text-decoration:none;font-size:.95rem}.nav .links a:hover{color:var(--accent-ink)}.theme-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;width:2.4rem;height:2.4rem;cursor:pointer;font-size:1.05rem;display:grid;place-items:center;transition:transform .2s ease}.theme-toggle:hover{transform:rotate(15deg) scale(1.08)}:root[data-lang=en] [data-l=es]{display:none}:root:not([data-lang=en]) [data-l=en]{display:none}.i18n{display:contents}.lang-toggle{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;height:2.4rem;padding:0 .7rem;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;gap:.35rem;transition:border-color .2s ease}.lang-toggle:hover{border-color:var(--accent-deep)}.lang-toggle .lt-sep{opacity:.4;font-weight:400}.lang-toggle .lt{color:var(--muted);transition:color .2s ease,opacity .2s ease;display:inline-flex;align-items:center;gap:.34rem;opacity:.55}.lang-toggle .flag{width:1.15rem;height:auto;border-radius:2px;display:block;box-shadow:0 0 0 1px #0000001f}:root:not([data-lang=en]) .lang-toggle .lt-es,:root[data-lang=en] .lang-toggle .lt-en{color:var(--accent-ink);opacity:1}.above-fold{display:flex;flex-direction:column;justify-content:space-evenly;min-height:calc(100vh - 80px);min-height:calc(100svh - 80px)}.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:.35rem;align-self:center;margin-top:.25rem;padding:.3rem .9rem;text-decoration:none;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);transition:color .2s ease,transform .2s ease}.scroll-cue svg{color:var(--accent-deep);animation:cue-bob 1.8s ease-in-out infinite}.scroll-cue:hover{color:var(--text);transform:translateY(2px)}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.scroll-cue svg{animation:none}}.hero{padding-top:1.5rem;padding-bottom:1rem}.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.hero h1{font-size:clamp(2.2rem,5vw,3.4rem)}.hero h1 .hl{background:linear-gradient(120deg,var(--accent) 0%,var(--accent) 100%);background-repeat:no-repeat;background-size:100% .4em;background-position:0 88%;padding:0 .1em}:root[data-theme=dark] .hero h1 .hl{background:none;color:var(--accent)}.hero .intro{color:var(--muted);font-size:1.05rem;max-width:52ch}.hero-line-mobile,.intro-mobile{display:none}.hero-proto{justify-self:center;text-align:center;--proto-h: clamp(300px, calc(100svh - 370px) , 520px)}.proto-frame{position:relative;height:var(--proto-h);width:calc(var(--proto-h) * 375 / 812);margin:0 auto}.proto-frame:before{content:"";position:absolute;inset:-16px;border-radius:38% 62% 55% 45%/50% 42% 58% 50%;background:var(--accent);opacity:.45;z-index:-1;animation:blob 9s ease-in-out infinite alternate}@keyframes blob{0%{border-radius:38% 62% 55% 45%/50% 42% 58% 50%}to{border-radius:58% 42% 40% 60%/45% 55%}}.hero-proto .figma-embed{width:100%;height:100%}.proto-caption{margin-top:1.1rem;max-width:30ch;margin-inline:auto;color:var(--muted);font-size:.9rem}.proto-caption strong{display:block;color:var(--text)}.doodle{position:absolute;color:var(--accent-deep);opacity:.8;pointer-events:none}.doodle.spin{animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tools{padding:1rem 0 1.25rem}.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite;opacity:.45}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{display:flex;align-items:center;gap:4rem;padding-right:4rem}.tool{display:inline-flex;align-items:center;gap:.65rem;white-space:nowrap;font-size:1.1rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}.tool svg{width:24px;height:24px;flex-shrink:0}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}.protos{display:flex;flex-wrap:wrap;gap:3rem 2.5rem;justify-content:center;align-items:flex-start}.proto-wide{flex:0 0 auto;width:320px;max-width:84vw}.figma-embed{max-width:100%;border-radius:28px;overflow:hidden;background:var(--surface);box-shadow:var(--card-shadow)}.phone{width:270px;border-radius:36px;background:var(--surface);border:10px solid var(--text);box-shadow:var(--card-shadow);overflow:hidden;position:relative}.phone .notch{position:absolute;top:8px;left:50%;transform:translate(-50%);width:90px;height:18px;background:var(--text);border-radius:999px;z-index:2}.phone .screen{height:520px;padding:2.6rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.8rem;font-size:.85rem}.proto-label{text-align:center;margin-top:1rem;color:var(--muted);font-size:.9rem}.proto-label strong{color:var(--text);display:block}.habit{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:14px;cursor:pointer;user-select:none;transition:background .25s ease,transform .15s ease}.habit:active{transform:scale(.97)}.habit .check{width:1.3rem;height:1.3rem;border-radius:50%;border:2px solid var(--accent-deep);display:grid;place-items:center;font-size:.7rem;color:transparent;transition:all .25s ease;flex-shrink:0}.habit.done{background:var(--accent);border-color:var(--accent)}.habit.done .check{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.habit.done .habit-name{text-decoration:line-through;opacity:.7}:root[data-theme=dark] .habit.done{color:#241b30}.progress-track{height:10px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:auto}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:999px;transition:width .4s ease}.progress-caption{font-size:.75rem;color:var(--muted);text-align:center}.ob-screens{flex:1;position:relative;overflow:hidden}.ob-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;opacity:0;transform:translate(40px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}.ob-screen.active{opacity:1;transform:translate(0);pointer-events:auto}.ob-art{width:110px;height:110px;border-radius:30px;background:var(--accent);display:grid;place-items:center;font-size:2.6rem}.ob-dots{display:flex;gap:.4rem;justify-content:center}.ob-dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .3s ease,transform .3s ease}.ob-dot.active{background:var(--accent-deep);transform:scale(1.3)}.ob-btn{border:none;background:var(--accent-ink);color:#fff;padding:.7rem 1.6rem;border-radius:999px;cursor:pointer;font-size:.85rem;transition:transform .15s ease}:root[data-theme=dark] .ob-btn{background:var(--accent);color:#241b30}.ob-btn:hover{transform:translateY(-2px)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.work-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--card-shadow);transition:transform .3s ease,box-shadow .3s ease}.work-card:hover{transform:translateY(-6px)}.work-card .thumb{overflow:hidden;aspect-ratio:16 / 10}.work-card .thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.01);transition:filter .45s ease,transform .45s ease}.work-card:hover .thumb img{filter:grayscale(0);transform:scale(1.06)}.work-card .meta{padding:1.1rem 1.25rem 1.35rem}.work-card h3{font-size:1.15rem;margin-bottom:.3rem}.work-card p{margin:0;color:var(--muted);font-size:.92rem}.work-card .tag{display:inline-block;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:.15rem .6rem;margin-bottom:.6rem}.reveal{opacity:0;transform:translateY(46px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.cards .work-card:nth-child(2){transition-delay:.12s}.cards .work-card:nth-child(3){transition-delay:.24s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.proto-frame:before,.doodle.spin{animation:none}}footer{border-top:1px solid var(--line);padding:2.5rem 1.5rem;text-align:center;color:var(--muted);font-size:.9rem}@media(max-width:760px){.hero .wrap{grid-template-columns:1fr}.hero-line-desktop,.intro-desktop{display:none}.hero-line-mobile{display:inline}.intro-mobile{display:block}section{padding:3.5rem 1.25rem}}
