/* Ajustes responsivos finais, após as camadas visuais existentes. */
@media(max-width:900px){
 html{scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .wrap{width:100%;max-width:100%;padding-inline:clamp(18px,4.5vw,32px)}
 .hero,.infrastructure-layout,.solutions-grid,.delivery-journey,.profiles-composition,.authority-layout,.faq-layout,.footer-grid{min-width:0}
 .hero>*,.infrastructure-layout>*,.solutions-grid>*,.delivery-journey>*,.profiles-composition>*,.authority-layout>*,.faq-layout>*,.footer-grid>*{min-width:0;max-width:100%}
 .hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:30px;padding-block:35px 45px}
 .hero-copy{width:100%;max-width:620px}
 .hero h1{font-size:clamp(32px,5.6vw,45px);line-height:1.16;letter-spacing:-1.3px;max-width:600px;text-wrap:pretty}
 .hero .intro{font-size:14px;line-height:1.8;max-width:580px}
 .hero .eyebrow{font-size:9px;line-height:1.7;letter-spacing:1px;flex-wrap:wrap}
 .hero .actions{width:100%;align-items:flex-start;gap:15px}
 .hero .button{max-width:100%;font-size:12px;min-height:48px;line-height:1.5;padding:14px 17px;white-space:normal;text-align:left}
 .hero .text-link{min-height:44px;font-size:12px}
 .hero-note{font-size:11px;line-height:1.7;margin-top:15px;align-items:flex-start}
 .hero-note .mini-icon{flex-shrink:0}
 .hero .visual{min-width:0;min-height:0;width:100%;max-width:560px;margin-inline:auto}
 .visual .laptop{width:100%;max-width:100%;margin:0;transform:none}
 .visual .screen{width:100%;max-width:100%;border-width:1px}
 /* As duas telas ficam fora do fluxo: a altura não depende da imagem ou da tela inativa. */
 .hero .notebook-deck{display:block;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:1.12;overflow:hidden;isolation:isolate}
 .hero .notebook-deck>.notebook-slide,
 .hero .notebook-deck>.notebook-slide:first-child,
 .hero .notebook-deck>.notebook-slide:nth-child(2){position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;margin:0;overflow:hidden}
 .hero-art{width:100%;height:100%;min-height:0;margin:0;position:relative}
 .hero-art>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:66% center}
 .hero-art figcaption{inset:auto 20px 20px;gap:9px;max-width:calc(100% - 40px)}
 .hero-art figcaption strong{font-size:clamp(19px,3.8vw,26px);line-height:1.3;overflow-wrap:break-word}
 .hero-art figcaption>span{font-size:8px;line-height:1.6;letter-spacing:1px}
 .hero-art figcaption small{font-size:9px;line-height:1.6}
 .notebook-slide>.dash-top{height:auto;min-height:38px;max-height:none;padding:10px 13px;gap:8px;font-size:10px}
 .notebook-slide>.website-demo{height:auto;min-height:0;padding:clamp(15px,4vw,27px);display:flex;flex-direction:column;gap:0}
 .website-demo .demo-nav{font-size:7px;gap:12px;line-height:1.5;margin-bottom:18px;flex-wrap:wrap}
 .website-demo .demo-kicker{font-size:7px;line-height:1.6;letter-spacing:.7px}
 .website-demo h2{font-size:clamp(21px,4vw,30px);line-height:1.2;letter-spacing:-.5px;margin:14px 0 10px}
 .website-demo p{font-size:9px;line-height:1.7;margin:0}
 .website-demo .demo-button{font-size:8px;line-height:1.4;padding:9px 12px;margin-top:12px;align-self:flex-start}
 .website-demo .demo-tiles{font-size:7px;line-height:1.5;margin-top:17px;padding-top:12px;gap:8px}
 .notebook-controls{height:auto;min-height:48px;padding:2px 9px;gap:8px;flex-wrap:nowrap}
 .notebook-dots{flex-shrink:0}
 .notebook-dot,.notebook-pause{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}
 .notebook-screen-label{min-width:0;font-size:9px;line-height:1.5;letter-spacing:0;overflow-wrap:break-word}
 .illustration-note{font-size:10px;line-height:1.7;max-width:100%;margin:11px 0 0}
 .section{padding-block:60px}.solutions-section{padding-top:0}
 .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:29px;min-width:0}
 .section-heading>div,.section-heading>p{width:100%;min-width:0;max-width:100%}
 .section-heading h2,.authority-copy h2,.faq-intro h2{font-size:clamp(26px,4.4vw,33px);line-height:1.28;letter-spacing:-.8px;overflow-wrap:break-word}
 .section-heading h2 br{display:none}
 .section-heading .eyebrow{font-size:9px;line-height:1.75;letter-spacing:1px;margin-bottom:14px}
 .section-heading p:not(.eyebrow),.infrastructure-section .section-heading p:not(.eyebrow),.delivery-section .section-heading p:not(.eyebrow),.profiles-section .section-heading p:not(.eyebrow){max-width:100%;width:100%;font-size:13px;line-height:1.85;margin:0}
 .infrastructure-layout,.authority-layout,.faq-layout{grid-template-columns:minmax(0,1fr)}
 .infrastructure-layout{gap:20px}
 .infra-feature{width:100%;min-width:0;padding:25px}
 .infra-feature-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
 .infra-tag{font-size:9px;line-height:1.7;letter-spacing:.5px;min-width:0}
 .infra-index{font-size:8px;line-height:1.7}
 .infra-feature>h3{font-size:clamp(23px,3.7vw,28px);line-height:1.3;letter-spacing:-.6px}
 .infra-description,.infra-cards .infra-card p{font-size:13px;line-height:1.85}
 .presence-map{width:100%;min-width:0;padding:23px 19px}
 .presence-map>strong{font-size:clamp(21px,3.8vw,27px);line-height:1.35;letter-spacing:-.4px}
 .presence-map>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
 .presence-map>div>span{min-width:0;font-size:11px;line-height:1.7;padding:12px 0;overflow-wrap:break-word}
 .presence-map .demo-kicker{font-size:8px;line-height:1.7;letter-spacing:.8px}
 .infra-disclaimer{font-size:10px;line-height:1.8;max-width:100%}
 .infra-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 .infra-cards>.infra-card{min-width:0;grid-template-columns:minmax(0,1fr);padding:23px 0}
 .infra-cards .infra-card-top{grid-row:auto;margin-bottom:14px}
 .infra-cards .infra-card h3{font-size:16px;line-height:1.45;letter-spacing:-.2px}
 .solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .solution-card{min-width:0;width:100%;height:auto;max-height:none}
 .solution-visual{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:1.6;flex:none;overflow:hidden}
 .solution-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
 .solution-visual figcaption{left:13px;right:10px;bottom:10px;width:fit-content;max-width:calc(100% - 23px);font-size:8px;line-height:1.6;letter-spacing:.6px}
 .solution-copy{min-width:0;width:100%;padding:24px;flex:1 0 auto}
 .solution-copy h3{font-size:23px;line-height:1.3;letter-spacing:-.5px}
 .solution-copy>p{font-size:13px;line-height:1.85;max-width:100%}
 .solution-copy p.solution-benefit{font-size:12px;line-height:1.85;margin:21px 0}
 .solution-copy .text-link{min-height:44px;max-width:100%;font-size:12px;line-height:1.65;gap:13px;white-space:normal}
 .solution-copy .text-link>span{flex-shrink:0}
 .delivery-section{padding-block:60px}
 .process-contact{font-size:13px;line-height:1.85;max-width:100%}
 .delivery-journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
 .delivery-card,.delivery-card:first-child,.delivery-card:last-child{padding:26px 0;min-width:0;border:0;border-top:1px solid #ffffff13}
 .delivery-card h3{font-size:20px;line-height:1.35;margin-top:0}
 .delivery-description{font-size:13px;line-height:1.85;max-width:100%}
 .delivery-result{min-height:0}.delivery-result p{font-size:12px;line-height:1.85}
 .delivery-result-label{font-size:9px;line-height:1.6;letter-spacing:.8px}
 .delivery-micro{font-size:11px;line-height:1.7}
 .delivery-cta{flex-direction:column;align-items:stretch;gap:21px;min-width:0}
 .delivery-cta>div{min-width:0}.delivery-cta p{font-size:16px;line-height:1.75}
 .delivery-cta .button{width:100%;min-height:48px;line-height:1.6;font-size:12px;white-space:normal;padding:14px 17px}
 .delivery-cta-label{font-size:9px;line-height:1.7;letter-spacing:.6px}
 .profiles-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
 .profiles-composition>.profile-card,.profiles-composition>.profile-feature,.profiles-composition>.profile-compact,.profiles-composition>.profile-card:last-child{grid-column:auto;min-width:0;padding:25px}
 .profile-card:last-child{grid-column:1/-1!important}
 .profile-top,.profile-feature .profile-top,.profile-compact .profile-top{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}
 .profile-badge{font-size:10px!important;line-height:1.5;white-space:normal;max-width:100%;text-align:left}
 .profile-kicker{font-size:9px;line-height:1.8;letter-spacing:.7px}
 .profile-card h3,.profile-feature h3{font-size:23px;line-height:1.35;letter-spacing:-.5px}
 .profile-description,.profile-feature .profile-description,.profile-compact .profile-description{font-size:13px;line-height:1.85;max-width:100%}
 .profile-benefit{min-height:0!important;min-width:0}.profile-benefit>p{min-width:0;font-size:12px;line-height:1.85}
 .profile-detail{font-size:10px;line-height:1.7;letter-spacing:0;flex-wrap:wrap}
 .profiles-contact{align-items:flex-start;gap:17px}.profiles-contact p{font-size:12px;line-height:1.85}.profiles-contact .text-link{min-height:44px;font-size:12px}
 .authority-layout{gap:32px}.authority-stage{width:100%;max-width:540px;min-width:0;padding:24px}
 .authority-stage-top{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:19px}
 .authority-overline{font-size:9px;line-height:1.6;letter-spacing:.6px}.authority-illustration{font-size:8px;line-height:1.6;letter-spacing:.5px}
 .about-poster{min-width:0;padding:26px;isolation:isolate}
 .about-poster>p{font-size:clamp(31px,5.5vw,43px);line-height:1.2;letter-spacing:-1px;margin:34px 0 26px}
 .about-poster .demo-kicker{font-size:8px;line-height:1.8;letter-spacing:.6px}
 .about-poster>span:last-child{font-size:12px;line-height:1.8}.authority-note{font-size:10px;line-height:1.8;max-width:100%}
 .authority-copy .body-copy{font-size:13px;line-height:1.9;max-width:100%}.authority-copy .eyebrow{font-size:9px}
 .authority-benefit>div{min-width:0}.authority-benefit h3{font-size:14px;line-height:1.6}.authority-benefit p{font-size:12px;line-height:1.85}.authority-link{min-height:44px;font-size:12px}
 .faq-layout{gap:28px}.faq-intro .body-copy{font-size:13px;line-height:1.85;max-width:100%}.faq-direct p{font-size:12px;line-height:1.8}
 .faq-direct .text-link{font-size:12px;min-height:44px}.faq-list{min-width:0;width:100%}
 .strategic-faq summary{font-size:13px;line-height:1.7;min-height:72px;gap:11px;padding:20px 0}
 .faq-question-text{min-width:0;overflow-wrap:break-word}.faq-question-number{font-size:9px}.faq-expand{flex-shrink:0}
 .strategic-faq details .faq-answer p{font-size:13px;line-height:1.85;padding:0 0 22px 23px;max-width:100%}
 .conversion-cta{display:flex;flex-direction:column;align-items:stretch;padding:30px;gap:25px;min-width:0;overflow:hidden}
 .conversion-copy,.conversion-action{width:100%;max-width:100%;min-width:0;flex:initial}
 .conversion-cta h2{font-size:clamp(26px,4.5vw,34px);line-height:1.26;letter-spacing:-.7px}
 .conversion-cta .conversion-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;max-width:100%}
 .conversion-context{font-size:11px;line-height:1.85}.conversion-cta .eyebrow{font-size:9px;line-height:1.7;letter-spacing:.8px}
 .conversion-action{padding-top:23px;border-top:1px solid #ffffff13}
 .conversion-trust{flex-direction:column;gap:12px}.conversion-trust li{font-size:12px;line-height:1.8;align-items:flex-start}
 .conversion-action .button{width:100%;min-height:48px;font-size:13px;line-height:1.6;padding:15px 17px;white-space:normal}
 .conversion-cta .conversion-response{font-size:11px!important;line-height:1.8;max-width:100%}
 .site-footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:0;align-items:start;justify-items:stretch;text-align:left}
 .site-footer .footer-brand-column{display:flex;align-items:flex-start;flex-direction:column;gap:19px;width:100%;grid-column:auto;padding-bottom:28px}
 .site-footer .footer-brand-column>p{font-size:13px;line-height:1.85;max-width:100%;margin:0;text-align:left}
 .site-footer .footer-navigation{align-items:flex-start;width:100%;padding:25px 0;border-top:1px solid var(--line);gap:0}
 .site-footer .footer-navigation>a{width:auto;min-height:44px;font-size:13px;line-height:1.7;justify-content:flex-start;text-align:left}
 .site-footer .footer-contact-column{width:100%;max-width:100%;padding-top:25px;border-color:var(--line)}
 .footer-grid h2{font-size:13px;margin-bottom:15px}.footer-services{align-items:flex-start;gap:0}
 .footer-services>a{font-size:13px;line-height:1.7;min-height:44px;display:flex;align-items:center}
 .footer-contact-column>.text-link{font-size:13px;line-height:1.7;min-height:44px}
 .site-footer .footer-contact-note{font-size:11px;line-height:1.8;margin:13px 0 0}
 .site-footer .footer-legal{width:100%;align-items:flex-start;flex-direction:column;text-align:left;gap:9px;font-size:11px;line-height:1.8}
 .site-footer .footer-legal>span{max-width:100%}
 header .nav{height:78px!important;gap:14px!important;min-width:0}
 header .nav>.brand{max-width:calc(100% - 100px);min-width:0;flex-shrink:1}
 header .nav .xbrand-logo{width:160px;max-width:100%;height:auto;display:block}
 .menu-toggle{min-width:78px;min-height:44px;justify-content:center;flex-shrink:0;font-size:12px}
 header .nav>nav{left:18px;right:18px;max-width:calc(100% - 36px);max-height:calc(100svh - 95px);max-height:calc(100dvh - 95px);overflow-y:auto;overscroll-behavior:contain;padding:12px}
 header .nav>nav>a{white-space:normal;min-height:44px;justify-content:flex-start;text-align:left;padding:11px 13px;font-size:14px;line-height:1.6}
 dialog{width:calc(100% - 32px);max-width:480px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:36px 24px 25px;margin:auto}
 dialog h2{font-size:24px;line-height:1.3;letter-spacing:-.5px}dialog p{font-size:14px;line-height:1.8}.close,.close-button{min-height:44px;min-width:44px}
}
@media(max-width:640px){
 .solutions-grid,.delivery-journey,.profiles-composition{grid-template-columns:minmax(0,1fr)}
 .profiles-composition>.profile-card:last-child{grid-column:auto!important}
 .infra-cards{grid-template-columns:minmax(0,1fr);gap:0}
 .infra-cards>.infra-card{grid-template-columns:34px minmax(0,1fr);gap:0 17px}
 .infra-cards .infra-card-top{grid-row:span 2;margin:0}
 .hero .notebook-deck{aspect-ratio:1.05}
 .solution-visual{aspect-ratio:1.65}
}
@media(max-width:360px){
 .wrap{padding-inline:18px}.hero h1{font-size:32px;letter-spacing:-1px}
 header .nav .xbrand-logo{width:140px}
 .hero .button{font-size:12px;padding:14px;gap:13px}
 .hero .notebook-deck{aspect-ratio:.98}
 .notebook-screen-label{font-size:8px}.notebook-controls{gap:5px;padding-inline:5px}
 .hero-art figcaption{inset:auto 17px 17px;max-width:calc(100% - 34px)}
 .infra-feature,.solution-copy,.profiles-composition>.profile-card{padding:22px}
 .presence-map{padding:20px 16px}.presence-map>div{grid-template-columns:minmax(0,1fr)}
 .authority-stage{padding:20px 16px}.about-poster{padding:24px 19px}.about-poster>p{font-size:31px}
 .conversion-cta{padding:25px 21px}.conversion-cta h2{font-size:26px}
 .notebook-slide>.website-demo{padding:15px}.website-demo .demo-nav{margin-bottom:13px}.website-demo h2{font-size:21px;margin-top:11px}
}
@media(max-width:900px) and (hover:none){.infra-card:hover,.profile-card:hover,.delivery-card:hover,.solution-card:hover,.solution-card:hover .solution-visual>img{transform:none}}
/* Seções relatadas: limitar a largura intrínseca e eliminar spans de grids anteriores. */
@media(max-width:900px){
 #publico .section-heading h2,#sobre .authority-copy h2{width:100%;max-width:100%;min-width:0;white-space:normal;word-break:normal;overflow-wrap:break-word;text-wrap:wrap;font-size:clamp(27px,4.5vw,34px);line-height:1.3;letter-spacing:-.7px}
 #publico .section-heading h2 em,#sobre .authority-copy h2 em{white-space:normal;word-break:normal}
 #publico .profiles-composition{width:100%;min-width:0;grid-auto-columns:minmax(0,1fr)}
 #publico .profile-card{height:auto;min-height:0;max-height:none}
 #publico .profile-card h3{overflow-wrap:break-word;text-wrap:wrap}
 #sobre .authority-layout{width:100%;grid-template-columns:minmax(0,1fr);align-items:start}
 #sobre .authority-stage,#sobre .authority-copy,#sobre .authority-benefits{min-width:0;max-width:100%}
 #sobre .authority-copy{width:100%}
 #sobre .authority-benefit{width:100%;min-width:0;padding-inline:0}
 #sobre .authority-benefit .authority-icon{flex-shrink:0}
 #sobre .authority-benefit>div{flex:1;min-width:0}
 #sobre .body-copy{max-width:100%;width:100%}
}
@media(max-width:760px){
 #publico .profiles-composition{grid-template-columns:minmax(0,1fr)}
 #publico .profiles-composition>.profile-card,#publico .profiles-composition>.profile-card:last-child{grid-column:1/-1!important;width:100%;min-width:0}
 #publico .section-heading h2,#sobre .authority-copy h2{font-size:clamp(27px,6.5vw,32px);line-height:1.3}
}
