@media(max-width:800px) {
  .cookie-banner { bottom:0; left:0; width:100%; max-width:100%; padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)); border-radius:14px 14px 0 0; transform:translateY(100%); }
  .cookie-banner.visible { transform:translateY(0); }
  .cookie-banner-wrap,.cookie-banner-actions { flex-direction:column; align-items:stretch; gap:14px; }
  .cookie-banner-actions { gap:8px; width:100%; }
  .cookie-banner-actions .cookie-btn,.cookie-modal-footer .cookie-btn { width:100%; padding:12px 16px; }
  .cookie-modal-backdrop { padding:12px; }
  .cookie-modal { max-height:90vh; border-radius:10px; }
  .cookie-modal-header { padding:14px 16px; }
  .cookie-modal-heading h3 { font-size:16px; }
  .cookie-modal-body { padding:16px; }
  .cookie-modal-intro,.cookie-category-desc { font-size:12px; }
  .cookie-category-card { padding:12px 14px; }
  .cookie-modal-footer { flex-direction:column; padding:12px 16px; gap:8px; }
  .cookie-floating-btn { bottom:74px; left:14px; width:38px; height:38px; font-size:17px; }
  .foot {
    justify-content:center;
    gap:12px 18px;
    text-align:center;
  }
  .wrap {
    padding:0 18px;
  }
  .selector-inner {
    grid-template-columns:1fr;
    gap:20px;
  }
  .selector-buttons {
    grid-template-columns:1fr;
  }
  .selector-card {
    min-height:92px;
  }
  .hero {
    min-height:690px;
    background:linear-gradient(180deg,rgba(7,8,9,.48),rgba(7,8,9,.72)),url("../images/hero-dopemirrors.png") center top / cover no-repeat;
  }
  .hero-inner {
    padding:90px 0 100px;
  }
  .hero h1 {
    font-size:54px;
  }
  .hero .lead {
    font-size:17px;
  }
  .problem,.price {
    grid-template-columns:1fr;
    gap:32px;
  }
  .problem-img {
    min-height:420px;
  }
  .steps,.features {
    grid-template-columns:1fr;
  }
  .reviews-wrap {
    padding-bottom:54px;
  }
  .reviews {
    padding:4px 0 10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-padding-inline:0;
  }
  .review {
    flex:0 0 100%;
    min-width:0;
    max-width:100%;
    padding:20px 18px;
    box-sizing:border-box;
  }
  .review p {
    overflow-wrap:anywhere;
  }
  .review-nav {
    top:auto;
    right:auto;
    bottom:0;
    left:50%;
    width:100px;
    height:40px;
    transform:translateX(-50%);
    justify-content:space-between;
  }
  .review-nav button {
    width:40px;
    height:40px;
    font-size:22px;
  }
  .gallery {
    grid-template-columns:1fr 1fr;
  }
  .gallery img {
    aspect-ratio:4/5;
    min-height:0;
  }
  .section {
    padding:75px 0;
  }
  .sticky {
    display:block;
  }
  .sticky .btn {
    padding:12px 15px;
    font-size:12px;
  }
  .sticky strong {
    font-size:13px;
  }
}
