@font-face{font-family:Portfolio;src:url('assets/display.woff2') format('woff2');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{--accent:#7296ff;--accent-rgb:81,119,255;--surface:#070c19;margin:0;color:#f3f5fc;background:#060912;font-family:Portfolio, sans-serif;line-height:1.6;transition:background 800ms ease;overflow-x:hidden}::selection{background:var(--accent);color:#060912}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,.project-scene:focus-visible{outline:2px solid var(--accent);outline-offset:6px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.ambient{position:fixed;z-index:-1;inset:0;background:radial-gradient(ellipse at 88% 20%,rgba(var(--accent-rgb),.12),transparent 55%);pointer-events:none;transition:background 900ms}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06;letter-spacing:-.035em;font-weight:550;text-wrap:balance}h2{font-size:clamp(2.3rem,4.1vw,3.7rem)}h2 span{color:#8d99b3}p{color:#adb9d1}a,button{transition:color .2s,background .2s,transform .2s}a:hover{color:var(--accent)}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;gap:28px}.brand{font-size:21px;font-weight:650;letter-spacing:-.04em;line-height:1.1}.brand span{display:block;font-weight:400;color:var(--accent)}nav{display:flex;gap:34px;font-size:15px;color:#c0c9dc}.contact-top{font-size:14px;border:1px solid #ffffff30;border-radius:7px;padding:11px 18px}.contact-top span{margin-left:20px}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;min-height:720px;align-items:center;padding-block:70px 104px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(3.2rem,4.9vw,4.8rem);max-width:750px}.hero h1 span{color:var(--accent)}.intro{font-size:18px;max-width:490px;margin-top:28px;line-height:1.75}.actions{display:flex;align-items:center;gap:25px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 22px;border-radius:7px;font-size:15px;font-weight:600}.primary{background:#436bf2;color:#fff;box-shadow:0 10px 30px #14296150}.primary:hover{background:#557dff;color:#fff;transform:translateY(-3px)}.text-link{font-size:14px;text-decoration:underline;text-decoration-color:#53607d;text-underline-offset:7px}.hero-skills{display:flex;gap:24px;margin-top:40px;font-size:13px;color:#93a1be}.hero-skills span+span:before{content:'';display:inline-block;width:3px;height:3px;background:#6d7b99;border-radius:50%;margin-right:24px;vertical-align:middle}.portrait-stage{height:575px;position:relative;align-self:end;margin-left:-35px}.portrait{width:100%;height:100%;object-fit:contain;object-position:bottom;position:relative;z-index:1;mask-image:linear-gradient(#000 78%,transparent 100%)}.portrait-stage:before{content:'';position:absolute;inset:8% -8% 5%;background:radial-gradient(ellipse,rgba(34,81,236,.25),transparent 65%)}.orbit{position:absolute;width:110%;height:160px;left:-6%;top:46%;border:1px solid #406aff60;border-radius:50%;transform:rotate(-28deg);box-shadow:0 3px 22px #244ceb30}.orbit-b{top:43%;transform:rotate(32deg);border-color:#406aff35}.light-line{position:absolute;width:1px;height:90%;background:linear-gradient(transparent,#6b91ff,transparent);left:53%;top:-8%;box-shadow:0 0 40px 9px #2e5eff50}.portrait-label{position:absolute;z-index:3;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;color:#cad7f7;background:#0b1326;border:1px solid #7296ff30;padding:10px 15px;border-radius:5px}.status-dot{display:inline-block;width:6px;height:6px;background:#779cff;border-radius:50%;margin-right:7px}.floating-word{position:absolute;color:#6987d5;font-size:15px;letter-spacing:.03em}.word-a{left:0;top:24%}.word-b{right:0;top:50%}.scroll-link{position:absolute;bottom:26px;left:0;font-size:12px;color:#94a3c1;display:flex;align-items:center;gap:18px}.scroll-link svg{width:17px}.projects{padding-top:85px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading>p{font-size:16px;line-height:1.7;padding-bottom:5px}.project-switcher{display:flex;gap:32px;margin-top:48px;border-bottom:1px solid #ffffff1c}.project-tab{background:none;border:0;border-bottom:2px solid transparent;color:#97a7c5;padding:16px 0;font-size:15px}.project-tab.active{color:#fff;border-bottom-color:var(--accent)}.project-tab:hover{color:#fff}.project-scene{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:545px;padding:55px 45px 88px;margin-top:24px;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 75% 50%,rgba(var(--accent-rgb),.18),transparent 65%),var(--surface);transition:background 800ms}.project-copy{position:relative;z-index:2;max-width:490px}.project-category{color:var(--accent);font-size:14px}.project-copy h3{font-size:clamp(2.8rem,4.8vw,4.4rem);margin-top:15px}.project-copy h3 span{color:var(--accent)}.project-copy>p{font-size:16px;margin-top:25px}.project-copy .project-question{font-size:14px;color:#c5d0e5;margin-top:16px;max-width:440px}.tech-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}.tech-list span{font-size:12px;color:#e0e8fc;border:1px solid #ffffff28;padding:5px 10px;border-radius:4px}.project-art{position:relative;display:grid;place-items:center;min-height:300px}.art-ring{position:absolute;width:290px;height:290px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:50%;transition:transform 900ms cubic-bezier(.16,1,.3,1),border-radius 900ms;transform:rotate(-25deg) scaleY(.75)}.ring-two{width:370px;height:370px;transform:rotate(28deg) scaleY(.75)}.ring-three{width:440px;height:440px;transform:rotate(-48deg) scaleY(.75);border-color:rgba(var(--accent-rgb),.17)}.art-core{z-index:1;text-align:center;color:var(--accent)}#art-word{display:block;font-size:clamp(3rem,5vw,5rem);font-weight:600;letter-spacing:-.035em}#art-sub{font-size:10px;letter-spacing:.12em;display:block;margin-top:10px}.art-point{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 5px 20px rgba(var(--accent-rgb),.6)}.point-one{top:22%;left:30%}.point-two{bottom:25%;right:16%}.point-three{bottom:22%;left:17%;width:4px;height:4px}.project-footer{position:absolute;bottom:23px;left:45px;right:45px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#a5b3cf}.arrows{display:flex;gap:10px}.arrows button{width:45px;height:45px;display:grid;place-items:center;background:transparent;border:1px solid #ffffff40;color:white;border-radius:50%}.arrows button:hover{background:var(--accent);color:#060912;transform:translateX(2px)}.arrows button:first-child:hover{transform:translateX(-2px)}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-block:125px 100px}.about-title .text-link{display:inline-block;margin-top:30px}.about-body .large-copy{font-size:23px;color:#e2e7f1;line-height:1.5}.about-body>p+p{margin-top:22px;font-size:16px}.expertise{margin-top:40px;display:grid;gap:22px}.expertise>div{display:grid;grid-template-columns:125px 1fr;gap:15px;border-top:1px solid #ffffff16;padding-top:20px}.expertise h3{font-size:16px;letter-spacing:-.015em;line-height:1.6}.expertise p{font-size:14px}.education{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-block:60px 110px;border-top:1px solid #ffffff16}.education-list article{padding-block:0 26px;margin-bottom:26px;border-bottom:1px solid #ffffff16}.education-list article:last-child{margin:0}.education-list span{font-size:12px;color:var(--accent)}.education-list h3{font-size:23px;margin-block:8px 10px}.education-list p{font-size:15px}.education-detail{margin-top:8px;max-width:450px}.contact{padding:70px 0 80px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid #ffffff16}.contact h2{font-size:clamp(2.4rem,4.2vw,3.8rem)}.contact h2 span{color:var(--accent)}.contact p{margin-top:23px;font-size:16px}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ffffff16;padding-block:30px 40px}.footer p,.footer a:not(.brand){font-size:13px}.footer>div{display:flex;gap:25px}.skip{position:fixed;z-index:20;top:10px;left:10px;background:white;color:black;padding:10px;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}@keyframes arrive{from{opacity:.25;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}.hero-copy{animation:arrive 1s cubic-bezier(.16,1,.3,1) both}.portrait-stage{animation:arrive 1.3s cubic-bezier(.16,1,.3,1) both}.scene-enter{animation:arrive .65s cubic-bezier(.16,1,.3,1)}body[data-project="1"] .art-ring{border-radius:22%;transform:rotate(35deg) scale(.8)}body[data-project="1"] .ring-two{transform:rotate(55deg) scale(.8)}body[data-project="1"] .ring-three{transform:rotate(75deg) scale(.8)}body[data-project="2"] .art-ring{transform:rotate(-15deg) scaleY(.9);border-radius:35%}body[data-project="2"] .ring-two{transform:rotate(15deg) scaleY(.9)}body[data-project="2"] .ring-three{transform:rotate(45deg) scaleY(.9)}*{scrollbar-width:thin;scrollbar-color:#354463 #060912}
@media(min-width:1550px){.hero{min-height:800px}.portrait-stage{height:650px}.hero h1{font-size:5.4rem}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1.1fr 1fr;min-height:650px}.hero h1{font-size:3.6rem}.portrait-stage{height:480px;margin-left:-65px;margin-right:-20px}.actions{align-items:start;flex-direction:column;gap:20px}.intro{font-size:16px}.about,.education{gap:40px}.project-scene{padding-inline:28px}.project-footer{left:28px;right:28px}.art-ring{width:220px;height:220px}.ring-two{width:280px;height:280px}.ring-three{width:330px;height:330px}.section-heading p{max-width:300px}.contact-top{display:none}.hero-skills{gap:12px}.hero-skills span+span:before{margin-right:12px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:88px;gap:20px}.brand{font-size:18px}nav{gap:18px;font-size:13px}nav a:last-child{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;padding:54px 0 68px}.hero h1{font-size:clamp(2.7rem,10vw,4.1rem)}.intro{font-size:16px;margin-top:23px;max-width:95%}.actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px}.button{font-size:14px;padding:15px 18px;gap:20px}.hero-skills{margin-top:30px;font-size:12px}.portrait-stage{height:440px;width:min(100%,430px);margin:35px auto 0;align-self:center}.portrait-label{font-size:11px}.word-a{left:8%}.word-b{right:3%}.scroll-link{font-size:11px;bottom:12px}.projects{padding-top:65px}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:100%;font-size:15px}.section-heading>p br{display:none}h2{font-size:2.5rem}.project-switcher{gap:20px;margin-top:27px;justify-content:space-between}.project-tab{font-size:12px;white-space:nowrap}.project-scene{grid-template-columns:1fr;padding:30px 24px 85px;min-height:0}.project-copy h3{font-size:3.3rem}.project-copy>p{font-size:15px}.project-category{font-size:12px}.project-art{min-height:270px;margin-top:15px}.art-ring{width:200px;height:200px}.ring-two{width:255px;height:255px}.ring-three{width:305px;height:305px}#art-word{font-size:3.3rem}.project-footer{left:24px;right:24px}.navigation-hint{display:none}.about,.education{grid-template-columns:1fr;gap:35px;padding-block:75px}.about-body .large-copy{font-size:21px}.expertise>div{grid-template-columns:100px 1fr}.expertise p{font-size:13px}.contact{display:block;padding-block:55px}.contact .button{margin-top:30px}.contact p br{display:none}.footer{flex-wrap:wrap;gap:20px}.footer p{order:3;width:100%;font-size:12px}.footer>div{margin-left:auto}.light-line{height:85%}}
.hero{grid-template-columns:minmax(0,1fr) 320px;gap:80px;min-height:620px;padding-block:80px 100px}
.hero h1{font-size:clamp(2.8rem,4vw,3.8rem);line-height:1.12;letter-spacing:-.03em;max-width:760px}
.hero .intro{max-width:590px;font-size:17px}
.portrait-stage{width:280px;height:280px;border-radius:50%;overflow:hidden;margin:0;align-self:center;justify-self:center;background:#182030;border:1px solid #ffffff20;animation:none}
.portrait-stage:before{display:none}
.portrait{width:100%;height:100%;object-fit:cover;object-position:center;mask-image:none;transform:none;transform-origin:center}
.hero-copy{animation-fill-mode:backwards}
@media(max-width:1050px){.hero{grid-template-columns:minmax(0,1fr) 230px;gap:35px;min-height:580px}.portrait-stage{width:220px;height:220px}.hero h1{font-size:3rem}}
@media(max-width:700px){.hero{display:flex;flex-direction:column;gap:0;min-height:0;padding-block:36px 70px}.portrait-stage{order:-1;width:156px;height:156px;align-self:flex-start;margin:0 0 30px}.hero h1{font-size:clamp(2.2rem,8.8vw,3rem);line-height:1.13}.hero .intro{font-size:16px}.hero-skills{margin-top:28px}}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;min-height:700px}
.portrait-stage{width:100%;height:auto;aspect-ratio:1;border-radius:0;border:0;background:transparent;overflow:visible;max-width:580px}
.portrait{display:block;width:100%;height:100%;object-fit:contain;transform:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 78%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:1050px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;min-height:600px}.portrait-stage{width:100%;height:auto}}
@media(max-width:700px){.hero{display:flex;min-height:0}.portrait-stage{order:0;width:100%;max-width:420px;height:auto;margin:32px auto 0;align-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.portrait-stage{isolation:isolate}
.portrait-stage:before{display:block;content:'';position:absolute;z-index:-1;inset:5% 2% 12%;border:1px solid rgba(var(--accent-rgb),.34);border-radius:50%;background:radial-gradient(circle at 49% 43%,rgba(var(--accent-rgb),.3) 0%,rgba(var(--accent-rgb),.14) 30%,transparent 67%);box-shadow:0 0 70px rgba(var(--accent-rgb),.2),inset 0 0 45px rgba(var(--accent-rgb),.14);transform:rotate(-8deg) scaleY(.86);transition:border-color .8s,background .8s,box-shadow .8s}
.portrait-stage:after{display:block;content:'';position:absolute;z-index:-1;inset:12% 7% 19%;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.18);box-shadow:18px -14px 0 -17px rgba(var(--accent-rgb),.9),-72px 54px 0 -39px rgba(var(--accent-rgb),.9),75px 38px 0 -42px rgba(var(--accent-rgb),.8),-92px -28px 0 -44px rgba(var(--accent-rgb),.75),94px -38px 0 -45px rgba(var(--accent-rgb),.8);transform:rotate(24deg) scaleY(.72);transition:border-color .8s,box-shadow .8s}

/* Temas locais, compatíveis com a política que bloqueia estilos inline. */
body[data-project="0"] {
  --accent: #7296ff;
  --accent-rgb: 81,119,255;
  --surface: #070e22;
  background-color: #060912;
}
body[data-project="1"] {
  --accent: #60ddba;
  --accent-rgb: 40,190,146;
  --surface: #081d1a;
  background-color: #060e0d;
}
body[data-project="2"] {
  --accent: #d3a0ff;
  --accent-rgb: 177,109,234;
  --surface: #190e28;
  background-color: #0d0912;
}
[hidden] { display: none !important; }
