/* V22 — Mobile-first hardening for production */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%}

@media (max-width:900px){
  :root{--mobile-gutter:14px}
  html{scroll-padding-top:72px}
  body{width:100%;min-width:0}
  body.has-jingle{padding-bottom:74px}
  .container{width:calc(100% - (var(--mobile-gutter) * 2))!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important}
  .section{padding:30px 0!important}
  .section-title{gap:12px!important;margin-bottom:20px!important;justify-content:center!important}
  .section-title h2{font-size:clamp(18px,5vw,23px)!important;line-height:1.16!important;text-align:center!important}
  .section-title span{width:24px!important;flex:0 0 24px!important}

  /* Header */
  .site-header,.header-inner{height:66px!important}
  .site-header{position:sticky!important;top:0!important;z-index:1000!important}
  .header-inner{padding:0!important;display:flex!important;align-items:center!important;gap:10px!important}
  .brand{min-width:0!important;width:auto!important;margin-right:auto!important}
  .brand-logo{display:block!important;width:auto!important;max-width:118px!important;max-height:43px!important;object-fit:contain!important}
  .main-nav{top:0!important;z-index:1002!important;padding-top:88px!important}
  .menu-toggle{z-index:1003!important;flex:0 0 auto!important}
  .header-whatsapp-btn{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;margin:0 4px 0 0!important;border-radius:50%!important;background:#12a744!important;border:1px solid rgba(255,255,255,.22)!important}
  .header-whatsapp-btn .header-cta-label{display:none!important}
  .header-whatsapp-btn .header-cta-icon{width:24px!important;height:24px!important;margin:0!important}

  /* Hero */
  .hero{height:auto!important;min-height:650px!important;background-position:64% center!important;background-size:cover!important}
  .hero::before{background:linear-gradient(180deg,rgba(0,27,70,.58) 0%,rgba(0,30,75,.82) 45%,rgba(0,28,68,.97) 76%,rgba(0,27,65,.99) 100%)!important}
  .hero-grid{display:block!important;height:auto!important;padding-top:42px!important;padding-bottom:30px!important}
  .hero-copy{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}
  .eyebrow{font-size:10px!important;line-height:1.35!important;margin-bottom:13px!important}
  .hero h1{letter-spacing:-1.6px!important;line-height:.88!important;margin:0!important}
  .hero h1 span{font-size:clamp(48px,15vw,70px)!important}
  .hero h1 strong{font-size:clamp(43px,13.5vw,62px)!important}
  .role{font-size:10px!important;letter-spacing:2.25px!important;gap:7px!important;margin:14px 0 13px!important;align-items:center!important}
  .role span{max-width:calc(100% - 48px)!important;line-height:1.35!important;white-space:normal!important}
  .role i{width:17px!important;margin:0!important;flex:0 0 17px!important}
  .number{gap:0!important;margin-bottom:18px!important}
  .number b,.number strong{font-size:clamp(48px,14vw,62px)!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-width:360px!important}
  .hero-actions .btn{width:100%!important;min-width:0!important;height:46px!important;font-size:11px!important;justify-content:center!important}
  .hero-visual{height:260px!important}

  /* Priorities / stats */
  .priority-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .priority-card{height:auto!important;min-height:124px!important;padding:18px!important;grid-template-columns:54px 1fr 24px!important;gap:12px!important;border-radius:17px!important}
  .round-icon{width:52px!important;height:52px!important}
  .priority-card h3{font-size:14px!important;line-height:1.2!important}
  .priority-card p{font-size:12px!important;line-height:1.55!important}
  .stats{height:auto!important;display:grid!important;grid-template-columns:1fr!important;padding:8px 16px!important;border-radius:18px!important}
  .stat{min-height:74px!important;padding:12px 8px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.2)!important;justify-content:flex-start!important}
  .stat:last-child{border-bottom:0!important}
  .stat strong,.stat b{font-size:29px!important}
  .stat small{font-size:10px!important}

  /* About — critical mobile fix */
  .about{padding:32px 0 34px!important}
  .about-grid{display:flex!important;flex-direction:column!important;width:calc(100% - (var(--mobile-gutter) * 2))!important;max-width:680px!important;gap:24px!important;align-items:stretch!important}
  .about-photo-wrap{order:1!important;position:relative!important;width:100%!important;max-width:340px!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:0!important}
  .about-blue-block{display:none!important}
  .about-photo{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:10/13!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 16px 35px rgba(13,54,113,.12)!important}
  .about-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
  .about-copy{order:2!important;position:relative!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;z-index:auto!important}
  .about-copy h2{font-size:22px!important;line-height:1.18!important;text-align:center!important;margin:0 0 14px!important}
  .about-copy>p{font-size:14px!important;line-height:1.72!important;margin:0 0 18px!important;color:#4d5e78!important}
  .timeline{position:relative!important;margin:0 0 20px 8px!important;padding:0!important;border-left:2px solid #cfe9d7!important;width:auto!important;z-index:auto!important}
  .timeline div{display:grid!important;grid-template-columns:62px minmax(0,1fr)!important;gap:13px!important;align-items:start!important;min-height:52px!important;padding:4px 0!important;position:relative!important}
  .timeline div:before{left:-5px!important;top:9px!important;width:9px!important;height:9px!important}
  .timeline b{font-size:12px!important;line-height:1.4!important;margin:0 0 0 14px!important;padding:0!important;color:#07963a!important}
  .timeline span{font-size:13px!important;line-height:1.5!important;color:#506179!important;min-width:0!important}
  .about-btn{display:flex!important;width:100%!important;max-width:420px!important;height:48px!important;min-width:0!important;margin:0 auto!important;font-size:12px!important;justify-content:center!important}

  /* Proposals */
  .proposals{padding:34px 0 36px!important}
  .proposal-filters-v15{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;gap:10px!important;margin:0 0 30px!important;padding:2px 1px 8px!important;width:100%!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
  .proposal-filters-v15::-webkit-scrollbar{display:none!important}
  .proposal-filters-v15 .filter{flex:0 0 132px!important;min-width:132px!important;min-height:70px!important;padding:10px!important;border-radius:15px!important;scroll-snap-align:start!important;display:flex!important;flex-direction:column!important;gap:6px!important}
  .proposal-filters-v15 .filter-icon{width:23px!important;height:23px!important}
  .proposal-filters-v15 .filter-label{font-size:10px!important;line-height:1.15!important}
  .proposal-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:0!important}
  .proposal-card{height:auto!important;min-height:126px!important;padding:18px!important;border-radius:18px!important;grid-template-columns:52px minmax(0,1fr) 26px!important;gap:13px!important}
  .proposal-icon{width:50px!important;height:50px!important}
  .proposal-card h3{font-size:14px!important;line-height:1.2!important;margin:2px 0 7px!important}
  .proposal-card p{font-size:12px!important;line-height:1.55!important}

  /* Idea */
  .idea-band{height:auto!important;padding:22px 0!important}
  .idea-inner{display:grid!important;grid-template-columns:52px 1fr!important;gap:12px!important;align-items:center!important}
  .idea-band h2{font-size:18px!important;line-height:1.2!important}
  .idea-band p{grid-column:1/-1!important;font-size:12px!important;line-height:1.55!important;margin:0!important}
  .idea-band .btn{grid-column:1/-1!important;width:100%!important;justify-self:stretch!important;justify-content:center!important}

  /* Agenda */
  .road-grid{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:20px!important}
  .map-card{height:300px!important;border-radius:18px!important;overflow:hidden!important}
  .agenda-list{gap:10px!important}
  .agenda-item{height:auto!important;min-height:78px!important;grid-template-columns:56px minmax(0,1fr) 62px!important;padding:8px!important;border-radius:14px!important}
  .agenda-text h3{font-size:12px!important}
  .agenda-text p,.agenda-item time,.agenda-map-hint{font-size:10px!important;line-height:1.4!important}

  /* Social/video */
  .social-band{height:auto!important;padding:26px 0!important}
  .social-grid{display:grid!important;grid-template-columns:1fr!important;width:calc(100% - (var(--mobile-gutter) * 2))!important;gap:18px!important}
  .social-copy{text-align:center!important}
  .social-copy h2{font-size:20px!important;line-height:1.12!important}
  .social-copy p{font-size:12px!important;max-width:340px!important;margin:0 auto!important}
  .social-links{justify-content:center!important}
  .video-card{width:100%!important;height:auto!important;aspect-ratio:16/9!important;border-radius:16px!important}

  /* Contact */
  .contact{padding:32px 0!important}
  .contact-shell,.contact-shell-v19{width:calc(100% - (var(--mobile-gutter) * 2))!important;max-width:680px!important;margin:0 auto!important}
  .contact-layout-v19{display:flex!important;flex-direction:column!important;gap:24px!important;width:100%!important;align-items:stretch!important}
  .contact-form-area{width:100%!important;max-width:none!important;margin:0!important;padding:22px 16px!important;border-radius:19px!important}
  .contact-title-desktop{display:flex!important;justify-content:center!important;margin:0 0 18px!important}
  .contact-title-desktop h2{font-size:19px!important;text-align:center!important}
  .contact-form .field-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-bottom:12px!important}
  .contact-form input{height:48px!important;font-size:14px!important;border-radius:12px!important}
  .contact-form textarea{height:120px!important;font-size:14px!important;border-radius:12px!important}
  .privacy-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:14px!important;font-size:12px!important;line-height:1.55!important;border-radius:13px!important}
  .privacy-consent input{width:18px!important;height:18px!important;flex:0 0 18px!important;margin-top:1px!important}
  .form-footer{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:14px!important;align-items:stretch!important}
  .form-footer #formStatus{order:2!important;width:100%!important;font-size:12px!important;line-height:1.45!important;text-align:center!important}
  .form-footer .btn{order:1!important;width:100%!important;min-width:0!important;height:46px!important;font-size:12px!important}
  .contact-avatar-band{width:100%!important;max-width:none!important;margin:0!important}
  .avatar-card-horizontal-v15{width:100%!important;min-height:112px!important;padding:16px!important;border-radius:18px!important;grid-template-columns:72px minmax(0,1fr) 44px!important;gap:12px!important}
  .avatar-card-horizontal-v15 .avatar-card-icons{min-width:64px!important}
  .avatar-card-horizontal-v15 .avatar-card-icons span{width:42px!important;height:42px!important}
  .avatar-card-horizontal-v15 .avatar-card-copy small{font-size:8px!important;margin-bottom:4px!important}
  .avatar-card-horizontal-v15 .avatar-card-copy h2{font-size:15px!important;line-height:1.22!important}
  .avatar-card-horizontal-v15 .avatar-card-arrow{width:42px!important;height:42px!important;font-size:22px!important}

  /* Footer */
  .footer{padding:26px 0 18px!important}
  .footer-grid{display:grid!important;grid-template-columns:1fr 1fr!important;width:calc(100% - (var(--mobile-gutter) * 2))!important;gap:22px 16px!important}
  .footer-brand{grid-column:1/-1!important;text-align:center!important}
  .footer-logo{margin:0 auto!important}
  .footer-social{justify-content:center!important}
  .footer-col{padding:0!important;border:0!important;min-width:0!important}
  .footer h3{font-size:11px!important}
  .footer a,.footer p{font-size:10px!important;line-height:1.55!important;overflow-wrap:anywhere!important}
  .campaign-legal,.footer-bottom{width:calc(100% - (var(--mobile-gutter) * 2))!important;font-size:9px!important;line-height:1.5!important;text-align:center!important}
  .campaign-legal{display:flex!important;flex-direction:column!important;gap:5px!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;gap:8px!important}

  /* Dialogs */
  .legal-dialog,.media-dialog{width:calc(100% - 20px)!important;max-width:720px!important;max-height:90dvh!important;margin:auto!important}
  .legal-dialog-body{padding:18px!important}
}

@media (max-width:480px){
  :root{--mobile-gutter:10px}
  .section{padding:26px 0!important}
  .hero{min-height:600px!important;background-position:66% center!important}
  .hero-grid{padding-top:34px!important}
  .hero h1 span{font-size:47px!important}
  .hero h1 strong{font-size:42px!important}
  .role{font-size:9px!important;letter-spacing:1.8px!important}
  .number b,.number strong{font-size:49px!important}
  .about-photo-wrap{max-width:300px!important}
  .about-copy h2{font-size:20px!important}
  .about-copy>p{font-size:13px!important}
  .timeline div{grid-template-columns:55px minmax(0,1fr)!important;gap:10px!important;min-height:48px!important}
  .timeline b{font-size:11px!important;margin-left:13px!important}
  .timeline span{font-size:12px!important}
  .proposal-filters-v15 .filter{flex-basis:118px!important;min-width:118px!important}
  .proposal-card{grid-template-columns:46px minmax(0,1fr) 22px!important;padding:15px!important}
  .proposal-icon{width:44px!important;height:44px!important}
  .proposal-card h3{font-size:12px!important}
  .proposal-card p{font-size:11px!important}
  .map-card{height:260px!important}
  .agenda-item{grid-template-columns:52px minmax(0,1fr)!important}
  .agenda-item time{display:none!important}
  .avatar-card-horizontal-v15{grid-template-columns:58px minmax(0,1fr) 40px!important;padding:14px!important}
  .avatar-card-horizontal-v15 .avatar-card-icons{min-width:56px!important}
  .avatar-card-horizontal-v15 .avatar-card-icons span{width:37px!important;height:37px!important}
  .avatar-card-horizontal-v15 .avatar-card-copy h2{font-size:13px!important}
  .avatar-card-horizontal-v15 .avatar-card-arrow{width:38px!important;height:38px!important;font-size:19px!important}
  .footer-grid{grid-template-columns:1fr!important}
  .footer-brand{grid-column:1!important}
  .footer-col{text-align:center!important}
}

/* ============================================================
   V28 — Mobile polish: header azul, navegação e espaçamentos
   ============================================================ */
@media (max-width:900px){
  html{scroll-padding-top:76px!important}
  body.has-jingle{padding-bottom:92px!important}
  [id]{scroll-margin-top:76px}

  /* Header sempre azul no mobile, igual às páginas Notícias/Material */
  .site-header{
    position:sticky!important;
    top:0!important;
    z-index:1200!important;
    height:68px!important;
    background:linear-gradient(100deg,#052f70 0%,#073c82 55%,#06336f 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 8px 24px rgba(0,30,75,.20)!important;
    backdrop-filter:none!important;
  }
  .site-header.scrolled{background:linear-gradient(100deg,#052f70 0%,#073c82 55%,#06336f 100%)!important}
  .header-inner{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    height:68px!important;
    margin:0 auto!important;
    padding:0!important;
    gap:9px!important;
  }
  .brand-official{width:116px!important;height:58px!important;flex:0 0 116px!important}
  .brand-logo,.site-header.scrolled .brand-logo{
    width:auto!important;
    height:auto!important;
    max-width:108px!important;
    max-height:43px!important;
    object-fit:contain!important;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))!important;
  }
  .header-whatsapp-btn{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;
    padding:0!important;
    margin:0 2px 0 auto!important;
    border-radius:50%!important;
    background:#16a34a!important;
    border:1px solid rgba(255,255,255,.3)!important;
    box-shadow:0 7px 18px rgba(0,0,0,.16)!important;
  }
  .header-whatsapp-btn .header-cta-icon{width:23px!important;height:23px!important}
  .menu-toggle{
    display:block!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:8px!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.07)!important;
    z-index:1203!important;
  }
  .menu-toggle span{width:25px!important;height:2px!important;margin:5px auto!important;background:#fff!important;border-radius:999px!important}

  /* Drawer abre abaixo do header para não cobrir logo/WhatsApp */
  .main-nav{
    position:fixed!important;
    top:68px!important;
    right:-100%!important;
    width:min(330px,88vw)!important;
    height:calc(100dvh - 68px)!important;
    padding:18px 22px 28px!important;
    gap:0!important;
    overflow-y:auto!important;
    background:linear-gradient(180deg,#052f70 0%,#032557 100%)!important;
    box-shadow:-16px 14px 36px rgba(0,19,52,.32)!important;
    transition:right .24s ease!important;
    align-items:stretch!important;
  }
  .main-nav.open{right:0!important}
  .main-nav a{
    width:100%!important;
    min-height:49px!important;
    padding:14px 5px!important;
    display:flex!important;
    align-items:center!important;
    color:#fff!important;
    font-size:12px!important;
    letter-spacing:.02em!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .main-nav a::after{bottom:6px!important;height:2px!important}

  /* Hero mais compacto: elimina o grande vazio visto no iPhone */
  .hero{
    min-height:0!important;
    height:auto!important;
    background-position:67% center!important;
  }
  .hero-grid{
    display:block!important;
    height:auto!important;
    padding:38px 0 44px!important;
  }
  .hero-copy{padding:0!important}
  .hero-visual{display:none!important;height:0!important}
  .eyebrow{margin-bottom:11px!important}
  .role{margin:12px 0 10px!important}
  .number{margin:0 0 16px!important}
  .hero-actions{gap:9px!important}
  .hero-actions .btn{min-height:46px!important}

  /* Ritmo vertical uniforme */
  .priorities{padding-top:30px!important;padding-bottom:30px!important}
  .priority-grid{gap:13px!important}
  .stats{margin-top:16px!important}
  .about{padding-top:34px!important;padding-bottom:36px!important}
  .about-grid{gap:22px!important}
  .about-photo-wrap{max-width:310px!important}
  .about-copy>p{margin-bottom:16px!important}
  .timeline{margin-bottom:20px!important}
  .proposals{padding-top:34px!important;padding-bottom:38px!important}
  .proposal-filters-v15{margin-bottom:26px!important}
  .proposal-grid{gap:15px!important}
  .idea-band{margin-top:0!important}
  .road{padding-top:34px!important;padding-bottom:36px!important}
  .road-grid{gap:22px!important}
  .agenda-cta{margin-top:16px!important}
  .social-band{padding:28px 0!important}
  .contact{padding:34px 0 38px!important}
  .contact-layout-v19{gap:24px!important}
  .footer{padding-top:30px!important}

  /* Player compacto e sem empurrar visualmente o hero */
  .jingle-player{
    left:12px!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    min-height:60px!important;
    grid-template-columns:42px minmax(0,1fr) 28px!important;
    gap:9px!important;
    padding:8px 9px!important;
    border-radius:15px!important;
  }
  .jingle-toggle{width:42px!important;height:42px!important}
  .jingle-copy small{font-size:8px!important}
  .jingle-copy b{font-size:11px!important}
  .jingle-copy span{font-size:9px!important}
  .jingle-player.is-minimized{
    left:12px!important;
    right:auto!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    width:58px!important;
    grid-template-columns:40px!important;
    padding:8px!important;
  }
}

@media (max-width:480px){
  :root{--mobile-gutter:12px}
  .site-header,.header-inner{height:64px!important}
  .header-inner{width:calc(100% - 20px)!important}
  .brand-official{width:104px!important;height:54px!important;flex-basis:104px!important}
  .brand-logo,.site-header.scrolled .brand-logo{max-width:98px!important;max-height:38px!important}
  .header-whatsapp-btn{width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important}
  .menu-toggle{width:40px!important;height:40px!important;padding:7px!important}
  .main-nav{top:64px!important;height:calc(100dvh - 64px)!important;width:min(310px,90vw)!important}
  html{scroll-padding-top:72px!important}
  [id]{scroll-margin-top:72px}

  .hero{background-position:68% center!important}
  .hero-grid{padding:30px 0 38px!important}
  .eyebrow{font-size:9px!important;margin-bottom:10px!important}
  .hero h1 span{font-size:45px!important}
  .hero h1 strong{font-size:41px!important}
  .role{font-size:8.8px!important;letter-spacing:1.65px!important}
  .number b,.number strong{font-size:47px!important}
  .hero-actions .btn{height:44px!important;font-size:10px!important}

  .section-title{margin-bottom:17px!important}
  .priority-card{padding:16px!important}
  .about-photo-wrap{max-width:285px!important}
  .about-copy h2{font-size:19px!important}
  .about-copy>p{font-size:12.5px!important;line-height:1.65!important}
  .timeline div{min-height:46px!important}
  .proposal-filters-v15{margin-bottom:22px!important}
  .proposal-card{min-height:116px!important}
  .map-card{height:250px!important}
  .contact-form-area{padding:20px 14px!important}
  .avatar-card-horizontal-v15{min-height:104px!important}
  body.has-jingle{padding-bottom:86px!important}
}
