/* Quiet studio depth. Foreground motion never changes document geometry. */
body.catalog-router-ready::before {
  background:
    radial-gradient(ellipse at 80% 24%, #e9cfdd8c 0, #f2e1e866 27%, transparent 62%),
    radial-gradient(ellipse at 7% 79%, #eadfcd59 0, transparent 58%),
    linear-gradient(135deg, #fffdfa, #faf5f5 58%, #f8f1ed);
}
body > .site-header { height: 210px; min-height: 210px; padding-block: 12px 6px; }
.bakery-logo-medallion { width: 228px; height: 192px; }
.bakery-logo-medallion > .bakery-logo { filter: drop-shadow(0 2px 1px #7a365b16) drop-shadow(0 9px 12px #71415b09); }
.catalog-nav.shell { margin-block: 4px 8px; }
.bakery-home { position: relative; }
.bakery-hero.shell {
  width: min(1150px, calc(100% - 112px));
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4%; padding-block: 28px 72px; align-items: center;
}
.bakery-hero-copy { position: relative; z-index: 2; align-self: start; padding-block: 45px 14px; }
.bakery-hero-copy h1 {
  font-size: clamp(50px, 4.6vw, 70px); line-height: 1.02; letter-spacing: -.025em;
  color: #5e354b; text-shadow: 0 2px 0 #fff9, 0 12px 28px #542f4410;
}
.bakery-hero-copy .bakery-eyebrow { margin-bottom: 23px; font-size: 10px; letter-spacing: .16em; }
.bakery-hero-copy .hero-description { margin-block: 25px 28px; font-size: 15px; color: #795a6a; }
.bakery-hero-photo { position: relative; overflow: visible; }
.bakery-hero-photo::before {
  content: ''; position: absolute; inset: 15% 3% 9%; border-radius: 50%; z-index: -1;
  background: radial-gradient(ellipse, #fffdfb96, #fffdfb33 44%, transparent 71%);
  pointer-events: none;
}
.bakery-hero-photo::after {
  content: ''; position: absolute; width: 51%; height: 20px; left: 25%; bottom: 8px; z-index: -1;
  background: #68465420; border-radius: 50%; filter: blur(15px); pointer-events: none;
}
.bakery-hero-photo img {
  height: clamp(370px, 38vw, 480px); object-fit: contain; mask-image: none; -webkit-mask-image: none;
  transform: translate3d(0, var(--cake-scroll-y, 0px), 0) scale(var(--cake-scroll-scale, 1));
  transform-origin: 50% 70%;
  filter: drop-shadow(0 7px 7px #53384714) drop-shadow(0 28px 25px #53384716);
}
.bakery-home .primary-button { min-height: 50px; padding-inline: 27px; font-weight: 500; }
.bakery-gallery { padding-block: 22px 44px; }
.gallery-heading.shell { width: min(1150px, calc(100% - 112px)); margin-bottom: 32px; align-items: end; }
.gallery-heading h2 { font-size: clamp(38px, 3.7vw, 50px); color: #5e354b; }
.gallery-filters { gap: 3px; padding: 0; }
.gallery-filters button { min-height: 44px; font-weight: 500; }
.cake-marquee { padding-block: 8px 36px; }
.cake-marquee-group { gap: 28px; padding-right: 28px; }
.cake-photo { width: clamp(250px, 24vw, 340px); border-radius: 8px; }
.cake-photo img {
  aspect-ratio: 4 / 3; border: 5px solid #fffdfb; border-radius: 8px; object-fit: contain;
  background: #fffdfb; box-shadow: 0 2px 3px #49313c0a, 0 15px 30px -19px #49313c45;
  transition: transform .65s cubic-bezier(.2,.7,.2,1), box-shadow .65s ease;
}
.cake-photo:hover img, .cake-photo:focus-visible img { transform: translateY(-4px); box-shadow: 0 4px 5px #49313c0a, 0 22px 34px -18px #49313c55; }
.cake-photo span { padding-inline: 4px; font-size: 12px; color: #765463; margin-top: 15px; }
.bakery-reviews.shell {
  position: relative; width: min(850px, calc(100% - 80px)); padding: 44px 0 65px; margin: 0 auto 35px;
  text-align: center; outline-offset: 12px;
}
.bakery-review-rating { margin: 0 0 26px; font-size: 12px; letter-spacing: .22em; color: #a46b76; }
.bakery-review-stack { display: grid; align-items: center; min-height: 178px; }
.bakery-review {
  grid-area: 1 / 1; margin: 0; opacity: 0; pointer-events: none;
  transition: opacity .8s ease; align-self: center;
}
.bakery-review[data-review-active="true"] { opacity: 1; pointer-events: auto; }
.bakery-review blockquote { margin: 0 auto; max-width: 30ch; color: #684354; font: 500 clamp(27px, 3vw, 38px)/1.25 var(--serif); letter-spacing: -.012em; }
.bakery-review figcaption { margin-top: 22px; color: #826475; font-size: 11px; letter-spacing: .09em; }
.bakery-review-source { display: inline-flex; align-items: center; min-height: 44px; margin-top: 18px; color: #795c6c; font-size: 11px; text-decoration: underline; text-decoration-color: #bd9cae; text-underline-offset: 5px; }
.bakery-about.shell { max-width: 1030px; padding-block: 36px 92px; gap: clamp(45px, 7vw, 105px); align-items: center; }
.bakery-about .tamara-portrait { padding: 5px; border: 0; border-radius: 12px; background: #fffdfb; box-shadow: 0 2px 3px #5033430a, 0 26px 50px -28px #50334355; }
.bakery-about .tamara-portrait img { border-radius: 8px; box-shadow: none; }
.bakery-about .tamara-story h2 { font-size: clamp(40px, 4vw, 52px); }
.bakery-about .tamara-story p { font-size: 15px; line-height: 1.9; }
.bakery-about .tamara-community img { border: 0; padding: 3px; border-radius: 7px; box-shadow: 0 10px 22px -16px #50334350; }
.bakery-about .tamara-community figcaption { font-size: 18px; line-height: 1.4; }
/* Scale only foreground content. The marquee inherits its progress into each
   stage; its shared cloud pseudo-element and all section backgrounds stay put. */
.bakery-home .bakery-hero-copy,
.bakery-home .gallery-heading,
.bakery-home .bakery-reviews,
.bakery-home .bakery-about,
.bakery-home .bakery-gallery .cake-photo-stage {
  scale: var(--section-scale, 1);
  transform-origin: 50% 70%;
}
.bakery-home .bakery-hero-copy { transform-origin: 0 70%; }
.bakery-home .bakery-gallery .cake-photo-stage { transform-origin: 50% 100%; }
.bakery-home [data-reveal] { transition: opacity .9s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.cake-marquee-track[data-motion-paused="true"] { animation-play-state: paused; }
.bakery-home [data-reveal][data-reveal-visible="false"] { opacity: 0; transform: translate3d(0, 16px, 0); }
.bakery-home [data-reveal][data-reveal-visible="true"] { opacity: 1; transform: none; }
@media (max-width: 1000px) and (min-width: 701px) {
  .bakery-hero.shell, .gallery-heading.shell { width: calc(100% - 72px); }
  .bakery-hero-copy h1 { font-size: 54px; }
}
@media (max-width: 700px) {
  body > .site-header { height: 180px; min-height: 180px; padding-block: 14px 6px; }
  .bakery-logo-medallion { width: 180px; height: 160px; }
  .catalog-nav.shell { margin-block: 3px 8px; }
  .bakery-hero.shell { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 10px; padding-block: 29px 40px; }
  .bakery-hero-copy { padding-block: 0 7px; }
  .bakery-hero-copy h1 { font-size: clamp(41px, 11.5vw, 54px); line-height: 1.03; }
  .bakery-hero-copy .bakery-eyebrow { font-size: 9px; letter-spacing: .12em; margin-bottom: 16px; }
  .bakery-hero-copy .hero-description { font-size: 14px; margin-block: 18px 21px; }
  .bakery-hero-photo { width: 100%; max-width: 420px; }
  .bakery-hero-photo img { height: clamp(310px, 88vw, 390px); }
  .bakery-hero-photo::after { bottom: 10px; height: 12px; opacity: .7; }
  .gallery-heading.shell { width: calc(100% - 40px); margin-bottom: 24px; }
  .gallery-heading h2 { font-size: 38px; }
  .gallery-filters { margin-top: 18px; }
  .gallery-filters button { padding-inline: 14px; font-size: 12px; }
  .bakery-gallery { padding-block: 15px 20px; }
  .cake-photo { width: 252px; }
  .cake-marquee-group { gap: 18px; padding-right: 18px; }
  .cake-marquee { padding-bottom: 25px; }
  .bakery-reviews.shell { width: calc(100% - 48px); padding-block: 30px 39px; margin-bottom: 18px; }
  .bakery-review-rating { margin-bottom: 18px; }
  .bakery-review-stack { min-height: 185px; }
  .bakery-review blockquote { font-size: 29px; line-height: 1.27; }
  .bakery-review figcaption { margin-top: 19px; }
  .bakery-review-source { margin-top: 6px; }
  .bakery-about.shell { padding-block: 29px 64px; gap: 32px; }
  .bakery-about .tamara-portrait { max-width: 340px; padding: 4px; }
  .bakery-about .tamara-story h2 { font-size: 39px; }
  .bakery-about .tamara-story p { font-size: 14px; }
  .product-page .cake-preview { background: transparent; }
  .product-page .cake-preview::before {
    content: ''; position: absolute; inset: -8px -12px 0; z-index: -1; pointer-events: none;
    background: linear-gradient(180deg, #fffaf970, #fffaf945); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    mask-image: linear-gradient(#000 80%, transparent); -webkit-mask-image: linear-gradient(#000 80%, transparent);
    border-radius: 24px;
  }
}
@media (max-width: 359px) {
  .bakery-logo-medallion { width: 164px; height: 154px; }
  .bakery-hero.shell, .gallery-heading.shell { width: calc(100% - 32px); }
  .bakery-hero-copy h1 { font-size: 40px; }
  .gallery-filters { gap: 0; }
  .gallery-filters button { padding-inline: 12px; }
  .bakery-review blockquote { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .bakery-home .bakery-hero-copy,
  .bakery-home .gallery-heading,
  .bakery-home .bakery-reviews,
  .bakery-home .bakery-about,
  .bakery-home .bakery-gallery .cake-photo-stage { scale: 1; }
  .bakery-hero-photo img { transform: none; }
  .bakery-home [data-reveal], .bakery-home [data-reveal][data-reveal-visible] { opacity: 1; transform: none; transition: none; }
  .bakery-review, .cake-photo img { transition: none; }
  .cake-photo:hover img, .cake-photo:focus-visible img { transform: none; }
}
