/* Homepage chrome, isolated from page-specific type scales and navigation rules. */
@font-face{font-family:MatchaInter;src:url('/assets/brand-return/inter-medium.woff2') format('woff2');font-weight:500;font-display:swap}
body > .jm-site-chrome{position:relative;z-index:30;width:100%;margin:0;padding:0;background:#fffaf0;color:#123a24;font:500 16px/normal MatchaInter,Arial,sans-serif;letter-spacing:normal;text-align:left}
body > .jm-site-chrome *{box-sizing:border-box}
.jm-site-chrome .jm-notice{display:flex;align-items:center;justify-content:center;min-height:32px;height:32px;padding:0 3.5%;margin:0;background:#c6e742;color:#123a24;font:700 10px/1.4 MatchaInter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.jm-site-chrome a{color:inherit;text-decoration:none}
.jm-site-chrome .jm-notice a{display:block;max-width:none;margin:0;padding:0;font:inherit;letter-spacing:inherit;text-align:center;border:0}
.jm-site-chrome .jm-site-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;gap:0;width:100%;height:96px;min-height:0;margin:0;padding:0 3.5%;border:0;border-bottom:3px solid #123a24;background:#fffaf0;color:#123a24;font:500 16px/normal MatchaInter,Arial,sans-serif}
.jm-site-chrome .jm-header-logo{display:inline-flex;flex-direction:column;justify-content:center;align-items:flex-start;flex-shrink:0;min-height:44px;margin:0;padding:0;border:0;gap:7px;line-height:1}
.jm-site-chrome .jm-header-logo img{display:block;width:146px;height:auto;max-width:none;margin:0;border:0;object-fit:contain}
.jm-site-chrome .jm-header-links{display:flex;align-items:center;justify-content:normal;gap:25px;margin:0;padding:0;border:0;font:500 12px/normal MatchaInter,Arial,sans-serif;letter-spacing:normal}
.jm-site-chrome .jm-header-links a{display:block;margin:0;padding:10px 0;border:0;border-bottom:1px solid transparent;font:500 11px/normal MatchaInter,Arial,sans-serif;letter-spacing:normal;text-transform:none;white-space:nowrap}
.jm-site-chrome .jm-header-links a:hover{border-color:#c6e742}
.jm-site-chrome .jm-header-cta{display:flex;align-items:center;justify-content:normal;flex-shrink:0;gap:28px;min-height:52px;min-width:0;margin:0;padding:13px 22px;border:1px solid #123a24;border-radius:999px;background:#c6e742;color:#123a24;box-shadow:none;font:700 12px/normal MatchaInter,Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap;transition:background-color 160ms ease}
.jm-site-chrome .jm-header-cta span{font:700 18px/1 MatchaInter,Arial,sans-serif;letter-spacing:0}
.jm-site-chrome .jm-header-cta:hover{background:#c0e431;transform:none}
.jm-site-chrome .jm-menu-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;gap:28px;min-width:44px;min-height:44px;margin:0;padding:1px 6px;border:0;border-radius:0;background:transparent;color:#123a24;box-shadow:none;font:500 11px/1 MatchaInter,Arial,sans-serif;letter-spacing:0;cursor:pointer;text-transform:none;white-space:nowrap}
/* Draw the plus/minus in a fixed box so its font baseline cannot lift the icon. */
.jm-site-chrome .jm-menu-toggle span{position:relative;display:block;flex:0 0 14px;width:14px;height:14px;font-size:0;line-height:1}
.jm-site-chrome .jm-menu-toggle span::before,.jm-site-chrome .jm-menu-toggle span::after{content:'';position:absolute;background:currentColor}
.jm-site-chrome .jm-menu-toggle span::before{left:1px;top:6px;width:12px;height:2px}
.jm-site-chrome .jm-menu-toggle span::after{left:6px;top:1px;width:2px;height:12px}
.jm-site-chrome .jm-menu-toggle[aria-expanded='true'] span::after{display:none}
.jm-site-chrome .jm-mobile-nav{display:block;position:absolute;top:100%;left:0;right:0;z-index:2;max-height:calc(100dvh - 112px);overflow-y:auto;margin:0;padding:25px 7%;border:0;border-bottom:3px solid #123a24;background:#fffaf0;color:#123a24;font:500 25px/normal MatchaInter,Arial,sans-serif;letter-spacing:normal}
.jm-site-chrome .jm-mobile-nav[hidden]{display:none!important}
.jm-site-chrome .jm-mobile-nav a{display:block;min-height:44px;margin:0;padding:16px 0;border:0;font:inherit;letter-spacing:normal;text-transform:none}
.jm-site-chrome .jm-mobile-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.jm-site-chrome :is(a,button):focus-visible{outline:2px solid #123a24;outline-offset:4px}
@media(max-width:1100px){.jm-site-chrome .jm-site-header{padding-inline:4%}.jm-site-chrome .jm-header-links{gap:16px}.jm-site-chrome .jm-header-links a{font-size:10px}}
@media(min-width:761px) and (max-width:1100px){.jm-site-chrome .jm-header-logo img{width:125px}}
@media(max-width:760px){.jm-site-chrome .jm-header-logo img{width:128px}}
@media(max-width:700px){.jm-site-chrome .jm-site-header{height:80px;padding-inline:6%}.jm-site-chrome .jm-header-links{display:none}.jm-site-chrome .jm-header-cta{margin-left:auto;margin-right:17px}.jm-site-chrome .jm-menu-toggle{display:inline-flex}}
@media(max-width:650px){.jm-site-chrome .jm-notice{min-height:32px;height:auto;padding:6px 6%}.jm-site-chrome .jm-notice a{font-size:7px;line-height:1.6}.jm-site-chrome .jm-header-cta{display:none}}
@media(max-width:360px){.jm-site-chrome .jm-notice a{font-size:6px}}
@media(prefers-reduced-motion:reduce){.jm-site-chrome .jm-header-cta{transition:none}}

/* Keep Account accessible alongside the main pages on smaller desktops. */
@media(min-width:701px) and (max-width:1100px){.jm-site-chrome .jm-header-logo img{width:110px}.jm-site-chrome .jm-header-links{gap:12px}.jm-site-chrome .jm-header-cta{font-size:10px;gap:14px;padding:12px 16px;min-height:46px}}

/* Responsive motion uses opacity/transform, with no animated layout dimensions. */
.jm-site-chrome :is(a,button),.jm-dialog-motion :is(a,button){touch-action:manipulation}
.jm-site-chrome .jm-mobile-nav{overscroll-behavior:contain}
dialog.jm-dialog-motion[open]{animation:jm-sheet-in 220ms cubic-bezier(.22,1,.36,1) both}
dialog.jm-dialog-motion[open]::backdrop{animation:jm-backdrop-in 220ms ease both}
dialog.jm-dialog-motion.jm-is-closing[open]{pointer-events:none;animation:jm-sheet-out 180ms cubic-bezier(.4,0,.2,1) both}
dialog.jm-dialog-motion.jm-is-closing[open]::backdrop{animation:jm-backdrop-out 180ms ease both}
#blend-drawer.jm-dialog-motion{--jm-sheet-start:translate3d(20px,0,0);--jm-sheet-end:translate3d(16px,0,0)}
@keyframes jm-sheet-in{from{opacity:var(--jm-dialog-enter-opacity,0);transform:var(--jm-dialog-enter-transform,var(--jm-sheet-start,translate3d(0,10px,0) scale(.99)))}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes jm-sheet-out{from{opacity:var(--jm-dialog-exit-opacity,1);transform:var(--jm-dialog-exit-transform,none)}to{opacity:0;transform:var(--jm-sheet-end,translate3d(0,8px,0) scale(.99))}}
@keyframes jm-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes jm-backdrop-out{from{opacity:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}to{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}}
@media(prefers-reduced-motion:reduce){dialog.jm-dialog-motion[open],dialog.jm-dialog-motion[open]::backdrop{animation:none!important}}

/* These compact controls need16px text to avoid iOS focus zoom. */
@media(max-width:700px){
 #cafe-roi input,[data-venue-form] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([name="website"]),[data-venue-form] textarea,[data-venue-form] select,#coffee-reference,#pack-size,#cups{font-size:16px!important}
}
