.site-footer__logo { transform: translateX(-2.25%); }
.site-menu__details a, .site-menu__numbers a, .site-footer__phone a, .site-footer__links a { color: inherit; text-decoration: none; }
.site-menu__details a:hover, .site-menu__numbers a:hover, .site-footer__phone a:hover, .site-footer__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.site-menu__contact-links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 15px 12px; font-size: clamp(14px, 3.6vw, 16px); }
.site-footer__links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 9px; font-size: clamp(13px, 3.3vw, 15px); }
.contact-icons a { display: block; width: min(78px, calc((100vw - 64px) / 4)); flex: 0 1 auto; border-radius: 12px; }
.contact-icons a:focus-visible { outline: 3px solid #50514b; outline-offset: 3px; }
.contact-icons a img { display: block; width: 100%; max-width: 100%; height: auto; }

/* Wider layouts keep the mobile design's type, palette, and photo sequence. */
@media (min-width: 520px) {
  .page { max-width: 1440px; }
  .site-header {
    --header-height: clamp(88px, 8vw, 112px);
    padding-inline: clamp(24px, 4.5vw, 64px);
  }
  .site-header__logo { width: clamp(290px, 33vw, 440px); }
  .site-header__menu { width: 54px; }
  .site-menu {
    left: auto;
    right: clamp(24px, 4.5vw, 64px);
    width: min(420px, calc(100vw - 48px));
    padding: 24px 32px 30px;
  }
  .site-menu__item { min-height: 54px; font-size: 20px; }
  .site-menu__details p { font-size: 17px; }
  .site-menu__numbers { padding-top: 22px; }
  .site-menu__numbers small { font-size: 14px; }
  .site-menu__numbers p { font-size: 20px; }
  .site-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(175px, 24%); gap: clamp(24px, 5vw, 80px); padding: 42px clamp(24px, 4.5vw, 64px) 50px; }
  .site-footer__logo { width: min(100%, 400px); margin-bottom: 20px; }
  .site-footer__contact { font-size: 20px; }
  .site-footer__phone { font-size: 18px; }
  .site-footer__nav { gap: 16px; }
  .site-footer__nav a { font-size: 20px; }
  .site-footer__legal { font-size: 13px; padding: 13px 24px 16px; }

  .hero-photo {
    height: clamp(350px, 52vw, 760px);
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center top;
  }
  .intro { padding: clamp(30px, 4vw, 56px) 32px 0; }
  .intro h1 {
    max-width: 1050px;
    margin: 0 auto 20px;
    font-size: clamp(23px, 2.7vw, 36px);
    line-height: 1.2;
  }
  .intro__rule { max-width: 980px; height: 5px; margin-bottom: 20px; }
  .order-note, .section__note { font-size: clamp(18px, 1.6vw, 22px); line-height: 1.3; }
  .order-note { margin-bottom: 20px; }
  .contact-icons { gap: 16px; padding-inline: 16px; }
  .contact-icons a { width: 70px; flex: 0 0 70px; }
  .section { padding-top: clamp(48px, 5.5vw, 76px); }
  .section h2 {
    max-width: 1000px;
    margin-bottom: 26px;
    padding-inline: 24px;
    font-size: clamp(26px, 2.8vw, 38px);
    line-height: 1.16;
  }
  .section h2 small, .section h2 em { margin-top: 5px; font-size: clamp(20px, 1.9vw, 27px); line-height: 1.25; }
  .carousel {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
    aspect-ratio: 2.1;
    --carousel-gap: clamp(10px, 1.3vw, 18px);
  }
  .carousel__nav { width: 56px; height: 56px; }
  .section__note { margin: 24px 24px 18px; }
  .section--wholesale { padding-bottom: 70px; }

  .delivery-hero, .about-hero { padding: clamp(48px, 6vw, 86px) clamp(32px, 7vw, 100px); }
  .delivery-hero h1, .about-hero h1 { font-size: clamp(46px, 5vw, 72px); }
  .delivery-hero__rule, .about-hero__rule { max-width: 960px; height: 4px; margin: 26px 0; }
  .delivery-hero__lead, .about-hero__lead { max-width: 58ch; font-size: clamp(20px, 2vw, 26px); line-height: 1.4; }
  .delivery-process, .about-facts { max-width: 1160px; margin-inline: auto; padding: 64px 40px; }
  .delivery-process h2, .delivery-check h2, .delivery-support h2, .about-promise h2 { font-size: clamp(27px, 2.5vw, 34px); line-height: 1.18; }
  .delivery-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; margin-top: 30px; }
  .delivery-steps li { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 26px 0; }
  .delivery-steps li:nth-last-child(2) { border-bottom: 1px solid #c7c8c3; }
  .delivery-steps__number { font-size: 34px; }
  .delivery-steps h3, .about-facts__list h3 { font-size: 22px; line-height: 1.22; }
  .delivery-steps p, .about-facts__list p { font-size: 17px; line-height: 1.5; }
  .delivery-check, .about-promise { max-width: 1080px; margin: 0 auto; padding: 42px 48px; }
  .delivery-check p, .delivery-support p, .about-promise p { max-width: 65ch; font-size: 19px; line-height: 1.5; }
  .delivery-support { max-width: 1160px; margin-inline: auto; padding: 64px 40px 78px; }
  .about-facts__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 36px; }
  .about-facts__list li { padding: 26px 0 30px; border-bottom: 1px solid #c7c8c3; }
  .about-promise { margin-bottom: 72px; }
}

@media (min-width: 520px) and (max-width: 700px) {
  .site-header__logo { width: min(330px, calc(100% - 72px)); }
  .carousel { width: calc(100% - 24px); }
  .delivery-process, .about-facts { padding: 44px 30px; }
  .delivery-steps, .about-facts__list { display: block; }
  .delivery-steps li:nth-last-child(2) { border-bottom: 0; }
  .delivery-check, .about-promise { margin-inline: 20px; padding: 32px; }
  .delivery-support { padding: 46px 30px 60px; }
  .about-promise { margin-bottom: 60px; }
}
