:root{--bg:#050d22;--accent:#368aff;--muted:#a3b9db}body{background:#050d22}.header{background:#07163235;border-color:#91baff25}.logo{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:700;letter-spacing:-2px}.logo .eight{color:#d1d6de}.logo-dot{color:#438aff}.hero{background:radial-gradient(ellipse at 90% 40%,#1466ed 0%,#1046ad 28%,#092353 56%,#060e21 85%);min-height:800px;height:100svh;max-height:1050px}.hero-shade,.hero-art{display:none}.blue-aura{position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,transparent 40%,#368dff33 70%,transparent),radial-gradient(ellipse at 74% 85%,#1f9dff70,transparent 40%)}.hero-content{pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{font-size:clamp(56px,5.6vw,82px);max-width:58%;letter-spacing:-3.5px}.hero h1 em{background-image:linear-gradient(110deg,#f9fcff,#abd2ff 50%,#5aafff);}.hero-description{color:#bdcee6;font-size:16px}.hero-label{font-size:10px;color:#c1d7fc}.button{background:linear-gradient(115deg,#3596ff,#1759ed);border-color:#8ac2ff;box-shadow:0 8px 35px #0768ff70}.header-cta{background:#2378f533;border-color:#67a5ff70}.hero-bottom{color:#b6cceb}.hero-coordinate{color:#b6cceb}.code-universe{position:absolute;width:57%;height:620px;right:-3%;top:50%;transform:translateY(-42%);perspective:1200px;pointer-events:none}.code-scene{position:absolute;inset:0;transform-style:preserve-3d;animation:scene-drift 14s ease-in-out infinite}.code-slab{position:absolute;top:105px;left:9%;width:79%;border-radius:18px;background:linear-gradient(135deg,#183c789c,#071a40ed);border:1px solid #a3d2ff9c;box-shadow:inset 0 0 30px #6ca8ff18,8px 10px 0 #092554,9px 11px 0 #91c2fc80,0 40px 90px #001944a8;backdrop-filter:blur(14px);transform:rotateY(-22deg) rotateX(12deg) rotateZ(-7deg);overflow:hidden}.slab-top{height:43px;border-bottom:1px solid #b4d7ff25;display:flex;align-items:center;gap:6px;padding:0 22px}.slab-top>span{width:5px;height:5px;border-radius:50%;background:#8fbcff}.slab-top b{font:10px monospace;margin-left:auto;color:#91b3e7}.code-body{padding:30px 20px 36px;font:clamp(12px,1.35vw,21px)/2.2 monospace;color:#b9d5ff}.code-line{white-space:nowrap}.code-line i{font-style:normal;color:#51739f;font-size:11px;display:inline-block;width:34px}.purple{color:#c3aaff}.cyan{color:#62dcff}.white{color:#fff}.cursor{display:inline-block;width:8px;height:19px;background:#7edaff;margin-left:6px;vertical-align:middle;animation:blink 1.2s steps(2) infinite}.slab-foot{display:flex;align-items:center;gap:8px;border-top:1px solid #a6ceff25;padding:16px 22px;font:8px monospace;letter-spacing:1.5px;color:#94bfee}.slab-foot>span:last-child{margin-left:auto}.status-dot{height:5px;width:5px;background:#64e1ff;border-radius:50%;box-shadow:0 0 12px #37d2ff}.symbol-tile{position:absolute;top:355px;left:42%;width:215px;height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:30px;background:linear-gradient(135deg,#edf7ff,#afc9e6 43%,#497cae);border:1px solid #e5f7ff;box-shadow:9px 11px 0 #284b7a,10px 12px 0 #a3c1e4,0 35px 75px #002972a8,inset 0 0 20px #fff;transform:translateZ(100px) rotateY(-18deg) rotateX(15deg) rotateZ(9deg);animation:tile-float 10s ease-in-out infinite}.symbol-tile>span{font:bold 77px/1.4 monospace;letter-spacing:-12px;padding-right:12px;color:#1357c3;text-shadow:0 2px 0 #fff,0 -2px 1px #00377e}.symbol-tile small{font:6px monospace;letter-spacing:1.4px;color:#234c80}.node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#3c8cff9c,#0f4297e0);border:1px solid #9cceffb3;box-shadow:5px 6px 0 #0c3580,0 0 38px #3bafff40,inset 0 0 25px #529fff35;backdrop-filter:blur(10px);width:84px;height:88px;border-radius:19px;transform:rotateY(-16deg) rotateZ(9deg);animation:node-float 9s ease-in-out infinite}.node span{font:26px monospace;color:#e3f4ff}.node small{font:8px monospace;letter-spacing:2px;color:#a9d8ff}.api{top:16px;left:70%}.database{left:10%;top:434px;animation-delay:-3s}.cloud{right:2%;top:280px;animation-delay:-6s}.orbit{position:absolute;width:94%;height:420px;top:115px;border:1px solid #79b7ff4f;border-radius:50%;transform:rotate(-30deg) rotateX(55deg);box-shadow:0 0 24px #67b7ff12}.orbit-two{transform:rotate(35deg) rotateX(65deg);top:145px;border-color:#bddcff26}.flow{position:absolute;height:4px;width:4px;border-radius:50%;background:#d7f7ff;box-shadow:0 0 15px 5px #50bfff90;animation:flow 7s ease-in-out infinite}.f1{top:75px;left:58%}.f2{top:475px;left:30%;animation-delay:-2s}.f3{top:280px;left:92%;animation-delay:-4s}.ticker{background:#1266ea;border-color:#579fff}.ticker-track>div{color:#e7f3ff}.ticker-track span{color:#91c5ff}.projects{background:transparent}.project{background:#0a1c3b;border-color:#4983d444}.services{background:linear-gradient(135deg,#0a2860,#103b82)}.service-card{background:#12366a;border-color:#5a98ff50}.about{background:transparent}.contact{background:radial-gradient(ellipse at 0 100%,#125ee1,#091b3e 65%)}.contact-form{background:#071b3edb;border-color:#5797ef66}.field input,.field textarea{background:#06142f;border-color:#4886d347}.eyebrow{color:#9dc3fc}footer{color:#b3c9e8}@keyframes scene-drift{0%,100%{transform:rotateY(-3deg) translateY(0)}50%{transform:rotateY(5deg) translateY(-15px)}}@keyframes tile-float{50%{transform:translateZ(120px) translateY(-13px) rotateY(-8deg) rotateX(8deg) rotateZ(4deg)}}@keyframes node-float{50%{translate:0 -17px;rotate:-6deg}}@keyframes blink{50%{opacity:0}}@keyframes flow{0%,100%{opacity:.15;translate:0 0}50%{opacity:1;translate:40px -30px}}@media(max-width:1000px) and (min-width:761px){.code-universe{right:-12%;width:64%;transform:translateY(-36%) scale(.85)}.hero h1{font-size:58px}}@media(max-width:760px){.hero{height:1060px;min-height:1060px;max-height:none;align-items:flex-start}.hero-content{padding-top:150px}.hero h1{max-width:100%;font-size:48px;letter-spacing:-2.5px}.hero-description{font-size:15px;max-width:340px}.hero-label{font-size:9px}.code-universe{width:460px;height:550px;left:50%;right:auto;top:555px;transform:translateX(-50%) scale(.8);transform-origin:top center}.code-body{font-size:13px}.code-slab{top:85px}.symbol-tile{top:315px;width:175px;height:155px}.symbol-tile>span{font-size:64px}.database{top:350px}.cloud{top:240px}.api{top:8px}.hero-bottom{bottom:25px}.hero-coordinate{display:none}.hero-buttons{gap:18px}.hero-description br{display:none}.orbit{top:100px}.logo{font-size:32px}}@media(max-width:380px){.hero-content{padding-top:130px}.hero h1{font-size:43px}.code-universe{top:570px;transform:translateX(-50%) scale(.72)}}@media(prefers-reduced-motion:reduce){.code-universe *{animation:none!important}}
@media(max-width:760px){.hero h1{font-size:42px;letter-spacing:-2px}}
/* Refinamento: grafite, azul nos controles e vidro escuro. */
:root{--bg:#101114;--muted:#a2a7b0;--line:#ffffff14}body{background:#101114;color:#eef0f3}.hero:after{content:"";position:absolute;inset:0;background:rgba(3,7,16,.22);z-index:-1;pointer-events:none}.blue-aura{z-index:-2}.code-universe{filter:brightness(.88)}.header{background:linear-gradient(180deg,#090c1640,#090c160a);border-bottom-color:#ffffff12}.header-cta{position:relative;background:linear-gradient(135deg,#ffffff12,#11172270 48%,#ffffff08);border:1px solid #ffffff27;box-shadow:inset 0 1px 0 #ffffff32,inset 0 -1px 0 #ffffff09,0 8px 24px #0003;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);color:#e0e6ef;border-radius:999px}.header-cta:hover{background:linear-gradient(135deg,#ffffff1d,#10182699);border-color:#ffffff45}.ticker{background:#070809;border-block:1px solid #ffffff14}.ticker-track>div{font-family:monospace;font-size:13px;font-weight:400;letter-spacing:.2px;padding-block:21px;gap:20px;color:#aeb5c0}.ticker-track span{color:#4d8fe9}.projects{background:transparent}.project{background:#17191d;border-color:#ffffff14}.project>p{color:#a6aab2}.project .tags span,.tags span{background:#ffffff04;border-color:#ffffff14;color:#aeb5c0}.project .takeaway{border-color:#ffffff12;color:#a2a8b2}.services{background:#141619;border-block:1px solid #ffffff10}.service-card{background:linear-gradient(145deg,#1d2025,#15171b);border-color:#ffffff16}.service-card p{color:#a1a7b1}.service-symbol{color:#679cec}.about{background:transparent}.eyebrow{color:#97a6bd}.contact{background:radial-gradient(ellipse at 0 100%,#172337,#121418 65%);border-top:1px solid #ffffff13}.contact-form{background:linear-gradient(145deg,#1e2229bb,#13161bf0);border-color:#ffffff18}.field input,.field textarea{background:#0d1015;border-color:#ffffff1b}.field input:focus,.field textarea:focus{border-color:#4c8df2}.button{background:linear-gradient(115deg,#328bff,#1c61e3);border-color:#75a9ff80;box-shadow:0 8px 30px #1269f52b}.button:hover{box-shadow:0 8px 34px #1269f54d}footer{color:#949ca9;background:transparent}.hero-label{color:#bed0eb}.hero-description{color:#b7c4d9}

/* Visibilidade do convite de rolagem e respiro móvel. */
.hero-bottom>a{color:#edf5ff;font-weight:600;font-size:11px;text-shadow:0 1px 8px #0008}.scroll-line{width:2px;height:34px;background:#9bc5ff66}.scroll-line:after{background:#88c4ff;box-shadow:0 0 10px #70b6ff}
@media(max-width:760px){.hero-content{padding-top:110px}.hero{height:960px;min-height:960px}.code-universe{top:455px}.hero-bottom{bottom:25px}.hero-bottom>a{font-size:10px;letter-spacing:1px;max-width:170px;min-height:44px}.hero-bottom>span:first-child{color:#aebdd1;font-size:8px}.scroll-line{height:36px}}
@media(max-width:380px){.hero-content{padding-top:105px}.code-universe{top:470px}}
.contact-email{display:inline-flex;align-items:center;gap:10px}.contact-email .arrow{width:19px;height:19px;flex:none}.water-button{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#66b1ff70,#246eecd9 50%,#4995ff70);backdrop-filter:blur(18px);box-shadow:inset 0 1px 1px #d4ebff8c,inset 0 -1px 1px #bcdcff40,0 8px 30px #1269f52b}.water-wave{position:absolute;pointer-events:none;width:20px;height:20px;margin:-10px;border-radius:50%;border:1px solid #e9f7ffcc;background:radial-gradient(circle,transparent 35%,#d4eeff55 60%,#fff7 68%,transparent 72%);animation:water-ripple .95s ease-out forwards;z-index:-1}.glass-dialog{width:min(430px,calc(100% - 40px));padding:36px 30px 28px;position:fixed;max-height:calc(100svh - 40px);overflow:auto;border:1px solid #e2efff3b;border-radius:32px;background:linear-gradient(135deg,#536580b0,#161e30ed 55%,#24354be8);color:#f1f6ff;text-align:center;box-shadow:inset 0 1px 1px #fff6,inset 0 -1px 1px #ffffff18,0 30px 110px #0009;backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%)}.glass-dialog::backdrop{background:#02081299;backdrop-filter:blur(7px)}.glass-dialog[open]{animation:glass-in .3s ease-out}.glass-dialog h2{font-size:28px;letter-spacing:-1px;margin:20px 0 12px}.glass-dialog p{font-size:15px;line-height:1.7;color:#c5d3e8;margin-bottom:26px}.glass-dialog .button{width:100%;cursor:pointer}.feedback-icon{width:64px;height:64px;border-radius:23px;margin:auto;display:grid;place-items:center;background:linear-gradient(135deg,#93ccff55,#368eff25);border:1px solid #b2d9ff70;box-shadow:inset 0 1px 0 #fff6,0 8px 30px #3e91ff33;color:#bcdeff}.feedback-icon svg{width:32px;height:32px}.is-error .feedback-icon{color:#ffd6ba;background:#b86c3825;border-color:#ffcba655}@keyframes water-ripple{to{transform:scale(26);opacity:0}}@keyframes glass-in{from{opacity:0;transform:translateY(14px) scale(.95)}to{opacity:1;transform:none}}@media(max-width:760px){footer.wrap{display:grid;grid-template-columns:1fr auto;gap:10px 16px;padding-block:20px;margin-bottom:0;min-height:0}footer .logo{font-size:26px}footer p{font-size:10px;text-align:right}footer>span{font-size:10px}footer .back-top{font-size:10px;margin:0;justify-self:end}.contact{padding-bottom:30px}.glass-dialog{padding:30px 24px 24px}}@media(prefers-reduced-motion:reduce){.glass-dialog[open],.water-wave{animation:none}}
/* Topo móvel opaco, incluindo a área segura do navegador. */
@media(max-width:760px){body::before{content:"";position:fixed;inset:0 0 auto;height:calc(env(safe-area-inset-top,0px) + 6px);background:#101114;z-index:29;pointer-events:none}.reading-progress{top:env(safe-area-inset-top,0px);box-shadow:0 0 0 1px #101114}}

/* Primeira dobra móvel e área segura do iPhone. */
html{background:#101114}
@media(max-width:760px){
body::before{height:env(safe-area-inset-top,0px);background:#101114;z-index:31}
.header{top:env(safe-area-inset-top,0px)}
.hero{height:100svh;min-height:680px;max-height:none}
.hero-content{padding-top:calc(env(safe-area-inset-top,0px) + 96px)}
.hero-label{margin-bottom:14px}
.hero h1{font-size:clamp(34px,9.4vw,40px);line-height:1.04;margin-bottom:17px}
.hero-description{font-size:13px;line-height:1.55;margin-bottom:18px;max-width:335px}
.hero-buttons .button{padding:11px 17px;font-size:12px}
.code-universe{top:auto;bottom:60px;width:460px;height:550px;transform:translateX(-50%) scale(.52);transform-origin:bottom center}
.hero-bottom{bottom:16px;gap:12px;z-index:3}
.hero-bottom>a{font-size:9px;max-width:165px;min-height:36px}
.hero-bottom>span:first-child{font-size:7px;max-width:130px}
.scroll-line{height:28px}
}
@media(max-width:760px) and (max-height:740px){.hero-content{padding-top:calc(env(safe-area-inset-top,0px) + 86px)}.hero h1{font-size:34px}.hero-label{font-size:8px;margin-bottom:10px}.hero-description{font-size:12px;margin-bottom:13px}.code-universe{transform:translateX(-50%) scale(.43);bottom:52px}}
/* Serviços em primeiro plano e portfólio horizontal. */
.scroll-code{display:none}.services{padding-block:100px;background:radial-gradient(ellipse at 85% 10%,#18315766,transparent 55%),#141619}.services .service-card{position:relative;overflow:hidden;transition:border-color .3s,background .3s,transform .3s}.services .service-card:hover{border-color:#588edc88;background:linear-gradient(145deg,#23344b,#151b25);transform:translateY(-4px)}.service-number{color:#729bce}.service-symbol{background:#4a88ef12;border:1px solid #6ba3f62b;border-radius:16px;padding:10px}.projects{padding-top:100px;padding-bottom:100px}.project-grid{display:flex!important;gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0;padding:6px 0 24px;cursor:grab;scrollbar-width:thin;scrollbar-color:#507ab4 #ffffff09;touch-action:pan-x pan-y;outline-offset:8px}.project-grid::-webkit-scrollbar{height:4px}.project-grid::-webkit-scrollbar-thumb{background:#507ab4;border-radius:4px}.project-grid .project{flex:0 0 47%;min-width:0;scroll-snap-align:start;transform:none!important;opacity:1!important;user-select:none}.project-grid .project img{-webkit-user-drag:none;pointer-events:none}.project-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.project-grid:focus-visible{outline:1px solid #568fe6}.project-grid .project-image{aspect-ratio:1.78}.project-grid .project-title h3{font-size:28px}
@media(max-width:760px){body::before{display:none}.reading-progress{display:none}.scroll-code{display:grid;place-items:center;position:fixed;left:8px;top:calc(env(safe-area-inset-top,0px) + 10px);width:27px;height:27px;border-radius:9px;background:#101b2bdb;border:1px solid #8ab6ff55;box-shadow:inset 0 1px 0 #ffffff1f,0 3px 12px #0003;backdrop-filter:blur(12px);z-index:32;color:#a6ceff;opacity:0;transition:opacity .25s;pointer-events:none}.scroll-code.active{opacity:.85}.scroll-code span{font:10px monospace;transform:rotate(var(--scroll-turn,0deg))}.hero{min-height:760px;height:100svh;overflow:hidden}.code-universe{transform:translateX(-50%) scale(.8);bottom:34px;top:auto}.hero-content{z-index:2}.hero-bottom{background:linear-gradient(0deg,#08142bea,#08142b00);padding-top:14px;bottom:10px}.services{padding-block:65px}.services .section-heading h2{font-size:37px}.services-list{gap:14px}.service-card{padding:24px!important}.service-card h3{margin-top:20px}.projects{padding-top:65px;padding-bottom:60px}.project-grid{overflow:visible;overflow-x:auto;margin-right:-24px;padding-right:24px;gap:16px}.project-grid .project{flex-basis:88%;}.project-grid .project-title h3{font-size:25px}.project-grid .project>p{font-size:14px}.project-grid .tags{gap:6px}.project-grid .tags span{font-size:10px}}
@media(max-width:760px) and (max-height:740px){.hero{height:760px}.code-universe{transform:translateX(-50%) scale(.8);bottom:32px}}
/* Paleta da referência e cartões compactos. */
:root{--bg:#121212;--accent:#087cff}html,body{background:#121212}.services,.contact{background:#151515}.project,.services .service-card,.contact-form{background:#222325;border-color:#ffffff13}.services .service-card:hover{background:#282b30}.button{background:#087cff;border-color:#258aff;box-shadow:inset 0 1px 0 #ffffff20,0 6px 22px #0003}.button:hover{background:#1686ff}.water-button{background:linear-gradient(135deg,#218cff,#0875f7 70%);box-shadow:inset 0 1px 0 #ffffff50,0 6px 24px #0003}.field input,.field textarea{background:#141516}.hero-bottom{background:none;padding-top:0}.hero:before{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(0deg,#091327bb,transparent);pointer-events:none;z-index:1}.scroll-code{display:none!important}.project-grid{perspective:1100px;padding-top:20px;padding-bottom:30px;align-items:stretch}.project-grid .project{transform:rotateY(var(--window-angle,0deg)) translateZ(var(--window-depth,0px)) scale(var(--window-scale,1))!important;transform-origin:center;transition:transform .16s ease-out;box-shadow:0 18px 30px #0005;border-top:3px solid #4c515b;border-radius:12px;backface-visibility:hidden}.project-grid.is-dragging .project{transition:transform .06s linear}.project-grid .project-image{border-bottom:1px solid #ffffff12}.service-symbol{padding:0;line-height:1;display:grid;place-items:center}.service-symbol .arrow{margin:0}
@media(max-width:760px){.hero-bottom{background:none;bottom:13px;padding:0}.hero:before{height:75px}.services-list{gap:10px}.services .service-card{padding:18px!important;min-height:0;display:grid;grid-template-columns:1fr 34px;column-gap:10px;row-gap:7px;align-content:start}.service-number{display:none}.services .service-card h3{grid-column:1;grid-row:1;margin:0!important;font-size:18px;line-height:1.3;letter-spacing:-.3px;align-self:center}.services .service-card p{grid-column:1/-1;grid-row:2;margin:0;font-size:13px;line-height:1.55;max-width:none}.services .service-symbol{position:static;grid-column:2;grid-row:1;width:34px;height:34px;font-size:20px;border-radius:10px;padding:0}.service-symbol .arrow{width:19px;height:19px}.project-grid{gap:9px;padding-top:15px;padding-bottom:22px;perspective:800px}.project-grid .project{flex-basis:83%;padding-bottom:16px}.project-grid .project-title{padding:15px 16px 0}.project-grid .project-title h3{font-size:21px}.project-grid .project>p{margin:10px 16px;font-size:12px;line-height:1.55}.project-grid .project .takeaway{display:none}.project-grid .tags{margin:12px 16px 0;gap:4px}.project-grid .tags span{font-size:9px;padding:3px 6px}.project-grid .project-image{aspect-ratio:1.9}.projects .section-heading{margin-bottom:12px}.projects .section-heading>p{font-size:14px}.services .section-heading h2{font-size:34px}.contact-form{background:#222325}}
/* Portfólio de ponta a ponta, sem deslocamento lateral da página. */
html,body{max-width:100%;overflow-x:clip}
.projects.wrap{width:100%;margin-inline:0;padding-bottom:34px}
.projects .section-heading{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.project-grid{width:100%;margin:0;padding-inline:max(28px,calc((100vw - 1280px)/2));scroll-padding-inline:max(28px,calc((100vw - 1280px)/2));scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;box-sizing:border-box}
.project-grid::-webkit-scrollbar{display:none;width:0;height:0}
.project-grid .project{flex-basis:min(540px,44vw)}
.about.section{padding-top:38px}
.services .service-card{background:linear-gradient(115deg,#ffffff0b 0%,#ffffff02 28%,transparent 48%),linear-gradient(165deg,#202124 0%,#08090a 38%,#030405 72%,#141619 100%);border:1px solid #ffffff20;box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #ffffff09,0 10px 25px #0003}
.services .service-card:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(155deg,#ffffff08,transparent 35%,transparent 70%,#ffffff04)}
.services .service-card:hover{background:linear-gradient(125deg,#ffffff10,transparent 45%),linear-gradient(165deg,#25272b,#080a0d 60%,#15191f);border-color:#ffffff36}
@media(max-width:760px){
html,body{width:100%;overflow-x:hidden}
.projects.wrap{padding-bottom:16px}
.projects .section-heading{width:calc(100% - 40px);margin-bottom:6px}
.project-grid{width:100%;max-width:100vw;margin:0;padding:14px 16px 18px;scroll-padding-inline:16px;gap:12px;overflow-x:auto;overflow-y:hidden}
.project-grid .project{flex:0 0 84vw;max-width:350px}
.about.section{padding-top:24px;padding-bottom:55px}
.services .service-card{background:linear-gradient(115deg,#ffffff0c,transparent 42%),linear-gradient(165deg,#202124,#050607 58%,#111316);box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #ffffff09,0 8px 20px #0003}
}
/* Serviços: degradê cinza escuro fosco. */
.services .service-card{background:linear-gradient(135deg,#292c31 0%,#202226 55%,#191b1f 100%);border:1px solid #ffffff12;box-shadow:none}
.services .service-card:before{display:none}
.services .service-card:hover{background:linear-gradient(135deg,#30343a,#25282d 55%,#1e2025);border-color:#ffffff24;box-shadow:none}
/* Contraste mais escuro e títulos em azul e branco. */
.services .service-card{background:linear-gradient(135deg,#1c1e22,#15171a 55%,#111215);border-color:#ffffff10}
.services .service-card:hover{background:linear-gradient(135deg,#22252a,#1a1c20 55%,#15171a);border-color:#ffffff20}
.services{padding-top:48px}
.section h2,.contact h2,.about h2 span{color:#f5f6f8}
.section h2 em,.contact h2 em{background:none;color:#f5f6f8;-webkit-text-fill-color:#f5f6f8}
.section h2 .title-blue,.about h2 .title-blue,.contact h2 .title-blue{color:#087cff;-webkit-text-fill-color:#087cff}
@media(max-width:760px){.services{padding-top:28px}.services .section-heading .eyebrow{margin-bottom:14px}}
.section h2 .title-blue,.about h2 .title-blue,.contact h2 .title-blue{color:#328fff;-webkit-text-fill-color:#328fff}.projects.wrap{padding-top:48px}.services{padding-bottom:55px}@media(max-width:760px){.projects.wrap{padding-top:28px}.project-grid .project-title h3{font-size:20px}}
/* Azul suave e ilustração ambiental na seção sobre. */
.section h2 .title-blue,.about h2 .title-blue,.contact h2 .title-blue{color:#82b9ff;-webkit-text-fill-color:#82b9ff}
.about{position:relative;isolation:isolate;border-radius:20px;overflow:hidden;padding-inline:32px;background:#14161a}
.about:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#121418f5 0%,#121418d9 42%,#12141865 100%),url('assets/code-backdrop.svg') center/cover no-repeat;pointer-events:none}
@media(max-width:760px){.about{padding-inline:20px;border-radius:16px}.about:before{background:linear-gradient(180deg,#1214188c,#121418ed 65%),url('assets/code-backdrop.svg') 70% top/auto 650px no-repeat}.about h2{font-size:37px}.about-grid .about-lead{font-size:19px}}
/* Marca branca com destaques azuis; seção sobre sem respiros excessivos. */
.logo{color:#fff}.logo .eight,.logo .logo-dot{color:#328fff}
.about.section{padding:32px;border-radius:18px;background:#101318}
.about:before{background:linear-gradient(90deg,#080c12ed,#080c12b8 60%,#080c1299),url('assets/about-photo.jpg') center/cover no-repeat}
.about .eyebrow{margin-bottom:18px}.about-grid{gap:36px}.about h2{margin-bottom:0}.about-grid p:last-child{margin-bottom:0}.about .principles{margin-top:20px}
@media(max-width:760px){.about.section{padding:25px 20px}.about-grid{gap:18px}.about h2{font-size:35px}.about-grid .about-lead{font-size:18px;margin-bottom:14px}.about-grid p{font-size:14px;line-height:1.65}.about .principles{margin-top:15px;gap:10px}.about:before{background:linear-gradient(180deg,#080c12b8,#080c12df),url('assets/about-photo.jpg') center/cover no-repeat}}
/* Contenção horizontal no Safari móvel sem impedir o carrossel. */
@media(max-width:760px){
html{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{position:relative;width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
main{width:100%;max-width:100%;overflow-x:clip}
.header,.hero,.ticker,.services,.contact,footer{max-width:100%}
.hero,.ticker{overflow:hidden}
.projects.wrap{width:100%;max-width:100%;overflow:hidden}
.project-grid{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.project-grid .project{min-width:0}
.about-grid,.contact-grid,.services-list,.contact-form,.field{min-width:0;max-width:100%}
.contact-email{max-width:100%;overflow-wrap:anywhere}
}
.project-grid.auto-moving{scroll-snap-type:none;scroll-behavior:auto}
.hero h1{font-size:clamp(36px,4.1vw,66px);max-width:60%;letter-spacing:-2px}.hero h1 .slogan-line{white-space:nowrap;display:inline-block}
@media(max-width:760px){.hero h1{font-size:clamp(26px,7.6vw,38px);max-width:100%;letter-spacing:-1.2px}}
.header{background:linear-gradient(180deg,#070b16ad,#080d1b75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(min-width:761px){.hero{height:100svh;min-height:620px;max-height:1050px}.hero-content{padding-top:0;transform:translateY(-18px)}.hero-bottom{bottom:20px;z-index:3}.code-universe{transform:translateY(-46%) scale(.9)}}
.water-button{transform:translateY(var(--drop-y,0px)) scale(var(--drop-x,1),var(--drop-sy,1));border-radius:var(--drop-radius,50px);will-change:transform;transition:box-shadow .3s,background .3s;box-shadow:inset 0 2px 3px #ffffff60,inset 0 -2px 5px #0153ab55,0 7px 25px #166bea30}.water-button:before{content:"";position:absolute;inset:2px 8px auto;height:42%;border-radius:50%;pointer-events:none;background:linear-gradient(180deg,#ffffff28,transparent);transform:translateX(var(--drop-light,0px));opacity:.7}
@media(prefers-reduced-motion:reduce){.water-button{transform:none!important;will-change:auto}.water-button:before{transform:none}}
/* Vidro em movimento e degradê sutil da navbar. */
.header{background:linear-gradient(105deg,#10192adb 0%,#0d1932b8 60%,#283f638f 100%)}
.hero-buttons .water-button{transform:translate3d(var(--drop-light,0px),var(--drop-y,0px),0) scale(var(--drop-x,1),var(--drop-sy,1))!important;transition:box-shadow .3s,background .3s!important;border-radius:var(--drop-radius,50px)!important;overflow:hidden}
.hero-buttons .water-button:before{inset:2px 7px auto;height:48%;background:linear-gradient(180deg,#ffffff55,#ffffff05);opacity:.85;transform:translateX(var(--drop-light,0px))}
.hero-buttons .water-button:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff05 35%,#ffffff45 48%,#ffffff08 58%,transparent 75%);transform:translateX(var(--drop-sheen,-120%));border-radius:inherit}
@media(prefers-reduced-motion:reduce){.hero-buttons .water-button{transform:none!important}.hero-buttons .water-button:after{display:none}}
.hero-buttons .code-button{position:relative;min-width:245px;min-height:58px;transform:none!important;overflow:hidden;background:linear-gradient(120deg,#218aff,#086ded);box-shadow:inset 0 1px 0 #ffffff45,0 7px 24px #087cff25}.code-button-text{display:none;font:13px/1.4 monospace;color:#fff;white-space:nowrap}.code-button.has-code .code-button-label{display:none}.code-button.has-code .code-button-text{display:inline}.code-button-text:after{content:'▎';margin-left:2px;color:#bedfff}.code-button .arrow{flex:none}.project-grid{touch-action:pan-y;scroll-snap-type:none!important}@media(max-width:760px){.hero-buttons .code-button{min-width:230px;min-height:46px}.code-button-text{font-size:12px}}
.hero-buttons .typing-button{min-width:265px;min-height:58px;justify-content:space-between;transform:none!important;background:linear-gradient(120deg,#218aff,#086ded);box-shadow:inset 0 1px 0 #ffffff45,0 7px 24px #087cff25}.typing-label{display:inline-block;white-space:nowrap;min-width:190px;text-align:left}.typing-dot{display:inline-block;margin-left:1px;animation:typing-dot-blink 1s steps(1,end) infinite}.typing-button.is-typing .typing-dot{opacity:1;animation:none}.typing-button .arrow{flex:none}@keyframes typing-dot-blink{0%,49%{opacity:1}50%,100%{opacity:0}}@media(max-width:760px){.hero-buttons .typing-button{min-width:248px;min-height:46px}.typing-label{min-width:166px}}@media(prefers-reduced-motion:reduce){.typing-dot{animation:none}}
.hero h1,.hero h1 .slogan-line{color:#fff;-webkit-text-fill-color:#fff;background:none}.hero h1 .slogan-highlight{color:#82b9ff;-webkit-text-fill-color:#82b9ff}
.hero-buttons .typing-button{position:relative;overflow:hidden}.typing-button:after{content:"";position:absolute;inset:-20% auto -20% -55%;width:45%;pointer-events:none;background:linear-gradient(110deg,transparent,#ffffff12 30%,#ffffff70 50%,#ffffff12 70%,transparent);transform:skewX(-18deg);animation:button-mirror 3s ease-in-out infinite}@keyframes button-mirror{0%,65%{left:-55%;opacity:0}69%{opacity:1}94%,100%{left:130%;opacity:0}}.project-grid{touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){.typing-button:after{animation:none;display:none}}
/* Reflexo mais lento e contato compacto na navbar. */
.typing-button:after{animation:button-mirror-soft 4s ease-in-out infinite}
@keyframes button-mirror-soft{0%,60%{left:-55%;opacity:0}65%{opacity:.85}96%,100%{left:130%;opacity:0}}
.header-cta{white-space:nowrap}.header-cta .arrow{width:19px;height:19px;flex-shrink:0}
@media(max-width:760px){.header-inner{gap:12px}.header-actions{min-width:0}.header-cta{font-size:10px;letter-spacing:0;line-height:1.2;padding:11px 12px;gap:8px;max-width:none;white-space:nowrap}.header-cta .arrow{width:16px;height:16px}.header-cta span{display:inline-flex;align-items:center}.header .logo{flex-shrink:0}}
@media(max-width:380px){.header-cta{font-size:9px;padding:10px;gap:6px;max-width:none}.header .logo{font-size:29px}.header-inner{gap:8px}}
@media(prefers-reduced-motion:reduce){.typing-button:after{animation:none}}
