:root{--bg:#090812;--bg-soft:#0f0d1b;--surface:#151222;--surface-2:#1a162b;--text:#f4f1f8;--muted:#9b96aa;--purple:#b69cff;--pink:#fa81b5;--cyan:#69e4df;--line:rgba(182,156,255,.16);--font-title:"Syne",sans-serif;--font-body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:15px;top:-80px;z-index:100;padding:12px;background:white;color:#000}.skip-link:focus{top:15px}.page-grid{position:fixed;inset:0;z-index:-3;background-image:linear-gradient(rgba(182,156,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(182,156,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 92%)}.glow{position:fixed;z-index:-2;border-radius:50%;filter:blur(25px);pointer-events:none}.glow-one{width:600px;height:600px;right:-280px;top:5%;background:radial-gradient(circle,rgba(182,156,255,.16),transparent 68%)}.glow-two{width:500px;height:500px;left:-280px;top:50%;background:radial-gradient(circle,rgba(250,129,181,.1),transparent 68%)}.scroll-progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:100}.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),var(--pink))}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{background:rgba(9,8,18,.83);backdrop-filter:blur(20px);border-color:var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:48px;height:48px;flex:0 0 48px;border-radius:13px;object-fit:cover}.brand strong{font:700 18px var(--font-title);line-height:1.1}.nav-links{display:flex;align-items:center;gap:29px}.nav-links>a{color:var(--muted);font-size:13px;font-weight:500;transition:.2s}.nav-links>a:hover{color:var(--text)}.nav-contact{padding:12px 19px;border:1px solid var(--line);border-radius:99px;color:var(--text)!important}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px}.menu-toggle span{display:block;height:1px;margin:6px 0;background:white;transition:.25s}
.hero{min-height:100svh;padding:155px 0 70px;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}.availability{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid rgba(105,228,223,.18);border-radius:99px;background:rgba(105,228,223,.05);color:var(--cyan);font-size:11px;font-weight:600;letter-spacing:.08em}.availability i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 13px currentColor}.intro{margin:28px 0 2px;color:var(--muted);font:600 20px var(--font-title)}.hero h1{margin:0;font:800 clamp(4.6rem,8vw,8rem)/.81 var(--font-title);letter-spacing:-.075em}.hero h1 em{display:inline-block;background:linear-gradient(105deg,var(--purple),var(--pink));background-clip:text;color:transparent;font-style:normal}.hero-role{margin:24px 0 18px;color:var(--purple);font:600 clamp(1.1rem,2vw,1.45rem) var(--font-title)}.hero-text{max-width:600px;color:var(--muted);font-size:17px;line-height:1.75}.hero-text strong{color:var(--text);font-weight:500}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 22px;border-radius:13px;font-size:13px;font-weight:600;transition:.25s}.button:hover{transform:translateY(-3px)}.button-primary{background:linear-gradient(110deg,var(--purple),var(--pink));color:#130e1c;box-shadow:0 15px 35px rgba(182,156,255,.15)}.button-secondary{border:1px solid var(--line);background:rgba(255,255,255,.025)}.arrow-icon,.download-icon,.up-icon{display:inline-block;width:14px;height:14px;background:currentColor;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat}.arrow-icon{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.download-icon{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v8m-3-3 3 3 3-3M3 13h10' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v8m-3-3 3 3 3-3M3 13h10' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.up-icon{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 13V3M4 7l4-4 4 4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 13V3M4 7l4-4 4 4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.hero-art{position:relative;min-height:540px;display:grid;place-items:center}.portrait-placeholder{position:relative;width:300px;height:390px;display:grid;place-items:center;border:1px solid rgba(182,156,255,.42);border-radius:150px 150px 38px 38px;background:linear-gradient(145deg,rgba(182,156,255,.17),rgba(250,129,181,.07));box-shadow:inset 0 0 90px rgba(182,156,255,.09),0 35px 80px rgba(0,0,0,.3);overflow:hidden}.portrait-placeholder:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:linear-gradient(145deg,var(--purple),var(--pink));filter:blur(1px);opacity:.2}.portrait-placeholder>span{font:800 12rem var(--font-title);color:rgba(255,255,255,.9);text-shadow:0 0 55px rgba(182,156,255,.45);z-index:1}.portrait-placeholder small{position:absolute;bottom:22px;font:600 11px var(--font-title);letter-spacing:.5em;color:var(--purple)}.orbit{position:absolute;border:1px solid rgba(182,156,255,.13);border-radius:50%}.orbit-outer{width:500px;height:500px}.orbit-inner{width:415px;height:415px;border-style:dashed;animation:spin 25s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skill-float{position:absolute;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(21,18,34,.86);backdrop-filter:blur(14px);color:#c5c0d1;font-size:11px;font-weight:600;box-shadow:0 14px 30px rgba(0,0,0,.25)}.skill-float i{display:inline-block;width:6px;height:6px;margin-right:8px;background:var(--pink);transform:rotate(45deg)}.float-one{left:1%;top:24%}.float-two{right:0;top:33%}.float-three{left:3%;bottom:24%}.float-four{right:-2%;bottom:15%}.hero-stats{grid-column:1/-1;display:flex;gap:0;border-top:1px solid var(--line);margin-top:20px}.hero-stats div{display:grid;gap:4px;min-width:200px;padding:24px 45px 0 0}.hero-stats strong{font:700 24px var(--font-title)}.hero-stats span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.section{padding:120px 0}.section-label{display:flex;gap:12px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.13em}.section-label span{color:var(--purple)}.overline{margin:0 0 14px;color:var(--pink);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.13em}.about{background:var(--bg-soft)}.about-grid{display:grid;grid-template-columns:.35fr 1.65fr;gap:60px}.about-copy h2,.section-top h2,.education-heading h2,.contact h2{margin:0;font:700 clamp(2.5rem,5vw,4.7rem)/1.08 var(--font-title);letter-spacing:-.055em}.about-copy h2 em{color:var(--purple);font-style:normal}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:42px}.about-columns p,.education-heading>p,.contact-shell>div>p{margin:0;color:var(--muted);font-size:16px;line-height:1.8}.profile-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.profile-tags span,.tags span{padding:8px 11px;border:1px solid var(--line);border-radius:99px;color:#bbb5c8;font-size:11px}.section-top{display:grid;grid-template-columns:.35fr 1.65fr;gap:60px;margin-bottom:65px}.section-top>div:last-child{max-width:780px}
.experience{background:var(--bg)}.timeline{max-width:980px;margin-left:auto}.timeline-item{display:grid;grid-template-columns:145px 20px 1fr;gap:25px}.timeline-date{padding-top:32px;color:var(--purple);font-size:12px;font-weight:600}.timeline-dot{position:relative}.timeline-dot:before{content:"";position:absolute;left:9px;top:0;width:1px;height:100%;background:var(--line)}.timeline-dot:after{content:"";position:absolute;left:5px;top:36px;width:9px;height:9px;border:2px solid var(--purple);border-radius:50%;background:var(--bg);box-shadow:0 0 16px rgba(182,156,255,.35)}.timeline-card{margin-bottom:20px;padding:30px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));transition:.25s}.timeline-card:hover{border-color:rgba(182,156,255,.35);transform:translateX(4px)}.job-company{color:var(--pink);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.timeline-card h3{margin:8px 0 12px;font:600 22px var(--font-title)}.timeline-card p{color:var(--muted);line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}
.projects{background:var(--bg-soft)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);transition:.3s}.project-card:hover{transform:translateY(-6px);border-color:rgba(182,156,255,.35)}.project-visual{position:relative;height:280px;padding:24px;overflow:hidden;background:#171327}.project-visual>span{position:relative;color:var(--purple);font:600 11px var(--font-title);z-index:2}.visual-one:before,.visual-two:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;filter:blur(5px)}.visual-one:before{right:-30px;top:-40px;background:radial-gradient(circle,rgba(182,156,255,.3),transparent 68%)}.visual-two:before{left:10%;bottom:-130px;background:radial-gradient(circle,rgba(250,129,181,.25),transparent 68%)}.mock-lines{position:absolute;inset:75px 55px;transform:rotate(-8deg);border:1px solid rgba(255,255,255,.12);border-radius:15px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.09) 0 2px,transparent 2px 30px);box-shadow:0 25px 45px rgba(0,0,0,.2)}.mock-chart{position:absolute;left:20%;right:20%;bottom:45px;height:150px;display:flex;align-items:flex-end;gap:12px}.mock-chart i{flex:1;border-radius:8px 8px 2px 2px;background:linear-gradient(var(--pink),rgba(250,129,181,.12))}.mock-chart i:nth-child(1){height:35%}.mock-chart i:nth-child(2){height:70%}.mock-chart i:nth-child(3){height:53%}.mock-chart i:nth-child(4){height:92%}.project-info{padding:26px}.project-info small,.project-coming small{color:var(--pink);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.project-info h3,.project-coming h3{margin:9px 0;font:600 21px var(--font-title)}.project-info p,.project-coming p{color:var(--muted);line-height:1.65;font-size:14px}.project-coming{grid-column:1/-1;min-height:230px;display:grid;place-items:center;text-align:center;background:transparent;border-style:dashed}.project-coming>div{max-width:420px}.plus{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 16px;border:1px solid var(--line);border-radius:50%;color:var(--purple);font-size:22px}
.skills-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.skill-group{padding:30px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent)}.skill-number{color:var(--pink);font-size:10px}.skill-group h3{margin:11px 0 25px;font:600 21px var(--font-title)}.skill-list{display:flex;flex-wrap:wrap;gap:8px}.skill-list span{padding:10px 12px;border-radius:8px;background:var(--surface-2);color:#c9c4d2;font-size:12px}
.education{background:var(--bg-soft)}.education-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.education-heading{position:sticky;top:120px;align-self:start}.education-heading>p:last-child{margin-top:25px}.education-list article{position:relative;padding:35px 0;border-top:1px solid var(--line)}.education-list article:last-child{border-bottom:1px solid var(--line)}.education-year{position:absolute;right:0;top:38px;color:var(--purple);font-size:11px}.education-list small{color:var(--pink);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.education-list h3{margin:9px 100px 5px 0;font:600 21px var(--font-title)}.education-list p{margin:0;color:var(--muted)}.certificate-placeholder{opacity:.68}
.contact{padding-bottom:70px}.contact-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;padding:65px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(130deg,rgba(182,156,255,.1),rgba(250,129,181,.055))}.contact h2{margin-top:25px}.contact-shell>div>p{margin-top:20px}.contact-actions{display:grid;align-content:center;gap:18px}.contact-line{display:grid;gap:4px;padding-top:15px;border-top:1px solid var(--line)}.contact-line small{color:var(--muted);font-size:10px;text-transform:uppercase}.contact-line strong{font-size:13px;overflow-wrap:anywhere}footer{padding:30px 0;border-top:1px solid var(--line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner p,.footer-inner>a:last-child{color:var(--muted);font-size:11px}.footer-inner>a:last-child{display:flex;align-items:center;gap:7px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block;z-index:2}.nav-links{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;background:rgba(9,8,18,.96);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:.25s}.nav-links.open{opacity:1;visibility:visible}.nav-links>a{font:600 23px var(--font-title)}.menu-toggle.active span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.availability{margin:auto}.hero-text{margin-inline:auto}.hero-actions{justify-content:center}.hero-art{min-height:460px}.hero-stats{justify-content:center}.about-grid,.section-top{grid-template-columns:1fr}.about-grid,.section-top{gap:25px}.specialist-copy{max-width:none}.education-grid{gap:50px}.contact-shell{gap:40px;padding:42px}.skills-layout{grid-template-columns:1fr 1fr}.skill-group:last-child{grid-column:1/-1}}
@media(max-width:650px){.container{width:min(100% - 24px,1180px)}.section{padding:80px 0}.nav{height:70px}.hero{padding:120px 0 65px}.hero h1{font-size:clamp(4rem,22vw,6rem)}.hero-role{font-size:1rem}.hero-text{font-size:15px}.hero-actions{display:grid}.hero-art{min-height:400px}.portrait-placeholder{width:220px;height:300px}.portrait-placeholder>span{font-size:9rem}.orbit-outer{width:350px;height:350px}.orbit-inner{width:290px;height:290px}.skill-float{font-size:9px;padding:9px}.float-one{left:0}.float-two{right:0}.float-three{left:0}.float-four{right:0}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr)}.hero-stats div{min-width:0;padding-right:10px}.hero-stats strong{font-size:19px}.hero-stats span{font-size:8px}.about-columns,.project-grid,.skills-layout,.education-grid,.contact-shell{grid-template-columns:1fr}.about-columns{gap:10px}.section-top h2,.about-copy h2,.education-heading h2,.contact h2{font-size:2.4rem}.timeline{margin-top:40px}.timeline-item{grid-template-columns:1fr}.timeline-date{padding-top:18px}.timeline-dot{display:none}.timeline-card{margin:0}.project-coming{grid-column:auto}.skill-group:last-child{grid-column:auto}.education-heading{position:static}.education-list h3{font-size:18px}.contact-shell{padding:28px 20px}.footer-inner{flex-direction:column;text-align:center}.reveal{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit-inner{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Interações inspiradas em portfólios de desenvolvimento. */
.cursor-glow{position:fixed;left:0;top:0;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(182,156,255,.11),rgba(250,129,181,.045) 35%,transparent 70%);opacity:0;pointer-events:none;z-index:-1;will-change:transform;transition:opacity .3s}.cursor-glow.active{opacity:1}
.nav-links>a{position:relative}.nav-links>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:linear-gradient(90deg,var(--purple),var(--pink));transform:scaleX(0);transform-origin:right;transition:transform .25s}.nav-links>a:hover:after,.nav-links>a.current:after{transform:scaleX(1);transform-origin:left}.nav-links>a.current{color:var(--text)}
.hero-art .portrait-placeholder{transform:translate3d(calc(var(--pointer-x,0px) * .35),calc(var(--pointer-y,0px) * .35),0);transition:transform .18s ease-out}.hero-art .orbit-outer{transform:translate3d(calc(var(--pointer-x,0px) * -.2),calc(var(--pointer-y,0px) * -.2),0)}.hero-art .skill-float{translate:calc(var(--pointer-x,0px) * var(--depth,.25)) calc(var(--pointer-y,0px) * var(--depth,.25));transition:translate .2s ease-out}.hero-art .float-two,.hero-art .float-four{--depth:-.35}
.interactive-card{position:relative;transform:perspective(900px) rotateX(var(--rotate-x,0deg)) rotateY(var(--rotate-y,0deg));transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out,border-color .25s,box-shadow .25s}.interactive-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.09),transparent 42%);opacity:0;pointer-events:none;transition:opacity .2s}.interactive-card:hover:after{opacity:1}.interactive-card:hover{box-shadow:0 22px 50px rgba(0,0,0,.24)}
@media(pointer:coarse){.cursor-glow{display:none}}

/* Fundo vivo com movimento sutil e sem interferir no conteúdo. */
.animated-background{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.bg-orbit{position:absolute;border:1px solid rgba(182,156,255,.09);border-radius:50%;will-change:transform}
.bg-orbit:before,.bg-orbit:after{content:"";position:absolute;border-radius:50%;background:var(--purple);box-shadow:0 0 18px rgba(182,156,255,.8)}
.bg-orbit-one{width:560px;height:560px;right:-190px;top:15%;animation:bg-spin 34s linear infinite}
.bg-orbit-one:before{width:7px;height:7px;left:12%;top:13%}.bg-orbit-one:after{width:4px;height:4px;right:8%;bottom:24%;background:var(--pink)}
.bg-orbit-two{width:390px;height:390px;left:-165px;bottom:4%;border-style:dashed;animation:bg-spin-reverse 42s linear infinite}
.bg-orbit-two:before{width:6px;height:6px;right:11%;top:18%;background:var(--cyan)}.bg-orbit-two:after{width:4px;height:4px;left:21%;bottom:5%}
.bg-blob{position:absolute;border-radius:45% 55% 62% 38%;filter:blur(70px);opacity:.12;will-change:transform}
.bg-blob-one{width:360px;height:360px;left:13%;top:12%;background:var(--purple);animation:blob-drift-one 18s ease-in-out infinite alternate}
.bg-blob-two{width:300px;height:300px;right:17%;bottom:8%;background:var(--pink);animation:blob-drift-two 22s ease-in-out infinite alternate}
.bg-particles{position:absolute;inset:-80px;background-image:radial-gradient(circle,rgba(182,156,255,.32) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(105,228,223,.22) 0 1px,transparent 1.5px);background-position:0 0,38px 52px;background-size:105px 105px,137px 137px;opacity:.42;animation:particles-float 28s linear infinite}
@keyframes bg-spin{to{transform:rotate(360deg)}}
@keyframes bg-spin-reverse{to{transform:rotate(-360deg)}}
@keyframes blob-drift-one{to{transform:translate3d(180px,90px,0) scale(1.18) rotate(22deg)}}
@keyframes blob-drift-two{to{transform:translate3d(-150px,-100px,0) scale(.82) rotate(-28deg)}}
@keyframes particles-float{to{transform:translate3d(52px,-105px,0)}}
@media(max-width:650px){.bg-orbit-one{width:350px;height:350px;right:-220px}.bg-orbit-two{width:260px;height:260px;left:-180px}.bg-blob{opacity:.08}.bg-particles{opacity:.24}}
@media(prefers-reduced-motion:reduce){.bg-orbit,.bg-blob,.bg-particles{animation:none}}
.language-switch{display:flex;gap:3px;margin-left:auto;margin-right:24px;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.language-switch button{width:34px;height:29px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer;transition:.2s}.language-switch button.active{background:linear-gradient(110deg,var(--purple),var(--pink));color:#130e1c}.language-switch button:hover:not(.active){color:var(--text)}
@media(max-width:900px){.language-switch{margin-right:10px}.menu-toggle{flex:0 0 auto}}
.contact-message{display:flex;align-items:center}.contact-message h2{margin:0;font-size:clamp(2.4rem,5vw,4.8rem)}
@media(max-width:650px){.hero-grid,.hero-copy{min-width:0}.hero h1{font-size:15vw}}
@media(max-width:650px){.hero{overflow:hidden}.hero h1{font-size:10.5vw;letter-spacing:-.055em}.hero-role{font-size:.9rem;line-height:1.45}.availability{max-width:100%;justify-content:center;font-size:9px;line-height:1.4;text-align:center}.hero-text{overflow-wrap:anywhere}}

/* Direção pessoal inspirada no portfólio da Maria Laura. */
.hero h1{max-width:680px;font-size:clamp(3.9rem,6.8vw,6.8rem);line-height:.78;letter-spacing:-.085em}
.portrait-placeholder:before{content:"";position:absolute;inset:0;width:auto;height:auto;border-radius:inherit;background:linear-gradient(180deg,transparent 58%,rgba(9,8,18,.28));filter:none;opacity:1;z-index:1;pointer-events:none}
.portrait-placeholder img{width:100%;height:100%;object-fit:cover;object-position:center}
.about-grid{grid-template-columns:1.25fr .55fr;gap:55px;align-items:center}
.personal-card{width:min(100%,360px);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.personal-card img{display:block;width:100%;aspect-ratio:1;border:1px solid rgba(182,156,255,.28);border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.personal-card div{display:grid;gap:5px;padding:20px 8px 0;text-align:center}
.personal-card strong{font:600 15px var(--font-title)}
.personal-card span{color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:900px){.about-grid{grid-template-columns:1fr 1fr}.personal-card{max-width:330px;justify-self:center}}
@media(max-width:650px){.hero h1{font-size:clamp(3.25rem,16vw,4.2rem);line-height:.92}.about-grid{grid-template-columns:1fr}.about-grid>.section-label{grid-column:auto}.personal-card{width:min(100%,330px);max-width:none;margin-inline:auto}.personal-card img{aspect-ratio:1}}
@media(max-width:650px){.hero h1{font-size:9vw;line-height:.82;letter-spacing:-.055em}.hero-copy{width:100%;overflow:hidden}.hero-role,.hero-text{max-width:100%}}
@media(max-width:650px){.brand{gap:8px}.brand-logo{width:40px;height:40px;flex-basis:40px;border-radius:11px}.brand strong{font-size:16px}}

/* Hero heading spacing and room for accented letter descenders */
.intro{margin-bottom:16px}
.hero h1{line-height:.96;padding-bottom:.18em;overflow:visible}
.hero h1 em{display:inline-block;line-height:1.08;padding:0 .03em .14em 0;overflow:visible}
@media(max-width:650px){
  .intro{margin:24px 0 13px}
  .hero-grid{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)}
  .hero-copy{width:100%;max-width:100%;overflow:visible!important}
  .hero h1{width:100%;max-width:100%;line-height:1;padding:0 .04em .2em;overflow:visible}
  .hero h1 em{line-height:1.1;padding-bottom:.18em}
  .hero-stats{width:100%;min-width:0}
}

/* Hero layout refinement — spacing and proportions only */
.hero{min-height:100svh;padding:118px 0 52px}
.hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);
  align-items:center;
  column-gap:clamp(56px,6vw,84px)
}
.hero-copy{min-width:0}
.intro{margin:24px 0 10px}
.hero h1{margin:0 0 -.1em;padding-bottom:.1em}
.hero h1 em{padding-bottom:.1em}
.hero-role{margin:28px 0 18px}
.hero-text{margin:0}
.hero-actions{gap:14px;margin-top:36px}
.hero-art{min-height:500px}

@media(min-width:901px) and (max-width:1180px){
  .hero{padding:108px 0 46px}
  .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);column-gap:42px}
  .hero-art{min-height:470px}
}

@media(max-width:900px){
  .hero{padding:110px 0 62px}
  .hero-grid{grid-template-columns:minmax(0,1fr);row-gap:34px}
  .intro{margin:22px 0 10px}
  .hero-role{margin:26px 0 17px}
  .hero-actions{gap:14px;margin-top:34px}
  .hero-art{min-height:430px}
}

@media(max-width:650px){
  .hero{padding:102px 0 52px}
  .hero-grid{row-gap:26px}
  .intro{margin:20px 0 9px}
  .hero h1{margin-bottom:-.08em;padding-bottom:.12em}
  .hero h1 em{padding-bottom:.12em}
  .hero-role{margin:24px 0 16px}
  .hero-actions{gap:12px;margin-top:32px}
  .hero-art{min-height:390px}
}
.about-columns{grid-template-columns:1fr;gap:14px;margin-top:28px}.about-columns p strong{color:var(--text);font-weight:600}.about-copy h2{font-size:clamp(2.25rem,4vw,3.6rem)}
