/* One fluid tablet canvas: use viewport/container units, without width breakpoints or font clamps.
   Main-page layout only. Detail overlays are outside .framer-oavd52. */
.framer-VAr7M > .framer-oavd52 {
  --menu-width: 100%;
  --menu-column-gap: 2.6vw;
  --menu-row-gap: .75vw;
}
.framer-VAr7M > .framer-oavd52 > :is(.framer-ohdqz9,.framer-17ljcvh,.framer-18lszjk,.framer-jz0piv,.framer-1ahpxz0) {
  height: auto !important;
  min-height: 0 !important;
  padding: 5vw 4vw !important;
  gap: .9375vw !important;
  justify-content: flex-start !important;
  transform: none !important;
}
.framer-VAr7M > .framer-oavd52 > .framer-al66zw {
  height: auto !important;
  padding-bottom: 5vw !important;
  transform: none !important;
}
.framer-VAr7M > .framer-oavd52 .framer-w68y9g {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  gap: 3.75vw !important;
  justify-content: flex-start !important;
  transform: none !important;
}
.framer-VAr7M > .framer-oavd52 :is(.framer-1dp4mub,.framer-1y6fb3g,.framer-wdncgr,.framer-1bgkrjz,.framer-18hdgjo) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: var(--menu-width) !important;
  height: auto !important;
  padding: 1.5625vw 0 0 !important;
  gap: var(--menu-row-gap) var(--menu-column-gap) !important;
  margin: 0 auto !important;
}
.framer-VAr7M > .framer-oavd52 :is(.framer-1dp4mub,.framer-1y6fb3g,.framer-wdncgr,.framer-1bgkrjz,.framer-18hdgjo) > div {
  width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
}
.framer-VAr7M > .framer-oavd52 :is(.framer-1dp4mub,.framer-1y6fb3g,.framer-wdncgr,.framer-1bgkrjz,.framer-18hdgjo) > div > [class$="-container"],
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 {
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
}
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 :is(.framer-1swa90y,.framer-o0d91b,.framer-9qdvhw,.framer-hl6wfi,.framer-1879n15) {
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
}
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-1swa90y { gap: 1.25vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-169011e {
  box-shadow:0 .31vw .78vw #29261f40 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 370 / 527;
}
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-o0d91b { gap: .4vw !important; padding: 0 .15625vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-hl6wfi p {
  font-size: 3.125vw !important;
  line-height: 1.15 !important;
  overflow-wrap: normal;
}
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-1879n15 {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: .4vw .78vw !important;
}
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-x111m5 {
  width: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-x111m5 p { font-size: 1.8vw !important; line-height: 1.5 !important; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-th4ryj { flex: 0 1 auto !important; min-width: 0 !important; max-width: 100%; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-1jqwirp p { font-size: 1.8vw !important; line-height: 1.4 !important; white-space: normal !important; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-15l3uqo { bottom: 1.3vw !important; left: 2.2vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-yfcidh { display: flex !important; flex-direction: column !important; gap: .9375vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-fjnxzo { position:relative !important; inset:auto !important; transform:none !important; width:100% !important; height:auto !important; min-height:0; }
.framer-VAr7M > .framer-oavd52 .framer-19dczzg { position:relative !important; inset:auto !important; transform:none !important; width:100% !important; height:auto !important; justify-content:center !important; align-items:baseline !important; gap:.46875vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-uz1a7s {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  width: 100% !important;
  max-width: var(--menu-width) !important;
  padding: 1.5625vw 0 0 !important;
  gap: 2.6vw !important;
  justify-items: center !important;
  align-items: center !important;
}
.framer-VAr7M > .framer-oavd52 > :is(.framer-5gh1bd,.framer-15vaty5,.framer-c2t9r,.framer-ukoc4u,.framer-1mb1050) { width: 100% !important; max-width: 100%; height:.078125vw !important; }

@media (prefers-reduced-motion: reduce) {
  .framer-VAr7M > .framer-oavd52 .framer-i9HK2 { transition: none !important; }
}
/* Keep section subtitles in normal flow, including the formerly pinned pasta subtitle. */
.framer-VAr7M > .framer-oavd52 :is(.framer-1ti94c3,.framer-1lodw74,.framer-y42syf) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}
.framer-VAr7M > .framer-oavd52 :is(.framer-1ti94c3,.framer-1lodw74,.framer-y42syf) p { text-align: center !important; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 :is(.framer-th4ryj,.framer-1jqwirp) { width: auto !important; height: auto !important; max-width: 100% !important; }
/* Tea-set proportions measured from the supplied 1536px design canvas. */
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 {
  position:relative !important;
  display:grid !important;
  container-type:inline-size;
  grid-template-columns:7% repeat(6,minmax(0,1fr)) 7% !important;
  grid-auto-rows:auto !important;
  gap:0 !important;
  width:95.3vw !important;
  max-width:none !important;
  height:auto !important;
  padding:0 !important;
  align-items:start !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:not([data-framer-background-image-wrapper]) {
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(h5,p) { white-space:normal !important; text-align:center !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-r448qa {
  grid-area:3 / 1 / 4 / 9;
  width:77.25% !important;
  justify-self:center;
  aspect-ratio:3 / 4;
  margin-bottom:2.25cqw !important;
  box-shadow:0 .39vw 1.17vw #29261f40;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-1jdvyt9,.framer-1t4zjid) {
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  max-width:none;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-1jdvyt9 { grid-area:1 / 1 / 2 / 9; margin-bottom:.54vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-1t4zjid { grid-area:2 / 1 / 3 / 9; margin-bottom:2.65vw !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-1jdvyt9,.framer-1t4zjid) p { color:#111 !important; text-shadow:none; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 .framer-1jdvyt9 p { font-size:8.55vw !important; line-height:1.2 !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 .framer-1t4zjid p { font-size:2.8vw !important; line-height:1.5 !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-x51cv0 {
  display:block !important;
  grid-area:4 / 1 / 5 / 9;
  height:var(--set-panel-height,53.37cqw) !important;
  background-image:url("/tea-set-frame.svg") !important;
  background-position:.21cqw 0 !important;
  background-repeat:no-repeat;
  pointer-events:none;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-10ymx0k,.framer-1i0bz2i,.framer-18yi43r,.framer-1bh2cc6,.framer-18k8b49,.framer-5iakq1,.framer-1abm1x7,.framer-fcw6u7,.framer-6p7g0s,.framer-1p48epf,.framer-12t9tgj,.framer-181f6p2) {
  position:absolute !important;
  transform:translateX(.4cqw) !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-10ymx0k,.framer-1i0bz2i,.framer-18yi43r,.framer-1bh2cc6,.framer-18k8b49,.framer-5iakq1) h5 {
  font-family:"BeattleLegible Regular",serif !important;
  font-size:3.511cqw !important;
  font-weight:400 !important;
  line-height:1 !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-1abm1x7,.framer-fcw6u7,.framer-6p7g0s,.framer-1p48epf,.framer-12t9tgj,.framer-181f6p2) h5 {
  font-family:"MaruBuriOTF Regular",serif !important;
  font-size:2.247cqw !important;
  line-height:1.3125 !important;
  letter-spacing:-.05em !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-1abm1x7,.framer-5iakq1) > h5:first-child:has(> br:only-child) { display:none !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-10ymx0k,.framer-1abm1x7,.framer-1bh2cc6,.framer-1p48epf) { grid-area:4 / 2 / 5 / 4; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-1i0bz2i,.framer-fcw6u7,.framer-18k8b49,.framer-12t9tgj) { grid-area:4 / 4 / 5 / 6; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-18yi43r,.framer-6p7g0s,.framer-5iakq1,.framer-181f6p2) { grid-area:4 / 6 / 5 / 8; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-10ymx0k,.framer-1i0bz2i,.framer-18yi43r) { top:var(--set-first-heading,11.59%) !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-1abm1x7,.framer-fcw6u7,.framer-6p7g0s) { top:var(--set-first-body,18.09%) !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-1bh2cc6,.framer-18k8b49,.framer-5iakq1) { top:var(--set-second-heading,48.55%) !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-1p48epf,.framer-12t9tgj,.framer-181f6p2) { top:var(--set-second-body,54.67%) !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 h5 small { font-size:.65em; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-c4gyv7 { display:none !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-hl53kd { grid-area:5 / 2 / 6 / 4; margin-top:-1.83cqw !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-8t2o2b { grid-area:5 / 4 / 6 / 8; margin-top:-1.83cqw !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-bplw37 { grid-area:6 / 2 / 7 / 4; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div.framer-1em1kw8 { grid-area:6 / 4 / 7 / 8; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-hl53kd,.framer-bplw37) { padding-left:8.16cqw !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-hl53kd,.framer-bplw37) h5 {
  font-size:3.511cqw !important;
  line-height:1.152 !important;
  text-align:left !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-8t2o2b,.framer-1em1kw8) { padding-left:4.97cqw !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-8t2o2b,.framer-1em1kw8) h5 {
  font-size:2.247cqw !important;
  line-height:1.8 !important;
  letter-spacing:-.043em !important;
  text-align:left !important;
}
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-8t2o2b,.framer-1em1kw8) h5 span { font-size:2.528cqw !important; line-height:1.3 !important; letter-spacing:inherit !important; }

.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-18yi43r,.framer-6p7g0s,.framer-5iakq1,.framer-181f6p2) { transform:translateX(1.24cqw) !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 > div:is(.framer-10ymx0k,.framer-1bh2cc6) { transform:translateX(.54cqw) !important; }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 :is(.framer-8t2o2b,.framer-1em1kw8) h5 { transform:translateY(.28cqw); }
.framer-VAr7M > .framer-oavd52 .framer-5aszg6 .framer-bplw37 h5 { transform:translateY(-.07cqw); }
.framer-VAr7M > .framer-oavd52 > [data-framer-background-image-wrapper] { background-size:9.896vw auto !important; }
/* Render the main menu immediately; overlay motion is deliberately untouched. */
.framer-VAr7M > .framer-oavd52 > .framer-al66zw { padding-top: 2.2vw !important; gap: 0 !important; }
.framer-VAr7M > .framer-oavd52 [data-framer-appear-id] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  transition: none !important;
}
/* Also hide the intro in the initial HTML snapshot before React mounts. */
.framer-VAr7M > .framer-oavd52 .framer-13avui2 { display: none !important; }
/* A single proportional tablet composition, independent of viewport breakpoints. */
.framer-VAr7M:has(> .framer-oavd52) { width:100% !important; min-width:0 !important; }
.framer-VAr7M > .framer-oavd52 { -webkit-text-size-adjust:100%; text-size-adjust:100%; width:100% !important; min-width:0 !important; max-width:none !important; }
.framer-VAr7M > .framer-oavd52 .framer-1dp4mub { width:92vw !important; }
.framer-VAr7M > .framer-oavd52 :is(.framer-1gnkby0,.framer-vkl3bf,.framer-x56ysv,.framer-18gby35,.framer-13nblzm,.framer-8j8d7e) { width:100% !important; height:auto !important; }
.framer-VAr7M > .framer-oavd52 :is(.framer-1gnkby0,.framer-vkl3bf,.framer-x56ysv,.framer-18gby35,.framer-13nblzm,.framer-8j8d7e) p { font-size:5vw !important; line-height:1.3 !important; }
.framer-VAr7M > .framer-oavd52 .framer-1gnkby0 p + p,
.framer-VAr7M > .framer-oavd52 :is(.framer-1ti94c3,.framer-1lodw74,.framer-y42syf) p { font-size:1.8vw !important; line-height:1.6 !important; }
.framer-VAr7M > .framer-oavd52 .framer-i9HK2 .framer-15l3uqo p { font-size:2.3vw !important; line-height:1 !important; }
.framer-VAr7M > .framer-oavd52 :is(.framer-if99w7,.framer-u4xsye) p { font-size:1.6vw !important; line-height:1.3 !important; }
.framer-VAr7M > .framer-oavd52 .framer-1ed14u9 { height:12vw !important; }
.framer-VAr7M > .framer-oavd52 .puffroom-course { width:95.3vw; max-width:none; padding:2vw 0; color:#111; }
.puffroom-course header { text-align:center; margin-bottom:5vw; }
.puffroom-course h2 { font-family:"BeattleLegible Regular",serif; font-size:8.55vw; line-height:1.2; font-weight:400; margin:0 0 .54vw; }
.puffroom-course header p { font-family:"Beattle Regular",serif; font-size:2.8vw; line-height:1.5; margin:0; white-space:pre-line; }
.puffroom-course .course-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:2.6vw; }
.puffroom-course .course-option { position:relative; min-width:0; min-height:71.5vw; padding:8.4vw 1.3vw 8vw; }
.puffroom-course .course-frame { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.puffroom-course h3 { font-family:"DK Majolica Regular",sans-serif; font-size:3.25vw; line-height:1.35; font-weight:400; text-align:center; margin:0 0 3vw; }
.puffroom-course dl { margin:0; display:grid; gap:2vw; }
.puffroom-course dl>div { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.5vw; }
.puffroom-course dt { font-family:"DK Majolica Regular",sans-serif; font-size:3vw; line-height:1.2; }
.puffroom-course dd { font-family:"NanumBarunGothicOTF Light",sans-serif; color:#777; font-size:1.8vw; line-height:1.5; margin:0; }
.puffroom-course dl>.course-included { padding-top:0; }
.puffroom-course .course-note { font-family:"NanumBarunGothicOTF Light",sans-serif; font-size:2.1vw; line-height:1.7; text-align:center; white-space:pre-line; margin:3.5vw auto 0; }

.puffroom-course h3 small { font-size:.75em; }

.framer-5aszg6 .set-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.framer-5aszg6 .framer-x51cv0 { background-size:100% 100%; }
.framer-5aszg6 .set-photo-controls { position:absolute; bottom:1.25vw; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:1.4vw; padding:.47vw .94vw; background:#fffdf4e8; border-radius:2.34vw; color:#111; font: .94vw sans-serif; }
.framer-5aszg6 .set-photo-controls button { border:0; background:none; color:inherit; font:1.875vw sans-serif; cursor:pointer; padding:.31vw .625vw; }

/* Drink overlays share one upper-right close position; two imports used inline layout. */
.framer-VAr7M:is(.framer-mym237-container,.framer-17012gp-container,.framer-1pcz4ph-container,.framer-b1xgoo-container),
.framer-VAr7M :is(.framer-8ksrhx-container,.framer-t51u8m-container) {
  position:fixed !important;
  inset:60px 33px auto auto !important;
  width:40px !important;
  height:40px !important;
  transform:none !important;
  z-index:10;
}
.framer-VAr7M:has(> :is(.framer-m0886k,.framer-gxcm8q)) { left:0 !important; right:0 !important; }

/* Static single photos retain the detail frame padding and original edge mask. */
.framer-1iyer3b-container:has(> .puffroom-single-image) { width:100% !important; height:100% !important; overflow:hidden; }
