.elementor-kit-6{--e-global-color-primary:#3B2A23;--e-global-color-secondary:#CFE1BD;--e-global-color-text:#3B2A23;--e-global-color-accent:#A5544A;--e-global-color-mmcream:#FBF5EC;--e-global-color-mmblush:#F6D3CC;--e-global-color-mmbutter:#F8E8B5;--e-global-color-mmlavender:#E3DBF1;--e-global-color-mmlatte:#EFDFCD;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Caveat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:700;background-color:#FBF5EC;color:#3B2A23;font-family:"DM Sans", Sans-serif;font-size:17px;line-height:1.65em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --mm-cream:#fbf5ec; --mm-paper:#fffbf5; --mm-latte:#efdfcd; --mm-blush:#f6d3cc; --mm-blush-soft:#fbe7e2; --mm-matcha:#cfe1bd; --mm-matcha-soft:#e7f0dc; --mm-butter:#f8e8b5; --mm-butter-soft:#fcf3d8; --mm-lavender:#e3dbf1; --mm-lavender-soft:#f0ecf8; --mm-ink:#3b2a23; --mm-ink-soft:#6b564b; --mm-rose-ink:#a5544a; --mm-matcha-ink:#4f6f3b; --mm-font-display:Fraunces; --mm-font-body:DM Sans; --mm-font-script:Caveat; --mm-size-h1:clamp(2.75rem, 1.6rem + 5vw, 5.5rem); --mm-size-h2:clamp(2.1rem, 1.4rem + 2.8vw, 3.6rem); --mm-section-pad:clamp(72px, 10vw, 140px); --mm-gutter:clamp(16px, 4vw, 40px); }
/* Start custom CSS *//* Mocha & Matcha: site-wide extras the style panel can't express (pseudo-elements, animations, inline accents). */
html { scroll-behavior: smooth; }
body {
  overflow-x: clip;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .23 0 0 0 0 .16 0 0 0 0 .14 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
[data-elementor-type="wp-page"], [data-elementor-type="error-404"] { overflow-x: clip; }
::selection { background: #f6d3cc; color: #3b2a23; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #4f6f3b; outline-offset: 3px; border-radius: 6px; }

/* links inside text blocks */
.elementor-location-header a, .elementor-location-footer a { color: inherit; }
.mm-text a, .mm-lead a, .mm-small a, .mm-item-desc a { color: #a5544a; text-underline-offset: 3px; }

/* brand ampersand + little accent glyphs */
.mm-brand-name span { font-family: "Caveat", cursive; font-weight: 700; font-size: 1.2em; line-height: 0; margin: 0 0.12em 0 0.04em; color: #a5544a; }
.elementor-location-footer .mm-brand-name span { color: #f6d3cc; }
.mm-meta span, .mm-arrow-note span, .mm-ribbon-item span { color: #a5544a; font-style: normal; }
.mm-item-price span { font-weight: 500; color: #6b564b; }

/* active page in the main nav */
body.page-id-75 .mm-navlink[href*="page_id=75"], body.page-id-75 .mm-navlink[href*="/menu"],
body.page-id-76 .mm-navlink[href*="page_id=76"], body.page-id-76 .mm-navlink[href*="/our-story"],
body.page-id-77 .mm-navlink[href*="page_id=77"], body.page-id-77 .mm-navlink[href*="/visit"] { background-color: #f6d3cc; }

/* accent italics inside headings */
.mm-h1 em, .mm-h2 em, .mm-h3 em, .mm-board-title em { font-style: italic; font-weight: 400; color: #a5544a; }

/* wavy top edge that bleeds up into the section above */
.mm-wave::before, .mm-wave-alt::before {
  content: ""; position: absolute; left: 0; right: 0; z-index: 0;
  top: calc(clamp(26px, 4vw, 56px) * -1 + 1px); height: clamp(26px, 4vw, 56px);
  background: inherit; pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V32C180 6 420-6 720 24s540 40 720 6v30z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V32C180 6 420-6 720 24s540 40 720 6v30z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.mm-wave-alt::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V18c160 30 340 40 560 16S1040-6 1240 14c90 9 150 20 200 26v20z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V18c160 30 340 40 560 16S1040-6 1240 14c90 9 150 20 200 26v20z'/%3E%3C/svg%3E");
}

/* washi tape */
.mm-tape::after, .mm-tape-pink::after, .mm-tape-butter::after, .mm-tape-lavender::after {
  content: ""; position: absolute; top: -14px; left: 50%; z-index: 2; pointer-events: none;
  width: 96px; height: 28px; transform: translateX(-50%) rotate(-4deg);
  background-color: rgba(207, 225, 189, 0.85);
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.35) 0 6px, transparent 6px 12px);
  box-shadow: 0 1px 2px rgba(59, 42, 35, 0.1);
}
.mm-tape-pink::after { background-color: rgba(246, 211, 204, 0.92); }
.mm-tape-butter::after { background-color: rgba(248, 232, 181, 0.95); }
.mm-tape-lavender::after { background-color: rgba(227, 219, 241, 0.97); }

/* polaroid caption price line */
.mm-caption span { display: block; margin-top: 2px; font-family: "DM Sans", sans-serif; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; color: #6b564b; }

/* checklist ticks */
.mm-check::before { content: ""; position: absolute; left: 0; top: 7px; width: 20px; height: 20px; border-radius: 50%; background: #cfe1bd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14 7.6' fill='none' stroke='%233b2a23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }

/* scrolling ribbon + slow-spinning badge ring */
.mm-ribbon-track { animation: mm-marquee 38s linear infinite; }
@keyframes mm-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mm-spin { animation: mm-spin 24s linear infinite; }
@keyframes mm-spin { to { transform: rotate(360deg); } }
.mm-menu-nav-inner::-webkit-scrollbar { display: none; }

/* FAQ accordion polish */
.mm-faq details > summary { list-style: none; cursor: pointer; }
.mm-faq details > summary::-webkit-details-marker { display: none; }

/* story page drop cap */
.mm-dropcap::first-letter { float: left; font-family: "Fraunces", serif; font-size: 3.7em; font-weight: 600; line-height: 0.82; color: #4f6f3b; margin: 0.08em 0.1em 0 0; }

/* visit page: illustrated map, drawn as a background so the labels stay real, editable text */
.mm-map { container-type: inline-size; background: #e7f0dc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 440'%3E%3Crect width='640' height='440' fill='%23e7f0dc'/%3E%3Cpath d='M-20 384c130-44 230 36 360 2s220-56 320-14' fill='none' stroke='%23e3dbf1' stroke-width='36' stroke-linecap='round'/%3E%3Crect x='372' y='36' width='232' height='164' rx='28' fill='%23cfe1bd'/%3E%3Cpath d='M392 168c50-24 110 14 196-20' fill='none' stroke='%23fffbf5' stroke-width='5' stroke-dasharray='2 10' stroke-linecap='round'/%3E%3Cg fill='%23a9c88f'%3E%3Ccircle cx='408' cy='76' r='18'/%3E%3Ccircle cx='440' cy='64' r='13'/%3E%3Ccircle cx='566' cy='80' r='20'/%3E%3Ccircle cx='538' cy='118' r='12'/%3E%3Ccircle cx='420' cy='134' r='11'/%3E%3Ccircle cx='574' cy='176' r='10'/%3E%3C/g%3E%3Cg fill='%23efdfcd'%3E%3Crect x='30' y='36' width='126' height='76' rx='14'/%3E%3Crect x='184' y='36' width='126' height='76' rx='14'/%3E%3Crect x='30' y='140' width='126' height='64' rx='14'/%3E%3Crect x='30' y='262' width='126' height='72' rx='14'/%3E%3Crect x='184' y='262' width='126' height='72' rx='14'/%3E%3Crect x='372' y='262' width='110' height='72' rx='14'/%3E%3Crect x='502' y='262' width='102' height='72' rx='14'/%3E%3C/g%3E%3Crect x='184' y='140' width='126' height='64' rx='14' fill='%23f6d3cc'/%3E%3Cg fill='none' stroke='%23fffbf5' stroke-linecap='round'%3E%3Cpath d='M-10 233h660M340-10v460' stroke-width='32'/%3E%3Cpath d='M170-10v243M-10 126h350' stroke-width='16'/%3E%3C/g%3E%3Cg fill='none' stroke='%23e8d6c0' stroke-width='3' stroke-dasharray='12 10'%3E%3Cpath d='M176 233h464M340 0v196M340 270v170'/%3E%3C/g%3E%3Crect x='229' y='58' width='32' height='32' rx='8' fill='%23e3dbf1'/%3E%3Ctext x='245' y='81' text-anchor='middle' font-family='Arial, sans-serif' font-weight='700' font-size='19' fill='%233b2a23'%3EP%3C/text%3E%3Cpath d='M245 90v38' stroke='%236b564b' stroke-width='2.5' stroke-dasharray='2 6' stroke-linecap='round'/%3E%3Cellipse cx='247' cy='186' rx='11' ry='4' fill='%233b2a23' opacity='.18'/%3E%3Cpath d='M247 184c-14-15-22-25-22-37a22 22 0 0 1 44 0c0 12-8 22-22 37z' fill='%23a5544a'/%3E%3Cpath d='M247 157s-7.5-4.4-7.5-9.6a4 4 0 0 1 7.5-2 4 4 0 0 1 7.5 2c0 5.2-7.5 9.6-7.5 9.6z' fill='%23fffbf5'/%3E%3Cg transform='translate(598 410)'%3E%3Ccircle r='19' fill='%23fffbf5'/%3E%3Cpath d='M0-13l5 13-5-3-5 3z' fill='%23a5544a'/%3E%3Ctext y='14' text-anchor='middle' font-family='Arial, sans-serif' font-weight='700' font-size='9' fill='%233b2a23'%3EN%3C/text%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.mm-map .mm-map-label { font-size: 1.3rem; font-size: 3.6cqw; }

/* FAQ: plus/close toggle on each question */
.mm-faq-head { list-style: none; }
.mm-faq-head::-webkit-details-marker { display: none; }
.mm-faq-head::after { content: "+"; display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #cfe1bd; font-family: "DM Sans", sans-serif; font-size: 1.3rem; font-weight: 500; line-height: 1; color: #3b2a23; transition: transform 0.3s ease, background-color 0.3s ease; }
details[open] > .mm-faq-head::after { transform: rotate(45deg); background: #f6d3cc; }
.mm-faq-item[open] { background-color: #fcf3d8; }

/* hide small decorative bits on phones */
@media (max-width: 767px) { .mm-hide-mobile { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mm-ribbon-track, .mm-spin { animation: none; }
}/* End custom CSS */