/*
 * PATH final layout lock.
 * Loaded last on Home and Reforma so approved proportions cannot be reverted
 * by older, page-specific rounds still kept for historical compatibility.
 */

@media (min-width:1101px){
  .home-v2-page{
    --final-home-left:clamp(126px,11.5vw,220px);
  }

  .home-v2-page .master-header{
    padding-left:var(--final-home-left)!important;
  }

  .home-v2-page .master-hero .hero-copy{
    padding-left:var(--final-home-left)!important;
    padding-right:clamp(34px,2.45vw,47px)!important;
  }

  .home-v2-page .master-hero .hero-copy h1{
    max-width:660px!important;
    font-size:clamp(56px,3.45vw,66px)!important;
    line-height:.98!important;
  }

  .home-v2-page .master-hero .hero-copy>p:not(.hero-note){
    max-width:610px!important;
    font-size:clamp(15px,.86vw,16.5px)!important;
    line-height:1.58!important;
  }

  .home-v2-page .master-hero .hero-cta{
    max-width:520px!important;
    font-size:14px!important;
  }

  .home-v2-page .master-hero .hero-note{
    max-width:500px!important;
    font-size:12.5px!important;
  }

  #metodologia.methodology{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:minmax(360px,32%) minmax(0,1fr)!important;
    gap:clamp(28px,2.2vw,42px)!important;
    align-items:center!important;
    padding:34px clamp(46px,5.5vw,106px) 38px clamp(110px,8vw,154px)!important;
  }

  #metodologia .method-intro{
    align-self:center!important;
    padding-left:0!important;
  }

  #metodologia .method-intro h2{
    font-size:clamp(52px,3.2vw,61px)!important;
  }

  #metodologia .method-intro>.section-rule{
    margin:14px 0 15px!important;
  }

  #metodologia .method-tabs button{
    min-height:50px!important;
    grid-template-columns:54px 10px 1fr 42px!important;
  }

  #metodologia .method-tab-number{
    width:42px!important;
    height:42px!important;
  }

  #metodologia .method-tab-label{
    font-size:13.5px!important;
  }

  #metodologia .method-card{
    width:100%!important;
    height:clamp(540px,62svh,590px)!important;
    min-height:0!important;
    max-height:590px!important;
    aspect-ratio:auto!important;
    grid-template-columns:51% 49%!important;
    margin-right:0!important;
  }

  #metodologia .method-content{
    justify-content:center!important;
    padding:clamp(36px,2.35vw,45px)!important;
  }

  #metodologia .method-content h3{
    margin-top:22px!important;
    font-size:clamp(36px,2.35vw,45px)!important;
  }

  #metodologia .method-content>.section-rule{
    margin:15px 0 19px!important;
  }

  #metodologia .method-copy{
    font-size:clamp(14px,.84vw,16px)!important;
    line-height:1.58!important;
  }

  #metodologia .method-outcome{
    margin:28px 0 0!important;
    padding:17px 17px 17px 58px!important;
    font-size:clamp(12.5px,.75vw,14px)!important;
    line-height:1.48!important;
  }

  #metodologia .method-outcome:before{
    left:18px!important;
    width:28px!important;
    height:28px!important;
  }
}

@media (min-width:768px) and (max-width:1100px){
  #metodologia.methodology{
    min-height:0!important;
    padding:46px 34px 52px!important;
  }

  #metodologia .method-card{
    grid-template-rows:64px 500px!important;
    margin-top:24px!important;
  }

  #metodologia .method-content{
    justify-content:flex-start!important;
    padding:36px 30px!important;
  }

  #metodologia .method-outcome{
    margin:26px 0 0!important;
  }
}

@media (max-width:767px){
  #metodologia.methodology{
    min-height:0!important;
    padding:34px 18px 30px!important;
  }

  #metodologia .method-card{
    min-height:0!important;
  }

  #metodologia .method-content{
    height:auto!important;
    min-height:0!important;
    justify-content:flex-start!important;
    padding:34px 24px 24px!important;
  }

  #metodologia .method-copy{
    font-size:17px!important;
    line-height:1.58!important;
  }

  #metodologia .method-outcome{
    margin:22px 0 0!important;
    font-size:15px!important;
    line-height:1.52!important;
  }
}

@media (max-width:370px){
  #metodologia .method-content{
    min-height:0!important;
    padding-inline:20px!important;
  }
}

/* V2 — proporções canônicas: eixo editorial, Case 2×2 e seções pela dobra real. */
@media (min-width:1101px){
  .reform-page{
    --final-reform-left:clamp(160px,12.5vw,240px);
  }

  .reform-page .master-header{
    padding-left:var(--final-reform-left)!important;
  }

  .reform-page #inicio .hero-copy{
    padding-left:var(--final-reform-left)!important;
    padding-right:clamp(28px,2vw,40px)!important;
  }

  .reform-page #inicio .hero-copy h1{
    max-width:610px!important;
    font-size:clamp(56px,3.25vw,64px)!important;
  }

  .reform-page #inicio .hero-copy>p:not(.hero-note){
    max-width:560px!important;
    font-size:15px!important;
  }

  #case.home-case{
    box-sizing:border-box!important;
    width:100%!important;
    height:calc(100svh - 92px)!important;
    min-height:620px!important;
    max-height:988px!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    padding:clamp(22px,2.6vh,34px) clamp(46px,5vw,82px) clamp(18px,2.3vh,30px)!important;
  }

  #case.home-case .case-header{
    max-width:920px!important;
    margin:0 auto clamp(12px,1.8vh,20px)!important;
  }

  #case.home-case .case-header .eyebrow{
    margin-bottom:6px!important;
    font-size:10px!important;
  }

  #case.home-case .case-header h2{
    font-size:clamp(40px,3.1vw,56px)!important;
  }

  #case.home-case .case-intro{
    max-width:760px!important;
    margin:8px auto 0!important;
    font-size:13px!important;
    line-height:1.42!important;
  }

  #case.home-case .case-metadata{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-width:820px!important;
    gap:0!important;
    margin:12px auto 0!important;
    padding:8px 0!important;
    border-top:1px solid var(--line)!important;
    border-bottom:1px solid var(--line)!important;
    list-style:none!important;
  }

  #case.home-case .case-metadata li{
    min-width:0!important;
    display:block!important;
    min-height:0!important;
    padding:0 14px!important;
    border-left:1px solid var(--line)!important;
    text-align:center!important;
  }

  #case.home-case .case-metadata li:first-child{
    border-left:0!important;
  }

  #case.home-case .case-metadata strong,
  #case.home-case .case-metadata span{
    display:block!important;
  }

  #case.home-case .case-metadata strong{
    color:var(--ink)!important;
    font:400 17px/1.15 var(--serif)!important;
  }

  #case.home-case .case-metadata span{
    margin-top:2px!important;
    color:var(--muted)!important;
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  #case.home-case .case-list{
    width:100%!important;
    max-width:1280px!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:clamp(10px,1.5vh,16px) 20px!important;
    align-self:stretch!important;
    height:100%!important;
    margin:0 auto!important;
  }

  #case.home-case .case-row{
    min-width:0!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:5px!important;
    margin:0!important;
  }

  #case.home-case .case-row h3{
    min-height:0!important;
    display:flex!important;
    align-items:baseline!important;
    gap:8px!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.25!important;
  }

  #case.home-case .case-row h3 span{
    display:inline!important;
    margin:0!important;
    font-size:15px!important;
  }

  #case.home-case .comparison{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }

  #case.home-case .case-footer{
    width:min(100%,1036px)!important;
    min-height:0!important;
    display:block!important;
    margin:clamp(8px,1.4vh,14px) auto 0!important;
    padding:8px 16px!important;
    border:0!important;
    border-left:3px solid var(--gold)!important;
    border-radius:0!important;
    background:transparent!important;
  }

  #case.home-case .case-footer p{
    margin:0!important;
    color:var(--muted)!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  #case.home-case .case-footer strong{
    color:var(--ink)!important;
    font:400 16px/1.25 var(--serif)!important;
  }

  /* O Case compartilhado preserva as quatro comparações em 16:9 nas duas páginas. */
  .reform-page #case.home-case,
  .home-v2-page #case.home-case{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-rows:auto auto auto!important;
    overflow:visible!important;
  }

  .reform-page #case.home-case .case-list,
  .home-v2-page #case.home-case .case-list{
    height:auto!important;
    grid-template-rows:repeat(2,auto)!important;
  }

  .reform-page #case.home-case .case-row,
  .home-v2-page #case.home-case .case-row{
    grid-template-rows:auto auto!important;
  }

  .reform-page #case.home-case .comparison,
  .home-v2-page #case.home-case .comparison{
    height:auto!important;
    aspect-ratio:16/9!important;
  }

  #portfolio.portfolio{
    box-sizing:border-box!important;
    height:calc(100svh - 92px)!important;
    min-height:620px!important;
    max-height:988px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding:clamp(24px,3vh,32px) clamp(46px,5vw,78px) clamp(20px,2.6vh,28px)!important;
  }

  #portfolio .eyebrow{
    margin-bottom:6px!important;
  }

  #portfolio h2{
    flex:0 0 auto!important;
    max-width:980px!important;
    font-size:clamp(38px,3.1vw,50px)!important;
    line-height:1.03!important;
  }

  #portfolio>.section-rule{
    flex:0 0 auto!important;
    margin:12px auto 18px!important;
  }

  #portfolio .portfolio-shell{
    flex:1 1 auto!important;
    min-height:0!important;
  }

  #portfolio .portfolio-track,
  #portfolio .portfolio-track article{
    height:100%!important;
    min-height:0!important;
  }

  #portfolio .portfolio-track article{
    aspect-ratio:auto!important;
  }

  #portfolio .portfolio-dots{
    flex:0 0 30px!important;
    margin:2px 0!important;
  }

  #portfolio .portfolio-cta{
    flex:0 0 auto!important;
    min-height:78px!important;
    margin-top:4px!important;
    padding:10px 20px!important;
  }

  #portfolio .portfolio-cta-icon{
    width:54px!important;
    height:54px!important;
    flex-basis:54px!important;
  }

  #portfolio .portfolio-cta .primary-button{
    min-height:50px!important;
  }

  #portfolio .scroll-hint{
    display:none!important;
  }

  .home-v2-page .testimonial-section{
    box-sizing:border-box!important;
    height:calc(100svh - 92px)!important;
    min-height:620px!important;
    max-height:808px!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    overflow:hidden!important;
    padding:clamp(26px,3.5vh,36px) clamp(42px,5vw,76px)!important;
  }

  .home-v2-page .testimonial-heading{
    margin-bottom:18px!important;
  }

  .home-v2-page .testimonial-heading h2{
    font-size:clamp(40px,3.4vw,52px)!important;
  }

  .home-v2-page .testimonial-grid{
    min-height:0!important;
    height:100%!important;
  }

  .home-v2-page .testimonial-grid .testimonial-card{
    min-height:0!important;
    height:100%!important;
    padding:20px!important;
  }

  .home-v2-page .testimonial-grid .testimonial-card-featured{
    padding:24px!important;
  }

  .home-v2-page .testimonial-grid .testimonial-card blockquote{
    margin-top:16px!important;
    font-size:16px!important;
    line-height:1.46!important;
  }

  .home-v2-page .testimonial-grid .testimonial-card-featured blockquote{
    font-size:18px!important;
    line-height:1.48!important;
  }

  .home-v2-page #contato.closing,
  .reform-page #contato.closing{
    box-sizing:border-box!important;
    height:calc(100svh - 92px)!important;
    min-height:620px!important;
    max-height:755px!important;
  }
}

@media (max-width:767px){
  .reform-page #case.home-case,
  .home-v2-page #case.home-case{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .reform-page #case.home-case .comparison,
  .home-v2-page #case.home-case .comparison{
    height:auto!important;
    aspect-ratio:16/9!important;
  }

  .home-v2-page #simulador.simulator-gateway{
    box-sizing:border-box!important;
    height:calc(100dvh - 72px)!important;
    min-height:0!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
  }

  .home-v2-page #simulador .simulator-visual{
    height:auto!important;
    min-height:0!important;
  }

  .home-v2-page #simulador .simulator-sheet{
    bottom:-18px!important;
    height:220px!important;
  }
}
