@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b0c0b;--panel:#121412;--panel2:#171a17;--text:#f0f1eb;--muted:#9b9f97;--line:#292c28;--accent:#b6ef57;--max:1260px;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.skip-link{position:fixed;z-index:1000;left:12px;top:10px;transform:translateY(-150%);background:var(--accent);color:#10110e;padding:10px 14px}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:30;inset:0 0 auto;border-bottom:1px solid transparent;transition:.3s background,.3s border-color,.3s height}.header.scrolled{height:72px;background:#0b0c0bea;backdrop-filter:blur(18px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:800;letter-spacing:.09em;line-height:1.2}.brand small{display:block;font:9px var(--mono);letter-spacing:.09em;color:var(--muted);margin-top:6px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #62665c;border-radius:50%;font:11px var(--mono);color:var(--accent)}.nav{display:flex;align-items:center;gap:28px}.nav>a:not(.nav-cta){font-size:11px;color:#c4c7c0;transition:color .2s}.nav>a:hover{color:var(--accent)}.nav-cta{padding:9px 14px;border:1px solid #51574a;font-size:11px}.nav-cta span{color:var(--accent);padding-left:12px}.languages{display:flex;gap:4px}.languages button{background:none;border:0;padding:5px 4px;font:10px var(--mono);color:#7e8279;cursor:pointer}.languages button.active{color:var(--accent)}.menu-toggle{display:none}.hero{min-height:760px;height:min(900px,100svh);position:relative;max-width:1600px;margin:auto;padding:150px max(8.5vw,50px) 86px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden}.hero-gridline{position:absolute;top:0;bottom:0;left:51.5%;width:1px;background:linear-gradient(transparent,#282b26 18%,#282b26 80%,transparent);opacity:.7}.hero-copy{position:relative;z-index:2;max-width:700px;padding-bottom:30px}.eyebrow,.section-kicker,.micro-label{font:10px var(--mono);letter-spacing:.12em;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 25px}.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px #b6ef5777}.hero h1{font-size:clamp(48px,6.1vw,88px);line-height:.99;letter-spacing:-.075em;font-weight:600;margin:0;max-width:760px}.hero h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);letter-spacing:-.06em}.hero-lede{max-width:440px;color:#a8aca4;font-size:15px;line-height:1.8;margin:28px 0 26px}.hero-actions{display:flex;align-items:center;gap:28px}.button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:11px;font-weight:700}.button-primary{background:var(--accent);color:#151811}.button-primary span:last-child{font-size:17px;transition:transform .2s}.button-primary:hover span:last-child{transform:translate(3px,-3px)}.text-link,.arrow-link{font-size:11px;color:#d3d5cf;display:inline-flex;gap:14px;align-items:center}.text-link span:last-child{color:var(--accent)}.hero-tech{display:flex;gap:8px;flex-wrap:wrap;margin-top:64px}.hero-tech span,.learning-badges span{font:10px var(--mono);border:1px solid var(--line);color:#9fa39a;padding:8px 11px}.hero-visual{height:min(570px,69vh);min-height:440px;position:relative;display:grid;place-items:center}.portrait-frame{position:relative;z-index:1;width:min(76%,390px);height:87%;overflow:hidden;background:#191b18;border-radius:190px 190px 10px 10px;border:1px solid #373a33;box-shadow:0 28px 100px #0009}.portrait-frame:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#08090899)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 29%;filter:saturate(.8)}.visual-orbit{position:absolute;border:1px solid #30352c;border-radius:50%;width:92%;height:70%;transform:rotate(-28deg)}.orbit-two{width:77%;height:99%;transform:rotate(26deg);border-color:#252a23}.visual-tag{position:absolute;z-index:2;background:#171a17;border:1px solid #43483c;padding:10px 13px;font:10px var(--mono);display:flex;align-items:center;gap:8px;box-shadow:0 12px 32px #0007}.visual-tag b{color:var(--accent);font-weight:400;margin-left:8px}.tag-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.tag-code{left:0;top:25%}.tag-design{right:-2%;bottom:25%}.visual-label{position:absolute;z-index:2;bottom:1%;left:5%;right:5%;display:flex;align-items:center;gap:12px;font:9px var(--mono);letter-spacing:.06em;color:#c4c8bd}.visual-label i{flex:1;height:1px;background:#747a6a}.visual-label span:last-child{color:var(--accent)}.scroll-cue{position:absolute;bottom:34px;left:max(8.5vw,50px);display:flex;align-items:center;gap:10px;font:9px var(--mono);letter-spacing:.12em;color:#777c73}.scroll-cue span:first-child{height:31px;width:1px;background:var(--accent)}.hero-index{position:absolute;bottom:42px;right:max(8.5vw,50px);font:10px var(--mono);color:#868a80}.hero-index span{color:var(--accent);padding:0 7px}.section{max-width:var(--max);margin:auto;padding:125px 44px}.section-kicker{display:flex;gap:16px;align-items:center}.section-kicker span:first-child{color:var(--accent)}.intro{display:grid;grid-template-columns:1fr 3.1fr;border-top:1px solid var(--line);padding-top:36px}.intro-content{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.intro h2,.section h2{font-size:clamp(37px,4.3vw,59px);line-height:1.08;letter-spacing:-.065em;font-weight:500;margin:0}.intro-body p,.section-heading p{color:#a6aaa1;line-height:1.85;margin:5px 0 23px;font-size:13px}.arrow-link{padding-bottom:7px;border-bottom:1px solid #43483f}.arrow-link b{color:var(--accent);font-weight:400}.build{padding-top:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:37px 0 50px}.section-heading h2{max-width:640px}.section-heading p{max-width:315px;margin:0 0 5px}.build-list{border-top:1px solid var(--line)}.build-list article{border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 30px;align-items:start;padding:24px 8px;transition:padding .25s,background .25s}.build-list article:hover{padding-left:18px;padding-right:18px;background:#ffffff03}.build-number{font:10px var(--mono);color:var(--accent);padding-top:4px}.build-list h3{font-size:19px;font-weight:500;margin:0 0 6px;letter-spacing:-.03em}.build-list p{font-size:12px;color:#979c93;margin:0;max-width:550px}.build-glyph{font-size:15px;color:#70766b}.build-list article:hover .build-glyph{color:var(--accent)}.work{max-width:none;background:#101210;padding-left:max(calc((100vw - var(--max))/2 + 44px),6vw);padding-right:max(calc((100vw - var(--max))/2 + 44px),6vw)}.work-heading{margin-bottom:35px}.filters{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid #363a34;color:#a2a69d;padding:8px 13px;font:10px var(--mono);cursor:pointer;transition:.2s}.filters button:hover,.filters button.active{background:var(--accent);border-color:var(--accent);color:#11140d}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{min-width:0;background:#171a17;border:1px solid #292d28;cursor:pointer;transition:transform .3s,border-color .3s;overflow:hidden}.project-card:hover{transform:translateY(-5px);border-color:#6e795e}.project-art{height:270px;position:relative;overflow:hidden;background:#20251e;display:grid;place-items:center}.project-art:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#0000,#0005)}.project-art .art-label{position:absolute;z-index:1;left:20px;top:18px;font:9px var(--mono);letter-spacing:.1em;color:#e4e6db}.project-art .art-index{position:absolute;z-index:1;right:20px;bottom:18px;font:10px var(--mono);color:#d6dbcb}.art-inner{width:77%;height:76%;border:1px solid #ffffff3a;background:#ffffff0b;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 14px 40px #0004}.art-inner:before,.art-inner:after{content:'';position:absolute;border:1px solid #ffffff38;border-radius:50%;width:78%;height:120%;transform:rotate(37deg)}.art-inner:after{width:54%;height:140%;transform:rotate(-28deg);border-color:#ffffff24}.art-title{z-index:1;text-align:center;font-size:clamp(27px,4vw,54px);font-weight:800;line-height:.95;letter-spacing:-.08em;max-width:80%;text-shadow:0 8px 30px #0005}.art-title small{display:block;margin-top:12px;font:9px var(--mono);letter-spacing:.11em}.art-school{background:radial-gradient(ellipse at 48% 22%,#d6b590,#876b54 43%,#26352e 44%,#111815)}.art-school .art-inner{background:#13251d99;border-color:#e7ddc74a}.art-souza{background:linear-gradient(130deg,#122d31,#667b75 55%,#172321)}.art-souza .art-inner{background:#edf1e51b}.art-beta{background:radial-gradient(circle at 64% 25%,#dd9f8d,#9c5c56 35%,#402f39 76%)}.art-beta .art-inner{background:#542c3182}.art-asics{background:linear-gradient(145deg,#c6441e,#f2a448 45%,#18191a 46%,#222)}.art-asics .art-inner{background:#27252280}.art-house{background:linear-gradient(135deg,#477c62,#bad291 52%,#183527)}.art-house .art-inner{background:#133b2c78}.art-codelapa{background:radial-gradient(circle at 50% 50%,#869451,#323b25 44%,#141712 75%)}.art-codelapa .art-inner{background:#12150f99}.project-info{padding:20px 22px 22px}.project-meta{display:flex;justify-content:space-between;gap:15px;color:#8f958b;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-info h3{font-size:23px;letter-spacing:-.05em;font-weight:500;margin:11px 0 6px}.project-info p{font-size:12px;color:#9ca198;max-width:500px;margin:0 0 17px}.project-bottom{display:flex;justify-content:space-between;align-items:center}.project-tags{display:flex;gap:6px;flex-wrap:wrap}.project-tags span{border:1px solid #363a34;padding:5px 8px;font:9px var(--mono);color:#9ca196}.project-open{font:18px;color:var(--accent)}.work-note{font:10px var(--mono);color:#7e8379;margin:23px 0 0}.stack{padding-bottom:115px}.stack-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.stack-note{padding:22px 0;border-top:1px solid var(--line);position:relative}.stack-spark{font-size:28px;color:var(--accent)}.stack-note p{font:14px/1.8 var(--sans);color:#a3a79e;max-width:350px;margin-top:35px}.stack-groups{border-top:1px solid var(--line)}.stack-group{display:grid;grid-template-columns:155px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:21px 0}.stack-group>span{font:9px var(--mono);letter-spacing:.09em;color:#8b9087;padding-top:5px}.stack-group div{display:flex;gap:7px;flex-wrap:wrap}.stack-group b{font-size:11px;font-weight:500;padding:4px 8px;border:1px solid transparent;color:#e3e5dc}.stack-group b:hover{border-color:#4b5540;color:var(--accent)}.experience{border-top:1px solid var(--line);padding-top:34px}.timeline{margin:52px 0 0 25%;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:170px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:27px 0}.timeline-date{font:9px var(--mono);letter-spacing:.07em;color:#92968d;padding-top:7px}.timeline h3{font-size:19px;margin:0;font-weight:600;letter-spacing:-.03em}.timeline .role{margin:3px 0 12px;color:var(--accent);font-size:11px}.timeline article p:last-child{margin:0;color:#9da198;font-size:12px;line-height:1.8;max-width:600px}.education{margin:38px 0 0 25%;padding:22px;background:#121512;border:1px solid #2b302a;display:flex;align-items:center;gap:18px}.education-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #444b3d;color:var(--accent)}.education .micro-label{font-size:8px}.education h3{font-size:14px;margin:3px 0}.education p{color:#959a90;font-size:11px;margin:0}.learning{border-top:1px solid var(--line);padding-top:32px;padding-bottom:130px}.learning-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:55px}.learning-row h2{font-size:clamp(42px,5.3vw,72px)}.learning-content p{color:#a4a89f;font-size:13px;max-width:465px;margin:4px 0 24px}.learning-badges{display:flex;flex-wrap:wrap;gap:7px}.learning-content small{display:block;color:#73796e;font:9px var(--mono);margin-top:13px}.contact{max-width:none;background:#c5f66d;color:#141711;padding-left:max(calc((100vw - var(--max))/2 + 44px),6vw);padding-right:max(calc((100vw - var(--max))/2 + 44px),6vw);position:relative;overflow:hidden}.contact:after{content:'GG';font:800 clamp(240px,38vw,560px)/.8 var(--sans);letter-spacing:-.15em;color:#b7e95e;position:absolute;right:-.06em;bottom:-.12em;pointer-events:none}.contact-top,.contact-bottom{display:flex;justify-content:space-between;align-items:center}.contact .section-kicker,.contact-coord{color:#526637}.contact .section-kicker span:first-child{color:#24321a}.contact h2{font-size:clamp(70px,11vw,150px);line-height:.85;margin:100px 0 30px;position:relative;z-index:1;letter-spacing:-.09em}.contact h2 span{color:#647c41}.contact>p{font-size:15px;color:#435333}.contact-actions{display:flex;gap:10px;position:relative;z-index:1;margin-top:31px}.contact .button-primary{background:#11140e;color:#d2f88a}.button-outline{border:1px solid #596e3d;color:#26321b}.contact-bottom{position:relative;z-index:1;margin-top:125px;padding-top:17px;border-top:1px solid #7a9a4a;font:9px var(--mono);color:#455633}.footer{padding:28px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.footer-right{display:flex;gap:25px;align-items:center;font:9px var(--mono);color:#848980}.footer-right>a{color:#b6baaf}.project-dialog[hidden]{display:none}.project-dialog{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}.dialog-backdrop{position:absolute;inset:0;background:#000b;border:0;backdrop-filter:blur(8px)}.dialog-panel{position:relative;z-index:1;width:min(570px,100%);background:#151815;border:1px solid #3a4036;padding:44px}.dialog-close{position:absolute;right:17px;top:13px;background:none;border:0;color:#c6cabf;font-size:25px;cursor:pointer}.dialog-kicker{font:9px var(--mono);letter-spacing:.12em;color:var(--accent)}.dialog-panel h2{font-size:38px;line-height:1.1;letter-spacing:-.06em;margin:18px 0 12px}.dialog-panel>p{color:#a4a99f;font-size:13px;line-height:1.8}.dialog-meta{display:flex;gap:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0}.dialog-meta div{display:grid;gap:6px}.dialog-meta span{font:9px var(--mono);color:#81877d}.dialog-meta b{font-size:12px;font-weight:500}.toast{position:fixed;z-index:100;bottom:20px;left:50%;transform:translate(-50%,30px);opacity:0;background:#262b22;color:#e8eddf;padding:11px 15px;font:11px var(--mono);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}[data-reveal].revealed{opacity:1;transform:none}.project-card[hidden]{display:none}
@media(max-width:900px){.header{padding:0 25px}.nav{gap:16px}.nav>a:not(.nav-cta){font-size:10px}.hero{padding-left:6vw;padding-right:6vw}.hero h1{font-size:clamp(48px,7vw,70px)}.hero-tech{margin-top:40px}.hero-visual{height:510px}.section{padding:95px 30px}.intro{grid-template-columns:1fr;gap:35px}.intro-content{gap:40px}.work{padding-left:6vw;padding-right:6vw}.stack-layout{gap:40px}.contact{padding-left:6vw;padding-right:6vw}}
@media(max-width:680px){html{scroll-padding-top:70px}.header,.header.scrolled{height:68px;padding:0 20px}.brand{font-size:10px}.brand-mark{width:32px;height:32px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:10px;z-index:2}.menu-toggle span{display:block;width:22px;height:1px;background:var(--text);transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:fixed;inset:0;background:#0b0c0b;display:flex;align-items:stretch;justify-content:center;flex-direction:column;padding:100px 35px 40px;gap:22px;transform:translateX(100%);transition:transform .3s}.nav.open{transform:none}.nav>a:not(.nav-cta){font-size:24px;letter-spacing:-.04em}.nav .languages{margin:10px 0}.nav .languages button{font-size:13px;padding:8px}.nav-cta{align-self:flex-start;margin-top:8px}.hero{height:auto;min-height:0;padding:125px 23px 76px;display:flex;flex-direction:column;align-items:stretch}.hero-gridline{left:74%}.hero-copy{padding:0}.eyebrow{font-size:8px;margin-bottom:21px}.hero h1{font-size:clamp(48px,13vw,74px);max-width:600px}.hero-lede{font-size:13px;margin:22px 0}.hero-actions{gap:17px;flex-wrap:wrap}.button{min-height:46px;padding:0 13px;gap:16px}.hero-tech{margin-top:27px;gap:6px}.hero-tech span{font-size:9px;padding:6px 8px}.hero-visual{height:380px;min-height:0;margin-top:25px}.portrait-frame{height:90%;width:66%;max-width:310px}.visual-orbit{width:83%;height:64%}.orbit-two{height:90%}.tag-code{left:3%;top:21%}.tag-design{right:1%;bottom:23%}.visual-label{left:8%;right:8%;bottom:0}.scroll-cue{left:23px;bottom:22px}.hero-index{right:23px;bottom:33px}.section{padding:76px 23px}.intro{padding-top:24px;gap:26px}.intro-content{display:block}.intro h2,.section h2{font-size:clamp(36px,10vw,52px)}.intro-body{margin-top:24px}.intro-body p,.section-heading p{font-size:12px}.build{padding-top:68px}.section-heading{display:block;margin:28px 0 30px}.section-heading p{margin-top:14px}.build-list article{grid-template-columns:39px 1fr 20px;padding:19px 0;gap:8px}.build-list h3{font-size:16px}.build-list p{font-size:11px;padding-right:5px}.work{padding-left:23px;padding-right:23px}.project-grid{grid-template-columns:1fr;gap:12px}.project-art{height:235px}.project-info{padding:16px}.project-info h3{font-size:21px}.stack-layout{grid-template-columns:1fr;gap:24px}.stack-note{display:grid;grid-template-columns:45px 1fr;gap:10px;padding:15px 0}.stack-note p{font-size:12px;margin:0}.stack-group{grid-template-columns:110px 1fr;gap:10px;padding:17px 0}.stack-group b{font-size:10px;padding:3px 6px}.timeline{margin:38px 0 0;border-top:1px solid var(--line)}.timeline article{grid-template-columns:1fr;gap:6px;padding:20px 0}.timeline-date{padding:0}.timeline article p:last-child{font-size:11px}.education{margin:25px 0 0;padding:16px}.learning-row{grid-template-columns:1fr;gap:27px;margin-top:35px}.learning-row h2{font-size:50px}.learning-content p{font-size:12px}.contact{padding-left:23px;padding-right:23px}.contact-top{align-items:flex-start}.contact-coord{font-size:8px}.contact h2{font-size:clamp(62px,16vw,105px);margin:95px 0 22px}.contact>p{font-size:13px}.contact-bottom{margin-top:88px;gap:14px;font-size:8px}.contact:after{font-size:340px;right:-.14em}.footer{padding:22px 20px;align-items:flex-start}.footer-right{gap:12px;align-items:flex-end;flex-direction:column}.footer-right .languages{align-self:flex-end}.dialog-panel{padding:37px 24px}.dialog-panel h2{font-size:31px}.dialog-meta{gap:25px}.toast{width:max-content;max-width:calc(100vw - 32px);text-align:center}}
@media(max-width:380px){.hero h1{font-size:46px}.hero-visual{height:330px}.hero-actions{align-items:flex-start;flex-direction:column}.contact h2{font-size:60px}.project-art{height:210px}.contact-bottom{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
.quick-contact{position:fixed;z-index:25;right:19px;bottom:24px;display:flex;gap:7px;padding:6px;background:#11140fe8;border:1px solid #393e34;backdrop-filter:blur(12px)}.quick-contact a{width:34px;height:34px;display:grid;place-items:center;font:11px var(--mono);color:#c4c9bb;border:1px solid transparent}.quick-contact a:first-child{background:var(--accent);color:#151811}.quick-contact a:hover{border-color:var(--accent)}
@media(max-width:680px){.quick-contact{right:12px;bottom:12px}}
.hero-index{right:calc(max(8.5vw,50px) + 86px)}
@media(max-width:680px){.hero-index{right:78px}}
.project-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:-5px 0 28px}.project-search{display:flex;align-items:center;gap:9px;border-bottom:1px solid #464b43;max-width:270px;width:100%;color:var(--accent)}.project-search input{flex:1;min-width:0;background:transparent;border:0;padding:10px 0;color:var(--text);font:11px var(--mono);outline:none}.project-search input::placeholder{color:#83887f}.view-all{background:none;border:0;border-bottom:1px solid #747e67;padding:10px 0;color:#d4d8cf;font-size:11px;cursor:pointer}.view-all:hover{color:var(--accent);border-color:var(--accent)}.view-all[hidden]{display:none}.art-b8hub{background:radial-gradient(circle at 70% 30%,#829349,#35402b 43%,#151a14 75%)}.art-zago{background:linear-gradient(135deg,#d4b9a9,#754d43 52%,#231c1a)}.art-ausan{background:linear-gradient(135deg,#425954,#91a08c 48%,#202927)}.art-sbred{background:radial-gradient(circle at 48% 42%,#36757a,#183c43 52%,#101b20)}.art-lumiar,.art-mais{background:linear-gradient(145deg,#d59952,#e9c58d 48%,#314b42 49%,#15231f)}.art-castro{background:linear-gradient(140deg,#5e8c83,#bed0c4 46%,#283b35)}.art-rkt{background:linear-gradient(135deg,#354e37,#86a26b 52%,#17271e)}.art-senna{background:linear-gradient(140deg,#17191a,#e6c327 50%,#2a2c28 51%)}.art-cycling,.art-run{background:linear-gradient(135deg,#ce5632,#edab51 47%,#242826 48%)}.art-cestas{background:linear-gradient(130deg,#d7899a,#f2d8d7 47%,#6c3949)}.art-boards{background:linear-gradient(135deg,#4d8c9c,#bed5ce 50%,#173c4d)}.art-law{background:linear-gradient(135deg,#1f3239,#81908b 50%,#172125)}
@media(max-width:680px){.project-tools{align-items:stretch;flex-direction:column;gap:10px;margin:-8px 0 20px}.project-search{max-width:none}.view-all{align-self:flex-start}}
@media(min-width:681px){.hero{height:auto;min-height:max(800px,100svh)}}
@media(min-width:681px){.scroll-cue{display:none}}
/* Slow ambient movement and a pointer-following light add depth without replacing the native cursor. */
.hero{isolation:isolate}.hero::before{content:"";position:absolute;z-index:-1;width:min(72vw,900px);height:min(72vw,900px);right:-13%;top:-18%;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 48% 48%,#a8e85e25 0,transparent 49%),radial-gradient(circle at 69% 31%,#79a9a51a 0,transparent 42%);filter:blur(10px);animation:ambient-drift 27s ease-in-out infinite alternate}.hero::after{content:"";position:absolute;z-index:-1;inset:-20% -10%;pointer-events:none;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:76px 76px;opacity:.13;mask-image:radial-gradient(ellipse at 56% 46%,#000 0,transparent 70%);animation:grid-drift 44s linear infinite}.pointer-glow{position:fixed;z-index:2;left:var(--pointer-x,-500px);top:var(--pointer-y,-500px);width:380px;height:380px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;background:radial-gradient(circle,#a9ee6321 0,rgba(109,150,84,.09) 24%,transparent 68%);mix-blend-mode:screen;transition:opacity .35s ease;will-change:left,top}.pointer-glow.is-visible{opacity:1}@keyframes ambient-drift{0%{transform:translate3d(-1%,0,0) scale(.97)}50%{transform:translate3d(2%,2%,0) scale(1.04)}100%{transform:translate3d(-2%,1%,0) scale(1)}}@keyframes grid-drift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(76px,38px,0)}}.art-catalog-web{background:linear-gradient(140deg,#1a2927,#48665c 52%,#121816)}.art-catalog-landing{background:linear-gradient(140deg,#27414a,#78939b 50%,#172326)}.art-catalog-shop{background:linear-gradient(140deg,#64454f,#c29791 52%,#30282a)}.art-catalog-event{background:linear-gradient(140deg,#6f4924,#d29e48 52%,#22251f)}
@media(max-width:680px){.pointer-glow{display:none}.hero::after{background-size:58px 58px;opacity:.09}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after{animation:none}.pointer-glow{display:none}}
.brand-contact{gap:10px}.brand-contact img{width:18px;height:18px;object-fit:contain;flex:none}.brand-contact>span{margin:0;font-size:inherit}.brand-contact>span:last-child:not(:first-child){font-size:inherit}.quick-contact img{width:17px;height:17px;display:block}.quick-contact a:first-child img{filter:brightness(0) saturate(100%) invert(9%) sepia(9%) saturate(1315%) hue-rotate(51deg) brightness(93%) contrast(91%)}.quick-contact a:last-child img{filter:brightness(0) invert(1)}.work-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 4px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#c6cbbf;font:11px var(--mono)}.work-contact>div{display:flex;gap:25px}.work-contact a,.footer-contact{display:inline-flex;align-items:center;gap:8px;color:#d8ddce}.work-contact a:hover,.footer-contact:hover{color:var(--accent)}.work-contact img,.footer-contact img{width:16px;height:16px}.footer-right{flex-wrap:wrap}.footer-contact{font:9px var(--mono)}.footer-contact span{margin:0}.hero-actions .brand-contact{min-height:42px;padding:0 13px;font-size:10px}.hero-actions .brand-contact img{width:16px;height:16px}
@media(max-width:680px){.work-contact{align-items:flex-start;flex-direction:column;gap:14px}.work-contact>div{flex-wrap:wrap;gap:18px}.footer-contact span{display:none}}
/* Calm looping green star field behind the opening section. */
.hero-stars{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.hero-stars i{position:absolute;width:4px;height:4px;border-radius:50%;background:#b6ef57;box-shadow:0 0 7px 2px #b6ef5780,0 0 18px 4px #b6ef5730;opacity:.3;animation:star-pulse 3.2s ease-in-out infinite alternate}.hero-stars i:nth-child(1){left:8%;top:18%;animation-delay:-.4s}.hero-stars i:nth-child(2){left:29%;top:11%;animation-delay:-2.1s}.hero-stars i:nth-child(3){left:47%;top:28%;animation-delay:-1.2s}.hero-stars i:nth-child(4){left:71%;top:13%;animation-delay:-2.7s}.hero-stars i:nth-child(5){left:91%;top:24%;animation-delay:-.9s}.hero-stars i:nth-child(6){left:17%;top:42%;animation-delay:-1.8s}.hero-stars i:nth-child(7){left:39%;top:57%;animation-delay:-.6s}.hero-stars i:nth-child(8){left:63%;top:39%;animation-delay:-2.4s}.hero-stars i:nth-child(9){left:84%;top:52%;animation-delay:-1.5s}.hero-stars i:nth-child(10){left:6%;top:73%;animation-delay:-2.8s}.hero-stars i:nth-child(11){left:31%;top:84%;animation-delay:-1.1s}.hero-stars i:nth-child(12){left:56%;top:76%;animation-delay:-2s}.hero-stars i:nth-child(13){left:76%;top:88%;animation-delay:-.3s}.hero-stars i:nth-child(14){left:95%;top:70%;animation-delay:-1.7s}@keyframes star-pulse{0%{transform:scale(.55);opacity:.14}55%{opacity:.72}100%{transform:scale(1.35);opacity:.28}}.build-number{font-size:15px;padding-top:0}.section-kicker span:first-child{font-size:15px;line-height:1}.visual-label span:first-child{font-size:16px;color:var(--accent)}
@media(prefers-reduced-motion:reduce){.hero-stars i{animation:none;opacity:.36}}
/* Prominent all-projects action and compact paged catalog. */
.view-all{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:0 18px;background:var(--accent);border:1px solid var(--accent);color:#151811;font-size:11px;font-weight:800;letter-spacing:.015em;transition:transform .2s,background .2s,box-shadow .2s}.view-all:hover{background:#c9f67a;color:#11140e;border-color:#c9f67a;box-shadow:0 8px 28px #b6ef5728;transform:translateY(-2px)}.view-all span{font-size:16px;transition:transform .2s}.view-all[hidden]{display:none}.project-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:28px auto 8px}.project-pagination[hidden]{display:none}.project-pagination button{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:1px solid #41463c;color:#d8dccf;font:10px var(--mono);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.project-pagination button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.project-pagination button:disabled{opacity:.35;cursor:default}.project-pagination #projects-page{min-width:48px;text-align:center;color:#9b9f97;font:10px var(--mono)}.project-card{animation:project-arrive .3s ease both}@keyframes project-arrive{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:680px){.project-tools{align-items:stretch}.view-all{align-self:stretch}.project-pagination{gap:8px;margin-top:22px}.project-pagination button{padding:9px 10px;gap:6px}}
.visual-tag{transition:opacity .24s ease,transform .24s ease}.visual-tag.is-changing{opacity:.45;transform:translateY(3px)}.visual-tag>span:nth-child(2){white-space:nowrap}
@media(prefers-reduced-motion:reduce){.visual-tag{transition:none}}
/* Horizontal, looping project ribbon. Duplicated cards make the loop seamless. */
.project-carousel{position:relative;overflow:hidden;margin:0 -1px}.project-carousel:before,.project-carousel:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:48px;pointer-events:none}.project-carousel:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.project-carousel:after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}.project-carousel-track{display:flex;align-items:stretch;gap:16px;width:max-content;animation:project-marquee var(--carousel-duration,32s) linear infinite;will-change:transform}.project-carousel-track.is-paused,.project-carousel:hover .project-carousel-track,.project-carousel:focus-within .project-carousel-track{animation-play-state:paused}.project-grid{display:flex;flex:0 0 auto;gap:16px;width:max-content;grid-template-columns:none}.project-grid-clone{pointer-events:none}.project-card{flex:0 0 clamp(280px,29vw,355px);width:clamp(280px,29vw,355px);min-width:0;animation:none}.project-art{height:205px}.project-info h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-info>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.art-title{overflow-wrap:anywhere;max-width:84%}@keyframes project-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0 5px}.carousel-controls button{min-height:38px;padding:0 14px;border:1px solid #41463c;background:#11140f;color:#d9decf;font:10px var(--mono);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.carousel-controls button:hover,.carousel-controls button:focus-visible{border-color:var(--accent);color:var(--accent)}#carousel-toggle{min-width:150px}#carousel-prev,#carousel-next{font-size:16px;padding:0 13px}.carousel-controls button[aria-pressed=true]{border-color:#606b51;color:var(--accent)}
@media(max-width:680px){.project-carousel:before,.project-carousel:after{width:20px}.project-carousel-track,.project-grid{gap:12px}.project-card{flex-basis:82vw;width:82vw;max-width:340px}.project-art{height:190px}.carousel-controls{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.project-carousel{overflow-x:auto;scrollbar-color:#6b8241 #161916;scrollbar-width:thin}.project-carousel-track{animation:none;transform:none!important}.project-grid-clone{display:none}.project-card{scroll-snap-align:start}.project-carousel{scroll-snap-type:x proximity}}
.brand-logo{display:flex;align-items:center;flex:none}.brand-logo img{display:block;width:clamp(142px,16vw,190px);height:auto}.footer-logo img{width:clamp(155px,17vw,185px)}.contact:after{content:"";width:min(58vw,760px);height:min(52vw,540px);background:url("../assets/brand/gustavo-guedes-monogram-black.svg") center/contain no-repeat;opacity:.12;right:-.06em;bottom:-.1em}@media(max-width:680px){.brand-logo img{width:148px}.footer-logo img{width:158px}.contact:after{width:78vw;height:68vw;right:-.08em;bottom:-.03em}}
/* Keep project names readable without oversized display text. */
.project-card .art-title{font-size:clamp(19px,2.1vw,30px);line-height:1.02;letter-spacing:-.055em;max-width:84%;text-wrap:balance}.project-card .art-title small{font-size:8px;letter-spacing:.09em}.project-info h3{font-size:18px;line-height:1.25;letter-spacing:-.035em}.project-card[data-project="castro-valle"] .art-title{font-size:clamp(18px,1.9vw,27px)}.project-card[data-project="castro-valle"] .project-info h3{font-size:17px}.dialog-panel h2{font-size:clamp(27px,3vw,33px)}
@media(max-width:680px){.project-card .art-title{font-size:clamp(20px,6vw,27px)}.project-card[data-project="castro-valle"] .art-title{font-size:clamp(19px,5.5vw,25px)}.project-info h3{font-size:17px}}
.quick-contact{bottom:calc(24px + var(--footer-lift,0px))}@media(max-width:680px){.quick-contact{bottom:calc(12px + var(--footer-lift,0px))}}
/* Small line illustrations connect each service to its work. */
.build-glyph{display:grid;place-items:center;width:38px;height:38px;opacity:.86;color:var(--accent)}.build-glyph svg,.stack-spark svg,.education-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.build-list article:hover .build-glyph{opacity:1}.build-list article:hover .build-glyph svg{transform:translateY(-2px) rotate(-4deg);transition:transform .25s ease}.stack-spark{display:grid;place-items:center;width:44px;height:44px}.stack-spark svg{color:var(--accent);stroke-width:1.2}.education-icon svg{width:20px;height:20px}.education-icon{padding:8px}
.orbit-illustration{position:absolute;z-index:2;top:8%;right:3%;width:clamp(76px,10vw,118px);height:auto;overflow:visible;fill:none;stroke:var(--accent);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;opacity:.78;filter:drop-shadow(0 0 10px #b6ef5730);animation:orbit-drift 6s ease-in-out infinite}
.orbit-illustration circle{fill:var(--bg);stroke-width:1.5}.orbit-illustration circle:nth-of-type(2){fill:var(--accent);filter:drop-shadow(0 0 5px #b6ef57aa)}.orbit-spark{stroke-width:1.6;animation:orbit-twinkle 2.5s ease-in-out infinite alternate;transform-origin:83px 90px}
@keyframes orbit-drift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes orbit-twinkle{from{opacity:.45}to{opacity:1}}
@media(max-width:680px){.orbit-illustration{top:6%;right:2%;width:76px}.build-glyph{width:30px;height:30px}}
/* Navegação mais legível e marca com maior presença. */
.brand-logo img{width:clamp(165px,18vw,215px)}.header{height:88px}.header.scrolled{height:78px}.nav{gap:24px}.nav>a:not(.nav-cta){font-size:13px}.nav-cta{font-size:12px;padding:10px 15px}.languages button{font-size:11px}
@media(max-width:900px) and (min-width:681px){.header{padding-inline:24px}.brand-logo img{width:160px}.nav{gap:14px}.nav>a:not(.nav-cta){font-size:12px}.nav-cta{font-size:11px;padding:9px 11px}}
@media(max-width:680px){.header,.header.scrolled{height:74px;padding-inline:20px}.brand-logo img{width:164px}}

.project-grid-clone{pointer-events:auto!important}.dialog-url-wrap{display:grid;gap:6px;margin:22px 0 0;padding-top:15px;border-top:1px solid var(--line)}.dialog-url-wrap>span{font:9px var(--mono);letter-spacing:.1em;color:#858b7d}.dialog-url{display:block;max-width:100%;overflow-wrap:anywhere;color:var(--accent);font:12px var(--mono);line-height:1.6}.dialog-url:hover{text-decoration:underline}.dialog-panel>p[hidden]{display:none}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.price-card{min-height:240px;padding:24px;background:var(--panel);border:1px solid var(--line)}.price-card-featured{border-color:#53633e;background:linear-gradient(145deg,#171d13,#121412 65%)}.price-type{display:block;font:9px var(--mono);letter-spacing:.1em;color:#8e9585}.price-card h3{margin:25px 0 4px;font-size:18px;font-weight:500}.price-amount{margin:0 0 13px;color:var(--accent);font-size:clamp(27px,3vw,37px);font-weight:500;letter-spacing:-.035em;line-height:1.2;white-space:nowrap}.price-card>p:last-child{max-width:310px;margin:0;color:#9b9f97;font-size:11px;line-height:1.75}.hosting-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;padding:22px 25px;border:1px solid #3a4232;background:#11140f}.hosting-card>div>p{max-width:650px;margin:8px 0 0;color:#a6aa9f;font-size:12px}.hosting-price{display:flex;align-items:baseline;gap:8px;flex:none;margin:0}.hosting-price strong{color:var(--accent);font-size:34px;font-weight:500;letter-spacing:-.05em}.hosting-price span{color:#9da294;font-size:11px}.pricing-note{margin:13px 0 0;color:#81877c;font-size:10px;line-height:1.7}.pricing-cta{margin-top:25px}.nav-pricing{color:var(--accent)!important}
@media(max-width:900px){.pricing-grid{gap:10px}.price-card{padding:19px}.price-amount{white-space:normal}}
@media(max-width:680px){.pricing-grid{grid-template-columns:1fr}.price-card{min-height:0;padding:20px}.price-card h3{margin-top:17px}.hosting-card{align-items:flex-start;flex-direction:column;padding:20px}.hosting-price strong{font-size:31px}.pricing-cta{width:100%}}

/* Lottie astronaut alongside professional experience */
.experience{position:relative}.experience-astronaut{position:absolute;left:3%;top:37%;width:clamp(110px,15vw,190px);aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 8px 18px #0008);animation:astronaut-float 5s ease-in-out infinite}.experience-astronaut svg{display:block;width:100%;height:100%;overflow:visible}@keyframes astronaut-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(3deg)}}@media(max-width:900px){.experience-astronaut{left:1%;width:clamp(80px,12vw,120px);opacity:.8}}@media(max-width:680px){.experience-astronaut{display:none}}@media(prefers-reduced-motion:reduce){.experience-astronaut{animation:none}}
