/* V4: actual replacement artwork, not a recolour of the old menu crops.
   Opaque cream photographs are intentional. No alpha/transparency claim. */
.studio-section {
  background: var(--cream);
  border: 1px solid rgb(255 255 255 / .85);
  padding: clamp(22px, 3vw, 40px);
  box-shadow: inset 0 1px 0 white, 0 12px 28px -18px rgb(104 48 64 / .28);
}
.studio-section .menu-section-heading {
  margin-bottom: 8px;
}
.studio-section .menu-section-heading h2 {
  color: var(--green);
  -webkit-text-stroke: 0;
  text-shadow: none;
  font-weight: 800;
  letter-spacing: -.015em;
}
.studio-section .range-card { padding: 0; }
.studio-section .range-card > p {
  max-width: none;
  margin-top: 10px;
  font-size: 13px;
}
.studio-photo {
  position: relative;
  background: var(--cream);
  isolation: isolate;
}
.studio-photo > img { width: 100%; height: auto; }
/* Blend only the empty outer margin into the cream surface.
   No silhouette mask, colour filter or cover-cropping of the products. */
.studio-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, var(--cream), transparent 1.2%, transparent 98.8%, var(--cream)),
    linear-gradient(0deg, var(--cream), transparent 7%, transparent 96.5%, var(--cream));
}
.menu-main, .menu-mosaic { min-width: 0; }
.range-scroll { overflow-x: auto; max-width: 100%; min-width: 0; border-radius: 8px; }
.range-scroll:focus-visible { outline-offset: -3px; }
.range-hint { display: none; }
.studio-section .drink-layout { display: block; }
.studio-section .drink-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  border-top: 1px solid rgb(8 75 53 / .13);
  padding-top: 24px;
  margin-top: 14px;
}
.studio-section .drink-list h3 { font-size: clamp(20px, 2vw, 27px); }
.studio-section .drink-list p { font-size: 13px; line-height: 1.55; margin-top: 9px; }
.studio-disclaimer { font-size: 11px; color: var(--muted); margin-top: 20px; }
/* The new blue asset is reframed through empty photographic margins only.
   Source window: x175 y205 w685 h1210 in a 1024x1536 image.
   The peak, full wafer and pointed tip remain inside this window. */
.studio-cone {
  position: relative;
  aspect-ratio: 685 / 1210;
  overflow: hidden;
  background: var(--cream);
}
.studio-cone > img {
  position: absolute;
  max-width: none;
  width: calc(1024 / 685 * 100%);
  height: auto;
  left: calc(175 / 685 * -100%);
  top: calc(205 / 1210 * -100%);
}
.favourite-art.natural-cone {
  border-radius: 0;
  overflow: visible;
  background: var(--cream);
}
.natural-cone .studio-photo::after {
  background:
    linear-gradient(90deg, var(--cream), transparent 8%, transparent 92%, var(--cream)),
    linear-gradient(0deg, var(--cream), transparent 4%, transparent 97%, var(--cream));
}
.product-photo.natural-cone { border-radius: 12px; }
/* A consistent cream photo mount makes the retained pink artwork and new
   cream-blue portrait a deliberate pair, rather than a stray replacement tile. */
.single-grid .product-photo {
  padding: 5px;
  background: var(--cream);
  border: 1px solid rgb(255 255 255 / .65);
  border-radius: 12px;
  box-shadow: 0 4px 9px -7px rgb(104 48 64 / .25);
}
.single-grid .product-photo > .atlas { border-radius: 7px; }
.sherbet-pair { gap: 8px; align-items: start; }
/* Explicit breathing room, independent of the general paragraph rule. */
.about-copy > .script-note {
  margin-bottom: clamp(38px, 3.5vw, 52px);
  letter-spacing: .012em;
  line-height: 1.5;
}
.cream-section { background-image: none; }
@media (max-width: 700px) {
  .studio-section { padding: 22px 14px; }
  .range-scroll > .studio-photo { min-width: 760px; }
  .range-hint { display: block; margin: 5px 0 14px; font-size: 11px; color: var(--muted); }
  .studio-section .drink-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 16px; }
  .about-copy > .script-note { margin-bottom: 34px; }
}
@media print {
  .range-scroll { overflow: visible; }
  .range-scroll > .studio-photo { min-width: 0; }
  .range-hint { display: none; }
  .studio-section { box-shadow: none; }
}
