/* JOTAENE — camada responsiva compartilhada */
html,body{max-width:100%}
img,video,canvas,svg,iframe{max-width:100%}
button,input,textarea,select{max-width:100%;font:inherit}
.mobile-nav-toggle,.mobile-nav-overlay{display:none}

@media(max-width:820px){
  html{scroll-padding-top:82px;overflow-x:clip}
  body{overflow-x:clip}
  body.mobile-nav-open{overflow:hidden;touch-action:none}

  .nav-wrap,.site-nav,.nav{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .nav-wrap,.site-nav{top:max(10px,env(safe-area-inset-top))}
  .nav{padding-top:max(9px,env(safe-area-inset-top))!important}
  .nav>.wrap,.nav-row,.nav-grid{width:100%;max-width:100%;min-width:0}
  .nav-row,.nav-grid{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .nav-row>.nav-links,.nav-grid>.nav-links{display:none!important}
  .nav-row>.nav-actions,.nav-row>.open-btn,.nav-row>.btn-primary,.nav-grid>.nav-cta{display:none!important}
  .nav-brand,.brand,.nav-logo{min-width:0!important;max-width:calc(100% - 2px);overflow:hidden}
  .nav-brand-copy,.brand>span:last-child,.nav-logo>span:last-child{min-width:0}

  .mobile-nav-toggle{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(8,10,9,.94);color:#f4f6f0;box-shadow:0 12px 30px -20px #000;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
  .mobile-nav-toggle span,.mobile-nav-toggle::before,.mobile-nav-toggle::after{content:"";display:block;width:19px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .3s ease,opacity .25s ease}
  .mobile-nav-toggle{gap:5px}
  .mobile-nav-toggle[aria-expanded="true"] span{opacity:0}
  .mobile-nav-toggle[aria-expanded="true"]::before{transform:translateY(6.5px) rotate(45deg)}
  .mobile-nav-toggle[aria-expanded="true"]::after{transform:translateY(-6.5px) rotate(-45deg)}

  .mobile-nav-overlay{position:fixed;display:block;z-index:90;inset:0;visibility:hidden;opacity:0;background:rgba(2,3,3,.68);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .28s ease,visibility .28s ease}
  .mobile-nav-overlay.open{visibility:visible;opacity:1}
  .mobile-nav-panel{position:absolute;top:max(76px,calc(env(safe-area-inset-top) + 68px));right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));max-height:calc(100dvh - max(92px,calc(env(safe-area-inset-top) + 82px)) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,#111510,#080a09);box-shadow:0 30px 80px rgba(0,0,0,.48);transform:translateY(-12px) scale(.985);transform-origin:top;transition:transform .32s cubic-bezier(.22,1,.36,1)}
  .mobile-nav-overlay.open .mobile-nav-panel{transform:none}
  .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:4px 8px 10px;color:#737b71;font:650 .58rem 'Manrope','Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase}
  .mobile-nav-close{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:transparent;color:#f4f6f0;font-size:1.2rem;cursor:pointer}
  .mobile-nav-list{display:grid;gap:4px}
  .mobile-nav-link{display:flex!important;align-items:center;gap:12px;min-height:52px;padding:0 14px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:#a8afa6!important;text-decoration:none!important;font:600 .86rem 'Manrope','Inter',sans-serif!important;letter-spacing:0!important;transform:none!important}
  .mobile-nav-link i{width:24px;display:grid;place-items:center;color:#c8f542;font-size:1.05rem}
  .mobile-nav-link.active,.mobile-nav-link.on{background:rgba(200,245,66,.075)!important;color:#f4f6f0!important}
  .mobile-nav-primary{display:flex!important;align-items:center;justify-content:space-between;min-height:52px;margin-top:8px;padding:0 8px 0 16px!important;border:1px solid rgba(200,245,66,.35)!important;border-radius:15px!important;background:#c8f542!important;color:#081000!important;text-decoration:none!important;font:700 .78rem 'Manrope','Inter',sans-serif!important;transform:none!important}
  .mobile-nav-primary i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#081000;color:#c8f542}

  a,button,summary,input,textarea,select{touch-action:manipulation}
  .zap-fab{right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important;width:52px!important;height:52px!important}
  .lightbox{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}
  .lightbox img{max-width:100%!important;max-height:calc(100dvh - 54px)!important;height:auto!important}
  .lightbox figcaption{max-width:calc(100vw - 32px);white-space:normal!important;text-align:center}
}

@media(max-width:700px){
  body{min-width:0!important;overflow-wrap:break-word}
  .wrap,.shell,.global-footer-shell{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important}
  .global-footer-shell{padding-left:0!important;padding-right:0!important;width:calc(100% - 32px)!important}
  .global-footer-col a{width:max-content;min-width:44px;min-height:44px;display:flex;align-items:center}
  .global-footer-social a{width:44px!important;height:44px!important}
  .sec,.section,.detail-block{padding-top:clamp(3.75rem,14vw,4.75rem)!important;padding-bottom:clamp(3.75rem,14vw,4.75rem)!important}
  .section-head h2,.sec-head h2{font-size:clamp(2.25rem,11vw,3.25rem)!important;line-height:.98!important}
  .btn,.action-primary,.action-ghost,.cta-button{min-height:48px}
  .crumb,.project-crumb,.product-name{flex-wrap:wrap}.project-crumb{margin-bottom:0!important}

  /* Página principal */
  .hero-stage{height:126svh!important}
  .hero-stage>.hero{min-height:100svh;height:100svh;padding-top:6.75rem!important;padding-bottom:2rem!important}
  .hero-copy{width:100%!important;max-width:100%!important}
  .hero h1{max-width:100%!important;font-size:clamp(2.85rem,13.5vw,4.35rem)!important;line-height:.94!important;overflow-wrap:normal}
  .hero h1 .swap span{white-space:normal}
  .hero-sub{font-size:.96rem!important;line-height:1.65!important}
  .hero-acoes{display:grid!important;grid-template-columns:1fr;gap:10px!important;width:100%}
  .hero-acoes .btn{width:100%;justify-content:center}
  .manifesto-stage{height:205svh!important}
  .manifesto-inner{padding-left:16px!important;padding-right:16px!important}
  .manifesto-line{font-size:clamp(2.15rem,10.7vw,3.5rem)!important;line-height:1.02!important}
  .why-section{padding-top:4.5rem!important;padding-bottom:4.5rem!important}
  .why-layout{gap:2.4rem!important}.why-intro h2{max-width:9ch!important}
  .why-promise{padding:1rem 1rem 1rem 1.15rem!important}
  .why-spine-head,.why-spine-foot{gap:1rem;flex-wrap:wrap}
  .cap-card{min-height:390px!important;padding:1.2rem!important;border-radius:18px!important}
  .cases-head h2,.product-heading h2{white-space:normal!important;overflow-wrap:normal}
  .cases-head h2{font-size:clamp(2.75rem,13.5vw,3.75rem)!important}
  .cases-gallery{grid-template-columns:1fr!important;grid-template-rows:none!important;min-height:0!important}
  .case-card{min-height:330px}.cases-after{grid-template-columns:1fr!important}
  .case-future,.case-next{min-height:210px!important}
  .product-heading h2{font-size:clamp(2.45rem,11.5vw,3.35rem)!important}
  .product-frame{border-radius:18px!important}.product-visual{aspect-ratio:16/10!important}
  .product-live{top:.75rem!important;left:.75rem!important}.product-visual-note{left:.85rem!important;bottom:.8rem!important}
  .product-open{align-items:stretch!important;flex-direction:column!important}.product-open-btn{width:100%;min-height:48px!important;justify-content:space-between}
  .voice-card{min-height:0!important}.voice-card blockquote{margin:1.5rem 0!important}
  .voice-note a,.faq-assist a{display:inline-flex!important;align-items:center;min-height:44px}
  .voice-summary{padding:1.2rem!important}.voice-outcome{padding:.7rem 0!important}
  .faq-board .faq-body{padding-left:1.15rem!important}
  .contact-copy,.project-form{padding:1.25rem!important}.contact-copy h2{font-size:clamp(2.6rem,12.5vw,3.55rem)!important}
  input,textarea,select{font-size:16px!important}

  /* Páginas de serviços, sobre, projetos e contato */
  .page-hero,.detail-hero,.simple-hero{padding-top:6.8rem!important;padding-bottom:3.6rem!important}
  .hero-copy h1,.detail-hero .hero-copy h1,.simple-hero h1{max-width:100%!important;font-size:clamp(2.8rem,13vw,4rem)!important;line-height:.94!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr;gap:10px!important}.hero-actions>*{width:100%!important;justify-content:space-between}
  .hero-map>a{min-height:54px}
  .service-card{min-height:315px!important;border-radius:18px!important}
  .detail-code{min-height:180px!important}.process-step{min-height:160px!important}
  .project-showcase-cover .project-facts{grid-template-columns:1fr!important}
  .project-showcase-cover .project-fact{padding:.72rem 0!important;border-right:0!important}
  .project-showcase-cover .project-fact strong{white-space:normal!important}
  .cta-panel,.simple-final-card{border-radius:18px!important}.cta-panel>.action-primary,.simple-final-actions .action-primary{width:100%!important;justify-content:space-between}
  .back-services{display:flex!important;align-items:center;min-height:44px}
  .contact-channel{min-width:0}.contact-channel>span{min-width:0}.contact-channel small{overflow-wrap:anywhere}

  /* Página editorial do produto */
  .hero-layout{gap:2rem!important}.hero-facts{grid-template-columns:1fr!important}
  .hero-route{grid-template-columns:1fr!important}.hero-route>span{display:none!important}
  .flow-board,.foundation-map{border-radius:18px!important}
  .flow-legend{min-height:112px!important}.flow-item{min-height:88px!important}
  .interface{padding-top:4.25rem!important;padding-bottom:4.25rem!important}
  .interface-title{margin-bottom:2rem!important}.interface-note{padding:12px 0 0 16px!important}
  .visual-main{min-height:0!important;aspect-ratio:1535/1024!important}.visual-main img{height:auto!important}
  .phone-visual img{height:390px!important}
  .impact,.foundation{padding-top:4rem!important;padding-bottom:4rem!important}
  .impact-copy h2{font-size:clamp(2.4rem,11.5vw,3.4rem)!important}.signal{min-height:82px!important}
  .foundation-row{min-height:0!important}.cta-card{gap:2rem!important;padding:1.5rem!important;border-radius:18px!important}.cta-button{width:100%!important;justify-content:space-between}

  /* Landing própria do Concessionária Premium */
  .dor-grid{gap:2.25rem!important}.ganhos,.stack-card,.b-cell,.price-card,.offer{padding:1.25rem!important;border-radius:18px!important}
  .stack{margin-top:2rem!important;gap:12px!important}.stack-card .col-b>p{font-size:.92rem!important}
  .demo{margin-top:2rem!important}.demo-actions{display:grid!important;grid-template-columns:1fr}.demo-actions .btn{width:100%;justify-content:center}
  .bento,.price-wrap{margin-top:2rem!important;gap:12px!important}.price-big .val{font-size:clamp(3.15rem,16vw,4.1rem)!important}
  .faq-list summary{min-height:58px;padding:1rem!important}.faq-body{padding:0 1rem 1rem!important}
  .cta-lime{padding:2rem 1.2rem!important;border-radius:18px!important}.cta-lime .acoes{display:grid!important;grid-template-columns:1fr;gap:10px!important}.cta-lime .acoes .btn{width:100%;justify-content:center}
}

@media(max-width:380px){
  .wrap,.shell{padding-left:14px!important;padding-right:14px!important}
  .global-footer-shell{width:calc(100% - 28px)!important}
  .nav-brand-copy strong{font-size:.68rem!important}.nav-logo{font-size:.72rem!important}
  .hero h1{font-size:clamp(2.65rem,13vw,3.2rem)!important}
  .mobile-nav-panel{right:10px;left:10px}
  .project-form-head{gap:.6rem}.project-form-head h3{font-size:1.3rem!important}
}

@media(max-height:520px) and (orientation:landscape) and (max-width:900px){
  .mobile-nav-panel{top:66px;max-height:calc(100dvh - 76px)}
  .hero-stage>.hero{position:relative!important;height:auto!important;min-height:520px!important}.hero-stage{height:auto!important}
  .manifesto-stage{height:auto!important}.manifesto-sticky{position:relative!important;height:auto!important;min-height:520px;padding:5rem 0!important}
}

@media(prefers-reduced-motion:reduce){
  .mobile-nav-overlay,.mobile-nav-panel,.mobile-nav-toggle span,.mobile-nav-toggle::before,.mobile-nav-toggle::after{transition:none!important}
}
