/* IBERFIT WEB V6.43.22 — UX first impression & mobile compression. */

/* Keep headings editorial but avoid avoidable 4–5 line breaks on narrow screens. */
h1,h2{ text-wrap:balance; }
p,li{ text-wrap:pretty; }

/* Home decision architecture: two entry routes, then the three concrete formats. */
.intent-router--compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:820px;
}

/* Two verified reviews do not need an autoplay carousel. */
.review-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1rem,2.6vw,1.75rem);
}
.review-pair .client-review{ min-width:0; }

/* First-visit consent: same choices and control, materially less obstruction. */
.consent-banner{
  max-width:1040px;
  gap:1.1rem;
  padding:.88rem 1rem;
  border-radius:16px;
}
.consent-banner>div:first-child{ min-width:0; }
.consent-banner strong{
  display:block;
  font-size:1rem;
  line-height:1.15;
}
.consent-banner p{
  max-width:590px;
  margin:.22rem 0 0;
  font-size:.74rem;
  line-height:1.38;
}
.consent-actions{ gap:.38rem; flex-wrap:nowrap; }
.consent-banner .btn,
.consent-banner .consent-link{
  min-height:44px;
  padding:.62rem .78rem;
  font-size:.76rem;
}

/* Horizontal sequences explain their interaction instead of looking accidentally clipped. */
.mobile-swipe-hint{
  display:none;
  margin:.35rem 0 0;
  color:var(--text-tertiary,#5a6a61);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.02em;
}

/* Online product proof: give real app screens useful reading scale on phones. */
@media(max-width:640px){
  .app-story-stage{ grid-auto-columns:minmax(94%,1fr); }
}

/* Mobile reading rhythm: compress repetition, not information. */
@media(max-width:720px){
  body[data-page="home"] .section{ padding-block:3.35rem; }
  body[data-page="home"] .evidence-process-section{ padding-top:2.9rem; }
  body[data-page="home"] .section-intro{ margin-bottom:2rem; }
  body[data-page="home"] .modality-row--guided{ padding-block:1.45rem; }
  body[data-page="home"] .authenticity-editorial .authenticity-grid{ gap:1.4rem; }

  .mobile-swipe-hint{ display:block; }
  .mobile-swipe-hint::after{ content:"  →"; color:var(--gold-text-strong,#806216); }

  .site-footer{
    margin-top:28px;
    padding:42px 0 22px;
  }
  .site-footer .footer-grid{ gap:1.35rem; }
  .site-footer .footer-brand{ margin-bottom:.75rem; }
  .site-footer p{ margin-bottom:.6rem; }
  .site-footer .footer-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.18rem .8rem;
  }
  .site-footer .footer-links a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:.25rem 0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .site-footer .footer-cta{ gap:.65rem; }
  .site-footer .footer-bottom{
    margin-top:1.35rem;
    padding-top:1rem;
    gap:.5rem;
  }
}

@media(max-width:560px){
  .intent-router--compact{ grid-template-columns:1fr; }

  .consent-banner{
    left:.6rem;
    right:.6rem;
    bottom:calc(.6rem + env(safe-area-inset-bottom,0px));
    display:grid;
    gap:.55rem;
    width:auto;
    padding:.7rem .72rem;
    border-radius:16px;
    max-height:44dvh;
    overflow:auto;
    overscroll-behavior:contain;
  }
  .consent-banner strong{ font-size:.94rem; }
  .consent-banner p{ font-size:.68rem; line-height:1.32; }
  .consent-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.36rem;
    width:100%;
  }
  .consent-actions [data-consent-all],
  .consent-actions [data-consent-necessary],
  .consent-actions [data-consent-audience],
  .consent-actions [data-consent-settings]{
    grid-column:auto;
    width:100%;
    min-width:0;
    min-height:44px;
    padding:.55rem .4rem;
    white-space:normal;
    line-height:1.08;
    text-align:center;
    justify-content:center;
  }
  .consent-actions [data-consent-settings]{
    display:inline-flex;
    align-items:center;
  }
  body:has(.consent-banner) .device-dock{ display:none!important; }

  .review-pair{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(86%,1fr);
    gap:.75rem;
    margin-inline:0 -16px;
    padding:2px 16px 12px 0;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .review-pair::-webkit-scrollbar{ display:none; }
  .review-pair .client-review{
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .site-footer .footer-links{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(prefers-reduced-motion:reduce){
  .review-pair{ scroll-behavior:auto!important; }
}
