:root{--bg:#07111f;--surface:#0c1929;--ink:#edf5ff;--muted:#91a1b5;--cyan:#55e6ff;--lime:#b9ff66;--line:rgba(255,255,255,.12);--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--lime);color:#07111f}.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(85,230,255,.1),transparent 65%);transform:translate(-50%,-50%);pointer-events:none;z-index:0}.scroll-progress{position:fixed;left:0;top:0;width:0;height:3px;background:linear-gradient(90deg,var(--lime),var(--cyan));z-index:100}.site-nav{position:fixed;z-index:40;top:18px;left:4%;right:4%;height:64px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:18px;transition:.35s}.site-nav.scrolled{background:rgba(7,17,31,.72);border-color:var(--line);backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(0,0,0,.24)}.brand{font:700 1.15rem var(--display);letter-spacing:-.04em}.brand span{color:var(--cyan)}.nav-links{display:flex;align-items:center;gap:34px;font-size:.88rem}.nav-links>a:not(.nav-cta){color:#b9c5d3;transition:.25s}.nav-links>a:hover{color:#fff}.nav-cta{border:1px solid var(--line);border-radius:100px;padding:11px 17px}.menu-toggle{display:none;border:0;background:none;color:white;font-size:1.6rem}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:150px 7% 90px;overflow:hidden;border-bottom:1px solid var(--line)}#particleCanvas{position:absolute;inset:0;width:100%;height:100%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 40%,transparent 80%,var(--bg) 100%);pointer-events:none}.hero-orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.55;animation:float 8s ease-in-out infinite}.orb-one{width:500px;height:500px;right:-170px;top:5%;background:radial-gradient(circle at 35% 35%,rgba(85,230,255,.26),transparent 68%)}.orb-two{width:340px;height:340px;left:30%;bottom:-180px;background:radial-gradient(circle,rgba(185,255,102,.15),transparent 68%);animation-delay:-3s}.hero-content{position:relative;z-index:2;width:min(1120px,100%)}.eyebrow{display:flex;align-items:center;gap:10px;color:#b9c5d3;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(185,255,102,.1),0 0 20px var(--lime);animation:pulse 2s infinite}.hero-title{font:600 clamp(3.25rem,8.4vw,8.3rem)/.91 var(--display);letter-spacing:-.075em;margin:34px 0 45px;max-width:1200px}.hero-title .line{display:block;overflow:hidden;padding-bottom:.08em}.hero-title .line span{display:block;animation:titleIn 1s cubic-bezier(.16,1,.3,1) both}.hero-title .line:nth-child(2) span{animation-delay:.12s}.accent-line{color:transparent;-webkit-text-stroke:1px rgba(237,245,255,.72)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.hero-bottom>p{max-width:540px;color:#a9b7c9;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}.hero-bottom strong{color:white}.hero-actions{display:flex;gap:12px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:100px;padding:15px 21px;font-weight:700;font-size:.87rem;cursor:pointer;transition:transform .25s,background .25s,color .25s}.button-primary{background:var(--lime);color:#07111f;border-color:var(--lime)}.button-primary:hover{background:white}.button-ghost:hover{background:white;color:#07111f}.hero-code{position:absolute;z-index:2;right:6%;top:19%;display:grid;grid-template-columns:auto auto;gap:6px 14px;color:#718199;font-size:.7rem;opacity:.75}.hero-code code{color:#9babc0}.hero-code b{color:var(--cyan);font-weight:400}.scroll-hint{position:absolute;z-index:2;right:4%;bottom:30px;display:flex;align-items:center;gap:10px;color:#8494a8;font-size:.72rem;transform:rotate(90deg);transform-origin:right}.scroll-hint i{transform:rotate(-90deg)}.section{position:relative;padding:130px 7%;border-bottom:1px solid var(--line)}.section-label{display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#a3b2c5;margin-bottom:80px}.section-label:after{content:"";width:80px;height:1px;background:var(--line)}.section-label span{color:var(--lime)}.about-grid{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:10vw;align-items:center}.portrait-wrap{position:relative;max-width:480px}.portrait-frame{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:#13243a;transform-style:preserve-3d}.portrait-frame:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.2);z-index:2}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08);transition:transform .7s}.portrait-wrap:hover img{transform:scale(1.04)}.portrait-scan{position:absolute;inset:-100% 0 auto;height:50%;background:linear-gradient(transparent,rgba(85,230,255,.13),transparent);animation:scan 5s linear infinite}.floating-tag{position:absolute;padding:10px 14px;background:rgba(7,17,31,.88);border:1px solid var(--line);backdrop-filter:blur(12px);font:600 .72rem var(--display);letter-spacing:.06em}.tag-a{top:14%;right:-45px}.tag-b{bottom:10%;left:-35px;color:var(--lime)}.kicker{color:var(--cyan);font-weight:700}.about-copy h2,.skills-heading h2,.projects-heading h2{font:600 clamp(2.4rem,4.6vw,5rem)/1.02 var(--display);letter-spacing:-.055em;margin:18px 0 30px}.about-copy h2 em,.contact h2 em{color:var(--lime);font-style:normal}.about-copy>p:not(.kicker){color:var(--muted);line-height:1.8;font-size:1.06rem;max-width:680px}.principles{margin-top:48px;border-top:1px solid var(--line)}.principles>div{display:grid;grid-template-columns:45px 110px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.principles span{color:var(--cyan);font-size:.68rem}.principles strong{font-family:var(--display)}.principles p{margin:0;color:var(--muted);font-size:.88rem}.skills{padding-inline:0;overflow:hidden}.skills>.section-label,.skills-heading{margin-left:7%;margin-right:7%}.skills-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:75px}.skills-heading h2{max-width:720px;margin:0}.skills-heading h2 span,.projects-heading h2 span{color:transparent;-webkit-text-stroke:1px #a7b5c6}.skills-heading p{max-width:320px;color:var(--muted);line-height:1.7}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;transform:rotate(-1deg);background:#0a1626}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee span{font:600 1.1rem var(--display);white-space:nowrap}.marquee i{color:var(--lime);font-style:normal;margin:0 28px}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:90px 7% 0}.capability{position:relative;min-height:330px;padding:32px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));transition:border-color .3s,background .3s;transform-style:preserve-3d}.capability:hover{border-color:rgba(85,230,255,.45);background:rgba(85,230,255,.04)}.capability>i{font-size:2rem;color:var(--cyan)}.capability>span{position:absolute;right:28px;top:28px;color:#69798e;font-size:.7rem}.capability h3{font:600 1.8rem var(--display);margin:68px 0 14px}.capability p{color:var(--muted);line-height:1.65}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.chips b{font-size:.7rem;border:1px solid var(--line);border-radius:100px;padding:7px 10px;color:#aebccd}.projects-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.projects-heading h2{margin:0}.projects-heading p{max-width:350px;color:var(--muted);line-height:1.7}.project-list{display:grid;gap:110px}.project-card{display:grid;grid-template-columns:1.35fr .65fr;gap:45px;align-items:stretch}.project-card:nth-child(even){grid-template-columns:.65fr 1.35fr}.project-card:nth-child(even) .project-visual{order:2}.project-visual{position:relative;min-height:520px;overflow:hidden;background:#0d1b2d}.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,rgba(0,0,0,.5))}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .6s;filter:saturate(.8)}.project-card:hover img{transform:scale(1.05);filter:saturate(1.1)}.project-shine{position:absolute;z-index:2;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.14) 48%,transparent 65%);transform:translateX(-120%);transition:transform .9s}.project-card:hover .project-shine{transform:translateX(120%)}.project-info{border-top:1px solid var(--line);padding:24px 0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.project-number,.project-info>div>p:first-child{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8292a7}.project-info h3{font:600 clamp(2rem,3.4vw,3.5rem)/1 var(--display);letter-spacing:-.045em;margin:13px 0 22px}.project-info>div>p:last-child{color:var(--muted);line-height:1.7}.circle-button{width:58px;height:58px;border-radius:50%;border:1px solid var(--line);background:transparent;color:white;font-size:1.2rem;transition:.3s}.project-card:hover .circle-button{background:var(--project-color);border-color:var(--project-color);color:#07111f;transform:rotate(45deg)}.contact{position:relative;text-align:center;padding:150px 7% 90px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#112742 0%,var(--bg) 55%)}.contact .eyebrow{justify-content:center}.contact h2{font:600 clamp(3.4rem,8vw,8rem)/.9 var(--display);letter-spacing:-.07em;margin:35px 0}.contact-copy{max-width:580px;margin:0 auto 65px;color:var(--muted);line-height:1.7}.contact-form{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:850px;margin:auto;text-align:left}.contact-form label{display:grid;gap:10px}.contact-form label.full{grid-column:1/-1}.contact-form label>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#9fadc0}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #405069;background:transparent;color:white;padding:13px 0;outline:none;resize:vertical;transition:border-color .25s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cyan)}.contact-form small{min-height:16px;color:#ff8f9f}.contact-form button{justify-self:start}.contact-links{display:flex;justify-content:center;gap:35px;margin-top:80px}.contact-links a{font-size:.8rem;border-bottom:1px solid var(--line);padding-bottom:7px}.contact-orbit{position:absolute;width:650px;height:650px;border:1px solid rgba(85,230,255,.08);border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);animation:spin 30s linear infinite}.contact-orbit:before,.contact-orbit:after{content:"";position:absolute;border:1px solid rgba(185,255,102,.07);border-radius:50%;inset:90px}.contact-orbit:after{inset:190px}.contact-orbit span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.contact-orbit span:first-child{top:8%;left:25%}.contact-orbit span:nth-child(2){right:0;top:50%;background:var(--lime)}.contact-orbit span:last-child{bottom:13%;left:17%}footer{min-height:100px;border-top:1px solid var(--line);padding:30px 7%;display:flex;justify-content:space-between;align-items:center;color:#738399;font-size:.75rem}.toast{position:fixed;z-index:110;left:50%;bottom:25px;transform:translate(-50%,30px);padding:13px 20px;background:white;color:#07111f;border-radius:100px;opacity:0;pointer-events:none;transition:.3s;font-weight:700;font-size:.84rem}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}
@keyframes titleIn{from{transform:translateY(110%) rotate(2deg)}to{transform:none}}@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(185,255,102,0),0 0 25px var(--lime)}}@keyframes float{50%{transform:translateY(25px) scale(1.06)}}@keyframes scan{to{transform:translateY(400%)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:900px){.menu-toggle{display:block}.nav-links{position:absolute;top:74px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:24px;background:rgba(7,17,31,.96);border:1px solid var(--line);border-radius:18px}.nav-links.open{display:flex}.hero-code{display:none}.hero-bottom,.skills-heading,.projects-heading{align-items:flex-start;flex-direction:column}.about-grid{grid-template-columns:1fr;gap:80px}.portrait-wrap{margin:auto;width:min(80%,440px)}.capability-grid{grid-template-columns:1fr}.project-card,.project-card:nth-child(even){grid-template-columns:1fr}.project-card:nth-child(even) .project-visual{order:0}.project-visual{min-height:410px}.project-info{min-height:300px}.project-list{gap:70px}}
@media(max-width:900px){.nav-tool{width:100%;height:44px;border-radius:12px}.nav-tool-text{justify-content:center}}
@media(max-width:600px){.cursor-glow{display:none}.site-nav{left:3%;right:3%;top:10px}.hero{min-height:100svh;padding:124px 6% 82px}.hero-title{font-size:clamp(2.7rem,13vw,4.25rem);line-height:.96;margin-bottom:34px}.hero-title .line{min-height:1.02em}.hero-bottom{gap:24px}.hero-actions{width:100%;flex-direction:column}.button{width:100%}.scroll-hint{display:none}.section{padding:95px 6%}.section-label{margin-bottom:50px}.skills>.section-label,.skills-heading{margin-left:6%;margin-right:6%}.capability-grid{margin:65px 6% 0}.principles>div{grid-template-columns:35px 1fr}.principles p{grid-column:2}.tag-a{right:-15px}.tag-b{left:-15px}.project-visual{min-height:300px}.contact{padding:110px 6% 75px}.contact-form{grid-template-columns:1fr}.contact-form label.full{grid-column:auto}.contact-links{gap:18px;flex-wrap:wrap}footer{flex-direction:column;gap:12px;text-align:center}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

#typewriterText{display:inline-block;min-width:min(11.4ch,100%);position:relative}
#typewriterText:after{content:"";display:inline-block;width:.08em;height:.78em;margin-left:.05em;background:rgba(237,245,255,.78);vertical-align:-.08em;animation:caretBlink .85s steps(1) infinite}
@keyframes caretBlink{50%{opacity:0}}
@media(max-width:600px){#typewriterText{min-width:0}}

#typewriterText{display:inline-grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;min-width:0;max-width:100%;vertical-align:top}
#typewriterText:before{content:var(--typewriter-reserve,"Transformo ideas en codigo.");grid-area:1/1;visibility:hidden;white-space:nowrap;pointer-events:none}
#typewriterText .typewriter-copy{grid-area:1/1;min-width:0;white-space:nowrap}
#typewriterText:after{grid-area:1/2}
.portrait-frame{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),filter .45s;will-change:transform}
.portrait-frame:after{content:"";position:absolute;inset:-18% -65%;z-index:5;background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.2) 36%,rgba(255,255,255,.96) 48%,rgba(185,255,102,.38) 54%,transparent 72%);opacity:0;transform:translateX(-72%) skewX(-9deg);pointer-events:none}
.portrait-photo{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);filter:saturate(.86) contrast(1.04);transition:opacity .28s ease .18s,transform .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1);pointer-events:none}
.portrait-wrap:hover .portrait-frame,.portrait-frame:hover{transform:rotate(-4deg) translateY(-10px) scale(.985);box-shadow:0 28px 70px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.2);filter:contrast(1.04)}
.portrait-wrap:hover .portrait-frame:after,.portrait-frame:hover:after{animation:photoFlashSweep .72s cubic-bezier(.16,1,.3,1)}
.portrait-wrap:hover .portrait-frame img,.portrait-frame:hover img{transform:scale(1.075) rotate(1.3deg);filter:saturate(.88) contrast(1.12)}
.portrait-wrap:hover .portrait-photo,.portrait-frame:hover .portrait-photo{opacity:1;transform:scale(1.075) rotate(1.3deg);filter:saturate(.96) contrast(1.08)}
.portrait-wrap:hover .portrait-scan{animation-duration:.9s}
@keyframes photoFlashSweep{0%{opacity:0;transform:translateX(-72%) skewX(-9deg)}12%{opacity:.95}52%{opacity:.72}100%{opacity:0;transform:translateX(72%) skewX(-9deg)}}

.hero-title .line #typewriterText{display:inline-block!important;width:min(var(--typewriter-reserve-px,26ch),100%);min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;vertical-align:top}
#typewriterText:before{content:none!important}
#typewriterText .typewriter-copy{display:inline!important;white-space:nowrap}
#typewriterText:after{content:"";display:inline-block!important;width:.08em;height:.78em;margin-left:.05em;background:rgba(237,245,255,.78);vertical-align:-.08em;animation:caretBlink .85s steps(1) infinite}
@media(max-width:600px){.hero-title .line #typewriterText{width:min(var(--typewriter-reserve-px,7ch),8ch,100%)}}
.portrait-frame picture,.project-visual picture{display:block;width:100%;height:100%}
.nav-tool{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:#edf5ff;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.nav-tool:hover{background:rgba(185,255,102,.14);border-color:rgba(185,255,102,.42);color:var(--lime);transform:translateY(-1px)}
.nav-tool-text{font-weight:800;font-size:.74rem;letter-spacing:.08em}
.nav-separator{color:rgba(185,255,102,.62);font-weight:800;line-height:1}
.cursor-glow{left:0;top:0;width:440px;height:440px;opacity:0;background:radial-gradient(circle,rgba(185,255,102,.16) 0%,rgba(85,230,255,.1) 28%,rgba(85,230,255,.045) 48%,transparent 72%);mix-blend-mode:screen;will-change:transform,opacity;transition:opacity .28s ease}
.cursor-glow.is-active{opacity:1}
.hero .reveal{opacity:1;transform:none;transition:none}
@media(pointer:coarse),(max-width:700px){#particleCanvas,.noise,.cursor-glow{display:none}.hero-orb{filter:none;opacity:.28}.hero:after{background:linear-gradient(180deg,rgba(7,17,31,.1),var(--bg) 92%)}}
body.theme-light{--bg:#f4f8fb;--surface:#ffffff;--ink:#07111f;--muted:#526175;--line:rgba(7,17,31,.14);background:#f4f8fb;color:#07111f}
body.theme-light .site-nav,body.theme-light .site-nav.scrolled{background:rgba(244,248,251,.78);border-color:rgba(7,17,31,.12);box-shadow:0 12px 40px rgba(7,17,31,.08)}
body.theme-light .nav-links>a:not(.nav-cta),body.theme-light .eyebrow,body.theme-light .hero-bottom>p,body.theme-light .about-copy>p:not(.kicker),body.theme-light .skills-heading p,body.theme-light .projects-heading p,body.theme-light .project-info>div>p:last-child,body.theme-light .contact-copy,body.theme-light .principles p{color:#526175}
body.theme-light .nav-tool{background:rgba(7,17,31,.045);color:#07111f;border-color:rgba(7,17,31,.14)}
body.theme-light .hero:after{background:linear-gradient(90deg,var(--bg) 0%,transparent 40%,transparent 80%,var(--bg) 100%)}
body.theme-light .hero-bottom strong,body.theme-light .nav-links>a:hover{color:#07111f}
body.theme-light .capability,body.theme-light .project-visual,body.theme-light .contact-form input,body.theme-light .contact-form textarea{background:rgba(255,255,255,.72)}
body.theme-light .contact{background:radial-gradient(circle at 50% 40%,#e8f2fb 0%,var(--bg) 55%)}
.portrait-wrap{transform-origin:center center;transition:transform .48s cubic-bezier(.16,1,.3,1),filter .48s cubic-bezier(.16,1,.3,1);will-change:transform}
.portrait-wrap:hover{transform:rotate(-7deg) translateY(-12px) scale(.985)!important;filter:contrast(1.04)}
.portrait-wrap:hover .portrait-frame,.portrait-frame:hover{transform:none;box-shadow:0 30px 72px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.22)}
.portrait-wrap:hover .floating-tag{transform:translateY(-2px)}

.marquee{animation:marqueeFloat 7s ease-in-out infinite}
@keyframes marqueeFloat{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-10px)}}
@media(max-width:900px){.nav-tool{width:100%;height:44px;border-radius:12px}.nav-tool-text{justify-content:center}}

body.theme-light{
  --bg:#f5f8fc;
  --surface:#ffffff;
  --ink:#07111f;
  --muted:#3f4f63;
  --line:rgba(7,17,31,.16);
  background:#f5f8fc;
  color:#07111f;
}
body.theme-light .noise{opacity:.018}
body.theme-light .cursor-glow{background:radial-gradient(circle,rgba(0,130,180,.12),transparent 65%)}
body.theme-light .site-nav,
body.theme-light .site-nav.scrolled{
  background:rgba(245,248,252,.9);
  border-color:rgba(7,17,31,.14);
  box-shadow:0 16px 45px rgba(7,17,31,.1);
}
body.theme-light .brand,
body.theme-light .nav-links>a:not(.nav-cta),
body.theme-light .menu-toggle,
body.theme-light .hero-bottom strong,
body.theme-light .project-info h3,
body.theme-light .capability h3,
body.theme-light .principles strong,
body.theme-light footer .brand{
  color:#07111f;
}
body.theme-light .nav-links>a:not(.nav-cta):hover,
body.theme-light .kicker,
body.theme-light .section-label span,
body.theme-light .brand span{
  color:#007fa3;
}
body.theme-light .nav-links.open{
  background:rgba(245,248,252,.97);
  border-color:rgba(7,17,31,.16);
}
body.theme-light .nav-cta,
body.theme-light .button-ghost,
body.theme-light .circle-button,
body.theme-light .contact-links a{
  color:#07111f;
  border-color:rgba(7,17,31,.2);
}
body.theme-light .nav-tool{
  background:#ffffff;
  color:#07111f;
  border-color:rgba(7,17,31,.18);
  box-shadow:0 8px 22px rgba(7,17,31,.08);
}
body.theme-light .nav-tool:hover{
  background:#eaffd7;
  border-color:rgba(72,132,0,.35);
  color:#244600;
}
body.theme-light .eyebrow,
body.theme-light .section-label,
body.theme-light .hero-bottom>p,
body.theme-light .about-copy>p:not(.kicker),
body.theme-light .skills-heading p,
body.theme-light .projects-heading p,
body.theme-light .project-info>div>p:last-child,
body.theme-light .contact-copy,
body.theme-light .principles p,
body.theme-light .chips b,
body.theme-light footer{
  color:#3f4f63;
}
body.theme-light .hero:after{
  background:linear-gradient(90deg,#f5f8fc 0%,rgba(245,248,252,.38) 38%,rgba(245,248,252,.18) 78%,#f5f8fc 100%);
}
body.theme-light .accent-line,
body.theme-light .skills-heading h2 span,
body.theme-light .projects-heading h2 span{
  -webkit-text-stroke-color:rgba(7,17,31,.72);
}
body.theme-light #typewriterText:after{background:rgba(7,17,31,.76)}
body.theme-light .marquee{
  background:#ffffff;
  border-color:rgba(7,17,31,.14);
  box-shadow:0 18px 48px rgba(7,17,31,.08);
}
body.theme-light .marquee span{color:#07111f}
body.theme-light .marquee i{color:#5a9300}
body.theme-light .capability,
body.theme-light .project-info,
body.theme-light .portrait-frame,
body.theme-light .project-visual{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(231,239,248,.86));
  border-color:rgba(7,17,31,.14);
}
body.theme-light .floating-tag{
  background:rgba(255,255,255,.92);
  color:#07111f;
  border-color:rgba(7,17,31,.16);
}
body.theme-light .contact{
  background:radial-gradient(circle at 50% 40%,#e2f0f9 0%,#f5f8fc 58%);
}
body.theme-light .contact-form input,
body.theme-light .contact-form textarea{
  color:#07111f;
  border-bottom-color:rgba(7,17,31,.28);
}
body.theme-light .contact-form input::placeholder,
body.theme-light .contact-form textarea::placeholder{
  color:#6f7f92;
}
body.theme-light .contact-form label>span,
body.theme-light .project-number,
body.theme-light .project-info>div>p:first-child{
  color:#526175;
}
.circle-button{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}

.contact-link-strong{
  color:var(--lime)!important;
  border-color:rgba(185,255,102,.42)!important;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-social-orbit{position:relative;z-index:2;width:min(330px,76vw);height:min(330px,76vw);margin:70px auto 0;display:grid;place-items:center;border:1px solid rgba(85,230,255,.12);border-radius:50%;background:radial-gradient(circle,rgba(185,255,102,.06) 0 2px,transparent 3px),radial-gradient(circle,rgba(85,230,255,.08),transparent 58%)}
.contact-social-orbit:before,.contact-social-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.contact-social-orbit:before{inset:54px}
.contact-social-orbit:after{inset:108px;border-color:rgba(185,255,102,.1)}
.orbit-core-contact{position:relative;z-index:3;width:104px;height:104px;display:grid;place-items:center;align-content:center;gap:6px;border:1px solid rgba(185,255,102,.42);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.16),transparent 32%),rgba(7,17,31,.9);color:#edf5ff;box-shadow:0 0 0 1px rgba(85,230,255,.08),0 0 28px rgba(185,255,102,.18),inset 0 0 34px rgba(85,230,255,.08);font-weight:900;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;overflow:hidden;animation:corePulse 3.8s ease-in-out infinite}
.orbit-core-contact:before,.orbit-core-contact:after{content:"";position:absolute;inset:10px;border-radius:50%;pointer-events:none}
.orbit-core-contact:before{border:1px solid rgba(85,230,255,.22);animation:coreRing 3.8s ease-in-out infinite}
.orbit-core-contact:after{background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.32) 45%,transparent 68%);transform:translateX(-120%) rotate(18deg);animation:coreSweep 5.6s ease-in-out infinite}
.orbit-core-contact i,.orbit-core-contact span{position:relative;z-index:1}
.orbit-core-contact i{font-size:1.35rem;color:var(--lime);filter:drop-shadow(0 0 10px rgba(185,255,102,.45));animation:coreIconFloat 2.9s ease-in-out infinite}
.orbit-core-contact:hover{background:var(--lime);color:#07111f;border-color:var(--lime);box-shadow:0 0 0 8px rgba(185,255,102,.09),0 0 42px rgba(185,255,102,.34)}
.orbit-core-contact:hover i{color:#07111f}
.orbit-track{position:absolute;inset:0;border-radius:50%;transform-origin:50% 50%;will-change:transform;animation:socialOrbit 44s linear infinite}
.contact-social-orbit .orbit-link{position:absolute;left:50%;top:50%;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(7,17,31,.88);box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 24px rgba(85,230,255,.08);backdrop-filter:blur(12px);color:#edf5ff;font-size:1.35rem;padding:0;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.contact-social-orbit .orbit-link:hover{background:var(--lime);border-color:var(--lime);color:#07111f;box-shadow:0 18px 38px rgba(0,0,0,.28),0 0 28px rgba(185,255,102,.35)}
.contact-social-orbit .orbit-link i{animation:socialIconCounter 44s linear infinite}
.orbit-pos-1{--angle:0deg;--angle-reverse:0deg}
.orbit-pos-2{--angle:60deg;--angle-reverse:-60deg}
.orbit-pos-3{--angle:120deg;--angle-reverse:-120deg}
.orbit-pos-4{--angle:180deg;--angle-reverse:-180deg}
.orbit-pos-5{--angle:240deg;--angle-reverse:-240deg}
.orbit-pos-6{--angle:300deg;--angle-reverse:-300deg}
.contact-social-orbit .orbit-link{transform:translate(-50%,-50%) rotate(var(--angle)) translate(min(138px,32vw)) rotate(var(--angle-reverse))}
.contact-social-orbit .whatsapp{color:#b9ff66}
.contact-social-orbit .email{color:#55e6ff}
.contact-social-orbit .instagram{color:#ffb0dc}
.contact-social-orbit .instagram-studio{color:#ffd166}
.contact-social-orbit .facebook{color:#8fb7ff}
.floating-contact{
  position:fixed;
  z-index:45;
  right:22px;
  bottom:22px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 16px;
  border:1px solid rgba(185,255,102,.42);
  border-radius:999px;
  background:rgba(7,17,31,.82);
  color:#edf5ff;
  box-shadow:0 16px 42px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
  font-weight:800;
  font-size:.82rem;
  transition:transform .25s,background .25s,border-color .25s,opacity .25s,visibility .25s;
}
.floating-contact.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px) scale(.94)}
.floating-contact:hover{
  transform:translateY(-2px);
  background:var(--lime);
  color:#07111f;
  border-color:var(--lime);
}
.floating-contact i{font-size:1rem}
body.theme-light .floating-contact{
  background:#07111f;
  color:#ffffff;
  border-color:#07111f;
}
body.theme-light .contact-link-strong{
  color:#335e00!important;
  border-color:rgba(86,150,0,.4)!important;
}
body.theme-light .contact-social-orbit{border-color:rgba(7,17,31,.12);background:radial-gradient(circle,rgba(86,150,0,.08) 0 2px,transparent 3px),radial-gradient(circle,rgba(0,130,180,.08),transparent 58%)}
body.theme-light .contact-social-orbit:before{border-color:rgba(7,17,31,.1)}
body.theme-light .contact-social-orbit:after{border-color:rgba(86,150,0,.16)}
body.theme-light .orbit-core-contact{background:#ffffff;color:#07111f;border-color:rgba(86,150,0,.34);box-shadow:0 16px 32px rgba(7,17,31,.1),0 0 30px rgba(86,150,0,.16),inset 0 0 28px rgba(0,130,180,.06)}
body.theme-light .orbit-core-contact:hover{background:#07111f;color:#ffffff;border-color:#07111f}
body.theme-light .orbit-core-contact:hover i{color:#b9ff66}
body.theme-light .contact-social-orbit .orbit-link{background:rgba(255,255,255,.92);border-color:rgba(7,17,31,.16);color:#07111f;box-shadow:0 14px 30px rgba(7,17,31,.1)}
body.theme-light .contact-social-orbit .orbit-link:hover{background:#07111f;border-color:#07111f;color:#ffffff}
@keyframes socialOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes socialIconCounter{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes corePulse{0%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(85,230,255,.08),0 0 28px rgba(185,255,102,.18),inset 0 0 34px rgba(85,230,255,.08)}50%{transform:scale(1.045);box-shadow:0 0 0 8px rgba(185,255,102,.06),0 0 44px rgba(85,230,255,.26),inset 0 0 42px rgba(185,255,102,.1)}}
@keyframes coreRing{0%,100%{transform:scale(.92);opacity:.5}50%{transform:scale(1.16);opacity:.95}}
@keyframes coreSweep{0%,55%{transform:translateX(-130%) rotate(18deg);opacity:0}66%{opacity:.75}82%,100%{transform:translateX(130%) rotate(18deg);opacity:0}}
@keyframes coreIconFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-3px) rotate(8deg)}}
@media(max-width:600px){
  .floating-contact{right:14px;bottom:14px;padding:11px 13px}
  .floating-contact span{display:none}
  .nav-separator{display:none}
  .contact-social-orbit{width:min(270px,82vw);height:min(270px,82vw);margin-top:58px}
  .orbit-core-contact{width:88px;height:88px;font-size:.62rem}
  .orbit-core-contact i{font-size:1.15rem}
  .contact-social-orbit .orbit-link{width:50px;height:50px;font-size:1.15rem;transform:translate(-50%,-50%) rotate(var(--angle)) translate(min(112px,34vw)) rotate(var(--angle-reverse))}
}
@media(prefers-reduced-motion:reduce){.orbit-track,.contact-social-orbit .orbit-link i{animation-duration:68s}.orbit-core-contact,.orbit-core-contact:before,.orbit-core-contact:after,.orbit-core-contact i{animation-duration:8s}}
