body{overflow-x:hidden;padding-bottom:0}:root{--icon-swap-dur: .18s;--icon-swap-blur: 2px;--icon-swap-start-scale: .25;--icon-swap-ease: ease-in-out;--modal-open-dur: .25s;--modal-close-dur: .15s;--modal-scale: .96;--modal-scale-close: .96;--modal-ease: cubic-bezier(.22, 1, .36, 1)}.produce-page{background:var(--page-bg);min-height:100dvh}.produce-hero{position:relative;min-height:calc(100dvh - var(--menu-bar-height) - var(--safe-area-bottom));overflow:hidden}.season-months{position:absolute;inset:0;display:flex;z-index:0}.season-month{flex:1;position:relative;min-width:0;height:100%;padding:20px;margin:0;border:0;color:var(--ink);display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box;font-size:24px;line-height:1;background:var(--page-bg)}.season-month-inner{display:flex;flex-direction:column-reverse;align-items:center;gap:8px}.season-month-label{white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;rotate:180deg}.season-month-icon{width:14px;height:14px;border:1px solid currentColor;border-radius:999px;box-sizing:border-box}.season-month.is-peak{background:var(--ink);color:var(--card-bg)}.season-month.is-peak .season-month-icon{background:currentColor}.season-month.is-available{background-color:var(--page-bg)}.season-month.is-available:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,var(--ink),var(--ink) 5px,transparent 5px,transparent 12px);background-attachment:fixed;z-index:0}.season-month.is-available .season-month-inner{background:var(--ink);color:var(--card-bg);padding:6px 4px;position:relative;z-index:1}.season-month.is-current{z-index:1}.season-month.is-current:after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:var(--ink);z-index:2}.season-month.is-peak.is-current:after,.season-month.is-available.is-current:after{background:var(--card-bg)}.produce-images{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:0;padding:40px;z-index:1;pointer-events:none}.produce-figure{margin:0;flex:0 1 min(29vw,360px);max-width:min(29vw,360px);height:100%;display:flex;align-items:center;justify-content:center;margin-left:clamp(-84px,-6vw,-44px);transform:translate(var(--stack-shift-x, 0px)) translateY(var(--stack-shift-y, 0px)) rotate(var(--stack-rotate, 0deg));transform-origin:center center;z-index:var(--stack-z, 1)}.produce-figure:first-child{margin-left:0}.produce-figure img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.produce-empty-image{color:var(--muted);font-size:18px}.t-icon-swap{position:relative;display:inline-grid}.t-icon-swap .t-icon{grid-area:1 / 1;transition:opacity var(--icon-swap-dur) var(--icon-swap-ease),filter var(--icon-swap-dur) var(--icon-swap-ease),transform var(--icon-swap-dur) var(--icon-swap-ease);will-change:opacity,filter,transform}.t-icon-swap[data-state=arrow] .t-icon[data-icon=arrow],.t-icon-swap[data-state=about] .t-icon[data-icon=about]{opacity:1;filter:blur(0);transform:scale(1)}.t-icon-swap[data-state=arrow] .t-icon[data-icon=about],.t-icon-swap[data-state=about] .t-icon[data-icon=arrow]{opacity:0;filter:blur(var(--icon-swap-blur));transform:scale(var(--icon-swap-start-scale))}.menu-scroll-swap{align-items:center;justify-items:center;min-width:52px}.menu-scroll-arrow{display:flex;align-items:center;justify-content:center;width:12px;height:12px}.menu-scroll-arrow:before{content:"";width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}.menu-scroll-about{font-size:16px;line-height:1;white-space:nowrap}.credits{position:absolute;top:0;right:0;z-index:2}.credits-trigger{width:auto;min-width:40px;height:40px;padding:0 10px;border:0;border-radius:0;background:var(--card-bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;text-transform:lowercase;cursor:pointer;user-select:none;transition:background .12s ease,color .12s ease,box-shadow .12s ease}@media(hover:hover)and (pointer:fine){.credits-trigger:hover{background:var(--ink);color:var(--card-bg)}}.credits-trigger:focus-visible{background:var(--ink);color:var(--card-bg);outline:0;box-shadow:0 0 0 2px var(--card-bg),0 0 0 5px var(--ink)}.credits-close:focus-visible,.credits a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.credits-backdrop{position:fixed;inset:0;z-index:19;background:color-mix(in srgb,var(--ink) 28%,transparent);opacity:0;pointer-events:none;transition:opacity var(--modal-open-dur) var(--modal-ease)}.credits-backdrop.is-open{opacity:1;pointer-events:auto}.t-modal{transform-origin:center;transform:scale(var(--modal-scale));opacity:0;pointer-events:none;transition:transform var(--modal-open-dur) var(--modal-ease),opacity var(--modal-open-dur) var(--modal-ease);will-change:transform,opacity}.t-modal.is-open{transform:scale(1);opacity:1;pointer-events:auto}.t-modal.is-closing{transform:scale(var(--modal-scale-close));opacity:0;pointer-events:none;transition:transform var(--modal-close-dur) var(--modal-ease),opacity var(--modal-close-dur) var(--modal-ease)}.credits-panel{position:fixed;z-index:20;top:50%;left:50%;width:min(520px,calc(100vw - 32px));max-height:min(680px,calc(100dvh - 32px));overflow:auto;padding:18px;background:var(--card-bg);color:var(--ink);box-sizing:border-box;translate:-50% -50%;box-shadow:0 18px 60px color-mix(in srgb,var(--ink) 24%,transparent)}.credits-panel[hidden],.credits-backdrop[hidden]{display:none}.credits-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.credits-title{margin:0;font-size:24px;line-height:1;font-weight:500}.credits-close{width:32px;height:32px;border:0;border-radius:0;background:var(--ink);color:var(--card-bg);cursor:pointer;position:relative;flex:0 0 auto}.credits-close:before,.credits-close:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background:currentColor;transform-origin:center}.credits-close:before{transform:translate(-50%,-50%) rotate(45deg)}.credits-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.credits-section{padding:16px 0;border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.credits-section-title{margin:0 0 10px;font-size:14px;line-height:1.2;font-weight:600;text-transform:uppercase}.credits-list,.season-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.credits-list{font-size:14px;line-height:1.35;color:var(--muted)}.credits-note{margin:0;font-size:14px;line-height:1.4;color:var(--muted)}.credits a{color:inherit}.season-legend-item{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;font-size:14px;line-height:1.35;color:var(--muted)}.season-legend-mark{width:42px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);box-sizing:border-box}.season-legend-mark.is-peak{background:var(--ink);color:var(--card-bg);border-color:var(--ink)}.season-legend-mark.is-available{background-image:repeating-linear-gradient(-45deg,var(--ink),var(--ink) 4px,transparent 4px,transparent 9px)}.season-legend-dot{width:12px;height:12px;border:1px solid currentColor;border-radius:999px;background:transparent;box-sizing:border-box}.season-legend-mark.is-peak .season-legend-dot{background:currentColor}@media(prefers-reduced-motion:reduce){.t-icon-swap .t-icon,.t-modal,.credits-backdrop{transition:none!important}}.related-produce{position:relative;z-index:3;background:var(--page-bg);padding-bottom:calc(var(--menu-bar-height) + var(--safe-area-bottom))}.produce-section{padding:0}.produce-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0}.produce-group-title{position:sticky;top:0;z-index:2;grid-column:1 / -1;margin:0;padding:20px 16px;background:var(--card-bg);color:var(--ink);font-size:2.8rem;font-weight:600;line-height:.95;text-align:center;text-wrap:balance}@media(min-width:900px){.produce-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(min-width:1440px){.produce-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.produce-item{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--page-bg);color:var(--ink);text-decoration:none;border:0;min-width:0;transition:background .12s ease,color .12s ease}@media(hover:hover)and (pointer:fine){.produce-item:hover{background:#000;color:var(--card-bg)}}.produce-item:focus-visible{background:#000;color:var(--card-bg);outline:3px solid var(--focus);outline-offset:-3px}.image-wrap{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:transparent}.image-wrap>img{max-width:100%;max-height:100%;transition:opacity .12s ease}.produce-item-name{font-size:1.5rem;font-weight:500;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{padding:24px;color:var(--muted)}@media(max-width:900px){.produce-images{padding:28px 20px}.produce-figure{flex-basis:min(34vw,240px);max-width:min(34vw,240px);margin-left:clamp(-56px,-7vw,-28px)}}@media(max-width:820px){.season-months{flex-direction:column}.season-month{width:100%;flex:1 0 0;min-width:auto;height:auto;align-items:center;justify-content:flex-start;padding:0 12px}.season-month.is-current:after{inset:0 0 0 auto;width:10px;height:auto}.season-month-inner{flex-direction:row;align-items:center;gap:8px}.season-month.is-available .season-month-inner{padding:4px 8px}.season-month-label{font-size:18px;writing-mode:horizontal-tb;rotate:0deg}.produce-images{flex-direction:column;padding:20px 16px}.produce-figure{flex:0 0 auto;max-width:min(72vw,280px);width:min(72vw,280px);height:auto;aspect-ratio:1;margin-left:0;margin-top:clamp(-80px,-16vw,-40px)}.produce-figure:first-child{margin-top:0}.credits{top:12px;right:12px}.produce-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--page-bg)}.produce-group-title{padding:16px 12px;font-size:1.8rem}.produce-item{padding:12px 10px;gap:6px}.produce-item-name{font-size:1.05rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2;min-height:2.4em}}
