.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.menu-section{padding-block:clamp(3rem,5vw,5rem);scroll-margin-top:0}
.carousel-heading{align-items:center;margin-bottom:1rem}
.carousel-heading>div:first-child{max-width:none}
.carousel-heading h2{font-size:clamp(2.6rem,4.2vw,3.8rem)}
.carousel-heading p{margin:.6rem 0 0;color:var(--muted);font-size:1rem}
.flavor-showcase{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:center;scroll-margin-top:1.5rem}
.flavor-gallery{min-width:0}
.carousel-navigation{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:.75rem}
.carousel-navigation button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--charcoal)}
.carousel-navigation button:hover{background:var(--charcoal);border-color:var(--charcoal);color:var(--chalk)}
.carousel-navigation svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}
#carousel-count{min-width:3rem;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem}
.concave-viewport{position:relative;overflow:clip;height:clamp(350px,34vw,460px);perspective:1500px;perspective-origin:50% 50%;touch-action:pan-y;cursor:grab;isolation:isolate;outline-offset:-8px!important}
.concave-viewport.is-dragging{cursor:grabbing}
.concave-wall{position:absolute;inset:0;margin:0;padding:0;list-style:none;transform-style:preserve-3d}
.concave-slide{position:absolute;left:50%;top:50%;width:clamp(225px,20vw,290px);aspect-ratio:4/5;margin:0;transform:translate(-50%,-50%);backface-visibility:hidden;transform-style:preserve-3d}
.concave-slide>button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:2px;background:var(--charcoal);color:var(--chalk);overflow:hidden;user-select:none;-webkit-user-select:none;cursor:inherit}
.concave-slide>button:focus-visible{outline:2px solid var(--charcoal);outline-offset:6px}
.concave-slide img{width:100%;height:100%;object-fit:cover;filter:blur(var(--product-focus-blur,0px));pointer-events:none;user-select:none;-webkit-user-drag:none}
.concave-slide.is-product-cutout>button{background:transparent;overflow:visible}
.concave-slide.is-product-cutout img{object-fit:contain;transform:scale(calc(1.35 * var(--product-focus-scale,1)))}
/* The supplied sesame photo has an opaque checkerboard; mask its display without changing the photo. */
.concave-slide.is-product-cutout img[src="assets/products/seesamisu-three-quarter.webp"],.flavor-preview img[src="assets/products/seesamisu-three-quarter.webp"]{-webkit-mask:url('assets/products/seesamisu-silhouette.svg') center/contain no-repeat;mask:url('assets/products/seesamisu-silhouette.svg') center/contain no-repeat}
.photo-pending{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;width:100%;height:100%;padding:1.75rem;background:var(--charcoal);color:var(--chalk)}
.photo-pending-name{font:500 clamp(1.9rem,3vw,2.6rem)/1.08 var(--display);letter-spacing:-.015em;text-wrap:balance;max-width:9ch}
.photo-pending-note{font-size:.875rem;color:var(--on-dark)}
.flavor-selection{display:flex;flex-direction:column;align-items:stretch;gap:1.3rem;min-width:0;scroll-margin-top:2rem}
.selected-flavor-copy h3{font-size:clamp(2.2rem,3vw,3rem);text-wrap:balance}
.selected-flavor-copy h3:focus-visible{outline:2px solid var(--charcoal);outline-offset:5px}
.selected-flavor-copy{min-height:0}
.selected-flavor-copy p{margin:.5rem 0 0;color:var(--muted);font-size:.95rem;max-width:30ch}
.selected-flavor-copy #selected-flavor-description{font-size:1.05rem;line-height:1.55;max-width:36ch;color:var(--charcoal);margin-top:.75rem}
.selected-flavor-copy #flavor-photo-note{font-size:.8rem;line-height:1.4}
.flavor-details{font-size:.875rem;color:var(--muted)}
.flavor-details>summary{display:flex;align-items:center;gap:.65rem;min-height:44px;width:fit-content;cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:.25em}
.flavor-details>summary::-webkit-details-marker{display:none}
.flavor-details>summary::after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.flavor-details[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.flavor-details p{margin:.25rem 0;font-size:.875rem;line-height:1.5;max-width:36ch}
.flavor-details a{display:inline-flex;align-items:center;min-height:44px;color:var(--charcoal);text-underline-offset:.25em}
.flavor-details summary:hover,.flavor-details a:hover{color:var(--charcoal);text-decoration-thickness:2px}
.flavor-details summary:focus-visible,.flavor-details a:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}
.cup-size-choice{margin:0;min-width:0}
.recipe-choice{margin:0;min-width:0}
.recipe-choice legend{font-size:.875rem;font-weight:450;margin-bottom:.65rem;color:var(--muted)}
.recipe-choice .recipe-options label:has(input:disabled){cursor:not-allowed}
.recipe-choice .recipe-options input:disabled+span{background:var(--line);border-color:var(--line);color:var(--charcoal);box-shadow:none}
.recipe-choice .recipe-options input:disabled+span .directory-portion{color:var(--charcoal)}
.dairy-free-notice{margin:.75rem 0 1.25rem;max-width:75ch;color:var(--charcoal);font-size:.95rem;line-height:1.55}
.flavor-directory>.dairy-free-notice{color:var(--charcoal);margin:.75rem 0 1rem}
.cup-size-choice legend{font-size:.875rem;font-weight:450;margin-bottom:.65rem;color:var(--muted)}
.cup-size-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cup-size-options label{position:relative;cursor:pointer;font-weight:400}
.cup-size-options input{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;margin:0;accent-color:var(--charcoal)}
.cup-size-options label>span{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;padding:.65rem .75rem .65rem 2.35rem;border:1px solid var(--field-line,#94988e);border-radius:2px;font-size:.95rem;font-variant-numeric:tabular-nums}
.cup-size-options strong{font-weight:600;line-height:1.25}
.cup-size-options strong span{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:.2rem}
.cup-size-options input:checked{accent-color:var(--chalk)}
.cup-size-options input:checked+span{border-color:var(--charcoal);background:var(--charcoal);color:var(--chalk);box-shadow:inset 0 -2px var(--charcoal)}
.cup-size-options input:checked+span strong span{color:var(--chalk)}
.cup-size-options label:hover>span{border-color:var(--charcoal)}
.cup-size-options input:focus-visible{outline:0}
.cup-size-options label:has(input:focus-visible)>span{outline:2px solid var(--charcoal);outline-offset:4px}
.carousel-add{margin:0;gap:1.4rem;justify-content:space-between;white-space:nowrap}
.flavor-selection .menu-status{margin:0;min-height:1.5rem;font-size:.9rem;line-height:1.4}
.carousel-add>span:last-child{font-variant-numeric:tabular-nums;font-weight:450}
.carousel-add:focus-visible{outline-color:var(--charcoal)}
.flavor-directory{margin-top:2rem;scroll-margin-top:2rem;border-block:1px solid var(--line)}
.flavor-directory>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:70px;padding:1.2rem 0;list-style:none;cursor:pointer;font:500 clamp(1.6rem,2.2vw,2rem)/1.15 var(--display);letter-spacing:-.015em}
.flavor-directory>summary::-webkit-details-marker{display:none}
.flavor-directory>summary:hover>span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.flavor-directory>summary:focus-visible{outline:2px solid var(--charcoal);outline-offset:5px}
.flavor-directory>summary svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.flavor-directory[open]>summary svg{transform:rotate(180deg)}
.flavor-directory[open]{padding-bottom:1.5rem}
.flavor-directory h3{font-size:clamp(1.9rem,2.6vw,2.5rem)}
.flavor-directory>p,.flavor-directory-heading p{margin:.65rem 0 0;font-size:.9rem;color:var(--muted)}
.flavor-directory ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1.75rem;list-style:none;padding:0;margin:1.5rem 0 0}
.flavor-directory li{margin:0;min-width:0;border-bottom:1px solid var(--line)}
.flavor-product{display:flex;flex-direction:column;min-width:0;height:100%;padding-bottom:1.5rem}
.flavor-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.35;margin-bottom:.65rem}
.flavor-preview img{width:100%;height:100%;object-fit:contain}
.flavor-preview.is-pending{font-size:.875rem;color:var(--muted)}
.flavor-preview-note{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.75rem;line-height:1.3;color:var(--muted)}
.flavor-directory .flavor-directory-name{font:500 clamp(1.3rem,1.8vw,1.6rem)/1.12 var(--display);letter-spacing:-.015em;margin:0;text-wrap:balance}
.flavor-directory-identity{font-size:.9rem;line-height:1.5;color:var(--muted);margin:.4rem 0 0;min-height:3em}
.flavor-directory .flavor-details{margin:.15rem 0 .75rem}
.flavor-directory-order{margin-top:auto;min-width:0}
.flavor-directory-order>summary{display:none}
.directory-size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:0;padding:0;border:0;min-width:0}
.directory-size-options label{display:flex;align-items:center;gap:.6rem;min-height:48px;cursor:pointer;position:relative;font-size:.875rem;font-weight:400}
.directory-size-options input{position:absolute;left:.65rem;top:50%;margin:0;width:1px;height:1px;opacity:0;accent-color:var(--charcoal)}
.directory-size-options label>span{display:grid;width:100%;min-height:56px;padding:.5rem .65rem;border:1px solid var(--field-line,#94988e);border-radius:2px;line-height:1.25}
.directory-size-options label>span>span:first-child{grid-area:1/1;min-width:0}
.directory-portion{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:.25rem}
.directory-price{grid-area:1/1;align-self:end;justify-self:end;font-variant-numeric:tabular-nums;white-space:nowrap}
.directory-size-options input:checked+span{border-color:var(--charcoal);background:var(--charcoal);color:var(--chalk);box-shadow:inset 0 -2px var(--charcoal)}
.directory-size-options input:checked+span>span:first-child{font-weight:600}
.directory-size-options input:checked+span .directory-portion{color:var(--chalk)}
.size-selected-mark{display:none;grid-area:1/1;justify-self:end;align-self:start;width:12px;height:12px;margin-top:2px}
.directory-size-options input:checked+span .size-selected-mark{display:block}
.directory-size-options label:hover>span{border-color:var(--charcoal)}
.directory-size-options input:focus-visible{outline:0}
.directory-size-options label:has(input:focus-visible)>span{outline:2px solid var(--charcoal);outline-offset:3px}
.directory-size-options label:has(input:disabled){cursor:default;color:var(--muted)}
.directory-recipe{display:flex;align-items:center;gap:.5rem;min-height:44px;margin-top:.4rem;font-size:.875rem;font-weight:450;cursor:pointer}
.directory-recipe input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--charcoal)}
.directory-recipe>span:last-child{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:.8rem}
.directory-recipe:has(input:disabled){cursor:not-allowed;color:var(--muted)}
.directory-recipe input:checked+span{font-weight:600}
.directory-recipe:has(input:focus-visible){outline:2px solid var(--charcoal);outline-offset:3px}
.directory-recipe input:focus-visible{outline:0}
.flavor-directory .directory-recipe+.directory-add{margin-top:.25rem}
.flavor-directory .directory-add{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:48px;margin-top:.75rem;padding:.75rem .85rem;font-size:.9rem}
.directory-add>span:last-child{font-variant-numeric:tabular-nums;font-weight:450}
.directory-status{margin:.5rem 0 0;color:var(--error);font-size:.875rem;line-height:1.4}
.directory-status:empty{display:none}
.directory-price-range{font-size:.875rem;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;margin-right:.65rem;text-decoration:none}
.flavor-directory-intro{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:.65rem 0 0}
.flavor-directory-intro>p{margin:0;max-width:80ch;font-size:.9rem;color:var(--muted)}
.directory-cart-link{flex-shrink:0;padding:.4rem 0;margin:0}
@media(max-width:700px){.flavor-directory-intro{display:block}.directory-cart-link{justify-content:flex-start;margin-top:.25rem}}
.carousel-footnote{display:flex;justify-content:space-between;gap:2rem;margin-top:1.5rem;font-size:.875rem;color:var(--muted)}
.carousel-footnote p{margin:0;max-width:65ch}
.carousel-footnote a{white-space:nowrap}
@media(max-width:1100px){.flavor-directory ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 2rem}.flavor-directory-name{font-size:1.5rem}}
@media(min-width:701px) and (max-width:800px){.flavor-directory ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:999px){.flavor-selection .selected-flavor-copy{grid-row:span 4}.flavor-selection .recipe-choice,.flavor-selection .cup-size-choice{grid-column:2}}
@media(min-width:701px) and (max-width:999px){.flavor-showcase{grid-template-columns:1fr}.concave-slide{width:clamp(240px,32vw,290px)}.concave-viewport{height:420px}.flavor-selection{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem 2rem}.selected-flavor-copy{grid-row:span 3}.carousel-add,.flavor-selection .menu-status{grid-column:2}}
@media(max-width:700px){.carousel-heading{display:block;margin-bottom:.5rem}.carousel-heading p{font-size:1rem;margin-top:.5rem}.flavor-showcase{grid-template-columns:1fr;gap:1.25rem}.carousel-navigation{margin-top:0;gap:.7rem}.carousel-navigation button{width:44px;height:44px}.concave-viewport{height:calc(min(58vw,276px)*1.25 + 28px);perspective:1200px}.concave-slide{width:min(58vw,276px)}.flavor-selection{gap:.9rem}.selected-flavor-copy h3{font-size:2rem}.selected-flavor-copy p{max-width:none}.cup-size-options label>span{min-height:66px}.carousel-add{width:100%}.flavor-directory ul{grid-template-columns:1fr;gap:1.5rem;margin-top:1.25rem}.flavor-product{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:1rem;align-items:start;padding-bottom:1rem;height:auto}.flavor-preview{grid-column:1;grid-row:1 / span 3;aspect-ratio:1;margin:0}.flavor-directory .flavor-directory-name{font-size:1.5rem;min-height:0;grid-column:2}.flavor-directory-identity{grid-column:2;min-height:0;margin-top:.4rem;font-size:.9rem}.flavor-directory .flavor-details{grid-column:2;margin:0}.flavor-directory-order{grid-column:1 / -1;width:100%;margin:0}.flavor-directory-order>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;list-style:none;font-size:.95rem;font-weight:600;text-decoration:underline;text-underline-offset:.25em}.flavor-directory-order>summary::-webkit-details-marker{display:none}.flavor-directory-order>summary::after{content:'';width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-right:4px}.flavor-directory-order[open]>summary::after{transform:rotate(225deg)}.flavor-directory-order>summary:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}.directory-size-options{grid-template-columns:1fr 1fr;gap:.65rem}.directory-size-options label>span{min-height:56px}.flavor-preview-note{font-size:.75rem}.carousel-footnote{display:block;margin-top:1.5rem}.carousel-footnote a{display:inline-block;margin-top:.6rem}}
