/* v0.12.69 — CQC desktop grid integrity fix
   Alternating sections must reverse BOTH item order AND column proportions. */

.v33-proof-grid{
  width:100%;
  max-width:1180px;
  grid-template-columns:minmax(0,1.18fr) minmax(280px,.56fr);
  gap:clamp(46px,5vw,76px);
  align-items:center;
}
.v33-copy{
  min-width:0;
  width:100%;
  max-width:780px;
}
.v33-copy h2{
  width:100%;
  max-width:760px;
  font-size:clamp(44px,4.5vw,70px);
  line-height:.97;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Critical fix: when image moves left, the NARROW column moves left too. */
.v33-alt .v33-proof-grid{
  grid-template-columns:minmax(280px,.56fr) minmax(0,1.18fr);
}
.v33-alt .v33-proof-grid .v33-shot{
  grid-column:1;
  order:1;
  justify-self:center;
}
.v33-alt .v33-proof-grid .v33-copy{
  grid-column:2;
  order:2;
  justify-self:start;
}

/* Standard sections: copy gets the wide column, proof gets the narrow one. */
.v33-proof-block:not(.v33-alt) .v33-proof-grid .v33-copy{
  grid-column:1;
  order:1;
}
.v33-proof-block:not(.v33-alt) .v33-proof-grid .v33-shot{
  grid-column:2;
  order:2;
  justify-self:center;
}

.v33-shot{
  width:100%;
  max-width:310px!important;
}
.v33-shot img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain;
}

/* Wide desktop proof is allowed to be larger, but never consume the copy column. */
.v68-wide-shot{
  width:100%;
  max-width:430px!important;
}
.v68-wide-shot img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:500px!important;
  object-fit:contain;
}

/* Two-column proof only when there is genuinely enough room. */
@media(max-width:1120px){
  .v33-proof-grid,
  .v33-alt .v33-proof-grid{
    grid-template-columns:minmax(0,1fr);
    gap:38px;
  }
  .v33-proof-grid .v33-copy,
  .v33-alt .v33-proof-grid .v33-copy,
  .v33-proof-grid .v33-shot,
  .v33-alt .v33-proof-grid .v33-shot,
  .v33-proof-block:not(.v33-alt) .v33-proof-grid .v33-copy,
  .v33-proof-block:not(.v33-alt) .v33-proof-grid .v33-shot{
    grid-column:1;
    order:initial;
    width:100%;
    max-width:100%;
  }
  .v33-copy{
    max-width:820px;
  }
  .v33-copy h2{
    max-width:820px;
    font-size:clamp(42px,7vw,64px);
  }
  .v33-shot{
    width:min(100%,300px);
    max-width:300px!important;
    justify-self:start!important;
  }
  .v68-wide-shot{
    width:min(100%,560px);
    max-width:560px!important;
    justify-self:start!important;
  }
}
@media(max-width:700px){
  .v33-proof-grid,
  .v33-alt .v33-proof-grid{
    gap:30px;
  }
  .v33-copy h2{
    font-size:clamp(38px,11vw,56px);
    line-height:.98;
  }
  .v33-shot{
    width:min(100%,275px);
    max-width:275px!important;
  }
  .v68-wide-shot{
    width:100%;
    max-width:100%!important;
  }
}
