/* Adaptação a telemóveis e tablets. Mantém a composição desktop aprovada. */
body:has(dialog[open]){overflow:hidden}
@media(max-width:1000px){
 :root{--u:8px}
 html{scroll-padding-top:88px}
 body{font-size:16px;line-height:1.6}
 .wrap{width:calc(100% - 40px)}
 .nav{width:calc(100% - 40px);height:76px;gap:12px}
 .brand{font-size:30px;letter-spacing:-.5px}
 .brand small{font-size:6px;letter-spacing:.9px;margin-top:7px}
 .header-cta{display:none}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;padding:10px 14px;border:1px solid #c8b597;border-radius:24px;background:transparent;font-size:14px;color:var(--ink)}
 .nav nav{display:none;position:absolute;top:76px;left:0;right:0;padding:16px 20px 24px;background:#fbfaf8;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #03172415;max-height:calc(100dvh - 76px);overflow:auto}
 .nav nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
 .nav nav a,.nav nav button{display:flex;align-items:center;min-height:48px;padding:10px 12px;font-size:15px;text-align:left;white-space:normal}
 .nav .active{border:0;padding:10px 12px;background:#f1ece2;border-radius:8px}
 h2,.about h2,.methods h2,.interests h2{font-size:clamp(36px,5vw,46px);line-height:1.08;letter-spacing:-.7px;margin-bottom:24px}
 h3{font-size:28px}
 .eyebrow,.interests .eyebrow,.music .eyebrow{font-size:11px;letter-spacing:1.6px;margin-bottom:18px}
 .button,.hero .button,.music .button,.world .button,dialog .button{min-height:48px;font-size:14px;padding:13px 22px;white-space:normal;text-align:center;line-height:1.4}
 .text-link,.five-services .text-link,dialog .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5}
 .actions{flex-wrap:wrap;gap:16px}
 .hero{height:auto;min-height:0;padding-bottom:44px}
 .hero-art{inset:0 0 auto;height:430px;background-size:auto 100%;background-position:67% center}
 .hero-cover{background:linear-gradient(180deg,transparent 270px,#031724 430px)}
 .hero-layout{height:auto;min-height:0;padding-top:405px}
 .hero-copy{width:100%;max-width:660px;padding:0;position:relative}
 .hero h1{font-size:clamp(48px,7vw,66px);line-height:.98;letter-spacing:-1px;margin-bottom:24px}
 .hero h1 br:first-child{display:none}
 .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:560px;margin-bottom:24px}
 .hero-keywords{font-size:9px;line-height:1.7;letter-spacing:1.5px;white-space:normal;margin-top:24px}
 .hero blockquote{position:static;max-width:none;margin:30px 0 0;padding-left:20px;font-size:27px;line-height:1.2}
 .hero blockquote small{font-size:10px;letter-spacing:1.6px;margin-top:16px}
 .hero .handwritten{display:none}
 .hero-location{top:320px;bottom:auto;left:20px;right:auto;font-size:10px;line-height:1.4;letter-spacing:1.2px;padding-left:12px}
 .proof{height:auto;padding:36px 0}
 .proof-grid{grid-template-columns:1fr 1fr;gap:28px 0}
 .proof-grid>div{padding:0 8px}
 .proof-grid>div:nth-child(2){border:0}
 .proof strong{font-size:46px}
 .proof p{font-size:19px;margin:9px 0 12px}
 .proof small{font-size:9px;letter-spacing:1px;line-height:1.8;display:block}
 .about{height:auto;min-height:0;padding:48px 0 170px}
 .about-layout{width:calc(100% - 40px);grid-template-columns:1fr;gap:32px;margin:auto}
 .about-copy{max-width:760px}
 .about p:not(.eyebrow){font-size:16px;line-height:1.8;margin-bottom:20px}
 .about-backdrop{background-position:65% bottom;background-size:auto 100%}
 .about:before{background:linear-gradient(180deg,#fbfaf7fc 0%,#fbfaf7fa 52%,#fbfaf7ef 72%,#fbfaf7bb 85%,#fbfaf733 100%)}
 .about .porto-copy{font-size:30px;position:static;padding:0}
 .services,.methods,.interests{height:auto;padding:48px 0}
 .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}
 .section-heading h2{margin:0}
 .section-heading>p{font-size:16px;line-height:1.7}
 .five-services{grid-template-columns:1fr 1fr;gap:16px}
 .five-services article{padding:24px;min-height:0;display:flex;flex-direction:column;min-width:0;border-radius:12px}
 .five-services article:last-child{grid-column:1/-1}
 .five-services svg{width:40px;height:40px;margin:0 0 20px}
 .five-services h3{font-size:30px;margin-bottom:16px;text-align:left}
 .five-services p{font-size:16px;line-height:1.7;min-height:0;margin-bottom:18px}
 .five-services .text-link{margin-top:auto;align-self:flex-start}
 .methods-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}
 .methods-layout>div{grid-column:1/-1}
 .methods-layout>div p:not(.eyebrow){font-size:16px;line-height:1.7;margin-bottom:24px}
 .methods article{min-width:0;padding-left:20px}
 .methods article:first-of-type{border:0;padding-left:0}
 .methods article svg{width:40px;height:40px;margin-bottom:16px}
 .methods h3,.methods article:last-child h3{font-size:28px;white-space:normal;margin-bottom:12px}
 .methods small{font-size:10px;white-space:normal;letter-spacing:1px}
 .methods article p{font-size:15px;line-height:1.7;margin:20px 0 0}
 .music{height:auto;min-height:0;padding:48px 0}
 .headphone-scene{background-position:65% center;opacity:.5}
 .music-cover{background:linear-gradient(90deg,#031724ed,#03172488)}
 .music-copy{width:100%;max-width:640px;padding:0}
 .music h2{font-size:46px;margin-bottom:12px}
 .music h3{font-size:32px;line-height:1.12;margin-bottom:24px}
 .music p:not(.eyebrow){font-size:16px;max-width:none;line-height:1.7;margin-bottom:26px}
 .music .handwritten{display:none}
 .music-actions{flex-wrap:wrap;gap:20px}
 .platform-icon{width:44px;height:44px;padding:3px}
 .music-platforms{padding:0 0 48px;scroll-margin-top:90px}
 .platform-grid{grid-template-columns:1fr;gap:24px}
 .platform-heading{padding:20px}
 .platform-heading strong{font-size:28px}
 .platform-heading small{font-size:13px}
 .platform-more{font-size:14px;min-height:48px;padding:16px 20px}
 .youtube-embed{min-height:0;flex:none;aspect-ratio:16/9}
 .spotify-embed{height:352px}
 .interests-layout{grid-template-columns:1fr;gap:32px}
 .interests-layout>div>p:not(.eyebrow){font-size:16px;line-height:1.7}
 .interest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 0}
 .interest-grid>div{padding:8px 12px;min-height:0}
 .interest-grid>div:nth-child(3n+1){border:0}
 .interest-grid svg{width:34px;height:34px;margin-bottom:16px}
 .interest-grid strong{font-size:15px;white-space:normal}
 .interest-grid p{font-size:13px;line-height:1.6;margin-top:10px}
 .world{height:auto;min-height:0;padding:48px 0}
 .world-scene{background-position:65% center;opacity:.45}
 .world-cover{background:linear-gradient(90deg,#031724dd,#03172477)}
 .world .wrap{padding-top:0}
 .world h2{font-size:40px;line-height:1.08;max-width:660px;margin-bottom:24px}
 .world p{font-size:16px;max-width:580px;line-height:1.7;margin-bottom:28px}
 .world .handwritten{display:none}
 .professional-footer{padding-top:44px}
 .footer-main{grid-template-columns:1fr 1fr;gap:32px;padding-bottom:32px}
 .professional-footer .brand{font-size:32px}
 .professional-footer .brand small{font-size:7px;letter-spacing:.7px}
 .footer-connect{grid-column:1/-1;display:block}
 .footer-label{font-size:11px;line-height:1.5;margin-bottom:16px}
 .professional-footer nav{font-size:15px;gap:4px 12px;width:100%}
 .professional-footer nav a,.professional-footer nav button{display:flex;align-items:center;min-height:44px}
 .footer-location,.footer-cv p{font-size:14px}
 .linkedin-card{padding:22px;gap:16px}
 .linkedin-card small{font-size:14px;line-height:1.6}
 .footer-cv{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);gap:20px;flex-wrap:wrap}
 .footer-cv-button{min-height:48px;font-size:14px;padding:12px 20px}
 .footer-legal{font-size:12px;flex-wrap:wrap;padding:22px 0;gap:12px}
 .footer-legal a{min-height:44px}
 dialog{width:calc(100% - 24px);max-width:760px;max-height:calc(100dvh - 24px);margin:auto;padding:20px;border-radius:16px;overscroll-behavior:contain;font-size:16px;scroll-padding-top:68px}
 .close-dialog{width:44px;height:44px;top:0;box-shadow:0 2px 14px #03172420}
 #panel-body{padding-top:20px}
 dialog .career-grid,dialog .speaking-grid,dialog .contact-grid,.project-grid{grid-template-columns:1fr;gap:28px}
 dialog h2{font-size:38px;line-height:1.08}
 dialog h3{font-size:29px}
 dialog p{font-size:16px;line-height:1.7}
 dialog .kicker,dialog .eyebrow{font-size:11px;letter-spacing:1.5px}
 .project-card{padding-top:24px}
 .stage-frame img{width:100%;height:auto;border-radius:8px}
 .speaking-visual blockquote{font-size:24px;margin:24px 0}
 .talk summary{min-height:48px;gap:12px;line-height:1.5}
 .talk-number{font-size:12px;flex-shrink:0}
 .contact form{padding:20px;min-width:0;border-radius:10px}
 .contact-person span{font-size:14px}
 .contact-links a{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
 .form-row{grid-template-columns:1fr}
 label{font-size:14px;margin-top:18px}
 input,textarea,select{font-size:16px;padding:12px;min-height:48px;max-width:100%;border-radius:6px}
 .form-note,.status{font-size:13px!important;line-height:1.6}
}
@media(max-width:600px){
 .five-services,.methods-layout,.footer-main{grid-template-columns:1fr}
 .five-services article:last-child,.methods-layout>div,.footer-connect{grid-column:auto}
 .methods article,.methods article:first-of-type{border:0;border-top:1px solid var(--line);padding:28px 0 0;text-align:left}
 .methods article svg{margin-left:0}
 .interest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .interest-grid>div:nth-child(n){border-left:1px solid var(--line)}
 .interest-grid>div:nth-child(2n+1){border:0}
 .hero-art{height:370px;background-position:67% center}
 .hero-cover{background:linear-gradient(180deg,transparent 240px,#031724 370px)}
 .hero-layout{padding-top:360px}
 .hero-location{top:280px}
 .hero-copy>.eyebrow{font-size:10px;letter-spacing:1.3px}
 .hero h1{font-size:clamp(44px,11.8vw,62px)}
 .hero h1 br:first-child{display:initial}
 .footer-legal{flex-direction:column;align-items:flex-start}
 dialog h2{font-size:34px}
}
@media(max-width:360px){
 .wrap,.nav,.about-layout{width:calc(100% - 32px)}
 .brand{font-size:26px}.brand small{font-size:5.5px;letter-spacing:.6px}
 .menu-toggle{min-width:64px;padding-inline:10px}
 .hero-location{left:16px}
 .proof p{font-size:18px}.proof small{letter-spacing:.6px}
 .platform-heading{padding:16px;gap:10px}.platform-heading strong{font-size:24px}
 .linkedin-card{padding:18px;gap:12px}.linkedin-card strong{font-size:22px}
 dialog{padding:16px}
}
.services{height:auto;min-height:calc(37.9 * var(--u))}
.five-services{align-items:stretch}
.five-services article{display:flex;flex-direction:column;min-width:0}
.five-services .text-link{margin-top:auto;align-self:flex-start}
@media(max-width:1000px){.services{min-height:0}}
