*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sky-light: #c8e8f5;--sky-mid: #8ec8e2;--sky-deep: #5aa8cc;--sky-night: #2a3f5a;--night-deep: #1a2d42;--sun-gold: #f5b942;--sun-orange: #e89030;--moon-cream: #fefadf;--moon-yellow: #f5edaa;--cloud-white: #f4f2fb;--cloud-lav: #c4b8e0;--cloud-rose: #f2d5cc;--cloud-gray: #8fa3b8;--bg: #daeef8;--bg2: #cce4f2;--surface: rgba(255,255,255,.65);--surface2: rgba(255,255,255,.45);--border: rgba(140,180,220,.25);--border2: rgba(140,180,220,.5);--accent: #f5b942;--accent-ink: #7a4e00;--accent2: #c4b8e0;--accent3: #f2d5cc;--text: #2a3f5a;--text2: #3d5872;--muted: #446179;--font-display: "Nunito", sans-serif;--font-mono: "DM Mono", monospace;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--shadow-soft: 0 8px 32px rgba(90,168,204,.18), 0 2px 8px rgba(90,168,204,.1);--shadow-card: 0 16px 48px rgba(42,63,90,.12), 0 4px 16px rgba(42,63,90,.06);--shadow-float: 0 24px 64px rgba(42,63,90,.15), 0 8px 24px rgba(42,63,90,.08)}html{scroll-behavior:smooth;font-size:16px}body{background:transparent;color:var(--text);font-family:var(--font-display);font-weight:400;line-height:1.7;overflow-x:hidden;min-height:100vh}@media (hover: hover) and (pointer: fine){body{cursor:none}}.cursor{position:fixed;width:14px;height:14px;background:var(--sun-gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #f5b9424d;transition:width .2s,height .2s}.cursor-follower{position:fixed;width:40px;height:40px;border:2px solid rgba(196,184,224,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s var(--ease-out-expo);background:#c4b8e014;backdrop-filter:blur(4px)}::selection{background:#f5b9424d;color:var(--night-deep)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--cloud-lav);border-radius:3px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;transition:background .4s,box-shadow .4s}.nav.scrolled{background:#daeef8d1;backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border),var(--shadow-soft)}.nav-logo{font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}.nav-logo span{color:var(--sun-gold)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.82rem;font-weight:600;color:var(--text2);text-decoration:none;letter-spacing:.02em;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--sun-gold);border-radius:1px;transition:width .3s var(--ease-out-expo)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-social{display:flex;gap:.75rem;align-items:center;margin-left:1rem}.nav-social a{color:var(--muted);transition:color .2s,transform .2s;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem}.nav-social a:hover{color:var(--text);transform:translateY(-2px)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 3rem 5rem;position:relative;overflow:hidden}.hero-tag{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;opacity:0;animation:fadeUp .8s var(--ease-out-expo) .3s forwards}.hero-tag:before{content:"";display:block;width:2rem;height:2px;background:var(--sun-gold);border-radius:1px}.hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,10vw,9rem);line-height:.92;letter-spacing:-.04em;margin-bottom:2rem;color:var(--night-deep)}.hero-title .line{display:block;overflow:hidden}.hero-title .line-inner{display:block;transform:translateY(110%);animation:slideUp .9s var(--ease-out-expo) forwards}.hero-title .line:nth-child(1) .line-inner{animation-delay:.1s}.hero-title .line:nth-child(2) .line-inner{animation-delay:.22s}.hero-title .line:nth-child(3) .line-inner{animation-delay:.34s}.hero-title .accent,.hero-title .accent>span{background:linear-gradient(135deg,var(--sun-gold) 0%,var(--sun-orange) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title .outline{-webkit-text-stroke:2px var(--sky-deep);color:transparent}@keyframes slideUp{to{transform:translateY(0)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.intro-active .hero-title .line-inner{animation-play-state:paused}.intro-active .hero-tag,.intro-active .hero-bottom,.intro-active .hero-stats{animation-play-state:paused;opacity:0}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:2.5rem;gap:2rem}.hero-desc{max-width:440px;font-size:1rem;font-weight:500;color:var(--text2);line-height:1.85;opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease-out-expo) .7s forwards}.hero-scroll{display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:fadeIn 1s ease 1.3s forwards}.hero-scroll span{font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}.scroll-line{width:2px;height:56px;background:linear-gradient(to bottom,var(--sun-gold),transparent);border-radius:1px;animation:scrollPulse 2s ease-in-out 1.8s infinite}@keyframes scrollPulse{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom;opacity:.3}}.hero-stats{position:absolute;right:3rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2rem;opacity:0;animation:fadeIn 1s ease .9s forwards}.stat-item{text-align:right}.stat-num{font-family:var(--font-display);font-size:2.8rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.section{padding:7rem 3rem;position:relative}.section-label{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text2);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.section-label:before{content:attr(data-num);font-size:.75rem;color:var(--muted);font-family:var(--font-mono)}.section-label:after{content:"";flex:1;max-width:3rem;height:2px;background:var(--sun-gold);border-radius:1px}.section-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:-.035em;line-height:1.05;margin-bottom:3.5rem;color:var(--night-deep)}.about-section{background:transparent}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}.about-text{font-size:1.02rem;line-height:1.95;color:var(--text2)}.about-text strong{color:var(--text);font-weight:700}.about-text .highlight{background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.identity-cards{display:flex;flex-direction:column;gap:1rem}.identity-card{padding:1.5rem 1.75rem;border-radius:20px;position:relative;overflow:hidden;cursor:default;transition:transform .4s var(--ease-out-expo),box-shadow .4s}.identity-card.rrhh{background:linear-gradient(135deg,#f5edaa99,#f5b94233);border:1px solid rgba(245,185,66,.35);box-shadow:0 8px 32px #f5b94226}.identity-card.dev{background:linear-gradient(135deg,#c4b8e080,#a894d233);border:1px solid rgba(196,184,224,.45);box-shadow:0 8px 32px #c4b8e033}.identity-card.both{background:linear-gradient(135deg,#f2d5cc80,#c8b4dc33);border:1px solid rgba(242,213,204,.5);box-shadow:0 8px 32px #f2d5cc33}.identity-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-float)}.identity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.identity-card-tag{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem;color:var(--text2)}.identity-card-title{font-size:1.1rem;font-weight:800;color:var(--night-deep);margin-bottom:.5rem;letter-spacing:-.02em}.identity-card-body{font-size:.8rem;color:var(--text2);line-height:1.65}.skills-section{background:transparent}.skills-layout{display:grid;grid-template-columns:1fr 2fr;gap:3.5rem;align-items:start}.skills-terminal{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-card);background:#1a2d42e6;backdrop-filter:blur(8px)}.terminal-bar{background:#2a3f5af2;border-bottom:1px solid rgba(255,255,255,.08);padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ff6b6b}.dot.yellow{background:#ffd93d}.dot.green{background:#6bcb77}.terminal-title{margin-left:.5rem;font-family:var(--font-mono);font-size:.78rem;color:#ffffff4d}.terminal-body{padding:1.25rem 1.5rem;font-family:var(--font-mono);font-size:.78rem;line-height:2.1;color:#ffffffa6}.t-prompt{color:#6bcb77}.t-cmd{color:#fff}.t-out{color:#ffffff73;padding-left:1rem;display:block}.t-out.highlight{color:#ffd93d}.t-comment{color:#fff3;font-style:italic;display:block}.t-line{display:block}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.skill-category{padding:1.25rem 1.5rem;border-radius:16px;background:var(--surface);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-out-expo),box-shadow .3s;position:relative}.skill-category:hover{transform:translateY(-3px);box-shadow:var(--shadow-float)}.skill-category:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 50%);border-radius:inherit;pointer-events:none}.skill-cat-title{font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:.85rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{font-family:var(--font-mono);font-size:.78rem;padding:.22rem .55rem;background:#5aa8cc1a;border:1px solid rgba(90,168,204,.25);border-radius:30px;color:var(--text2);font-weight:500;transition:all .2s}.skill-tag:hover{background:#f5b94226;border-color:#f5b94266;color:var(--sun-orange);transform:translateY(-1px)}.experience-section{background:transparent}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--sun-gold),var(--cloud-lav),transparent);border-radius:1px}.timeline-item{position:relative;padding:0 0 3.5rem 2.5rem}.timeline-dot{position:absolute;left:-2.25rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--cloud-lav);border:2px solid #fff;box-shadow:0 2px 8px #c4b8e080;transition:background .3s,transform .3s}.timeline-item:hover .timeline-dot{background:var(--sun-gold);transform:scale(1.3)}.timeline-period{font-family:var(--font-mono);font-size:.76rem;font-weight:500;letter-spacing:.12em;color:var(--sky-deep);margin-bottom:.35rem}.timeline-org{font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.06em}.timeline-role{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;color:var(--night-deep);margin-bottom:1rem;line-height:1.2}.timeline-tasks{list-style:none;display:flex;flex-direction:column;gap:.35rem}.timeline-tasks li{font-size:.83rem;color:var(--text2);line-height:1.65;padding-left:1.1rem;position:relative}.timeline-tasks li:before{content:"→";position:absolute;left:0;color:var(--sun-gold);font-size:.75rem}.timeline-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.85rem}.timeline-tag{font-size:.75rem;font-weight:600;padding:.18rem .55rem;background:#fff9;border:1px solid rgba(196,184,224,.4);border-radius:20px;color:var(--text2)}.projects-section{background:transparent}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:20px;padding:1.75rem;position:relative;overflow:hidden;transition:transform .4s var(--ease-out-expo),box-shadow .4s;box-shadow:var(--shadow-soft);cursor:pointer}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:35%;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.project-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-float)}.project-card:nth-child(1){background:linear-gradient(135deg,#f5edaa80,#fff9 60%)}.project-card:nth-child(2){background:linear-gradient(135deg,#c4b8e066,#fff9 60%)}.project-card:nth-child(3){background:linear-gradient(135deg,#8fc8e259,#fff9 60%)}.project-card:nth-child(4){background:linear-gradient(135deg,#f2d5cc80,#fff9 60%)}.project-card:nth-child(5){background:linear-gradient(135deg,#b4dcf573,#fff9 60%)}.project-card:nth-child(6){background:linear-gradient(135deg,#c8ebb473,#fff9 60%)}.project-num{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);margin-bottom:1.25rem}.project-type{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:.4rem}.project-title{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--night-deep);margin-bottom:.65rem;line-height:1.25}.project-desc{font-size:.78rem;color:var(--text2);line-height:1.7;margin-bottom:1.25rem}.project-stack{display:flex;flex-wrap:wrap;gap:.35rem}.project-stack-tag{font-size:.75rem;font-weight:600;padding:.18rem .5rem;background:#fff9;border:1px solid rgba(90,168,204,.25);border-radius:20px;color:var(--text2);font-family:var(--font-mono)}.project-arrow{position:absolute;bottom:1.25rem;right:1.25rem;width:32px;height:32px;border-radius:50%;background:#ffffffb3;border:1px solid rgba(90,168,204,.2);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text2);transition:all .3s var(--ease-out-expo)}.project-card:hover .project-arrow{background:var(--sun-gold);border-color:var(--sun-gold);color:#fff;transform:translate(2px,-2px)}.contact-section{background:transparent;min-height:60vh;display:flex;flex-direction:column;justify-content:center}.contact-big{font-family:var(--font-display);font-weight:800;font-size:clamp(2.8rem,7vw,6.5rem);letter-spacing:-.04em;line-height:1;margin-bottom:2.5rem;color:var(--night-deep)}.contact-big .outline{-webkit-text-stroke:2px rgba(42,63,90,.3);color:transparent}.contact-big .accent-grad{background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-links{display:flex;gap:1.25rem;flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:.65rem;font-size:.85rem;font-weight:600;color:var(--text);text-decoration:none;padding:.65rem 1.1rem;background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:50px;box-shadow:var(--shadow-soft);transition:all .3s var(--ease-out-expo);cursor:none}.contact-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-float);background:#ffffffd9;color:var(--text)}.contact-email-btn{background:none;border:none;cursor:none;font-family:var(--font-mono);font-size:.84rem;color:var(--text);letter-spacing:.03em;padding:.5rem 0;border-bottom:1px solid var(--accent);border-radius:0;box-shadow:none}.contact-email-btn:hover{color:var(--accent);border-radius:0;box-shadow:none;background:none;transform:none}.contact-link-icon{width:22px;height:22px;border-radius:50%;background:#5aa8cc26;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--sky-deep)}.footer{padding:1.75rem 3rem;background:#a8ccdf80;border-top:1px solid rgba(255,255,255,.5);display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted);font-weight:600}.footer-right{display:flex;align-items:center;gap:.5rem}.footer-dot{width:7px;height:7px;border-radius:50%;background:var(--sun-gold);box-shadow:0 0 6px #f5b94280;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.reveal,.reveal.visible{opacity:1;transform:none}.project-thumb{margin:-1.75rem -1.75rem 1.5rem;border-radius:20px 20px 0 0;overflow:hidden;aspect-ratio:16 / 10;position:relative;background:linear-gradient(135deg,#f5b94226,#c4b8e026)}.project-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.15) 100%);pointer-events:none}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project-card.featured:hover .project-thumb img{transform:scale(1.06)}.project-card.featured{grid-column:1 / -1;max-width:820px;margin-left:auto;margin-right:auto;width:100%}.project-card.featured .project-thumb{margin:-1.75rem -1.75rem 1.75rem;aspect-ratio:16 / 9}@media (max-width: 900px){.project-card.featured{grid-column:span 1}}.gallery-section{position:relative;background:transparent;padding:6rem 0 4.5rem;overflow:hidden}.gallery-section:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(218,238,248,.35) 100%)}html[data-sky-phase=sunset] .gallery-section:after,html[data-sky-phase=nightfall] .gallery-section:after,html[data-sky-phase=night] .gallery-section:after{background:linear-gradient(to bottom,transparent 0%,rgba(15,25,50,.35) 100%)}.gallery-section .section-label,.gallery-section .section-title,.gallery-subtitle{padding-left:max(3rem,6vw);padding-right:max(3rem,6vw)}.gallery-subtitle{max-width:480px;color:var(--text2);font-size:.95rem;line-height:1.7;margin-bottom:3rem}.gallery-wrap{overflow:hidden;width:100%}.gallery-track{display:flex;gap:2rem;padding:0 max(3rem,6vw) 2rem;will-change:transform}.gallery-card{flex:0 0 auto;width:min(440px,70vw);position:relative;border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;cursor:none;background:#ffffff80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-card);transform-style:preserve-3d;will-change:transform}.gallery-card-num{position:absolute;top:1.25rem;left:1.5rem;z-index:3;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--accent);background:#1a2d42b8;padding:.35rem .65rem;border-radius:100px;backdrop-filter:blur(8px)}.gallery-card-inner{aspect-ratio:4 / 5;overflow:hidden;position:relative}.gallery-card-inner img{width:100%;height:100%;object-fit:cover;display:block;will-change:transform}.gallery-card-meta{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.25rem}.gallery-card-title{font-family:var(--font-display);font-weight:800;font-size:1.35rem;color:var(--text);letter-spacing:-.02em}.gallery-card-cat{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.gallery-card-cta{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5b94240,#c4b8e033);border:2px dashed rgba(245,185,66,.6);width:320px;aspect-ratio:auto;min-height:560px}.gallery-cta-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text);font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1.1;text-align:center}.gallery-cta-arrow{font-size:4rem;color:var(--accent)}.gallery-cta-text{letter-spacing:-.02em}.marquee{display:flex;gap:3rem;overflow:hidden;white-space:nowrap;padding:2.5rem 0;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,4rem);letter-spacing:-.03em;color:var(--text)}.marquee-track{display:flex;gap:3rem;flex-shrink:0;will-change:transform}.marquee-item{display:inline-flex;align-items:center;gap:3rem}.marquee-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);display:inline-block}.spotify-section{padding-bottom:4rem}.spotify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:900px}.spotify-embed{border-radius:12px;box-shadow:var(--shadow-card)}.spotify-label{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}.spotify-embed iframe{display:block}.whatsapp-btn{position:fixed;bottom:2rem;right:2rem;z-index:9500;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #25d36673,0 4px 12px #00000026;cursor:none;text-decoration:none;transition:transform .25s ease}.whatsapp-btn:hover{transform:translateY(-4px) scale(1.06)}.wa-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;pointer-events:none}@media (max-width: 600px){.whatsapp-btn{bottom:1.2rem;right:1.2rem;width:52px;height:52px}}.contact-form{display:flex;flex-direction:column;gap:1.2rem;padding:1.75rem;border-radius:20px;background:#ffffff8c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-card)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field>span{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.form-field input,.form-field textarea{background:#ffffffb3;border:1px solid var(--border);border-radius:12px;padding:.75rem .95rem;font-family:inherit;font-size:.9rem;color:var(--text);transition:border-color .25s,background .25s,box-shadow .25s;cursor:none;resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);background:#ffffffe6;box-shadow:0 0 0 3px #f5b94226}.form-submit{align-self:flex-start;background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));color:#1a1a20;border:none;padding:.85rem 1.8rem;border-radius:100px;font-weight:700;font-size:.88rem;cursor:none;box-shadow:0 8px 24px #f5b9424d;transition:transform .25s,box-shadow .25s;font-family:inherit}.form-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px #f5b94273}.form-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:0 8px 24px #f5b94233}.form-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.form-error{font-size:.85rem;color:#c53030;margin-top:.25rem;font-family:var(--font-mono)}.form-success{font-size:.85rem;color:#2f855a;margin-top:.25rem;font-family:var(--font-mono)}html[data-sky-phase=sunset] .form-error,html[data-sky-phase=nightfall] .form-error,html[data-sky-phase=night] .form-error{color:#ff9e9e}html[data-sky-phase=sunset] .form-success,html[data-sky-phase=nightfall] .form-success,html[data-sky-phase=night] .form-success{color:#a6e3b8}.nav-links a{position:relative;transition:color .25s}.nav-links a:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) scaleX(0);transform-origin:center;width:24px;height:2px;background:var(--accent);border-radius:2px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.nav-links a.active:after,.nav-links a:hover:after{transform:translate(-50%) scaleX(1)}.nav-links a.active{color:var(--text)}.project-card.featured{justify-self:stretch}.projects-grid{align-items:start}.project-thumb{display:flex;align-items:center;justify-content:center}.modal-backdrop{position:fixed;inset:0;z-index:10000;background:#0a14238c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:2rem}.modal-panel{position:relative;width:100%;max-width:560px;background:#fefadf;border:1px solid rgba(20,30,50,.08);border-radius:24px;padding:2.5rem 2.25rem 2rem;box-shadow:0 30px 80px #0a142359,0 10px 30px #0a142333;--text: #1a2842;--text2: #3a4d6a;--muted: #6b7f96;color:#1a2842}.modal-panel .modal-title{color:#1a2842}.modal-panel .modal-sub{color:#3a4d6a}.modal-panel .form-field>span{color:#6b7f96}.modal-panel .form-field input,.modal-panel .form-field textarea{color:#1a2842}.modal-panel .form-field input::placeholder,.modal-panel .form-field textarea::placeholder{color:#8a9cb0}.modal-panel .contact-form{background:transparent;border:none;padding:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.modal-panel .form-field input,.modal-panel .form-field textarea{background:#fff;border:1px solid rgba(20,30,50,.15)}.modal-panel .form-field input:focus,.modal-panel .form-field textarea:focus{background:#fff;border-color:var(--accent)}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:1px solid rgba(20,30,50,.12);background:#141e320a;color:var(--text);font-size:1.4rem;line-height:1;cursor:none;display:flex;align-items:center;justify-content:center;transition:background .25s,transform .25s,color .25s}.modal-close:hover{background:var(--accent);transform:rotate(90deg)}.modal-header{margin-bottom:1.5rem}.modal-label{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.modal-title{font-family:var(--font-display);font-weight:800;font-size:1.8rem;letter-spacing:-.02em;line-height:1.1;color:var(--text);margin:0 0 .65rem}.modal-sub{font-size:.9rem;color:var(--text2);line-height:1.6;margin:0}.open-modal-btn{display:inline-flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--sun-gold),var(--sun-orange));color:#1a1a20;border:none;padding:1rem 2rem;border-radius:100px;font-weight:700;font-size:.95rem;font-family:inherit;cursor:none;box-shadow:0 12px 32px #f5b94259;transition:transform .3s,box-shadow .3s}.open-modal-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px #f5b94280}.open-modal-arrow{font-size:1.1rem}.intro-overlay{position:fixed;inset:0;z-index:99999;background:radial-gradient(ellipse at 50% 40%,#e8f4fc,#cce4f2,#a8ccdf);display:flex;align-items:center;justify-content:center;overflow:hidden;will-change:transform,opacity}.intro-scene{position:relative;width:100%;max-width:900px;height:100%;display:flex;align-items:center;justify-content:center}.intro-text{position:relative;z-index:5;text-align:center;max-width:720px;pointer-events:none}.intro-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.5rem,7vw,5.5rem);letter-spacing:-.04em;line-height:1;color:var(--text);margin:0 0 1rem;will-change:transform,opacity}.intro-subtitle{font-family:var(--font-mono);font-size:clamp(.75rem,1.2vw,.95rem);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0;will-change:transform,opacity}.intro-skip{position:absolute;bottom:2rem;right:2rem;background:#ffffffa6;border:1px solid var(--border2);color:var(--text);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.65rem 1.1rem;border-radius:100px;cursor:pointer;backdrop-filter:blur(8px);z-index:10}@media (max-width: 1024px){.about-grid,.skills-layout{grid-template-columns:1fr}.projects-grid{grid-template-columns:1fr 1fr}.hero-stats{display:none}}@media (max-width: 768px){.nav{padding:1rem 1.5rem}.nav-links,.nav-social{display:none}.section{padding:3.5rem 1.5rem}.hero{min-height:auto;padding:5rem 1.5rem 2.5rem;justify-content:center}.hero-title{margin-bottom:1.25rem}.hero-tag{margin-bottom:1rem;font-size:.7rem}.hero-bottom{flex-direction:column;align-items:flex-start;margin-top:1.5rem;gap:1.5rem}.hero-desc{font-size:.92rem;line-height:1.7}.hero-scroll{display:none}.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column}.gallery-section{padding-bottom:1.5rem}.spotify-section{padding-top:2.5rem;padding-bottom:2.5rem}.contact-section{padding-top:3rem;min-height:auto}}.nav-toggle{display:none;width:42px;height:42px;background:none;border:1px solid var(--border);border-radius:10px;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;position:relative;z-index:2;transition:border-color .2s,background .2s}.nav-toggle span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s var(--ease-out-expo),opacity .2s}.nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav.menu-open .nav-toggle span:nth-child(2){opacity:0}.nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-mobile-panel{position:fixed;top:4.5rem;left:0;right:0;bottom:0;z-index:1;padding:2rem 2rem 2.5rem;background:#daeef8f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:0;pointer-events:none;transform:translateY(-20px);transition:opacity .35s var(--ease-out-expo),transform .35s var(--ease-out-expo);display:none;overflow-y:auto}.nav-mobile-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-mobile-panel ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.nav-mobile-panel a{display:block;padding:1rem .5rem;font-family:var(--font-display);font-weight:800;font-size:1.75rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);transition:color .2s,padding-left .3s var(--ease-out-expo)}.nav-mobile-panel a.active,.nav-mobile-panel a:active{color:var(--accent);padding-left:1rem}html[data-sky-phase=sunset] .nav-mobile-panel,html[data-sky-phase=nightfall] .nav-mobile-panel,html[data-sky-phase=night] .nav-mobile-panel{background:#0f1932eb}@media (max-width: 768px){.nav-toggle{display:flex}.nav-mobile-panel{display:block}}@media (max-width: 1023px){.gallery-section{padding:5rem 0 2rem;overflow:visible}.gallery-wrap{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem}.gallery-wrap::-webkit-scrollbar{display:none}.gallery-track{padding:0 1.5rem 1.5rem;gap:1.25rem;transform:none!important}.gallery-card{flex:0 0 auto;width:78vw;max-width:340px;scroll-snap-align:center;transform:none!important}.gallery-card-cta{width:78vw;max-width:340px;min-height:0;aspect-ratio:4 / 5}.gallery-cta-inner{font-size:1.2rem}.gallery-cta-arrow{font-size:3rem}}@media (max-width: 420px){.modal-backdrop{padding:1rem}.modal-panel{padding:2rem 1.35rem 1.5rem;border-radius:20px}.modal-title{font-size:1.45rem}.hero-title{font-size:clamp(2.6rem,13vw,4rem)}}@media (hover: none),(pointer: coarse){body,.contact-link,.gallery-card,.form-field input,.form-field textarea,.form-submit,.whatsapp-btn,.modal-close,.open-modal-btn{cursor:auto}.cursor,.cursor-follower{display:none!important}}html{background:#bfe3f0}.parallax-sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}main,nav,.footer{position:relative;z-index:2}nav.nav{z-index:100}.whatsapp-btn{z-index:50}.sky-gradient{position:absolute;inset:0;width:100%;height:100%;will-change:opacity}.sky-gradient--from{opacity:1}.sky-gradient--to{opacity:0}.sky-layer{position:absolute;inset:0;width:100%;height:100%;will-change:transform,opacity}.sky-layer__item{position:absolute;pointer-events:none;user-select:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.08))}.sky-layer--mountains .sky-layer__item{left:0!important;top:auto!important;bottom:0;width:100%!important;max-width:none;filter:drop-shadow(0 -8px 24px rgba(0,0,0,.12))}.sky-layer--stars .sky-layer__item{filter:drop-shadow(0 0 8px rgba(255,255,200,.6))}.sky-layer--birds .sky-layer__item{filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.sky-astro{position:absolute;top:0;left:0;width:clamp(180px,22vw,360px);aspect-ratio:1;will-change:transform,opacity}.sky-astro img{width:100%;height:100%;object-fit:contain;display:block}.sky-astro--sun img{filter:drop-shadow(0 0 60px rgba(255,200,80,.55)) drop-shadow(0 0 140px rgba(255,160,60,.35))}.sky-astro--moon img{filter:drop-shadow(0 0 60px rgba(220,230,255,.5)) drop-shadow(0 0 140px rgba(180,200,255,.3))}main{background:transparent}@media (prefers-reduced-motion: reduce){.sky-layer,.sky-astro,.sky-gradient{transition:none!important;will-change:auto}}html[data-sky-phase]{transition:color .6s ease}html[data-sky-phase=dawn],html[data-sky-phase=morning],html[data-sky-phase=noon],html[data-sky-phase=afternoon]{--text: #1a2842;--text2: #3a4d6a;--night-deep: #0a1830}html[data-sky-phase=golden]{--text: #2a1a3a;--text2: #4a2f5a;--night-deep: #1a0820}html[data-sky-phase=sunset]{--text: #f5e8e0;--text2: #e0cce0;--muted: #c8b0c8;--night-deep: #ffffff;--border: rgba(255,255,255,.18);--border2: rgba(255,255,255,.12)}html[data-sky-phase=nightfall]{--text: #ece8f4;--text2: #d4d0e0;--muted: #b0b0c8;--night-deep: #ffffff;--border: rgba(255,255,255,.18);--border2: rgba(255,255,255,.12);--surface: rgba(20,25,50,.45)}html[data-sky-phase=night]{--text: #eaf0fa;--text2: #d0d8e8;--muted: #a0b0c8;--night-deep: #ffffff;--border: rgba(255,255,255,.18);--border2: rgba(255,255,255,.12);--surface: rgba(20,30,55,.5)}.hero-title,.section-title,.contact-big,.about-headline{text-shadow:0 2px 16px rgba(255,255,255,.4)}html[data-sky-phase=sunset] .hero-title,html[data-sky-phase=sunset] .section-title,html[data-sky-phase=sunset] .contact-big,html[data-sky-phase=nightfall] .hero-title,html[data-sky-phase=nightfall] .section-title,html[data-sky-phase=nightfall] .contact-big,html[data-sky-phase=nightfall] .about-headline,html[data-sky-phase=night] .hero-title,html[data-sky-phase=night] .section-title,html[data-sky-phase=night] .contact-big,html[data-sky-phase=night] .about-headline{text-shadow:0 2px 24px rgba(0,0,0,.6)}.nav.scrolled{background:#ffffff2e!important}html[data-sky-phase=sunset] .nav.scrolled,html[data-sky-phase=nightfall] .nav.scrolled,html[data-sky-phase=night] .nav.scrolled{background:#0f193280!important}.footer{background:transparent!important}@keyframes sky-drift-x{0%{transform:translate(0)}50%{transform:translate(40px)}to{transform:translate(0)}}@keyframes sky-float-y{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes sky-bird-flap{0%,to{transform:translate(0) scale(1)}25%{transform:translate(8px,-6px) scale(1.02)}50%{transform:translate(16px,-2px) scale(1)}75%{transform:translate(8px,-8px) scale(1.02)}}@keyframes sky-twinkle{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.sky-layer__img{display:block;width:100%;height:auto}.sky-layer--clouds .sky-layer__img{animation:sky-drift-x 14s ease-in-out infinite,sky-float-y 9s ease-in-out infinite}.sky-layer--clouds .sky-layer__item:nth-child(2n) .sky-layer__img{animation-duration:18s,11s;animation-delay:-3s,-2s}.sky-layer--clouds .sky-layer__item:nth-child(3n) .sky-layer__img{animation-duration:22s,13s;animation-delay:-7s,-5s}.sky-layer--clouds .sky-layer__item:nth-child(4n) .sky-layer__img{animation-duration:16s,10s;animation-delay:-11s,-8s}.sky-layer--birds .sky-layer__img{animation:sky-bird-flap 6s ease-in-out infinite}.sky-layer--birds .sky-layer__item:nth-child(2n) .sky-layer__img{animation-delay:-2s}.sky-layer--stars .sky-layer__img{animation:sky-twinkle 3s ease-in-out infinite}.sky-layer--stars .sky-layer__item:nth-child(2n) .sky-layer__img{animation-delay:-1s;animation-duration:4s}.sky-layer--stars .sky-layer__item:nth-child(3n) .sky-layer__img{animation-delay:-2s;animation-duration:5s}.sky-astro__float{width:100%;height:100%;animation:sky-float-y 8s ease-in-out infinite}.sky-astro__float img{width:100%;height:100%;object-fit:contain;display:block}@media (prefers-reduced-motion: reduce){.sky-layer__img,.sky-astro__float{animation:none!important}}@media (max-width: 768px){.sky-astro{width:clamp(120px,35vw,200px)}}.identity-card,.skill-category,.skills-terminal,.timeline-item,.project-card,.gallery-card,.contact-form,.stat-item{backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1)}html[data-sky-phase=sunset] .identity-card,html[data-sky-phase=sunset] .skill-category,html[data-sky-phase=sunset] .skills-terminal,html[data-sky-phase=sunset] .timeline-item,html[data-sky-phase=sunset] .project-card,html[data-sky-phase=sunset] .gallery-card,html[data-sky-phase=sunset] .contact-form,html[data-sky-phase=nightfall] .identity-card,html[data-sky-phase=nightfall] .skill-category,html[data-sky-phase=nightfall] .skills-terminal,html[data-sky-phase=nightfall] .timeline-item,html[data-sky-phase=nightfall] .project-card,html[data-sky-phase=nightfall] .gallery-card,html[data-sky-phase=nightfall] .contact-form,html[data-sky-phase=night] .identity-card,html[data-sky-phase=night] .skill-category,html[data-sky-phase=night] .skills-terminal,html[data-sky-phase=night] .timeline-item,html[data-sky-phase=night] .project-card,html[data-sky-phase=night] .gallery-card,html[data-sky-phase=night] .contact-form{background:#19264459!important;border-color:#ffffff2e!important}html[data-sky-phase] .modal-panel .contact-form{background:transparent!important;border:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.nav-mute{background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:.5rem;border-radius:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s;margin-left:.5rem}.nav-mute:hover{color:var(--fg);border-color:var(--fg)}:root{--bg: #f4ece2;--bg-2: #fbe6dc;--bg-3: #d6e6f1;--ink: #2a2730;--ink-soft: #5a5560;--accent: #e88d72;--accent-2: #7eb8d6;--accent-3: #c9b285;--line: rgba(42, 39, 48, .12);--card: #ffffff;--card-tint: rgba(255, 255, 255, .6);--sky-c1: #ffb89a;--sky-c2: #ffd9b8;--sky-c3: #cfe9f0;--sun-x: 78%;--sun-y: 78%;--sun-scale: .85;--sun-opacity: 1;--moon-opacity: 0;--moon-x: 50%;--moon-y: 20%;--moon-scale: 1;--stars-opacity: 0;--font-display: "Fraunces", Georgia, serif;--font-ui: "Nunito", -apple-system, system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, "SF Mono", monospace;--spring: linear( 0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1.004 83.8%, 1 );--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--sky-c3)}body{margin:0;font-family:var(--font-ui);font-size:17px;line-height:1.55;color:var(--ink);background:transparent;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:color .6s ease}.portfolio{position:relative;z-index:1}.sky-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.sky-bg__gradient{position:absolute;inset:0;background:linear-gradient(180deg,var(--sky-c1) 0%,var(--sky-c2) 50%,var(--sky-c3) 100%);transition:background .05s linear}.sky-bg__sun{position:absolute;left:var(--sun-x);top:var(--sun-y);width:180px;height:180px;margin-left:-90px;margin-top:-90px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff4d6,#ffd68a 40%,#ffa56a 80%,transparent 100%);transform:scale(var(--sun-scale));opacity:var(--sun-opacity);filter:blur(2px);animation:sunPulse 6s ease-in-out infinite;transition:opacity .6s ease}@keyframes sunPulse{0%,to{filter:blur(2px)}50%{filter:blur(5px) brightness(1.05)}}.sky-bg__moon{position:absolute;left:var(--moon-x);top:var(--moon-y);width:90px;height:90px;margin-left:-45px;margin-top:-45px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fffaf0,#f0e8d8 50%,#c8b8a0);box-shadow:0 0 40px #fffae666;transform:scale(var(--moon-scale));opacity:var(--moon-opacity);transition:opacity .6s ease}.sky-bg__stars{position:absolute;inset:0;opacity:var(--stars-opacity);transition:opacity .8s ease}.sky-star{position:absolute;background:#fffaf0;border-radius:50%;box-shadow:0 0 4px #fffaf0cc;animation:starTwinkle 3s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}.sky-bg__clouds{position:absolute;inset:0;opacity:.65}.sky-cloud{position:absolute;background:#fff;border-radius:100px;filter:blur(.5px)}.sky-cloud--1{top:14%;left:-8%;width:220px;height:50px;animation:driftCloud 38s linear infinite}.sky-cloud--2{top:22%;left:30%;width:140px;height:36px;animation:driftCloud 28s linear infinite;animation-delay:-10s}.sky-cloud--3{top:8%;left:65%;width:180px;height:42px;animation:driftCloud 44s linear infinite;animation-delay:-22s}@keyframes driftCloud{0%{transform:translate(0)}to{transform:translate(130vw)}}.sky-bg__mountains{position:absolute;bottom:0;left:0;right:0;height:32%;pointer-events:none}.sky-mountain{position:absolute;left:0;right:0;bottom:0;height:100%;background:var(--accent-3);opacity:.4;clip-path:polygon(0 100%,0 65%,12% 40%,22% 55%,35% 30%,48% 50%,60% 35%,75% 55%,88% 40%,100% 60%,100% 100%);transition:background .6s ease,opacity .6s ease}.sky-mountain--front{height:68%;background:color-mix(in oklch,var(--accent) 50%,var(--bg-2));opacity:.55;clip-path:polygon(0 100%,0 75%,15% 55%,28% 70%,42% 50%,55% 65%,70% 48%,82% 62%,100% 70%,100% 100%)}[data-sky-phase=sunset] .sky-bg__clouds,[data-sky-phase=nightfall] .sky-bg__clouds,[data-sky-phase=night] .sky-bg__clouds{opacity:.25}[data-sky-phase=night] .sky-cloud{background:#c8c8dc66}em{font-style:italic}strong{font-weight:700;color:var(--ink)}.highlight{color:var(--ink);background:linear-gradient(180deg,transparent 60%,color-mix(in oklch,var(--accent) 30%,transparent) 60%);padding:0 2px;font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklch,var(--accent) 18%,transparent);animation:pulse 2.6s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}.section__head{margin-bottom:24px}.section__num{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:.15em;text-transform:uppercase;display:inline-block;padding-bottom:8px;border-bottom:1px solid var(--line)}.section__num--light{color:color-mix(in oklch,var(--ink-soft) 70%,white)}.section__title{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);font-weight:500;line-height:1.05;margin:0 0 56px;letter-spacing:-.01em}.section__title--big{font-size:clamp(48px,7vw,96px);line-height:1;margin-bottom:72px}.section__title em{font-style:italic;color:var(--accent);font-weight:400}.cta{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:100px;font-family:var(--font-ui);font-weight:600;font-size:15px;text-decoration:none;transition:transform .5s var(--spring),box-shadow .3s,background .3s;cursor:pointer;border:none}.cta--primary{background:var(--ink);color:var(--bg);box-shadow:0 6px 18px color-mix(in oklch,var(--ink) 25%,transparent)}.cta--primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 28px color-mix(in oklch,var(--ink) 35%,transparent)}.cta--ghost{color:var(--ink);border:1px solid var(--line);background:var(--card-tint);backdrop-filter:blur(8px)}.cta--ghost:hover{transform:translateY(-3px);background:#fff;border-color:var(--ink)}.hero{position:relative;min-height:100vh;padding:80px 8vw 60px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:40px;background:transparent}.hero__content{position:relative;z-index:2;max-width:620px}.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);padding:6px 14px 6px 10px;background:var(--card-tint);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:100px;margin-bottom:16px;animation:floatIn .9s var(--ease-out) both}.hero__tag{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);letter-spacing:.05em;margin-bottom:20px;animation:floatIn 1s var(--ease-out) .1s both}@keyframes floatIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero__title{font-family:var(--font-display);font-size:clamp(56px,9.5vw,132px);font-weight:500;line-height:.88;letter-spacing:-.03em;margin:0 0 28px}.hero__title-line{display:block;animation:titleRise 1.1s var(--spring) both}.hero__title-line:nth-child(2){animation-delay:.12s}.hero__title-line:nth-child(3){animation-delay:.22s}.hero__title-line--accent{font-style:italic;color:var(--accent);font-weight:400;margin-left:.4em}.hero__title-line--outline{-webkit-text-stroke:1.5px var(--ink);color:transparent;font-weight:400;margin-left:.15em;font-size:.78em}@keyframes titleRise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero__role{font-size:18px;line-height:1.55;color:var(--ink-soft);max-width:520px;margin:0 0 32px;animation:floatIn 1s var(--ease-out) .35s both}.hero__role em{font-family:var(--font-display);font-style:italic;color:var(--ink);font-weight:500}.hero__cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;animation:floatIn 1s var(--ease-out) .45s both}.hero__stats{display:grid;grid-template-columns:repeat(3,auto);gap:32px;justify-content:start;padding-top:28px;border-top:1px solid var(--line);animation:floatIn 1s var(--ease-out) .6s both}.stat-item{display:grid;gap:4px}.stat-num{font-family:var(--font-display);font-size:36px;font-weight:500;line-height:1;color:var(--accent)}.stat-label{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;line-height:1.3}.hero__mascot{position:relative;z-index:2;justify-self:center;animation:mascotEntrance 1.6s var(--spring) .6s both}@keyframes mascotEntrance{0%{opacity:0;transform:translateY(60px) scale(.6) rotate(-10deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.hero__mascot-speech{position:absolute;top:12%;left:100%;transform:translate(-30%);background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:14px 14px 14px 4px;font-family:var(--font-mono);font-size:12px;white-space:nowrap;box-shadow:0 4px 14px #0000000f;animation:speechBob 3.5s ease-in-out infinite,floatIn 1s 1.8s both}@keyframes speechBob{0%,to{transform:translate(-30%) translateY(0)}50%{transform:translate(-30%) translateY(-4px)}}.pacha-root{animation:pachaBreath 3.6s ease-in-out infinite}@keyframes pachaBreath{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-4px) scaleY(1.02)}}.pacha-head{animation:pachaHeadBob 4.2s ease-in-out infinite}@keyframes pachaHeadBob{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}.pacha-ear--l{animation:earWiggleL 5s ease-in-out infinite;transform-origin:100px 38px}.pacha-ear--r{animation:earWiggleR 5s ease-in-out infinite .5s;transform-origin:148px 38px}@keyframes earWiggleL{0%,90%,to{transform:rotate(0)}93%{transform:rotate(-12deg)}96%{transform:rotate(6deg)}}@keyframes earWiggleR{0%,90%,to{transform:rotate(0)}93%{transform:rotate(12deg)}96%{transform:rotate(-6deg)}}.pacha-eyes{animation:blink 6s ease-in-out infinite;transform-origin:center}@keyframes blink{0%,92%,to{transform:scaleY(1)}94%{transform:scaleY(.1)}96%{transform:scaleY(1)}}.pacha--wave .pacha-wave{animation:wave 2.2s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(-18deg)}75%{transform:rotate(8deg)}}.pacha:hover .pacha-root{animation-duration:1.5s}.anim-low .pacha-root,.anim-low .pacha-head{animation-duration:6s!important}.anim-high .pacha-root{animation-duration:2.2s}.hero__scroll-cue{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);letter-spacing:.2em;text-transform:uppercase}.scroll-line{width:1.5px;height:44px;background:var(--line);position:relative;overflow:hidden}.scroll-line__dot{position:absolute;top:0;left:-1px;width:3.5px;height:12px;background:var(--ink);border-radius:2px;animation:scrollDot 2s ease-in-out infinite}@keyframes scrollDot{0%{transform:translateY(-12px);opacity:0}30%{opacity:1}to{transform:translateY(44px);opacity:0}}.about{position:relative;padding:120px 8vw;background:transparent}.about__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start}.about__lead{font-family:var(--font-display);font-size:clamp(20px,2vw,26px);line-height:1.45;font-weight:400;color:var(--ink);margin:0 0 22px}.about__bio p{color:var(--ink-soft);margin:0 0 22px;max-width:560px}.about__signature{font-family:var(--font-mono);display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:13px;margin-top:32px!important}.about__signature-mark{display:inline-block;width:36px;height:1.5px;background:var(--accent)}.identity-cards{display:grid;gap:14px;position:sticky;top:40px}.identity-card{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:18px;transition:transform .5s var(--spring),border-color .3s,box-shadow .4s;position:relative;overflow:hidden}.identity-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent)}.identity-card--dev:before{background:var(--accent-2)}.identity-card--both:before{background:var(--accent-3)}.identity-card:hover{transform:translateY(-3px) rotate(-.3deg);box-shadow:0 16px 32px #2a273014;border-color:var(--accent)}.identity-card__tag{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:8px}.identity-card__title{font-family:var(--font-display);font-size:22px;font-weight:500;margin-bottom:8px;color:var(--ink)}.identity-card__body{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}.about__pacha{position:absolute;bottom:60px;right:8vw;opacity:.85;pointer-events:none;animation:pachaWalk 12s ease-in-out infinite}@keyframes pachaWalk{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}.skills{padding:120px 8vw;background:transparent}.skills__layout{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}.terminal{background:#1c1a22;border-radius:14px;overflow:hidden;box-shadow:0 24px 48px #2a273026;position:sticky;top:40px;font-family:var(--font-mono);font-size:13px}.terminal__bar{display:flex;align-items:center;gap:6px;padding:12px 14px;background:#15131a;border-bottom:1px solid rgba(255,255,255,.05)}.t-dot{width:11px;height:11px;border-radius:50%;display:inline-block;box-shadow:none;animation:none}.t-dot--red{background:#ff5f56}.t-dot--yellow{background:#ffbd2e}.t-dot--green{background:#27c93f}.terminal__title{margin-left:auto;margin-right:auto;font-size:11px;color:#ffffff80}.terminal__body{padding:22px 22px 28px;color:#ffffffd9;line-height:1.7}.t-prompt{color:var(--accent)}.t-cmd{color:var(--accent-2)}.t-out{color:#ffffffb3;padding-left:16px}.t-comment{color:#ffffff59;font-style:italic}.t-highlight{color:var(--accent);font-weight:700}.t-cursor{display:inline-block;color:var(--accent);animation:blinkCursor 1s steps(2) infinite}@keyframes blinkCursor{50%{opacity:0}}.skills__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.skill-category{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:16px;transition:transform .5s var(--spring),border-color .3s}.skill-category:hover{transform:translateY(-3px);border-color:var(--accent)}.skill-category__title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin:0 0 12px}.skill-category__tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{padding:5px 10px;background:var(--bg-2);border-radius:100px;font-size:12.5px;font-weight:500;transition:all .4s var(--spring);cursor:default}.skill-tag:hover{background:var(--ink);color:var(--bg);transform:scale(1.06) rotate(-1.5deg)}.experience{padding:120px 8vw;background:transparent}.experience__cols{display:grid;grid-template-columns:1fr 1fr;gap:60px}.experience__col-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:36px;padding-bottom:12px;border-bottom:2px solid var(--accent)}.experience__col-head--edu{border-bottom-color:var(--accent-2)}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1.5px;background:var(--line)}.timeline-item{position:relative;padding-bottom:36px}.timeline-item__dot{position:absolute;left:-22px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--card);border:2px solid var(--accent);transition:transform .4s var(--spring),background .3s}.timeline--edu .timeline-item__dot{border-color:var(--accent-2)}.timeline-item:hover .timeline-item__dot{transform:scale(1.4);background:var(--accent)}.timeline--edu .timeline-item:hover .timeline-item__dot{background:var(--accent-2)}.timeline-item__period{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}.timeline-item__org{font-family:var(--font-display);font-size:17px;font-weight:500;margin-bottom:2px;line-height:1.25}.timeline-item__role{font-size:13.5px;color:var(--ink-soft);margin-bottom:12px;font-style:italic}.timeline-item__tasks{list-style:none;padding:0;margin:0 0 12px;font-size:13.5px;color:var(--ink-soft);line-height:1.55}.timeline-item__tasks li{position:relative;padding-left:14px;margin-bottom:6px}.timeline-item__tasks li:before{content:"›";position:absolute;left:0;color:var(--accent);font-weight:700}.timeline--edu .timeline-item__tasks li:before{color:var(--accent-2)}.timeline-item__tags{display:flex;flex-wrap:wrap;gap:5px}.timeline-tag{font-family:var(--font-mono);font-size:10.5px;padding:3px 8px;background:var(--bg-2);border:1px solid var(--line);border-radius:100px;color:var(--ink-soft);letter-spacing:.04em}.experience__sublist-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:700;margin:36px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--accent-2)}.experience__sublist-head--accent{border-bottom-color:var(--accent)}.experience__sublist-head--accent-2{border-bottom-color:var(--accent-2)}.experience__sublist-head--accent-3{border-bottom-color:var(--accent-3)}.experience__sublist-head--edu{border-bottom-color:var(--accent-2)}.experience__sublist{display:flex;flex-direction:column;gap:4px}.sublist-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:13px;transition:background .3s}.sublist-row:hover{background:color-mix(in oklch,var(--bg-2) 50%,transparent)}.sublist-row__year{font-family:var(--font-mono);font-weight:700;font-size:11px;color:var(--accent);letter-spacing:.05em}.sublist-row__title{color:var(--ink)}.sublist-row__org{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);white-space:nowrap;letter-spacing:.04em}.projects{position:relative;padding:120px 8vw;background:transparent}.projects__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.project-card{display:flex;flex-direction:column;position:relative;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit;transition:transform .6s var(--spring),box-shadow .4s,border-color .3s;min-height:280px}.project-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 24px 48px #2a27301a;border-color:var(--accent)}.project-card--featured{background:linear-gradient(180deg,var(--card),color-mix(in oklch,var(--bg-2) 30%,var(--card)));grid-column:span 1}.project-card__head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.project-card__num{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:.1em}.project-card__status{font-family:var(--font-mono);font-size:10.5px;padding:3px 10px;border-radius:100px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-soft)}.project-card__status--produccion{color:#2a7a3a;border-color:color-mix(in oklch,#2a7a3a 30%,transparent)}.project-card__status--activo,.project-card__status--en-uso{color:#2a6e8a;border-color:color-mix(in oklch,#2a6e8a 30%,transparent)}.project-card__status--desarrollo{color:var(--accent);border-color:color-mix(in oklch,var(--accent) 40%,transparent)}.project-card__status--prototipo{color:var(--ink-soft)}.project-card__type{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px}.project-card__title{font-family:var(--font-display);font-size:22px;font-weight:500;margin:0 0 10px;letter-spacing:-.01em}.project-card__desc{font-size:13.5px;line-height:1.5;color:var(--ink-soft);margin:0 0 16px;flex:1}.project-card__stack{display:flex;flex-wrap:wrap;gap:5px}.project-card__chip{font-family:var(--font-mono);font-size:10.5px;padding:3px 8px;background:var(--bg-2);border-radius:100px;color:var(--ink-soft);letter-spacing:.04em}.project-card__arrow{position:absolute;top:24px;right:24px;font-size:20px;color:var(--ink-soft);opacity:0;transform:translate(-6px,6px);transition:opacity .3s,transform .5s var(--spring)}.project-card:hover .project-card__arrow{opacity:1;transform:translate(0);color:var(--accent)}.projects__cta{margin-top:40px;padding:28px 32px;background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.projects__cta-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:4px}.projects__cta-title{font-family:var(--font-display);font-size:22px;font-weight:500}.projects__pacha{margin-top:40px;display:flex;align-items:center;gap:12px;justify-content:center;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);opacity:.85}.contact{padding:140px 8vw 60px;background:transparent;position:relative;overflow:hidden}.contact__inner{max-width:760px;margin:0 auto;position:relative}.contact__pacha{margin:0 auto 12px;width:140px;display:flex;justify-content:center}.contact__title{font-family:var(--font-display);font-size:clamp(56px,10vw,132px);font-weight:500;margin:12px 0 24px;line-height:.95;letter-spacing:-.02em;color:var(--ink)}.contact__title em{font-style:italic;color:var(--accent);font-weight:400}.contact__lead{font-size:18px;line-height:1.55;color:var(--ink-soft);margin:0 0 40px;max-width:560px}.contact__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:32px}.contact__link{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--card);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-family:var(--font-ui);font-size:15px;font-weight:600;cursor:pointer;transition:transform .5s var(--spring),border-color .3s,background .3s;text-align:left}.contact__link--email{font:inherit;font-weight:600}.contact__link:hover{transform:translateY(-3px);border-color:var(--accent);background:#fff}.contact__link-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--bg-2);border-radius:10px;font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--accent);flex-shrink:0}.contact__link-value{font-size:14.5px}.contact__location{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:.05em;margin-top:16px}.contact__foot{margin-top:60px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);flex-wrap:wrap;letter-spacing:.04em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease-out),transform 1.1s var(--spring)}.reveal.in{opacity:1;transform:translateY(0)}.follow-pacha{position:fixed;bottom:24px;right:24px;z-index:50;pointer-events:none;opacity:0;transform:translateY(20px);transition:opacity .6s,transform .8s var(--spring)}.follow-pacha.visible{opacity:.9;transform:translateY(0)}@media (max-width: 1024px){.skills__layout{grid-template-columns:1fr}.terminal{position:static}.experience__cols{grid-template-columns:1fr;gap:80px}.about__grid{grid-template-columns:1fr;gap:40px}.identity-cards{position:static}}@media (max-width: 720px){.hero{grid-template-columns:1fr;padding-top:60px;text-align:left}.hero__mascot{justify-self:start;transform-origin:left}.hero__mascot-speech{left:60%}.hero__stats{gap:20px}.stat-num{font-size:28px}.follow-pacha{display:none}.projects__cta{flex-direction:column;align-items:flex-start}.contact{padding:80px 6vw 40px}}:root{--os-font-ui: -apple-system, "SF Pro Text", "Segoe UI", system-ui, "Nunito", sans-serif;--os-font-display: "Fraunces", Georgia, serif;--os-font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--os-font-script: "Caveat", cursive;--win-bg: rgba(255, 253, 248, .88);--win-bg-solid: #fffdf8;--win-bar: linear-gradient(180deg, rgba(245, 235, 220, .95), rgba(232, 220, 200, .95));--win-bar-text: #4a3a30;--win-border: rgba(70, 50, 35, .18);--win-shadow: 0 24px 60px rgba(40, 20, 10, .22), 0 4px 14px rgba(40, 20, 10, .1);--win-radius: 14px;--win-ink: #2a2018;--win-ink-soft: #6a5a4a;--win-divider: rgba(70, 50, 35, .1);--dot-1: #d96a4a;--dot-2: #d8a85a;--dot-3: #6a9eb0;--chrome-tint: rgba(255, 250, 240, .55);--chrome-border: rgba(70, 50, 35, .12);--chrome-ink: #2a2018}html[data-sky-phase=sunset],html[data-sky-phase=nightfall],html[data-sky-phase=night]{--win-bg: rgba(28, 26, 38, .85);--win-bg-solid: #1c1a26;--win-bar: linear-gradient(180deg, rgba(46, 42, 60, .95), rgba(34, 30, 48, .95));--win-bar-text: #f0e8d8;--win-border: rgba(244, 236, 226, .18);--win-shadow: 0 24px 60px rgba(0, 0, 0, .55), 0 4px 14px rgba(0, 0, 0, .35);--win-ink: #f4ece2;--win-ink-soft: #a8a0b0;--win-divider: rgba(244, 236, 226, .1);--chrome-tint: rgba(28, 26, 38, .65);--chrome-border: rgba(244, 236, 226, .1);--chrome-ink: #f4ece2}.desktop{position:relative;z-index:1;font-family:var(--os-font-ui)}.desktop section.os-section{position:relative;min-height:100vh;padding:90px 40px 130px;display:flex;flex-direction:column;justify-content:center;align-items:center}.desktop section.os-section[data-pad=loose]{min-height:auto;padding-top:110px;padding-bottom:140px}.desktop section.os-section#hero{min-height:100vh;justify-content:flex-start;padding-top:90px;padding-bottom:130px}.menubar{position:fixed;top:10px;left:50%;transform:translate(-50%);width:min(1200px,calc(100vw - 28px));height:32px;z-index:80;background:var(--chrome-tint);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--chrome-border);border-radius:12px;display:flex;align-items:center;padding:0 14px;gap:20px;font-size:12px;color:var(--chrome-ink);font-weight:600;letter-spacing:.005em;box-shadow:0 4px 18px #0000000f}.menubar__brand{display:flex;align-items:center;gap:6px;font-weight:700}.menubar__brand-mark{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,#e88d72,#6a9eb0);box-shadow:inset 0 0 0 1px #fff6}.menubar__item{font-weight:500;opacity:.75;cursor:default;white-space:nowrap}.menubar__item--active{font-weight:700;opacity:1}.menubar__spacer{flex:1}.menubar__meta{font-family:var(--os-font-mono);font-size:11px;font-weight:400;opacity:.75;letter-spacing:.02em;white-space:nowrap}.menubar__live{display:inline-flex;align-items:center;gap:4px}.menubar__live:before{content:"";width:6px;height:6px;border-radius:50%;background:#4caf50;box-shadow:0 0 6px #4caf50b3;animation:livePulse 1.6s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.5}}.dock{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:80;background:var(--chrome-tint);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--chrome-border);border-radius:18px;padding:8px 10px;display:flex;gap:8px;align-items:end;box-shadow:0 16px 40px #0000002e,0 4px 12px #00000014}.dock__icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-family:var(--os-font-mono);font-size:18px;font-weight:700;color:#fff;cursor:pointer;position:relative;text-decoration:none;transition:transform .18s var(--ease-out, ease),filter .2s ease;box-shadow:inset 0 -2px #0000002e,inset 0 1px #ffffff59,0 2px 6px #0000001f}.dock__icon:hover{transform:translateY(-6px) scale(1.1);filter:brightness(1.05)}.dock__icon[data-active=true]:after{content:"";position:absolute;bottom:-6px;left:50%;width:4px;height:4px;border-radius:50%;background:currentColor;transform:translate(-50%);opacity:.6}.dock__icon--mail{background:linear-gradient(135deg,#4a90e2,#1f5fb0)}.dock__icon--sheet{background:linear-gradient(135deg,#2d8a4a,#156128)}.dock__icon--cal{background:linear-gradient(135deg,#e8534a,#b02a22)}.dock__icon--code{background:linear-gradient(135deg,#3e4a6b,#1e2440)}.dock__icon--term{background:linear-gradient(135deg,#2a2730,#050608)}.dock__icon--pacha{background:linear-gradient(135deg,#f4cba0,#c98a78);padding:4px}.dock__divider{width:1px;height:36px;background:var(--chrome-border);margin:0 4px;align-self:center}.win{position:relative;background:var(--win-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--win-border);border-radius:var(--win-radius);box-shadow:var(--win-shadow);overflow:hidden;color:var(--win-ink);display:flex;flex-direction:column}.win--solid{background:var(--win-bg-solid);backdrop-filter:none;-webkit-backdrop-filter:none}.win--max{width:min(1100px,100%)}.win--lg{width:min(900px,100%)}.win--md{width:min(680px,100%)}.win--sm{width:min(420px,100%)}.win__bar{height:36px;background:var(--win-bar);border-bottom:1px solid var(--win-divider);display:flex;align-items:center;gap:8px;padding:0 12px;position:relative;flex-shrink:0}.win__dots{display:flex;gap:7px}.win__dot{width:12px;height:12px;border-radius:50%;position:relative;box-shadow:inset 0 -1px #00000026}.win__dot--1{background:var(--dot-1)}.win__dot--2{background:var(--dot-2)}.win__dot--3{background:var(--dot-3)}.win__title{position:absolute;left:50%;transform:translate(-50%);font-size:12.5px;font-weight:600;color:var(--win-bar-text);letter-spacing:.01em;white-space:nowrap;pointer-events:none}.win__title-mono{font-family:var(--os-font-mono);font-weight:500}.win__tools{margin-left:auto;display:flex;gap:12px;color:var(--win-bar-text);font-size:13px;opacity:.55}.win__body{padding:24px 28px}.win__pill{font-family:var(--os-font-mono);font-size:10px;background:#0000000f;color:var(--win-bar-text);padding:2px 8px;border-radius:6px;letter-spacing:.05em;text-transform:uppercase}.hero-os{width:min(900px,100%);display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:20px}.hero-os__avatar{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.4),transparent 60%),var(--card-tint, rgba(255, 255, 255, .4));border:2px solid var(--chrome-border);box-shadow:0 18px 40px #00000038,inset 0 -2px 12px #00000014;display:grid;place-items:center;position:relative}.hero-os__name-eyebrow{font-family:var(--os-font-mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--chrome-ink);opacity:.7}.hero-os__name{font-family:var(--os-font-display);font-size:clamp(48px,6vw,76px);font-weight:500;line-height:1;letter-spacing:-.02em;text-align:center;color:var(--chrome-ink);margin:0}.hero-os__name em{font-style:italic;color:var(--accent, #e88d72);font-weight:400}.hero-os__role{font-size:17px;text-align:center;max-width:560px;color:var(--chrome-ink);opacity:.85;line-height:1.5}.hero-os__role em{font-style:italic;color:var(--accent, #e88d72)}.hero-os__cta{display:inline-flex;align-items:center;gap:8px;background:var(--chrome-ink);color:var(--win-bg-solid);padding:12px 22px;border-radius:22px;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer;border:none;font-family:inherit;box-shadow:0 8px 18px #0000002e;transition:transform .18s var(--ease-out, ease)}.hero-os__cta:hover{transform:translateY(-2px)}.hero-os__cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.hero-os__cta--ghost{background:transparent;color:var(--chrome-ink);border:1px solid var(--chrome-border);box-shadow:none}.hero-os__stats{display:flex;gap:36px;margin-top:8px;flex-wrap:wrap;justify-content:center}.hero-os__stat{text-align:center;color:var(--chrome-ink)}.hero-os__stat-num{font-family:var(--os-font-display);font-size:32px;line-height:1;font-weight:500}.hero-os__stat-lbl{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.7;margin-top:4px;line-height:1.3}.hero-os__deco{position:absolute;pointer-events:none;opacity:.85}.hero-os__deco-1{top:18%;left:6%;transform:rotate(-3deg);width:220px}.hero-os__deco-2{top:22%;right:7%;transform:rotate(3deg);width:220px}.hero-os__deco-3{bottom:22%;left:9%;transform:rotate(2deg);width:180px}.hero-os__deco .win__bar{height:22px}.hero-os__deco .win__title{font-size:10px}.hero-os__deco .win__dot{width:8px;height:8px}.hero-os__deco .win__body{padding:10px 12px;font-size:11px}.app-mail__hdr{padding:16px 28px 14px;border-bottom:1px solid var(--win-divider)}.app-mail__subj{font-family:var(--os-font-display);font-size:28px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.app-mail__meta{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:12px;color:var(--win-ink-soft)}.app-mail__meta b{color:var(--win-ink);font-weight:600}.app-mail__body{padding:24px 28px 28px;font-size:15px;line-height:1.65;color:var(--win-ink)}.app-mail__body p{margin:0 0 14px}.app-mail__body strong{color:var(--win-ink);font-weight:700}.app-mail__body .hi{background:linear-gradient(transparent 55%,#e88d7247 55%);padding:0 2px}.app-mail__sig{font-family:var(--os-font-script);font-size:30px;color:var(--accent-2, #6a9eb0);margin-top:18px;line-height:1}.app-mail__attach{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.app-mail__att{background:#4632230d;border:1px solid var(--win-divider);border-radius:10px;padding:12px 14px}.app-mail__att-tag{font-family:var(--os-font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent, #e88d72);margin-bottom:4px}.app-mail__att-title{font-weight:700;font-size:14px;margin-bottom:6px}.app-mail__att-body{font-size:12px;color:var(--win-ink-soft);line-height:1.5}.app-sheet__formula{display:flex;align-items:center;gap:10px;background:var(--win-bg-solid);border-bottom:1px solid var(--win-divider);padding:6px 12px;font-family:var(--os-font-mono);font-size:12px}.app-sheet__cell-name{background:#0000000a;border:1px solid var(--win-divider);border-radius:4px;padding:2px 8px;min-width:56px;text-align:center;color:var(--win-ink)}.app-sheet__fx{color:var(--win-ink-soft);font-style:italic}.app-sheet__formula-body{color:var(--accent-2, #6a9eb0)}.app-sheet__tabs{background:#0000000a;border-top:1px solid var(--win-divider);display:flex;gap:0;padding:0 8px;font-family:var(--os-font-mono);font-size:11px;overflow-x:auto}.app-sheet__tab{padding:6px 14px;border-right:1px solid var(--win-divider);color:var(--win-ink-soft);cursor:pointer;border-top:2px solid transparent;white-space:nowrap}.app-sheet__tab--active{background:var(--win-bg-solid);color:var(--win-ink);border-top:2px solid var(--accent, #e88d72);font-weight:700}.app-sheet__grid{display:grid;font-family:var(--os-font-mono);font-size:12.5px;width:100%;background:var(--win-bg-solid)}.app-sheet__grid>div{border-right:1px solid var(--win-divider);border-bottom:1px solid var(--win-divider);padding:7px 10px;min-height:30px;display:flex;align-items:center}.app-sheet__grid .col-h,.app-sheet__grid .row-h{background:#0000000b;color:var(--win-ink-soft);justify-content:center;font-weight:600;font-size:11px}.app-sheet__grid .row-h{padding:0;min-width:30px}.app-sheet__grid .cell-cat{font-weight:700;color:var(--win-ink)}.app-sheet__grid .cell-num{color:var(--accent-2, #6a9eb0);justify-content:flex-end}.app-sheet__grid .cell-lvl-master{color:#2d8a4a;font-weight:700}.app-sheet__grid .cell-lvl-senior{color:#2d8a4a}.app-sheet__grid .cell-lvl-mid{color:#d8a85a}.app-sheet__grid .cell-check{color:#2d8a4a;justify-content:center;font-weight:700}.app-sheet__grid .cell-empty{background:#00000005}.app-sheet__tags{padding:16px 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:var(--win-bg-solid);border-top:1px solid var(--win-divider)}.app-sheet__tag-cat-h{font-family:var(--os-font-mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent, #e88d72);margin-bottom:8px}.app-sheet__tag-list{display:flex;flex-wrap:wrap;gap:5px}.app-sheet__tag{background:#46322312;border:1px solid var(--win-divider);border-radius:4px;padding:3px 8px;font-family:var(--os-font-mono);font-size:11px;color:var(--win-ink)}.app-cal__head{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--win-divider)}.app-cal__head h3{font-family:var(--os-font-display);font-size:22px;margin:0;font-weight:600}.app-cal__head-meta{font-family:var(--os-font-mono);font-size:11px;color:var(--win-ink-soft);letter-spacing:.1em}.app-cal__body{padding:18px 22px 22px}.cal-row{display:grid;grid-template-columns:90px 16px 1fr;gap:14px;padding:16px 0;border-bottom:1px dashed var(--win-divider)}.cal-row:last-child{border-bottom:none}.cal-row__period{font-family:var(--os-font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--win-ink-soft);text-transform:uppercase;line-height:1.4;padding-top:4px}.cal-row__rail{position:relative;display:flex;justify-content:center}.cal-row__rail:before{content:"";position:absolute;top:8px;bottom:-16px;width:1px;background:var(--win-divider)}.cal-row__dot{position:absolute;top:6px;width:12px;height:12px;border-radius:4px;background:var(--accent, #e88d72);box-shadow:0 0 0 3px var(--win-bg-solid)}.cal-row__dot--cielo{background:#6a9eb0}.cal-row__dot--arena{background:#c9a85a}.cal-row__dot--terra{background:#d96a4a}.cal-row__dot--violeta{background:#8a78b8}.cal-row__body{min-width:0}.cal-row__org{font-weight:700;font-size:15px;color:var(--win-ink);line-height:1.3}.cal-row__role{font-size:12.5px;color:var(--win-ink-soft);margin-top:1px;margin-bottom:8px}.cal-row__tasks{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.55;color:var(--win-ink);display:flex;flex-direction:column;gap:3px}.cal-row__tasks li{position:relative;padding-left:14px}.cal-row__tasks li:before{content:"›";position:absolute;left:0;color:var(--accent, #e88d72);font-weight:700}.cal-row__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.cal-row__tag{font-family:var(--os-font-mono);font-size:10px;background:#46322312;border:1px solid var(--win-divider);border-radius:4px;padding:2px 6px;color:var(--win-ink)}.app-files{display:grid;grid-template-columns:220px 1fr;min-height:460px}.app-files__side{background:#00000009;border-right:1px solid var(--win-divider);padding:14px 10px;font-size:13px}.app-files__sg-title{font-family:var(--os-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--win-ink-soft);padding:6px 10px 4px}.app-files__nav{display:flex;flex-direction:column}.app-files__nav-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:12.5px;color:var(--win-ink);cursor:pointer;text-decoration:none}.app-files__nav-item--active{background:var(--accent, #e88d72);color:#fff;font-weight:600}.app-files__nav-icon{width:14px;height:14px;border-radius:3px;background:currentColor;opacity:.7}.app-files__main{padding:18px 22px 22px}.app-files__crumbs{font-family:var(--os-font-mono);font-size:11px;color:var(--win-ink-soft);margin-bottom:14px}.app-files__crumbs b{color:var(--win-ink)}.app-files__group{margin-bottom:22px}.app-files__group:last-child{margin-bottom:0}.app-files__group-h{font-family:var(--os-font-mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent, #e88d72);margin-bottom:10px;display:flex;align-items:center;gap:8px}.app-files__group-h:after{content:"";flex:1;height:1px;background:var(--win-divider)}.app-files__group--alt .app-files__group-h{color:var(--accent-2, #6a9eb0)}.app-files__group--alt2 .app-files__group-h{color:#c9a85a}.app-files__list{display:flex;flex-direction:column;gap:0}.file-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:8px 10px;border-radius:6px;font-size:12.5px}.file-row:nth-child(odd){background:#00000006}.file-row__year{flex:0 0 auto;font-family:var(--os-font-mono);color:var(--win-ink-soft);font-size:11px;white-space:nowrap}.file-row__title{flex:1 1 200px;min-width:0;color:var(--win-ink);line-height:1.4}.file-row__org{flex:0 0 auto;font-size:11px;color:var(--win-ink-soft);font-family:var(--os-font-mono);text-align:right;line-height:1.4;max-width:160px;margin-left:auto;text-wrap:pretty}.app-code{display:grid;grid-template-columns:230px 1fr;background:#1c1d2a;color:#cdd6f4;font-family:var(--os-font-mono);min-height:560px}.app-code__side{background:#15161f;border-right:1px solid rgba(255,255,255,.06);padding:12px 10px;font-size:12px}.app-code__side-h{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:#6c7086;margin-bottom:8px;padding:4px 6px}.app-code__file{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;color:#a6adc8}.app-code__file:hover{background:#ffffff0a}.app-code__file--active{background:#89b4fa26;color:#cdd6f4}.app-code__file-icon{width:12px;height:12px;display:inline-block;background:currentColor;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%);opacity:.55}.app-code__main{display:flex;flex-direction:column}.app-code__tabs{background:#15161f;display:flex;font-size:11.5px;border-bottom:1px solid rgba(255,255,255,.06)}.app-code__tab{padding:7px 16px;border-right:1px solid rgba(255,255,255,.06);color:#6c7086;cursor:pointer}.app-code__tab--active{background:#1c1d2a;color:#cdd6f4;border-top:1px solid #89b4fa;margin-top:-1px}.app-code__editor{padding:14px 0;flex:1;font-size:13px;line-height:1.7;overflow:hidden}.code-line{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:0 16px}.code-line:hover{background:#ffffff06}.code-num{color:#6c7086;text-align:right;user-select:none}.code-com{color:#6c7086;font-style:italic}.code-key{color:#cba6f7}.code-str{color:#a6e3a1}.code-fn{color:#89b4fa}.code-prop{color:#f9e2af}.code-num-v{color:#fab387}.code-tag{color:#f38ba8}.code-true{color:#fab387}.code-link{color:#74c7ec;text-decoration:underline;cursor:pointer}.app-code__status{background:#cba6f7;color:#11111b;padding:4px 12px;font-size:11px;display:flex;justify-content:space-between;gap:16px}.app-code__status span{display:inline-flex;align-items:center;gap:6px}.app-term{background:#1a1820;color:#c5c0d0;font-family:var(--os-font-mono);padding:22px 26px;font-size:13.5px;line-height:1.7;min-height:460px}.app-term .win__bar{background:linear-gradient(180deg,#2a2730,#1a1820);border-bottom:1px solid rgba(255,255,255,.08)}.term-line{display:flex;gap:6px;flex-wrap:wrap}.term-prompt{color:#a6e3a1;font-weight:700}.term-path{color:#89b4fa}.term-cmd{color:#cdd6f4}.term-out{color:#c5c0d0;padding-left:0}.term-out--hi{color:#f5cba0}.term-com{color:#6c7086;font-style:italic}.term-link{color:#74c7ec;text-decoration:underline;cursor:pointer;background:none;border:none;font-family:inherit;font-size:inherit;padding:0}.term-link:hover{color:#a6e3a1}.term-cursor{display:inline-block;width:8px;height:16px;background:#cdd6f4;vertical-align:middle;animation:termBlink 1.1s steps(2) infinite}@keyframes termBlink{50%{opacity:0}}.term-ascii{color:#f5cba0;font-size:11px;line-height:1.05;white-space:pre;margin:4px 0 10px}.term-toast{position:absolute;top:50px;right:24px;background:#a6e3a1;color:#11111b;padding:6px 12px;font-family:var(--os-font-mono);font-size:11px;border-radius:4px;font-weight:700;letter-spacing:.05em;opacity:0;pointer-events:none;transition:opacity .25s ease}.term-toast--show{opacity:1}.os-section__head{width:min(1100px,100%);display:flex;align-items:baseline;gap:12px;margin-bottom:18px;color:var(--chrome-ink)}.os-section__num{font-family:var(--os-font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.65}.os-section__title{font-family:var(--os-font-display);font-size:clamp(28px,3.6vw,44px);font-weight:500;letter-spacing:-.015em;line-height:1.05;margin:0}.os-section__title em{font-style:italic;color:var(--accent, #e88d72);font-weight:400}.os-section__sub{font-size:13px;color:var(--chrome-ink);opacity:.75;margin-left:auto;max-width:380px;text-align:right}.desktop-pet{position:fixed;bottom:80px;right:28px;z-index:70;pointer-events:none;transition:opacity .4s ease}.desktop-pet--hidden{opacity:0}.desktop-pet__bubble{position:absolute;bottom:100%;right:0;background:var(--win-bg-solid);color:var(--win-ink);padding:6px 12px;border-radius:12px 12px 4px;font-family:var(--os-font-mono);font-size:11px;white-space:nowrap;margin-bottom:6px;box-shadow:0 6px 16px #0000002e;border:1px solid var(--win-border)}.hero-os__avatar svg{display:block}.reveal-os{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s var(--ease-out, ease)}.reveal-os.in{opacity:1;transform:translateY(0)}.projects-grid{width:min(1100px,100%);display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:22px}.proj-card{background:var(--win-bg);border:1px solid var(--win-border);border-radius:12px;padding:16px 18px 18px;text-decoration:none;color:var(--win-ink);display:flex;flex-direction:column;gap:8px;transition:transform .18s var(--ease-out, ease),box-shadow .18s ease;box-shadow:0 2px 6px #0000000a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.proj-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0000001f}.proj-card__head{display:flex;justify-content:space-between;align-items:center;font-family:var(--os-font-mono);font-size:11px;color:var(--win-ink-soft)}.proj-card__status{background:#0000000d;padding:2px 8px;border-radius:4px;letter-spacing:.05em;text-transform:uppercase;font-size:9.5px}.proj-card__status--produccion{background:#a6e3a1;color:#11111b}.proj-card__status--activo{background:#89b4fa;color:#11111b}.proj-card__status--en-uso{background:#fab387;color:#11111b}.proj-card__status--publico{background:linear-gradient(135deg,#e88d72,#d96a4a);color:#fff;font-weight:800;box-shadow:0 2px 8px #d96a4a59}.proj-card--featured{border-color:#e88d728c;box-shadow:0 0 0 2px #e88d7224,0 6px 18px #d96a4a1a}.proj-card--featured:before{content:"🚀";position:absolute;top:-10px;right:14px;background:var(--win-bg-solid);border:1px solid var(--win-border);padding:2px 8px;border-radius:10px;font-size:12px}.proj-card--featured .proj-card__type{font-weight:700}.proj-card--featured .proj-card__arrow{color:var(--accent, #e88d72);font-weight:700;opacity:1}.projects-lead{width:min(1100px,100%);margin-top:24px;margin-bottom:4px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;color:var(--chrome-ink)}.projects-lead__h{font-family:var(--os-font-display);font-size:18px;font-weight:600;letter-spacing:-.01em}.projects-lead__sub{font-family:var(--os-font-mono);font-size:11.5px;opacity:.7}.projects-lead__sub b{background:linear-gradient(135deg,#e88d72,#d96a4a);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.proj-card__type{font-family:var(--os-font-mono);font-size:11px;color:var(--accent, #e88d72)}.proj-card__title{font-family:var(--os-font-display);font-size:19px;font-weight:600;margin:0}.proj-card__desc{font-size:12.5px;color:var(--win-ink-soft);line-height:1.5}.proj-card__stack{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.proj-card__chip{font-family:var(--os-font-mono);font-size:10px;background:#4632230f;border:1px solid var(--win-divider);border-radius:4px;padding:2px 6px}.proj-card__arrow{position:absolute;top:14px;right:14px;font-size:14px;opacity:.6}.personal__grid{display:grid;width:min(1100px,100%);gap:18px;grid-template-columns:1fr}.app-gallery__head,.app-music__head{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--win-divider);gap:12px}.app-music__head{gap:14px;justify-content:flex-start}.app-music__h-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#1db954,#14803c);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700;box-shadow:0 4px 10px #1db95440}.app-gallery__h-eyebrow,.app-music__h-sub{font-family:var(--os-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--win-ink-soft)}.app-gallery__h-title,.app-music__h-title{font-family:var(--os-font-display);font-size:18px;font-weight:600;color:var(--win-ink);margin-top:2px}.app-gallery__h-cta{font-family:var(--os-font-mono);font-size:12px;color:var(--accent, #e88d72);text-decoration:none;padding:6px 12px;border:1px solid var(--accent, #e88d72);border-radius:18px;white-space:nowrap;transition:background .18s ease,color .18s ease}.app-gallery__h-cta:hover{background:var(--accent, #e88d72);color:#fff}.app-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:16px 20px 20px}.gal-card{position:relative;background:var(--win-bg-solid);border:1px solid var(--win-divider);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--win-ink);display:flex;flex-direction:column;transition:transform .22s var(--ease-out, ease),box-shadow .22s ease}.gal-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0000002e}.gal-card__num{position:absolute;top:8px;left:10px;font-family:var(--os-font-mono);font-size:10px;letter-spacing:.1em;background:#0000008c;color:#fff;padding:2px 6px;border-radius:4px;z-index:2}.gal-card__img{aspect-ratio:4 / 3;background:linear-gradient(135deg,#d8a878,#8a6840);overflow:hidden}.gal-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out, ease)}.gal-card:hover .gal-card__img img{transform:scale(1.06)}.gal-card__meta{padding:10px 12px 12px}.gal-card__title{font-weight:700;font-size:14px;line-height:1.2}.gal-card__cat{font-family:var(--os-font-mono);font-size:10.5px;color:var(--win-ink-soft);margin-top:2px}.gal-card--cta{background:linear-gradient(135deg,#2a2730,#1a1820);color:#fff;border-color:#ffffff14;display:grid;place-items:center;min-height:180px}.gal-card--cta:hover{background:linear-gradient(135deg,#1da1f2,#0a5fa8)}.gal-card__cta-inner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:20px}.gal-card__cta-arrow{font-size:32px;font-weight:200;transition:transform .25s ease}.gal-card--cta:hover .gal-card__cta-arrow{transform:translate(4px)}.gal-card__cta-text{font-family:var(--os-font-mono);font-size:11.5px;letter-spacing:.05em;line-height:1.4}.app-music__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding:16px 20px 22px}.music-tile{background:#0000000a;border:1px solid var(--win-divider);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.music-tile__head{display:flex;flex-direction:column;gap:1px;padding:2px 4px}.music-tile__label{font-weight:700;font-size:14px;color:var(--win-ink)}.music-tile__desc{font-family:var(--os-font-mono);font-size:10.5px;color:var(--win-ink-soft)}.music-tile__embed{border-radius:10px;background:transparent;display:block}.exp-os__grid{display:grid;width:min(1300px,100%);gap:18px}@media (min-width: 1180px){.exp-os__grid{grid-template-columns:1.1fr 1fr}}@media (max-width: 1179px){.exp-os__grid{grid-template-columns:1fr}}@media (max-width: 820px){.desktop section.os-section{padding:80px 14px 90px}.menubar{width:calc(100vw - 16px);padding:0 10px;gap:10px}.menubar__item{display:none}.menubar__brand{font-size:11px}.menubar__meta{font-size:10px}.dock{padding:6px 8px;gap:6px}.dock__icon{width:42px;height:42px;font-size:16px}.app-mail__attach,.app-files{grid-template-columns:1fr}.app-files__side{display:none}.app-code{grid-template-columns:1fr;min-height:auto}.app-code__side{display:none}.app-sheet__tags{grid-template-columns:1fr}.cal-row{grid-template-columns:70px 12px 1fr;gap:8px}.hero-os__deco{display:none}}:root{--os-ease-out: cubic-bezier(.23, 1, .32, 1);--os-ease-in-out: cubic-bezier(.77, 0, .175, 1);--os-press: cubic-bezier(.34, 1.56, .64, 1)}.hero-os__cta{transition:transform .18s var(--os-ease-out),box-shadow .18s var(--os-ease-out),background .18s ease}.hero-os__cta:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000038}.hero-os__cta:active{transform:translateY(0) scale(.97);transition-duration:.1s}.hero-os__cta:focus-visible{outline:2px solid var(--accent, #e88d72);outline-offset:3px}.dock__icon{transition:transform .22s var(--os-ease-out),filter .22s ease,box-shadow .22s var(--os-ease-out)}.dock__icon:hover{transform:translateY(-6px) scale(1.08);filter:brightness(1.06)}.dock__icon:active{transform:translateY(-2px) scale(.96);transition-duration:90ms}.dock__icon:focus-visible{outline:2px solid #fff;outline-offset:3px}.proj-card{transition:transform .22s var(--os-ease-out),box-shadow .22s var(--os-ease-out),border-color .22s ease}.proj-card:active{transform:translateY(-1px) scale(.992);transition-duration:.11s}.proj-card:focus-visible{outline:2px solid var(--accent, #e88d72);outline-offset:4px}.app-sheet__tab,.app-code__file,.app-files__nav-item{transition:background .16s ease,color .16s ease,transform .14s var(--os-ease-out);cursor:pointer}.app-sheet__tab:active,.app-code__file:active,.app-files__nav-item:active{transform:scale(.985);transition-duration:80ms}.app-sheet__tab:focus-visible,.app-code__file:focus-visible,.app-files__nav-item:focus-visible{outline:2px solid var(--accent, #e88d72);outline-offset:-2px;border-radius:4px}.file-row{transition:background .14s ease}.file-row:hover{background:#0000000d}.reveal-os{opacity:0;transform:translateY(14px);transition:opacity .48s var(--os-ease-out),transform .52s var(--os-ease-out)}.reveal-os.visible{opacity:1;transform:none}.music-tile{transition:transform .22s var(--os-ease-out),border-color .22s ease,background .22s ease}.music-tile:hover{transform:translateY(-2px);border-color:var(--accent, #e88d72);background:#0000000d}.term-link{transition:color .14s ease,transform .14s var(--os-ease-out)}.term-link:active{transform:scale(.96)}.gal-card{transition:transform .24s var(--os-ease-out),box-shadow .24s var(--os-ease-out)}.gal-card:active{transform:translateY(-2px) scale(.99);transition-duration:.1s}@media (prefers-reduced-motion: reduce){.reveal-os,.hero-os__cta,.dock__icon,.proj-card,.gal-card,.music-tile,.app-sheet__tab,.app-code__file,.app-files__nav-item,.term-link{transition-duration:1ms!important}.reveal-os{transform:none;opacity:1}}.menubar{background:linear-gradient(180deg,#ffffff2e,#fff0 60%),var(--chrome-tint);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);box-shadow:inset 0 1px #ffffff52,inset 0 -1px #0000000f,0 6px 20px #00000014,0 1px #e88d7214;transition:background .4s ease,box-shadow .4s ease}html[data-sky-phase=sunset] .menubar,html[data-sky-phase=nightfall] .menubar,html[data-sky-phase=night] .menubar{box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000002e,0 8px 24px #00000052}.menubar__item{transition:opacity .18s ease,color .18s ease,transform .18s var(--os-ease-out)}.menubar__item:not(.menubar__item--active):hover{opacity:.95;transform:translateY(-.5px)}.menubar__item--active{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--chrome-ink);animation:menubarItemSwap .38s var(--os-ease-out)}.menubar__item--active:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent, #e88d72);box-shadow:0 0 6px var(--accent, #e88d72);margin-left:2px;animation:livePulse 2.4s ease-in-out infinite}@keyframes menubarItemSwap{0%{opacity:0;transform:translateY(-2px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}.menubar__brand-mark{background:linear-gradient(135deg,var(--accent, #e88d72),var(--accent-2, #6a9eb0));transition:transform .26s var(--os-ease-out),box-shadow .26s ease}.menubar__brand:hover .menubar__brand-mark{transform:rotate(-8deg) scale(1.08);box-shadow:inset 0 0 0 1px #ffffff80,0 0 10px #e88d7280}.menubar__live:before{position:relative}.menubar__live:after{content:"";width:6px;height:6px;border-radius:50%;position:relative;left:-7px;margin-right:-7px;box-shadow:0 0 #4caf508c;animation:liveRing 1.6s ease-out infinite;pointer-events:none}@keyframes liveRing{0%{box-shadow:0 0 #4caf5080}70%{box-shadow:0 0 0 6px #4caf5000}to{box-shadow:0 0 #4caf5000}}.proj-card--featured{border-color:color-mix(in oklab,var(--accent, #e88d72) 70%,transparent);box-shadow:0 0 0 1.5px color-mix(in oklab,var(--accent, #e88d72) 30%,transparent),0 10px 28px color-mix(in oklab,var(--accent, #e88d72) 22%,transparent);transition:transform .26s var(--os-ease-out),box-shadow .32s var(--os-ease-out),border-color .32s ease}.proj-card--featured:hover{transform:translateY(-5px);border-color:var(--accent, #e88d72);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent, #e88d72) 55%,transparent),0 18px 40px color-mix(in oklab,var(--accent, #e88d72) 30%,transparent),0 6px 12px #0000001a}.proj-card--featured:active{transform:translateY(-2px) scale(.992);transition-duration:.11s}.proj-card--featured:before{content:"🚀";position:absolute;top:-10px;right:12px;background:var(--win-bg-solid);border:1px solid color-mix(in oklab,var(--accent, #e88d72) 35%,var(--win-border));padding:2px 7px;border-radius:999px;font-size:11px;line-height:1;box-shadow:0 2px 6px #0000001f,0 0 12px color-mix(in oklab,var(--accent, #e88d72) 28%,transparent);transform-origin:center;transition:transform .22s var(--os-ease-out)}.proj-card--featured:hover:before{transform:translateY(-2px) rotate(-6deg)}.proj-card__status--publico{background:linear-gradient(100deg,#e88d72,#f0a07a 40%,#ffd0b8,#f0a07a 60%,#d96a4a);background-size:220% 100%;background-position:0% 50%;animation:publicoShimmer 4s ease-in-out infinite}@keyframes publicoShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (prefers-reduced-motion: reduce){.menubar__item--active,.menubar__live:after,.proj-card__status--publico{animation:none!important}.menubar{transition-duration:1ms!important}}@media (max-width: 820px){.os-section__head{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:22px}.os-section__title{font-size:clamp(26px,7.5vw,34px)}.os-section__sub{font-size:12px;max-width:100%}.hero-os__stats{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;justify-content:center;margin-top:14px}.hero-os__stat-num{font-size:28px}.hero-os__stat-lbl{font-size:9.5px}.hero-os__name{font-size:clamp(40px,11vw,56px)}.hero-os__role{font-size:15px;padding:0 4px}.desktop-pet{bottom:96px;right:16px}.desktop-pet__bubble{font-size:11px;padding:6px 10px}.app-music__grid{grid-template-columns:1fr}.app-sheet__formula,.app-sheet__grid,.app-sheet__tags,.app-sheet__tabs{padding-left:12px;padding-right:12px}.app-sheet__grid{grid-template-columns:26px 1.6fr 56px 70px 50px 1fr!important;font-size:11px}.menubar__item--active{font-size:11px}}.tools-app{--win-bg-solid: #fffdf8;--win-bg: rgba(255, 253, 248, .92);--win-bar: linear-gradient(180deg, rgba(247, 238, 224, .96), rgba(235, 223, 203, .96));--win-bar-text: #5a463a;--win-border: rgba(70, 50, 35, .16);--win-shadow: 0 30px 70px rgba(60, 35, 18, .16), 0 6px 18px rgba(60, 35, 18, .08);--win-radius: 16px;--ink: #2a2018;--ink-soft: #6a5a4a;--ink-faint: #9a8a78;--divider: rgba(70, 50, 35, .1);--hairline: rgba(70, 50, 35, .14);--field: #fcf6ea;--field-line: rgba(70, 50, 35, .16);--panel: #f6efe1;--panel-2: #f1e7d4;--dot-1: #d96a4a;--dot-2: #d8a85a;--dot-3: #6a9eb0;--accent: #d96a4a;--accent-deep: #bd5235;--accent-soft: rgba(217, 106, 74, .12);--accent-ring: rgba(217, 106, 74, .22);--sand: #c79a4e;--andean: #5f93a6;--ok: #5b8c5a;--ok-bg: rgba(91, 140, 90, .12);--warn: #c77d2e;--warn-bg: rgba(199, 125, 46, .14);--over: #c2503a;--over-bg: rgba(194, 80, 58, .12);--font-display: "Fraunces", Georgia, serif;--font-ui: "Nunito", -apple-system, system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, Menlo, monospace;--font-script: "Caveat", cursive;--ease: cubic-bezier(.16, 1, .3, 1)}.tools-app[data-theme=dark]{--win-bg-solid: #1c1a26;--win-bg: rgba(28, 26, 38, .9);--win-bar: linear-gradient(180deg, rgba(46, 42, 60, .96), rgba(34, 30, 48, .96));--win-bar-text: #cfc6ba;--win-border: rgba(244, 236, 226, .16);--win-shadow: 0 30px 70px rgba(0, 0, 0, .5), 0 6px 18px rgba(0, 0, 0, .35);--ink: #f4ece2;--ink-soft: #b4aa9c;--ink-faint: #847a70;--divider: rgba(244, 236, 226, .1);--hairline: rgba(244, 236, 226, .14);--field: #26222f;--field-line: rgba(244, 236, 226, .18);--panel: #232030;--panel-2: #2c2839;--accent: #ef8a6a;--accent-deep: #f0a07a;--accent-soft: rgba(239, 138, 106, .16);--accent-ring: rgba(239, 138, 106, .3);--sand: #e0b46a;--andean: #7fb4c6;--ok: #84bd83;--ok-bg: rgba(132, 189, 131, .16);--warn: #e3aa60;--warn-bg: rgba(227, 170, 96, .16);--over: #e9836c;--over-bg: rgba(233, 131, 108, .18)}.tools-app[data-theme=dark]{background:radial-gradient(135% 95% at 50% -20%,#1c2b48,#141d33 45%,#0c1322 78%,#080d1a) fixed}.tools-app[data-theme=dark]:after{background:radial-gradient(60% 100% at 18% 130%,rgba(20,30,55,.6),transparent 70%),radial-gradient(70% 100% at 80% 135%,rgba(15,22,42,.6),transparent 70%)}.tools-app *{box-sizing:border-box;margin:0;padding:0}.tools-app{height:100%}.tools-app{font-family:var(--font-ui);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;background:radial-gradient(135% 90% at 50% -20%,#cfe3ea,#dfd6c2 42%,#f1e8d6 78%,#f4ecdc) fixed;min-height:100vh}.tools-app:after{content:"";position:fixed;left:0;right:0;bottom:0;height:26vh;background:radial-gradient(60% 100% at 18% 130%,rgba(150,120,80,.1),transparent 70%),radial-gradient(70% 100% at 80% 135%,rgba(120,95,65,.09),transparent 70%);pointer-events:none;z-index:0}.tools-app button{font-family:inherit;cursor:pointer}.tools-app input{font-family:inherit}.tools-app a{color:inherit}.tools-app .stage{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:clamp(28px,6vh,64px) clamp(16px,4vw,48px) clamp(64px,10vh,110px)}.tools-app .win{width:100%;background:var(--win-bg-solid);border:1px solid var(--win-border);border-radius:var(--win-radius);box-shadow:var(--win-shadow);overflow:hidden;display:flex;flex-direction:column}.tools-app .win--hub{max-width:1040px}.tools-app .win--calc{max-width:760px}.tools-app .win--pdf{max-width:980px}.tools-app .win--edit{max-width:1180px}.tools-app .win__bar{position:relative;height:44px;flex-shrink:0;background:var(--win-bar);border-bottom:1px solid var(--divider);display:flex;align-items:center;padding:0 16px;gap:10px}.tools-app .win__dots{display:flex;gap:8px}.tools-app .win__dot{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 -1px #00000024}.tools-app .win__dot--1{background:var(--dot-1)}.tools-app .win__dot--2{background:var(--dot-2)}.tools-app .win__dot--3{background:var(--dot-3)}.tools-app .win__title{position:absolute;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:12.5px;font-weight:500;color:var(--win-bar-text);letter-spacing:.01em;white-space:nowrap;pointer-events:none;display:flex;align-items:center;gap:7px}.tools-app .win__title b{color:var(--ink);font-weight:500}.tools-app .win__title .sep{opacity:.4}.tools-app .win__right{margin-left:auto;display:flex;align-items:center;gap:10px}.tools-app .win__privacy{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ok);background:var(--ok-bg);padding:4px 9px;border-radius:7px;white-space:nowrap}.tools-app .win__privacy svg{width:12px;height:12px}.tools-app .win__theme{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--hairline);background:transparent;color:var(--win-bar-text);transition:all .2s var(--ease)}.tools-app .win__theme svg{width:15px;height:15px}.tools-app .win__theme:hover{color:var(--ink);background:var(--field);border-color:var(--win-border)}.tools-app .win__body{padding:clamp(28px,4vw,52px) clamp(24px,4vw,56px) clamp(36px,5vw,60px)}.tools-app .eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.tools-app .h-title{font-family:var(--font-display);font-weight:500;font-size:clamp(34px,5vw,52px);line-height:1;letter-spacing:-.015em;color:var(--ink);margin-top:14px}.tools-app .h-title em{font-style:italic;color:var(--accent);font-weight:400}.tools-app .lead{font-size:clamp(15px,1.5vw,17px);color:var(--ink-soft);line-height:1.65;max-width:56ch;margin-top:16px}.tools-app .section-label{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px}.tools-app .section-label:after{content:"";flex:1;height:1px;background:var(--hairline)}.tools-app .backlink{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--ink-soft);text-decoration:none;padding:6px 11px 6px 8px;border-radius:9px;border:1px solid transparent;transition:all .2s var(--ease);cursor:pointer;background:none}.tools-app .backlink:hover{color:var(--ink);border-color:var(--hairline);background:var(--field)}.tools-app .backlink svg{width:13px;height:13px}.tools-app .hub__head{max-width:60ch}.tools-app .hub__trust{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.tools-app .hub__trust .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.tools-app .hub__grid{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tools-app .toolcard{position:relative;display:flex;flex-direction:column;text-align:left;background:var(--win-bg-solid);border:1px solid var(--hairline);border-radius:16px;padding:26px 24px 22px;text-decoration:none;color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;overflow:hidden}.tools-app .toolcard:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad, linear-gradient(90deg, var(--accent), var(--sand)));opacity:0;transition:opacity .3s}.tools-app .toolcard:hover{transform:translateY(-5px);box-shadow:0 18px 38px #3c231224;border-color:var(--win-border)}.tools-app .toolcard:hover:before{opacity:1}.tools-app .toolcard__icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:#fff;background:var(--grad, linear-gradient(135deg, var(--accent), var(--accent-deep)));box-shadow:0 8px 18px #3c23122e,inset 0 1px #ffffff4d;margin-bottom:20px}.tools-app .toolcard__icon svg{width:26px;height:26px}.tools-app .toolcard__title{font-family:var(--font-display);font-weight:600;font-size:21px;letter-spacing:-.01em;line-height:1.1}.tools-app .toolcard__desc{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin-top:9px;flex:1}.tools-app .toolcard__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.tools-app .toolcard__tag{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.03em;color:var(--ink-soft);background:var(--panel);padding:4px 9px;border-radius:7px}.tools-app .toolcard__go{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--accent);transition:gap .25s var(--ease)}.tools-app .toolcard:hover .toolcard__go{gap:12px}.tools-app .hub__foot{display:flex;align-items:center;gap:16px;margin-top:40px;padding-top:26px;border-top:1px solid var(--divider)}.tools-app .hub__foot-note{font-family:var(--font-script);font-size:22px;color:var(--ink-soft);line-height:1.1}.tools-app .segmented{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--hairline);border-radius:13px;padding:4px}.tools-app .segmented--block{display:flex}.tools-app .seg{flex:1;border:none;background:transparent;font-family:var(--font-ui);font-weight:700;font-size:13.5px;color:var(--ink-soft);padding:9px 18px;border-radius:9px;white-space:nowrap;transition:all .25s var(--ease)}.tools-app .seg:hover:not(.is-active){color:var(--ink)}.tools-app .seg.is-active{background:var(--win-bg-solid);color:var(--accent-deep);box-shadow:0 2px 8px #3c23121a}.tools-app .field{display:flex;flex-direction:column;gap:8px}.tools-app .field>label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.tools-app .field .hint{text-transform:none;letter-spacing:0;color:var(--ink-faint);font-weight:400}.tools-app .input{font-family:var(--font-ui);font-size:16px;font-weight:600;color:var(--ink);background:var(--field);border:1.5px solid var(--field-line);border-radius:11px;padding:13px 15px;width:100%;transition:border-color .2s,box-shadow .2s}.tools-app .input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}.tools-app .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tools-app .radio-row{display:flex;gap:10px}.tools-app .radio-pill{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink-soft);background:var(--field);border:1.5px solid var(--field-line);border-radius:11px;padding:12px;transition:all .2s var(--ease)}.tools-app .radio-pill:hover{color:var(--ink)}.tools-app .radio-pill.is-active{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-soft)}.tools-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-ui);font-weight:800;font-size:15px;border:none;border-radius:13px;padding:15px 26px;transition:transform .2s var(--ease),box-shadow .2s,background .2s}.tools-app .btn--primary{background:var(--ink);color:var(--win-bg-solid);box-shadow:0 8px 20px #2a20183d}.tools-app .btn--primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px #2a20184d}.tools-app .btn--accent{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:0 8px 20px var(--accent-ring)}.tools-app .btn--accent:hover{transform:translateY(-2px)}.tools-app .btn--ghost{background:transparent;color:var(--ink-soft);border:1.5px solid var(--hairline)}.tools-app .btn--ghost:hover{color:var(--ink);border-color:var(--win-border)}.tools-app .btn--block{width:100%}.tools-app .result{margin-top:30px;background:var(--panel);border:1px solid var(--hairline);border-radius:16px;overflow:hidden}.tools-app .result__hero{padding:34px 30px 28px;text-align:center;background:radial-gradient(120% 130% at 50% -30%,rgba(217,106,74,.1),transparent 60%);border-bottom:1px solid var(--divider)}.tools-app .result__num{font-family:var(--font-display);font-weight:500;font-size:clamp(60px,13vw,104px);line-height:.9;letter-spacing:-.03em;color:var(--accent-deep)}.tools-app .result__unit{font-family:var(--font-mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}.tools-app .result__date{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,4vw,34px);line-height:1.1;color:var(--ink);text-transform:capitalize}.tools-app .result__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--divider)}.tools-app .result__cell{background:var(--panel);padding:18px 10px;text-align:center}.tools-app .result__cell-num{font-family:var(--font-display);font-weight:600;font-size:26px;color:var(--ink);line-height:1}.tools-app .result__cell-lbl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px}.tools-app .result__detail{padding:18px 26px;font-size:13.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px}.tools-app .result__detail b{color:var(--ink);font-weight:700;text-transform:capitalize}.tools-app .deliv__controls{display:grid;grid-template-columns:1fr 150px;gap:18px;align-items:end}.tools-app .deliv__summary{display:flex;align-items:center;gap:16px;margin-top:24px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border-radius:14px;padding:16px 22px;box-shadow:0 10px 24px var(--accent-ring)}.tools-app .deliv__summary-lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}.tools-app .deliv__summary-num{font-family:var(--font-display);font-weight:600;font-size:30px;line-height:1;margin-left:auto}.tools-app .deliv__summary-date{font-family:var(--font-mono);font-size:13px;padding-left:16px;border-left:1px solid rgba(255,255,255,.3)}.tools-app .deliv__head{display:grid;grid-template-columns:30px 1fr 96px 64px 110px 30px;gap:12px;align-items:center;padding:0 14px 10px;margin-top:26px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.tools-app .deliv__head span:nth-child(3),.tools-app .deliv__head span:nth-child(4),.tools-app .deliv__head span:nth-child(5){text-align:center}.tools-app .deliv__list{position:relative;display:flex;flex-direction:column;gap:8px;padding-left:16px}.tools-app .deliv__list:before{content:"";position:absolute;left:6px;top:22px;bottom:22px;width:2px;background:var(--hairline)}.tools-app .deliv-row{position:relative;display:grid;grid-template-columns:30px 1fr 96px 64px 110px 30px;gap:12px;align-items:center;background:var(--win-bg-solid);border:1px solid var(--hairline);border-radius:12px;padding:11px 14px;transition:border-color .2s,box-shadow .2s}.tools-app .deliv-row:before{content:"";position:absolute;left:-13px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:var(--ink-faint);border:2px solid var(--win-bg-solid)}.tools-app .deliv-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.tools-app .deliv-row.is-urgent:before{background:var(--warn)}.tools-app .deliv-row.is-overdue:before{background:var(--over)}.tools-app .deliv-row__num{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--ink-faint);text-align:center}.tools-app .deliv-row__name{border:none;background:transparent;font-weight:700;font-size:14.5px;color:var(--ink);width:100%}.tools-app .deliv-row__name:focus{outline:none}.tools-app .deliv-row__days{display:flex;align-items:center;gap:6px;justify-content:center}.tools-app .deliv-row__days input{width:50px;text-align:center;font-family:var(--font-mono);font-weight:500;font-size:14px;color:var(--ink);background:var(--field);border:1.5px solid var(--field-line);border-radius:9px;padding:7px 4px}.tools-app .deliv-row__days input:focus{outline:none;border-color:var(--accent)}.tools-app .deliv-row__days span{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.tools-app .deliv-row__acc{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--ink-soft);text-align:center}.tools-app .deliv-row__due{font-family:var(--font-mono);font-size:12px;font-weight:500;text-align:center;padding:6px 8px;border-radius:8px;color:var(--ink-soft);background:var(--panel)}.tools-app .deliv-row__due.is-urgent{color:var(--warn);background:var(--warn-bg)}.tools-app .deliv-row__due.is-overdue{color:var(--over);background:var(--over-bg)}.tools-app .deliv-row__rm{width:26px;height:26px;border-radius:8px;border:none;background:transparent;color:var(--ink-faint);font-size:18px;line-height:1;display:grid;place-items:center;transition:all .2s}.tools-app .deliv-row__rm:hover{background:var(--over-bg);color:var(--over)}.tools-app .deliv__add{display:flex;gap:12px;align-items:center;margin-top:18px}.tools-app .deliv__add-one{flex:1;border:1.5px dashed var(--field-line);background:transparent;color:var(--ink-soft);font-weight:700;font-size:14px;padding:13px;border-radius:12px;transition:all .2s}.tools-app .deliv__add-one:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.tools-app .deliv__bulk{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);background:var(--field);border:1.5px solid var(--field-line);border-radius:12px;padding:7px 10px}.tools-app .deliv__bulk input{width:40px;text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--ink);border:none;background:transparent}.tools-app .deliv__bulk input:focus{outline:none}.tools-app .deliv__bulk button{border:none;background:var(--ink);color:var(--win-bg-solid);font-weight:700;font-size:12px;padding:6px 12px;border-radius:8px}.tools-app .pdf__bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:30px}.tools-app .pdf__bar .segmented{flex:1;min-width:0}.tools-app .dropzone{border:2px dashed var(--field-line);border-radius:18px;background:var(--field);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 32px;transition:all .25s var(--ease);cursor:pointer}.tools-app .dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.tools-app .dropzone__icon{position:relative;width:76px;height:76px;display:grid;place-items:center;color:var(--accent);margin-bottom:22px}.tools-app .dropzone__icon svg{width:54px;height:54px}.tools-app .dropzone__plus{position:absolute;right:-2px;bottom:2px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700;box-shadow:0 4px 10px var(--accent-ring)}.tools-app .dropzone__title{font-family:var(--font-display);font-weight:600;font-size:23px;color:var(--ink)}.tools-app .dropzone__hint{font-size:14px;color:var(--ink-soft);margin-top:8px}.tools-app .filechip{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--hairline);border-radius:14px;padding:14px 16px}.tools-app .filechip__thumb{width:46px;height:58px;border-radius:6px;flex-shrink:0;background:repeating-linear-gradient(135deg,#fff 0 6px,#f0e7d6 6px 12px);border:1px solid var(--hairline);display:grid;place-items:center;color:var(--accent);font-family:var(--font-mono);font-size:9px}.tools-app .filechip__info{display:flex;flex-direction:column;gap:3px;min-width:0}.tools-app .filechip__name{font-weight:700;font-size:14.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tools-app .filechip__size{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.tools-app .filechip__change{margin-left:auto;border:1px solid var(--hairline);background:var(--win-bg-solid);color:var(--ink-soft);font-weight:700;font-size:12px;padding:8px 14px;border-radius:9px}.tools-app .filechip__change:hover{color:var(--ink)}.tools-app .pdf__work{display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:start}.tools-app .pdf__note{margin-top:14px;font-size:12.5px;line-height:1.55;color:var(--ink-faint);background:var(--field);border-radius:10px;padding:12px 14px}.tools-app .optlist{display:flex;flex-direction:column;gap:10px}.tools-app .opt{display:flex;align-items:center;gap:14px;text-align:left;background:var(--field);border:1.5px solid var(--field-line);border-radius:13px;padding:15px 17px;transition:all .2s var(--ease)}.tools-app .opt:hover{border-color:var(--win-border)}.tools-app .opt.is-active{border-color:var(--accent);background:var(--accent-soft)}.tools-app .opt__text{display:flex;flex-direction:column;gap:3px}.tools-app .opt__label{font-weight:800;font-size:14.5px;color:var(--ink)}.tools-app .opt__desc{font-size:12.5px;color:var(--ink-soft);line-height:1.4}.tools-app .opt__check{margin-left:auto;flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent)}.tools-app .opt__check svg{width:13px;height:13px}.tools-app .pdf__proc{text-align:center;padding:30px 20px 10px}.tools-app .pdf__proc-art{width:120px;height:120px;margin:0 auto 8px}.tools-app .pdf__proc-file{font-weight:700;font-size:15px;color:var(--ink)}.tools-app .progress{max-width:380px;margin:22px auto 12px;display:flex;align-items:center;gap:14px}.tools-app .progress__track{flex:1;height:8px;border-radius:5px;background:var(--panel-2);overflow:hidden}.tools-app .progress__fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--sand));transition:width .2s linear}.tools-app .progress__num{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);min-width:38px}.tools-app .pdf__proc-text{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-faint)}.tools-app .pdf-result{background:var(--panel);border:1px solid var(--hairline);border-radius:16px;padding:30px;text-align:center}.tools-app .pdf-result__check{width:60px;height:60px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok)}.tools-app .pdf-result__check svg{width:30px;height:30px}.tools-app .pdf-result__head{font-family:var(--font-display);font-weight:500;font-size:28px;color:var(--ink)}.tools-app .pdf-result__head b{color:var(--accent-deep);font-weight:600}.tools-app .pdf-result__sub{font-size:14px;color:var(--ink-soft);margin-top:8px}.tools-app .pdf-result__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}.tools-app .ro-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.tools-app .ro-toolbar__count{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}.tools-app .ro-toolbar__count b{color:var(--ink)}.tools-app .ro-toolbar__sp{flex:1}.tools-app .ro-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--hairline);background:var(--win-bg-solid);color:var(--ink-soft);font-weight:700;font-size:12.5px;padding:9px 14px;border-radius:10px}.tools-app .ro-btn:hover{color:var(--ink);border-color:var(--win-border)}.tools-app .ro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:14px}.tools-app .ro-card{border:1px solid var(--hairline);border-radius:11px;overflow:hidden;background:var(--win-bg-solid)}.tools-app .ro-card__thumb{aspect-ratio:3 / 4;background:repeating-linear-gradient(135deg,#fff 0 8px,#f1e8d7 8px 16px);display:grid;place-items:center;color:var(--ink-faint);font-family:var(--font-mono);font-size:11px}.tools-app .ro-card__foot{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-top:1px solid var(--divider)}.tools-app .ro-card__n{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.tools-app .ro-card__rm{border:none;background:transparent;color:var(--ink-faint);font-size:16px}.tools-app .ro-card__rm:hover{color:var(--over)}.tools-app .edit{display:grid;grid-template-columns:64px 1fr 280px;height:clamp(560px,72vh,760px)}.tools-app .edit__rail{border-right:1px solid var(--divider);background:var(--panel);display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0}.tools-app .edit__tool{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:var(--ink-soft);background:transparent;border:1px solid transparent;transition:all .2s}.tools-app .edit__tool svg{width:19px;height:19px}.tools-app .edit__tool:hover{background:var(--win-bg-solid);color:var(--ink)}.tools-app .edit__tool.is-active{background:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-ring)}.tools-app .edit__rail-sp{flex:1}.tools-app .edit__canvas{background:radial-gradient(120% 100% at 50% 0%,#efe7d8,#e6dcc8);display:flex;flex-direction:column;align-items:center;padding:30px;overflow:auto}.tools-app .edit__doc{width:min(540px,100%);background:#fff;box-shadow:0 14px 40px #3c23122e;border-radius:3px;padding:52px 48px;display:flex;flex-direction:column;gap:14px}.tools-app .edit__line{height:11px;border-radius:3px;background:repeating-linear-gradient(90deg,#e8e0d2 0 22px,#f2ece0 22px 30px)}.tools-app .edit__line.short{width:55%}.tools-app .edit__line.title{height:20px;width:68%;background:#d9cfbc;margin-bottom:8px}.tools-app .edit__text-active{position:relative;background:var(--accent-soft);border:1.5px solid var(--accent);border-radius:4px;padding:4px 8px;font-size:14px;color:var(--ink);font-weight:600;align-self:flex-start}.tools-app .edit__text-active:after{content:"Editable";position:absolute;top:-9px;left:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;background:var(--accent);color:#fff;padding:1px 6px;border-radius:4px}.tools-app .edit__pagebadge{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin-top:18px}.tools-app .edit__panel{border-left:1px solid var(--divider);background:var(--win-bg-solid);padding:22px 20px;overflow:auto}.tools-app .edit__panel-h{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px}.tools-app .edit__prop{margin-bottom:22px}.tools-app .edit__ocr{display:flex;align-items:flex-start;gap:11px;background:var(--accent-soft);border:1px solid var(--accent-ring);border-radius:12px;padding:14px}.tools-app .edit__ocr svg{width:18px;height:18px;color:var(--accent-deep);flex-shrink:0;margin-top:1px}.tools-app .edit__ocr>span:last-child{display:flex;flex-direction:column}.tools-app .edit__ocr-t{display:block;font-weight:800;font-size:13px;color:var(--ink)}.tools-app .edit__ocr-d{display:block;font-size:12px;color:var(--ink-soft);line-height:1.45;margin-top:3px}.tools-app .edit__topbar{grid-column:1 / -1}.tools-app .mascot-mini{display:flex;align-items:center;gap:14px}.tools-app .mascot-mini__say{font-family:var(--font-script);font-size:21px;color:var(--ink-soft);line-height:1.05}@media (max-width: 880px){.hub__grid,.pdf__work{grid-template-columns:1fr}.result__grid{grid-template-columns:repeat(3,1fr)}.edit{grid-template-columns:1fr;height:auto}.edit__rail{flex-direction:row;border-right:none;border-bottom:1px solid var(--divider)}.edit__rail-sp{display:none}.edit__panel{border-left:none;border-top:1px solid var(--divider)}}@media (max-width: 600px){.form-row,.deliv__controls{grid-template-columns:1fr}.deliv__head{display:none}.deliv-row{grid-template-columns:26px 1fr 30px;row-gap:8px}.deliv-row__days,.deliv-row__acc,.deliv-row__due{grid-column:2 / 3;justify-content:flex-start;text-align:left}.result__grid{grid-template-columns:repeat(2,1fr)}.win__title{font-size:11px}.win__privacy span{display:none}}.tools-app .toolcard__go svg{width:14px;height:14px}.tools-app .backlink svg{width:16px;height:16px}.tools-app .win__privacy svg{width:13px;height:13px}.tools-app .win__theme svg{width:16px;height:16px}.tools-app .opt__check svg{width:16px;height:16px}.tools-app .pdf-result__check svg{width:28px;height:28px}.tools-app .dropzone__icon svg{width:76px;height:76px}.tools-app .edit__tool svg{width:20px;height:20px}.tools-app .edit__ocr svg{width:22px;height:22px}@media (max-width: 880px){.tools-app .hub__grid,.tools-app .pdf__work{grid-template-columns:1fr}.tools-app .result__grid{grid-template-columns:repeat(3,1fr)}.tools-app .edit{grid-template-columns:1fr;height:auto}.tools-app .edit__rail{flex-direction:row;border-right:none;border-bottom:1px solid var(--divider);padding:8px;gap:8px}.tools-app .edit__rail-sp{display:none}.tools-app .edit__panel{border-left:none;border-top:1px solid var(--divider)}.tools-app .deliv__controls{grid-template-columns:1fr}}@media (max-width: 600px){.tools-app .form-row{grid-template-columns:1fr}.tools-app .deliv__head{display:none}.tools-app .deliv-row{grid-template-columns:26px 1fr 30px;row-gap:8px}.tools-app .deliv-row__days,.tools-app .deliv-row__acc,.tools-app .deliv-row__due{grid-column:2 / 3;justify-content:flex-start;text-align:left}.tools-app .result__grid{grid-template-columns:repeat(2,1fr)}.tools-app .win__title{font-size:11px}.tools-app .win__privacy span{display:none}.tools-app .h-title{font-size:clamp(28px,8vw,36px)}.tools-app .win__body{padding:22px 18px 28px}}.tools-app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:clamp(28px,6vh,64px) clamp(16px,4vw,48px) clamp(64px,10vh,110px)}.menubar__item--link{font-weight:600;opacity:.85;text-decoration:none;color:inherit;cursor:pointer;transition:opacity .16s ease,color .16s ease,transform .16s var(--os-ease-out, ease)}.menubar__item--link:hover{opacity:1;color:var(--accent, #e88d72);transform:translateY(-.5px)}.menubar__item--link:focus-visible{outline:2px solid var(--accent, #e88d72);outline-offset:3px;border-radius:4px}.dock__icon--tools{background:linear-gradient(135deg,#d8a85a,#c2853a);color:#fff;text-decoration:none;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff40}.tools-app .win__crumb{color:inherit;text-decoration:none;opacity:.7;transition:color .16s ease,opacity .16s ease;border-radius:4px;padding:1px 4px;margin:-1px -4px}.tools-app .win__crumb:hover{opacity:1;color:var(--accent);background:var(--accent-soft)}.tools-app .win__crumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tools-app .win__crumb{pointer-events:auto}
