:root{color-scheme:dark;--color-bg:#030303;--color-bg-alt:#080808;--color-surface:#0d0d0d;--color-surface-elevated:#141414;--color-border:#242424;--color-border-subtle:#181818;--color-text:#f5f5f5;--color-text-secondary:#a1a1a1;--color-text-muted:#8a8a8a;--color-accent:#ef233c;--color-accent-hover:#ff304a;--color-accent-dark:#8f1021;--color-accent-glow:#ef233c33;--color-shadow:#00000045}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:6px}::selection{background:var(--color-accent-dark);color:var(--color-text)}.container{width:min(1120px,100% - 64px);margin-inline:auto}.accent,.logo span{color:var(--color-accent-hover)}.muted{color:var(--color-text-secondary)}header{z-index:10;background:color-mix(in srgb, var(--color-bg) 95%, transparent);border-bottom:1px solid var(--color-border-subtle);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.logo{letter-spacing:-3px;font-size:32px;font-weight:800;line-height:1}nav{color:var(--color-text-secondary);align-items:center;gap:30px;font-size:13px;display:flex}nav a:hover,.text-link:hover,.social-links a:hover{color:var(--color-accent-hover)}.nav-contact{color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;padding:9px 16px}.menu-toggle{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:6px;padding:6px 12px}.menu-toggle[hidden]{display:none}.skip-link{z-index:30;background:var(--color-accent-hover);color:var(--color-bg);padding:10px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:65px;min-height:700px;padding-block:84px 110px;display:grid;position:relative}.eyebrow{letter-spacing:2.1px;color:var(--color-accent-hover);margin:0 0 23px;font-size:10px;font-weight:650}.status-dot{background:var(--color-accent);vertical-align:middle;border-radius:50%;width:.5rem;height:.5rem;margin-right:8px;display:inline-block;position:relative}.status-dot-signal:before{content:"";border:1px solid var(--color-accent);opacity:.5;border-radius:50%;width:.5rem;height:.5rem;animation:1.8s ease-out .9s infinite signal-pulse;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(1)}.status-dot-signal:after{content:"";border:1px solid var(--color-accent);opacity:.8;border-radius:50%;width:.5rem;height:.5rem;animation:1.8s ease-out infinite signal-pulse;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(1)}@keyframes signal-pulse{0%{opacity:.7;transform:translate(-50%,-50%)scale(1)}70%{opacity:0;transform:translate(-50%,-50%)scale(3.6)}to{opacity:0;transform:translate(-50%,-50%)scale(3.6)}}h1{letter-spacing:-3px;margin:0 0 24px;font-size:clamp(42px,5vw,66px);font-weight:750;line-height:1.13}.hero-tagline{letter-spacing:-.5px;margin:0 0 20px;font-size:25px;line-height:1.4}.hero-description{color:var(--color-text-secondary);max-width:490px;margin-bottom:30px;font-size:14px}.actions{flex-wrap:wrap;gap:12px;display:flex}.button{border-radius:5px;justify-content:center;align-items:center;padding:12px 18px;font-size:12px;font-weight:650;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.primary{background:var(--color-accent);color:var(--color-bg)}.primary:hover{background:var(--color-accent-hover)}.secondary{color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface)}.hero-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:18px;margin-top:27px;font-size:10px;display:flex}.hero-meta span+span{border-left:1px solid var(--color-border);padding-left:18px}.hero>:first-child{z-index:1;position:relative}.hero-visual{aspect-ratio:1;isolation:isolate;pointer-events:none;width:100%;min-width:0;position:relative;overflow:hidden}.hero-globe{width:100%;height:100%;display:block}.globe-label{border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-bg);letter-spacing:1.1px;white-space:nowrap;border-radius:20px;padding:6px 10px;font:9px/1.6 ui-monospace,monospace;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.globe-label .status-dot{width:4px;height:4px}.scroll-cue{color:var(--color-text-secondary);letter-spacing:2px;font-size:9px;position:absolute;bottom:30px;left:0}h1 .accent{color:var(--color-text)}.secondary:hover{border-color:var(--color-accent-hover);color:var(--color-accent-hover)}.hero-meta,.scroll-cue{color:var(--color-text-muted)}.section{border-top:1px solid var(--color-border);padding-block:85px}.section-heading{margin-bottom:38px}.section-heading .eyebrow{margin-bottom:15px}h2{letter-spacing:-1.4px;margin:0;font-size:clamp(28px,3.2vw,39px);font-weight:650;line-height:1.25}h3{margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.4}.heading-row{justify-content:space-between;align-items:end;gap:24px;display:flex}.heading-row>p{color:var(--color-text-secondary);margin:0;font-size:12px}.about-grid{grid-template-columns:1.2fr 1fr;gap:95px;display:grid}.about-copy p{color:var(--color-text-secondary);margin:0 0 18px;font-size:14px}.about-copy strong{color:var(--color-text);font-weight:550}.about-facts{grid-template-columns:1fr 1fr;gap:25px;display:grid}.about-facts strong{font-size:36px;font-weight:550;line-height:1.2}.about-facts strong span{color:var(--color-accent-hover);margin-left:5px;font-size:17px}.about-facts p{color:var(--color-text-secondary);margin:8px 0 0;font-size:12px}.education{border-top:1px solid var(--color-border);grid-column:1/-1;padding-top:22px}.small-label{letter-spacing:1.5px;color:var(--color-text-secondary);font:9px/1.6 ui-monospace,monospace}.education h3{margin-top:10px;margin-bottom:0;font-size:15px}.skills-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:25px 22px;transition:border-color .2s,transform .2s}.skill-card:hover{border-color:var(--color-accent-dark);transform:translateY(-4px)}.card-icon{width:37px;height:37px;color:var(--color-accent-hover);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:7px;justify-content:center;align-items:center;margin-bottom:24px;font:19px monospace;display:flex}.skill-card h3{font-size:15px}.skill-card p{color:var(--color-text-secondary);margin-bottom:22px;font-size:12px;line-height:1.8}.tags{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.tags li,.tags>span{border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface-elevated);border-radius:4px;padding:3px 8px;font-size:10px}.job{grid-template-columns:230px 1fr;gap:30px;padding-bottom:42px;display:grid}.job:last-child{padding-bottom:0}.job-date{letter-spacing:1px;color:var(--color-text-secondary);padding-top:5px;font:10px/1.6 ui-monospace,monospace}.current{color:var(--color-accent-hover);background:var(--color-surface);border:1px solid var(--color-border);letter-spacing:0;border-radius:4px;margin-top:12px;padding:3px 8px;font:10px/1.6 system-ui;display:table}.job-content{border-left:1px solid var(--color-border);padding-left:32px;position:relative}.job-content:before{content:"";background:var(--color-accent-hover);width:9px;height:9px;box-shadow:0 0 0 5px var(--color-bg);border-radius:50%;position:absolute;top:8px;left:-5px}.job h3{margin-bottom:5px}.job h3 span{color:var(--color-text-secondary);margin-left:8px;font-size:13px;font-weight:400}.company{color:var(--color-accent-hover);margin-top:0;font-size:12px}.job-content>p:not(.company),.job li{color:var(--color-text-secondary);font-size:13px}.job ul{margin-bottom:20px;padding-left:17px}.job li{margin-bottom:5px;padding-left:5px}.text-link{color:var(--color-accent-hover);font-size:12px}.project-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.project-card+.project-card{margin-top:24px}.project-art{background:radial-gradient(ellipse at center, var(--color-surface-elevated), var(--color-bg-alt));border-right:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:42px;display:flex;position:relative;overflow:hidden}.mini-browser{background:var(--color-bg-alt);border:1px solid var(--color-border);width:100%;max-width:330px;box-shadow:0 20px 30px var(--color-shadow);border-radius:6px;transform:rotate(-4deg)}.mini-bar{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding:7px 12px;font-size:9px}.mini-bar span{margin-left:20px;font:8px monospace}.mini-content{padding:23px;position:relative}.mini-content strong{letter-spacing:-.8px;margin:6px 0 15px;font-size:20px;display:block}.fake-line{background:var(--color-border);border-radius:5px;width:80%;height:4px;margin-bottom:8px}.fake-line.short{width:55%}.mini-tiles{gap:9px;margin-top:21px;display:flex}.mini-tiles span{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:3px;flex:1;height:37px}.mini-top{background:var(--color-accent-hover);color:var(--color-bg);text-align:center;border-radius:4px;width:25px;height:25px;position:absolute;bottom:12px;right:12px}.art-caption{letter-spacing:2px;color:var(--color-text-muted);margin-top:28px;font:8px monospace}.project-copy{align-self:center;min-width:0;padding:38px}.project-label{letter-spacing:1.3px;color:var(--color-accent-hover);font-size:9px}.project-copy h3{overflow-wrap:anywhere;margin-top:15px;font-size:22px}.project-copy p{color:var(--color-text-secondary);font-size:13px}.project-copy .merge-note{color:var(--color-accent-hover);margin-block:20px;font-size:11px}.project-card:nth-of-type(2) .project-art{background:var(--color-bg-alt)}.project-card:nth-of-type(2) .mini-tiles span{border-color:var(--color-accent-dark)}.project-card:nth-of-type(3) .project-art{background:linear-gradient(135deg, var(--color-surface), var(--color-bg))}.project-card:nth-of-type(3) .mini-browser,.project-card:hover{border-color:var(--color-accent-dark)}#projetos.projects-reveal-ready .project-card{opacity:0;will-change:opacity, transform;transition:opacity .65s,transform .75s cubic-bezier(.22,1,.36,1);transform:translate(-64px)scale(.985)}#projetos.projects-reveal-ready .project-card:nth-of-type(2n){transform:translate(64px)scale(.985)}#projetos.projects-reveal-ready .project-card.is-visible{opacity:1;will-change:auto;transform:translate(0,0)scale(1)}@media (width<=760px){#projetos.projects-reveal-ready .project-card,#projetos.projects-reveal-ready .project-card:nth-of-type(2n){transform:translateY(28px)scale(.99)}#projetos.projects-reveal-ready .project-card.is-visible{transform:translate(0,0)scale(1)}}@media (prefers-reduced-motion:reduce){#projetos.projects-reveal-ready .project-card,#projetos.projects-reveal-ready .project-card:nth-of-type(2n),#projetos.projects-reveal-ready .project-card.is-visible{opacity:1;transition:none;transform:none}}@media (hover:hover) and (pointer:fine){#projetos.projects-reveal-ready .project-card.is-visible:hover{border-color:var(--color-accent-dark);transform:translate(0,0)scale(1.02)}}.contact-panel{text-align:center;background:radial-gradient(ellipse at center, var(--color-bg-alt), transparent 70%);padding:30px 20px 40px}.contact-panel h2{font-size:clamp(30px,4vw,48px)}.contact-panel>p:not(.eyebrow){color:var(--color-text-secondary);margin-block:25px;font-size:14px}.email-link{border-bottom:1px solid var(--color-accent-dark);overflow-wrap:anywhere;padding-bottom:9px;font-size:clamp(15px,2.3vw,24px);display:inline-block}.social-links{color:var(--color-text-secondary);justify-content:center;gap:28px;margin-top:27px;font-size:12px;display:flex}.footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;padding-block:28px;display:flex}.footer p,.footer>a:last-child{color:var(--color-text-secondary);font-size:10px}.email-link:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}@media (width>=761px){.menu-toggle{display:none}}@media (width<=1000px){.hero{gap:35px}h1{font-size:49px}.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:45px}nav{gap:18px}.project-copy{padding:26px}.hero-meta{gap:10px}.hero-meta span+span{padding-left:10px}}@media (width<=760px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:0;min-height:72px;padding-block:16px}nav{flex-wrap:wrap;gap:15px 22px;width:100%;padding-top:20px;font-size:13px}nav.is-collapsed{display:none}.nav-contact{padding:5px 10px}.hero{grid-template-columns:1fr;gap:60px;min-height:0;padding-block:55px 85px}h1{font-size:clamp(43px,8vw,62px)}.hero-tagline{font-size:24px}.hero-description{max-width:540px}.hero-visual{width:min(290px,100%);margin-inline:auto}.section{padding-block:55px}.heading-row{display:block}.heading-row>p,.heading-row>.text-link{margin-top:20px;display:block}.about-grid{grid-template-columns:1fr;gap:20px}.about-facts{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:24px}.job{grid-template-columns:1fr;gap:15px}.job-date{align-items:center;gap:15px;display:flex}.current{margin:0}.job-content{padding-left:23px}.project-card{grid-template-columns:1fr}.project-art{border-right:0;border-bottom:1px solid var(--color-border);min-height:285px;padding:30px}.project-copy{padding:28px}.footer{flex-wrap:wrap;gap:15px}.footer p{order:3;width:100%;margin:0}.contact-panel{padding-inline:0}.eyebrow{letter-spacing:1.6px;font-size:9px}}@media (width<=420px){.skills-grid{grid-template-columns:1fr}.hero-meta,.hero-meta span{display:block}.hero-meta span+span{border:0;margin-top:5px;padding:0}h1{letter-spacing:-2px}.actions{gap:10px}.button{padding:11px 13px}.job h3 span{margin:5px 0 0;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
