/* Mobile typography: horizontal reading, one text column, consistent left edge. */
@media (max-width:760px) {
  :root { --page-gutter:22px; --fs-h2:22px; --fs-h3:19px; --section-gap:52px; }
  .section-index { margin-bottom:18px; padding-bottom:0; }
  .section-label,.eyebrow { font-size:10px; letter-spacing:.14em; }
  .hero-card,.notice-excerpt,.ip-copy,.story-copy,.brand-note,.section-intro,.space-group-copy,.outlook-copy,.guest-note-intro { text-align:left; writing-mode:horizontal-tb; }
  .section-intro br,.space-group-copy br,.guest-note-intro br { display:none; }

  /* Keep the signature together; supporting copy follows beneath it. */
  .hero { padding-top:78px; }
  .hero-media { width:calc(100% - 24px); margin-inline:auto; height:auto; aspect-ratio:auto; object-fit:contain; }
  .hero-inner { width:calc(100% - 44px); padding-top:22px; }
  .hero-card { display:block; }
  .hero-heading { gap:12px; }
  .hero-meta { font-size:9px; letter-spacing:.14em; }
  .hero h1#hero-title { display:flex; flex-wrap:nowrap; align-items:center; gap:.4em; font-size:23px; padding:.15em 0; }
  #hero-title .motto-line + .motto-line { margin:0; }
  .hero-bottom { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 0; }
  .hero-note { max-width:none; font-family:var(--display); font-size:12px; line-height:1.9; letter-spacing:.03em; text-align:left; }
  .hero-note > span { display:inline; white-space:normal; }
  .hero-bottom a { height:36px; min-width:44px; justify-content:flex-end; }
  .hero-bottom a > span:last-child { width:32px; height:32px; border:0; border-bottom:1px solid var(--line-strong); border-radius:0; }
  .hero-bottom .ui-arrow { width:15px; height:15px; }

  .brand-notice { margin-top:26px; padding:22px 0 14px; }
  .notice-label { font-size:9px; margin-bottom:10px; }
  .notice-label .brand-emblem { width:14px; }
  .notice-heading h2 { font-size:18px; letter-spacing:.02em; line-height:1.6; }
  .notice-excerpt { margin-top:18px; gap:16px; }
  .notice-excerpt section { display:block; }
  .notice-excerpt h3 { font-size:11px; line-height:1.8; margin:0 0 7px; }
  .notice-excerpt p { font-size:12px; line-height:1.85; }
  .notice-details > summary { font-size:10px; min-height:40px; margin-top:10px; }

  .ip-chapter { padding-top:44px; }
  .ip-chapter > .section-index { margin-bottom:0; padding-bottom:16px; }
  .ip-intro { padding:0; gap:22px; }
  .ip-kicker { font-size:8px; letter-spacing:.16em; margin-bottom:8px; }
  .ip-copy h2 { font-size:21px; line-height:1.5; }
  .ip-lead { font-size:13px; line-height:1.9; margin-top:12px; }
  .ip-profile { margin-top:14px; }
  .ip-profile > div { font-size:11px; gap:10px; grid-template-columns:38px minmax(0,1fr); padding-block:3px; }
  .ip-gallery { width:min(100%,322px); grid-template-columns:minmax(0,1fr) 72px; gap:18px; margin:0 auto; }
  .ip-interaction { width:100%; max-width:230px; }
  .ip-views { gap:8px; }
  .ip-views figcaption { font-size:9px; }
  .ip-touch { right:0; bottom:4px; padding:6px 8px; gap:6px; }
  .ip-touch b { font-size:9px; }
  .ip-interaction figcaption { font-size:10px; padding-top:5px; }

  .story { padding-top:52px; }
  .story-copy { display:block; }
  .story-copy h2 { font-size:22px; line-height:1.5; writing-mode:horizontal-tb; letter-spacing:.04em; margin:0 0 14px; }
  .story-body { max-width:none; }
  .story-copy p { font-size:13px; line-height:1.95; }
  .story-body p + p { margin-top:12px; }
  .story-picture { margin-top:24px; }
  .story-picture img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
  .story-picture figcaption { font-size:9px; padding-top:10px; }
  .brand-note { margin:18px 0 0; max-width:none; }
  .brand-note p { font-size:12px; line-height:1.9; }

  .taste { padding-top:54px; }
  .soup-heading { display:block; margin-bottom:12px; }
  .soup-heading h2 { font-size:22px; }
  .soup-heading p { font-size:11px; letter-spacing:.02em; margin-top:10px; }
  .soup-showcase { width:calc(100% - 44px); }
  .soup-picture .image-view { width:min(100%,306px); }
  .soup-picture figcaption { flex-direction:row; justify-content:space-between; align-items:baseline; padding:12px 2px 16px; gap:10px; }
  .soup-picture figcaption > span { font-size:20px; letter-spacing:.04em; }
  .soup-picture figcaption small { font-size:10px; letter-spacing:.06em; }
  .soup-controls { max-width:none; border-top:1px solid var(--line); margin-top:0; gap:8px; padding-top:5px; }
  .soup-arrow { width:44px; height:44px; border:0; font-size:20px; }
  .soup-pagination { gap:8px; }
  .soup-pagination button { width:32px; font-size:10px; }
  .soup-status { margin-top:5px; font-size:9px; }
  .taste > .flavor-band { margin:32px auto 40px; }
  .taste > .flavor-band .flavor-section { padding:0; gap:12px; }
  .flavor-heading { display:block; }
  .flavor-heading .eyebrow { display:block; font-size:10px; margin:0 0 8px; }
  .flavor-heading h3 { font-size:18px; }
  .flavor-tabs { gap:0 12px; }
  .flavor-tabs button,.flavor-tabs button[aria-selected=true] { font-size:12px; line-height:1.6; min-height:44px; }
  .flavor-panel { min-height:92px; padding:12px 0 24px; gap:18px; }
  .flavor-character { font-size:44px; }
  .flavor-panel h4 { font-size:15px; margin-bottom:5px; }
  .flavor-panel p { font-size:12px; line-height:1.85; max-width:none; }
  .taste > .section-intro { display:block; margin-bottom:22px; }
  .taste > .section-intro h2 { font-size:22px; line-height:1.5; writing-mode:horizontal-tb; letter-spacing:.04em; margin:0 0 14px; }
  .taste > .section-intro p { font-size:13px; line-height:1.95; }
  .food-gallery { width:calc(100% - 44px); }
  .food-track figcaption { padding:10px 0 0; gap:8px; }
  .food-track figcaption > span:first-child,.food-track figcaption > span:last-child { font-size:10px; letter-spacing:0; }
  .gallery-controls { width:100%; margin-top:7px; }
  .gallery-controls .gallery-select { gap:12px; }
  .gallery-controls .gallery-select button { font-size:10px; min-width:30px; }
  .gallery-controls > div:last-child { gap:2px; }

  .taste-more { padding-top:28px; }
  .small-tastes-heading { padding:16px 0 8px; }
  .small-tastes-heading h3 { font-size:18px; }
  .product-row { padding-top:50px; gap:18px 10px; }
  .product-motion,.product > img { width:100%; height:auto; max-width:108px; aspect-ratio:1; margin-inline:auto; }
  .product figcaption { font-size:10px; padding-top:4px; }

  /* Keep space copy at reading width; vary photograph sizes independently. */
  .space { padding-top:52px; }
  .space > .section-index { margin-bottom:14px; }
  .space-guide { top:78px; margin:0 auto 20px 0; padding:0 5px; border-radius:0; border:0; box-shadow:none; background:rgba(255,255,255,.96); }
  .space-guide a { font-size:10px; min-height:44px; padding:8px 10px; gap:5px; border-radius:0; }
  .space-guide a[aria-current] { background:none; }
  .space-establish { gap:22px 20px; }
  .space-establish .space-picture { grid-column:1 / 7; grid-row:2; }
  .space-composed .section-intro { grid-column:1 / 7; grid-row:1; display:block; padding:0; }
  .space-composed .section-intro h2 { writing-mode:horizontal-tb; font-size:22px; letter-spacing:.05em; margin:0 0 12px; }
  .space-composed .section-intro p { max-width:none; font-size:12px; line-height:1.9; margin:0; }
  .space-establish .space-wall { grid-column:3 / 7; grid-row:3; padding:0; margin:0; }
  .space-composed figcaption > span:first-child { font-size:12px; }
  .space-composed figcaption { font-size:9px; }
  .space-details-layout { margin-top:36px; }
  .space-detail-group { gap:18px; }
  .space-group-copy { display:block; }
  .space-margin-label { display:block; font-size:9px; margin:0 0 8px; }
  .space-group-copy h3 { font-size:20px; letter-spacing:.04em; margin:0 0 12px; }
  .space-group-copy p { font-size:12px; line-height:1.9; margin:0; }
  .space-pair { grid-template-columns:1.15fr 1fr; gap:18px; }
  .space-pair .space-card:nth-child(2) { margin-top:38px; }
  .space-people-group { margin-top:40px; }
  .space-people-group .space-pair { gap:18px; padding-right:22px; }
  .space-people-group .space-card:first-child,.space-people-group .space-card:nth-child(2) { flex-basis:min(72%,218px); }
  .space-people-group .space-card:nth-child(2) { margin-top:28px; }
  .people-controls { margin-top:0; }

  .brand-outlook { padding-block:50px 24px; }
  .outlook-line { display:block; line-height:1.9; }
  .outlook-line > span { display:inline; }
  .outlook-line:nth-child(2),.outlook-line:nth-child(3) { padding-left:0; }
  .outlook-line + .outlook-line { margin-top:18px; }
  .outlook-line > span:first-child { font-size:12px; letter-spacing:0; margin:0; }
  .outlook-line > span:last-child { font-size:16px; letter-spacing:.02em; }
  .outlook-invitation { font-size:10px; margin:26px 0 0; letter-spacing:0; }
  .outlook-invitation > span { display:inline; }
  .outlook-invitation::before { margin-bottom:12px; }
  .outlook-top { font-size:9px; margin-top:14px; }

  .guest-note { padding-top:26px; padding-bottom:36px; }
  .guest-note-intro { display:block; }
  .guest-note .eyebrow { font-size:9px; margin:0 0 8px; }
  .guest-note h2 { font-size:21px; margin:0 0 12px; }
  .guest-note-intro > p:not(.eyebrow) { font-size:12px; margin:0; line-height:1.9; }
  .guest-form { margin-top:22px; }
  .guest-form input,.guest-form textarea,.guest-form select { margin-bottom:16px; }
  .guest-form textarea { min-height:112px; }
  .site-footer { padding-top:26px; }
  .footer-main { gap:16px; }

  .music-entry-brand { font-size:10px; margin-bottom:26px; }
  .music-entry h2 { font-size:28px; }
  .music-entry-divider { margin-block:26px; }
}

@media (max-width:359px) {
  :root { --page-gutter:18px; }
  .hero h1#hero-title { font-size:21px; }
  .notice-heading h2 { font-size:17px; }
  .ip-gallery { grid-template-columns:minmax(0,1fr) 64px; gap:12px; }
  .space-establish { column-gap:16px; }
  .space-composed .section-intro h2,.space-group-copy h3 { font-size:19px; }
}
