@media (max-width: 800px) {
  body { padding: 20px 12px; background-attachment: scroll; }
  .site-card { min-height: calc(100vh - 40px); outline-offset: 4px; }
  .site-banner { min-height: 125px; gap: 24px; padding-inline: 38px; }
  .banner-flourish { font-size: 1.65rem; }
  .tab-nav { grid-template-columns: repeat(3, 1fr); }
  .tab-button:nth-child(3) { border-right: 0; }
  .tab-button:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .panel { min-height: 0; padding: 42px 28px; }
  .home-grid { grid-template-columns: minmax(230px, .85fr) 1.15fr; gap: 34px; }
  .mini-links { grid-template-columns: repeat(2, 1fr); }
  .mini-links a:nth-child(2) { border-right: 0; }
  .mini-links a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .about-layout { grid-template-columns: minmax(210px, 290px) 1fr; gap: 30px; }
  .about-layout.about-text-only { grid-template-columns: minmax(155px, 210px) 1fr; }
  .service-card { grid-template-columns: 120px 1fr; }
  .service-card img { width: 120px; height: 115px; }
  .service-price { grid-column: 2; text-align: left; font-size: 1.8rem; }
  .service-price small { display: inline; margin-right: 8px; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .category-top { grid-template-columns: minmax(240px, .9fr) minmax(280px, 1.1fr); }
  .category-main-image, .category-price-box { min-height: 360px; }
  .terms-grid { grid-template-columns: 1fr; }
  .terms-aside { display: grid; grid-template-columns: 1fr 180px; align-items: center; gap: 20px; }
  .terms-aside .panel-heading { margin-bottom: 0; }
  .terms-aside img { grid-column: 2; grid-row: 1 / 3; }
  .terms-aside > p { text-align: left; }
}

@media (max-width: 600px) {
  .page-decoration { display: none; }
  .site-banner { min-height: 112px; padding: 20px 30px; }
  .banner-curtains { opacity: .52; }
  .language-switch { top: 7px; right: 8px; }
  .language-button { min-width: 34px; padding: 6px 7px; }
  .site-banner::before, .site-banner::after { width: 20px; }
  .brand-kicker { font-size: .56rem; letter-spacing: .17em; }
  .brand h1 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .banner-flourish { display: none; }
  .tab-button { min-height: 44px; font-size: .61rem; letter-spacing: .09em; }
  .panel { padding: 38px 20px; }
  .home-grid { grid-template-columns: 1fr; }
  .home-rose-detail { top: -18px; right: -55px; width: 190px; opacity: .3; }
  .section-corner-rose { top: 4px; right: 2px; width: 105px; opacity: .13; }
  .rose-emblem { width: min(100%, 360px); margin-inline: auto; }
  .home-copy { text-align: center; }
  .home-copy .ornament-line, .home-copy > p:not(.eyebrow) { margin-inline: auto; }
  .home-actions, .status-note { justify-content: center; }
  .about-layout, .about-layout.about-text-only { grid-template-columns: 1fr; }
  .about-side-roses { width: min(100%, 220px); max-height: 250px; margin: 0 auto -24px; object-position: center 61%; }
  .about-bouquet { right: -20px; bottom: -30px; width: 125px; opacity: .35; }
  .paper-note dl div { grid-template-columns: 1fr; gap: 0; }
  .service-card { grid-template-columns: 95px 1fr; gap: 15px; padding: 10px; }
  .service-card img { width: 95px; height: 110px; }
  .service-card ul { display: grid; gap: 2px; }
  .service-price { grid-column: 1 / 3; padding: 7px 10px; border-top: 1px solid var(--line); text-align: right; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .category-tabs { grid-template-columns: repeat(2, 1fr); }
  .category-tab:nth-child(2) { border-right: 0; }
  .category-tab:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .category-tab:last-child { grid-column: 1 / -1; }
  .category-top { grid-template-columns: 1fr; }
  .category-main-image { min-height: 0; aspect-ratio: 1; }
  .category-price-box { min-height: 0; }
  .category-gallery { grid-template-columns: repeat(3, 1fr); }
  .terms-aside { display: block; }
  .terms-aside .panel-heading { text-align: center; }
  .terms-aside img { width: 190px; }
  .terms-aside > p { text-align: center; }
  .queue-box { padding-inline: 25px; }
  .social-links { grid-template-columns: repeat(2, 1fr); }
  .site-footer { min-height: 104px; }
  .footer-copy { flex-direction: column; gap: 6px; }
  .lightbox { width: 96vw; height: 86vh; padding: 44px 32px; }
}

@media (max-width: 380px) {
  body { padding-inline: 7px; }
  .site-card { outline: 0; }
  .tab-nav { grid-template-columns: repeat(2, 1fr); }
  .tab-button:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.18); }
  .tab-button:nth-child(even) { border-right: 0; }
  .tab-button:nth-child(-n+4) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .panel { padding-inline: 15px; }
  .panel-heading h2, .home-copy h2, .queue-box h2 { font-size: 2.45rem; }
  .mini-links { grid-template-columns: 1fr; }
  .mini-links a { border-right: 0; border-bottom: 1px solid var(--line); }
  .mini-links a:last-child { border-bottom: 0; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item { max-width: 280px; margin-inline: auto; }
  .category-gallery { grid-template-columns: repeat(2, 1fr); }
  .category-gallery .gallery-item { max-width: none; }
  .social-links { grid-template-columns: 1fr; }
}
