/* Mobile photo albums. Desktop art direction is kept in its existing stylesheets. */
.mobile-gallery-controls{display:none}
.atelier-gallery{display:contents}
@media(max-width:700px){
  body[data-page] main .mobile-gallery-shell{
    --gallery-card:min(78vw,420px);--gallery-gap:14px;
    display:block;position:relative;min-width:0;width:100%;max-width:100%;
    margin:0;padding:0;grid-column:1/-1;isolation:isolate;
  }
  body[data-page] main .mobile-gallery-shell[data-mode="orbit"]{--gallery-card:min(70vw,390px);--gallery-gap:16px}
  body[data-page] main [data-mobile-gallery]{
    display:flex!important;position:relative!important;inset:auto!important;
    flex-direction:row!important;flex-wrap:nowrap!important;
    align-items:flex-start!important;justify-content:flex-start!important;gap:var(--gallery-gap,14px)!important;
    width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:var(--gallery-track-height,auto)!important;
    margin:0!important;padding:8px max(0px,calc((100% - var(--gallery-card,min(78vw,420px))) / 2)) 12px!important;
    overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-behavior:auto;
    scroll-padding-inline:max(0px,calc((100% - var(--gallery-card,min(78vw,420px))) / 2));
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;transform:none!important;animation:none!important;
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  }
  body[data-page] main [data-mobile-gallery]::-webkit-scrollbar{display:none}
  body[data-page] main [data-mobile-gallery]::before,
  body[data-page] main [data-mobile-gallery]::after{display:none!important}
  body[data-page] main [data-mobile-gallery]>:not([data-mobile-slide]){display:none!important}
  body[data-page] main [data-mobile-gallery]>[data-mobile-slide]{
    display:block!important;position:relative!important;inset:auto!important;
    flex:0 0 var(--gallery-card,min(78vw,420px))!important;
    width:var(--gallery-card,min(78vw,420px))!important;max-width:none!important;min-width:0!important;
    min-height:0!important;height:auto!important;aspect-ratio:auto!important;grid-column:auto!important;grid-row:auto!important;
    margin:0!important;padding:0!important;scroll-snap-align:center;
    opacity:1!important;
    transform:none!important;transform-origin:center center;overflow:visible!important;
  }
  body[data-page] main .mobile-gallery-shell[data-mode="orbit"] [data-mobile-slide]{
    transform:perspective(900px) rotateY(var(--gallery-tilt,0deg)) scale(var(--gallery-scale,1))!important;
    opacity:var(--gallery-opacity,1)!important;will-change:transform;
  }
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] :is(figure,.media-frame,.about-heritage-image,.about-heritage-inset,.about-heritage-studies,.gift-card-photo,.gift-set-card-photo,.fermented-variety-art,.about-opening-photo-main,.about-opening-photo-inset,.meet-invitation-photo-main,.meet-invitation-photo-detail,.archive-photo,.atelier-photo,.ct-location-photo){
    position:relative!important;inset:auto!important;display:block!important;width:100%!important;
    min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;
    transform:none!important;aspect-ratio:auto;flex:0 0 auto!important;
  }
  body[data-page] main [data-mobile-gallery] :is(.about-heritage-studies,.about-heritage-inset)::before,
  body[data-page] main [data-mobile-gallery] :is(.gift-card-photo,.gift-set-card-photo,.ct-location-photo)::before,
  body[data-page] main [data-mobile-gallery] :is(.gift-card-photo,.gift-set-card-photo,.about-tea-card)::after{display:none!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] img{
    display:block!important;position:relative!important;inset:auto!important;
    width:100%!important;height:auto!important;max-height:none!important;
    filter:none!important;transform:none!important;object-fit:var(--cms-image-fit-mobile,contain)!important;
  }
  body[data-page] main [data-gallery-ratio="square"] [data-mobile-slide] img{
    aspect-ratio:1!important;height:auto!important;
    object-fit:var(--cms-image-fit-mobile,cover)!important;
  }
  body[data-page] main [data-gallery-kind="products"] [data-mobile-slide] img,
  body[data-page] main [data-gallery-kind="logos"] [data-mobile-slide] img{object-fit:var(--cms-image-fit-mobile,contain)!important;background:transparent}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] .cms-picture{display:block;width:100%;height:auto}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] :is(.gift-card-link,.gift-set-card-link,.fermented-variety-link){display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;min-height:0!important;height:auto!important;flex:0 0 auto!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] :is(.gift-card-photo,.gift-set-card-photo){order:1!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] :is(.gift-card-copy,.gift-set-card-copy,.fermented-variety-copy){order:2!important;padding:18px 0 0!important;margin:0!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] :is(h3,.archive-caption-head strong){font-size:25px!important;line-height:1.2!important;color:var(--ink)!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] :is(.gift-set-card-summary,.gift-card-lead,.fermented-variety-description){font-size:var(--mobile-body,13px)!important;color:var(--muted)!important;line-height:1.75!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] .archive-picture figcaption{padding-top:16px!important}
  body[data-page] main [data-mobile-gallery] [data-mobile-slide] .archive-description{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
  body[data-page] main [data-mobile-gallery] .book-story-photo{aspect-ratio:auto!important}
  body[data-page] main [data-mobile-gallery] .media-frame:not(:has(img)){aspect-ratio:1!important;display:grid!important;place-content:center}
  body[data-page] main [data-mobile-gallery] .ct-location-copy{margin:0!important;padding-top:16px!important}
  body[data-page] main [data-mobile-gallery] .ct-location-photo{margin-top:18px!important}
  body[data-page] main [data-gallery-kind="locations"]>[data-mobile-slide]{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important}
  body[data-page] main .mobile-gallery-controls{
    display:block;width:100%;padding:8px 0 0;margin:0;border:0;color:var(--olive-text,#657344);
  }
  .mobile-gallery-count{display:block;text-align:center;font:400 11px/1.5 var(--sans);letter-spacing:.1em;font-variant-numeric:tabular-nums}
  .mobile-gallery-progress{display:block;position:relative;width:64px;height:2px;margin:5px auto 4px;background:var(--line,#cbd0bf);overflow:hidden;border-radius:2px}
  .mobile-gallery-progress::after{content:"";position:absolute;inset:0;background:currentColor;transform:scaleX(var(--gallery-progress,0));transform-origin:left;transition:transform .35s ease}
  body[data-page] main .mobile-gallery-button{
    position:absolute;z-index:3;top:var(--gallery-image-center,calc(var(--gallery-card) / 2 + 8px));
    display:grid;place-items:center;width:44px;height:44px;min-height:0;margin:0;padding:0;
    border:0;border-radius:0;background:transparent;box-shadow:none;transform:translateY(-50%);
    color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  body[data-page] main .mobile-gallery-prev{left:calc(max(0px,(100% - var(--gallery-image-width,var(--gallery-card))) / 2) + 4px)}
  body[data-page] main .mobile-gallery-next{right:calc(max(0px,(100% - var(--gallery-image-width,var(--gallery-card))) / 2) + 4px)}
  .mobile-gallery-button svg{display:block;width:24px;height:24px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:drop-shadow(0 1px 2px #10251ddd) drop-shadow(0 0 1px #10251d)}
  .mobile-gallery-button:focus-visible,[data-mobile-gallery]:focus-visible{outline:2px solid var(--olive-text);outline-offset:4px}
  body[data-page="/"] .hero-carousel .hero-controls{inset:0;background:transparent;pointer-events:none}
  body[data-page="/"] .hero-carousel .hero-controls-inner{position:static;padding:0}
  body[data-page="/"] .hero-carousel .hero-controls-top{position:static;padding:0}
  body[data-page="/"] .hero-carousel .hero-arrows{display:contents}
  body[data-page="/"] .hero-carousel .hero-arrows button{
    position:absolute;top:50%;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:0;
    background:transparent;box-shadow:none;transform:translateY(-50%);transition:none;pointer-events:auto;
    color:#fff;font-size:30px;text-shadow:0 1px 3px #10251ddd;
  }
  body[data-page="/"] .hero-carousel [data-slide-prev]{left:4px}
  body[data-page="/"] .hero-carousel [data-slide-next]{right:4px}
  body[data-page="/"] .hero-carousel .hero-markers{
    position:absolute;left:var(--mobile-gutter,24px);right:var(--mobile-gutter,24px);
    bottom:calc(10px + env(safe-area-inset-bottom));margin:0;pointer-events:auto;
  }
  body[data-page="/"] .home-moments .mobile-gallery-shell{order:3}
  body[data-page="/"] .home-moments .home-gallery-meta{display:none}
  body[data-page] main :is(.flower-photo-gallery,.ngoc-photo-gallery)>.mobile-gallery-shell{width:calc(100% - 2 * var(--mobile-gutter,24px));margin-inline:auto}
  body[data-page] main .about-prologue-visual>.about-heritage-studies{margin:0}
  body[data-page] main .atelier-composition:has([data-mobile-gallery]){display:flex;flex-direction:column;gap:28px;min-height:0;aspect-ratio:auto}
  body[data-page] main .atelier-composition:has([data-mobile-gallery]) .atelier-copy{order:1;position:relative;inset:auto;width:100%;padding:0}
  body[data-page] main .atelier-composition .mobile-gallery-shell{order:2}
  body[data-page] main .home-seals-window:has([data-mobile-gallery]){width:calc(100% - 2 * var(--mobile-gutter,24px));margin-inline:auto;overflow:visible;mask-image:none;-webkit-mask-image:none}
  body[data-page] main .home-seals-track:has([data-mobile-gallery]){display:block;width:100%;transform:none;animation:none}
  body[data-page] main .home-seals-track:has([data-mobile-gallery])>.home-seals-group[aria-hidden="true"]{display:none}
  body[data-page] main [data-gallery-kind="logos"]{--gallery-card:min(64vw,290px)}
  body[data-page] main .gift-set-grid[data-mobile-gallery] .gift-set-card[data-gift-priority="flagship"]{background:transparent!important;border:0!important}
  /* A compact vertical album moves photographs while touches continue scrolling the page. */
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"]{
    --gallery-window:calc(var(--gallery-card) * .75);width:var(--gallery-card);margin-inline:auto;
  }
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"]>[data-mobile-gallery]{
    flex-direction:column!important;gap:0!important;padding:0!important;
    height:var(--gallery-window)!important;overflow-x:hidden!important;overflow-y:hidden!important;
    scroll-snap-type:none!important;scroll-padding:0;touch-action:pan-y;overscroll-behavior-y:auto;
    border-radius:12px!important;background:var(--paper)!important;
  }
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"] [data-mobile-gallery]>[data-mobile-slide]{
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 var(--gallery-window)!important;width:100%!important;height:var(--gallery-window)!important;
    overflow:hidden!important;
  }
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"] [data-mobile-slide] .cms-picture{height:100%!important}
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"] [data-mobile-slide] img{
    width:100%!important;height:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;
  }
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"] .mobile-gallery-button{left:auto;right:4px}
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"] .mobile-gallery-prev{top:calc(var(--gallery-image-center) - 24px)}
  body[data-page] main .mobile-gallery-shell[data-mode="vertical"] .mobile-gallery-next{top:calc(var(--gallery-image-center) + 24px)}
  .mobile-gallery-shell[data-mode="vertical"] .mobile-gallery-button svg{transform:rotate(90deg)}
  @media(prefers-reduced-motion:reduce){
    body[data-page] main .mobile-gallery-shell[data-mode="orbit"] [data-mobile-slide]{transform:none!important;opacity:1!important;will-change:auto}
    [data-mobile-gallery]{scroll-behavior:auto!important}
    .mobile-gallery-progress::after{transition:none}
  }
}
