/* For Seasons: static site styles. Navy #14213D, cream, red #CE2028, silver/white. */
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-VariableFont_wght.woff") format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("fonts/PlayfairDisplay-VariableFont_wght.woff") format("woff");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("fonts/PlayfairDisplay-Italic-VariableFont_wght.woff") format("woff");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Great Vibes";src:url("fonts/GreatVibes-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
:root{--navy:#14213D;--navy-2:#0E182E;--navy-3:#1F3157;--cream:#FBF6EC;--cream-2:#F3EAD8;--red:#CE2028;--red-d:#A9181F;--silver:#C9CED6;--white:#fff;--ink:#14213D;--muted:#4A5568;--line:#E3D9C4;--r:14px;--hdr:68px;
--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--serif:"Playfair Display",Georgia,"Times New Roman",serif;--script:"Great Vibes","Brush Script MT",cursive}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--ink);background:var(--cream)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-d);text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid #F2A900;outline-offset:2px;border-radius:4px}
h1,h2,h3,h4,h5{font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.15;margin:0 0 .5em;color:var(--navy)}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}
.narrow{width:min(760px,100% - 2rem)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--white);color:var(--navy);padding:.75rem 1rem;z-index:100;font-weight:700}
.skip:focus{left:0}
.script{font-family:var(--script);text-transform:none;font-weight:400;letter-spacing:0}
.eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red-d);margin-bottom:.6rem}
.lead{font-size:1.08rem;color:var(--muted)}
.small{font-size:.9rem;color:var(--muted)}
.center{text-align:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.7rem 1.4rem;border-radius:var(--r);font:800 .9rem/1.1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .1s,color .15s;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--red);color:var(--white)}
.btn-red:hover{background:var(--red-d);color:var(--white)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-3);color:var(--white)}
.btn-call{background:var(--white);color:var(--navy);border-color:var(--navy)}
.btn-call:hover{background:var(--cream-2);color:var(--navy)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--silver)}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:var(--white)}
.btn-ghost-dark{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost-dark:hover{background:var(--cream-2);color:var(--navy)}
.btn-lg{min-height:56px;padding:.9rem 1.8rem;font-size:1rem}
.btn-block{display:flex;width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem}
.ico{flex:none}
.inline-call{font-weight:700;white-space:nowrap}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--white);border-bottom:3px solid var(--red);box-shadow:0 2px 12px rgba(0,0,0,.18)}
.hdr{display:flex;align-items:center;gap:1rem;min-height:var(--hdr)}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--white);text-decoration:none;margin-right:auto;padding-right:1.2rem}
.brand img{width:56px;height:auto}
.brand-text{white-space:nowrap;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.95rem}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}
.nav a{white-space:nowrap;display:block;padding:.6rem .8rem;color:var(--white);text-decoration:none;font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;border-radius:10px}
.nav a:hover{background:rgba(255,255,255,.12);color:var(--white)}
.nav .nav-call,.nav .nav-order{display:none}
.hdr-actions{display:flex;gap:.6rem;align-items:center}
.hdr-actions .btn{white-space:nowrap;min-height:44px;padding:.55rem 1.1rem;font-size:.82rem}
.nav-toggle{display:none;align-items:center;gap:.6rem;background:transparent;border:2px solid var(--silver);color:var(--white);border-radius:12px;min-height:46px;padding:0 .9rem;font:800 .8rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:var(--white);position:relative;transition:transform .2s}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-6px}.bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1099px){
 .hdr-actions{display:none}
 .nav-toggle{display:inline-flex}
 .js .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-top:1px solid rgba(255,255,255,.18);padding:.5rem 1rem 1rem;box-shadow:0 12px 24px rgba(0,0,0,.3)}
 .js .nav.open{display:block}
 .nav ul{flex-direction:column;gap:.25rem}
 .nav a{padding:1rem .9rem;font-size:1rem}
 .nav .nav-call,.nav .nav-order{display:block}
 .nav .nav-order a{background:var(--red);text-align:center;margin-top:.4rem}
 .nav .nav-call a{background:var(--white);color:var(--navy);text-align:center;margin-top:.4rem}
 .no-js .nav ul{flex-wrap:wrap}
}
@media (max-width:420px){.brand-text{font-size:.82rem;letter-spacing:.1em}.brand img{width:48px}}

/* Hero */
.hero{background:radial-gradient(1200px 500px at 80% 0,var(--navy-3),var(--navy) 60%),var(--navy);color:var(--white);padding:3.5rem 0 0;position:relative}
.hero::after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,206,214,.35);pointer-events:none;border-radius:6px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center;padding-bottom:2.5rem}
.hero .eyebrow{color:var(--silver)}
.hero h1{color:var(--white);font-size:clamp(2.6rem,7vw,4.6rem);letter-spacing:.08em;margin-bottom:.1em}
.hero-script{font-size:clamp(2rem,5vw,3rem);color:#F4B4B7;margin:0 0 .6rem;line-height:1.1}
.hero-p{font-size:1.15rem;max-width:34rem;color:#E8EBF0}
.hero-art img{width:100%;max-width:440px;margin-inline:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}
.factbar{list-style:none;padding:0;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(201,206,214,.35)}
.factbar li{padding:1.1rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.15rem}
.factbar li+li{border-left:1px solid rgba(201,206,214,.35)}
.factbar b{text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.factbar span{color:var(--silver);font-size:.9rem}
@media (max-width:759px){
 .hero{padding-top:2rem}
 .hero-grid{grid-template-columns:1fr;text-align:center;gap:1rem}
 .hero-art{order:-1}.hero-art img{max-width:240px}
 .hero-p{margin-inline:auto}
 .btn-row{justify-content:center}
 .hero .btn-row .btn{width:100%}
 .factbar{grid-template-columns:1fr}
 .factbar li+li{border-left:0;border-top:1px solid rgba(201,206,214,.35)}
}

/* Sections */
.section{padding:4rem 0}
.sec-head{text-align:center;margin-bottom:2rem}
.sec-head h2{font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:.08em;position:relative;padding-bottom:.7rem;display:inline-block}
.sec-head h2::after{content:"";position:absolute;left:50%;bottom:0;width:72px;height:4px;background:var(--red);transform:translateX(-50%);border-radius:2px}
.sec-head .lead{max-width:44rem;margin:1rem auto 0}
.cta-center{text-align:center;margin-top:2.5rem}
.jump{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.3rem}
.jump a{display:inline-block;padding:.55rem 1rem;border-radius:999px;border:2px solid var(--navy);color:var(--navy);text-decoration:none;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;background:var(--white)}
.jump a:hover{background:var(--navy);color:var(--white)}
@media (max-width:759px){.jump{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.4rem;-webkit-overflow-scrolling:touch;margin-inline:-1rem;padding-inline:1rem}.jump a{white-space:nowrap}}

/* Menu */
.cat{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--red);border-radius:var(--r);padding:1.6rem 1.6rem 1.2rem;margin-bottom:1.6rem;box-shadow:0 2px 0 rgba(20,33,61,.04)}
.cat-head h3{font-size:1.5rem;letter-spacing:.08em;margin-bottom:.8rem}
.cat-feature{border-left-color:var(--navy);background:linear-gradient(180deg,#fff,#FFFCF5)}
.cat-feature .eyebrow{margin-bottom:.2rem}
.sub{font-size:.95rem;letter-spacing:.16em;color:var(--red-d);border-bottom:2px solid var(--line);padding-bottom:.4rem;margin:1.6rem 0 1rem}
.pricebox{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0 .4rem}
.pb{border-radius:var(--r);padding:1rem 1.2rem;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;column-gap:.5rem;row-gap:.2rem}
.pb-fresh{background:var(--navy);color:var(--white)}
.pb-frozen{background:var(--cream-2);color:var(--navy);border:2px solid var(--navy)}
.pb-tag{grid-column:1/-1;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem}
.pb-price{font:900 2.6rem/1 var(--serif)}
.pb-sub{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}
.pb-note{grid-column:1/-1;font-size:.92rem}
.pb-fresh .pb-note{color:#E8EBF0}
.items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2.2rem}
.items:has(.item:only-child){grid-template-columns:1fr}
.item{padding:1rem 0;border-bottom:1px solid var(--line)}
.item h5{font-size:1.02rem;letter-spacing:.05em;margin:0}
.item p{margin:.35rem 0 0;font-size:.95rem;color:var(--muted)}
.item-top{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;justify-content:space-between}
.pills{display:flex;flex-wrap:wrap;gap:.4rem}
.pill{background:var(--cream-2);border-radius:999px;padding:.2rem .75rem;font-size:.85rem;white-space:nowrap}
.pill b{color:var(--red-d);font-weight:800}
.pill-l{color:var(--navy);font-weight:600}
.cat-body{display:block}
.has-photo .cat-body{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.has-photo .items{grid-template-columns:1fr}
.photos{display:grid;gap:.8rem}
.photos figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover}
.callout{background:#FFF3F3;border:2px solid var(--red);border-radius:12px;padding:.8rem 1rem;margin:1rem 0 .4rem;font-size:.95rem}
.chips{list-style:none;margin:1rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{background:var(--cream-2);border-radius:999px;padding:.4rem .9rem;font-size:.9rem;font-weight:600}
@media (max-width:759px){
 .items{grid-template-columns:1fr}.pricebox{grid-template-columns:1fr}
 .has-photo .cat-body{grid-template-columns:1fr}
 .cat{padding:1.2rem 1rem}
 .photos{grid-template-columns:1fr 1fr}
}

/* How */
.how{background:var(--navy);color:var(--white)}
.how h2,.how h3{color:var(--white)}
.how .sec-head .eyebrow{color:var(--silver)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.steps li{background:var(--navy-3);border-radius:var(--r);padding:1.4rem 1.2rem;border-top:4px solid var(--red)}
.steps h3{font-size:1rem;margin-top:.6rem}
.steps p{margin:0;color:#E8EBF0;font-size:.95rem}
.steps a{color:#fff;font-weight:700}
.num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;font:900 1.2rem var(--serif)}
.how-notes{text-align:center;margin-top:1.8rem;color:#E8EBF0}
.how-notes a{color:#fff}
.how .btn-red{background:var(--red)}
@media (max-width:959px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:559px){.steps{grid-template-columns:1fr}}

/* About */
.about{background:var(--cream)}
.about-script{font-size:2.4rem;color:var(--red-d);text-align:center;line-height:1.1;margin-bottom:1rem}
.about p{font-size:1.08rem}

/* Harvest Hero */
.hh{background:var(--cream-2);border-top:1px solid var(--line)}
.hh-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.hh-card{background:var(--white);border-radius:var(--r);padding:1.6rem;border-top:6px solid var(--navy)}
.hh-card:nth-child(2){border-top-color:var(--red)}
.hh-help{background:var(--navy);color:var(--white);border-radius:var(--r);padding:1.6rem;margin-top:1.2rem}
.hh-help h3{color:var(--white)}
.hh-help .small{color:var(--silver);margin:0}
.seasons{list-style:none;margin:2rem 0 1rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.seasons li{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.seasons span{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.hh-legal{text-align:center}
@media (max-width:759px){.hh-grid{grid-template-columns:1fr}.seasons{grid-template-columns:1fr 1fr}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.contact-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;text-align:center}
.contact-card h3{font-size:1rem;letter-spacing:.14em}
.contact-card .btn span{overflow-wrap:anywhere}
.social{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:.8rem}
.contact-info{max-width:46rem;margin:2rem auto 0;text-align:center}
.flag-tag{display:inline-block;background:#B8860B;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:6px;margin-left:.3rem}
@media (max-width:859px){.contact-grid{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:var(--navy-2);color:var(--silver);padding:3rem 0 6rem}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.foot h2{color:var(--white);font-size:.9rem;letter-spacing:.16em}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.2rem 0}
.foot a{color:var(--white);display:inline-block;padding:.25rem 0}
.foot-brand img{width:200px}
.foot-brand .script{font-size:1.8rem;color:#F4B4B7;margin:.4rem 0 0}
.legal{margin-top:2rem;font-size:.8rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}
.linklike{background:none;border:0;color:var(--white);text-decoration:underline;font:inherit;cursor:pointer;padding:.25rem 0}
@media (max-width:759px){.foot{grid-template-columns:1fr}}

/* Mobile bottom bar */
.mobile-bar{display:none}
@media (max-width:759px){
 .mobile-bar{display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:var(--navy);border-top:3px solid var(--red)}
 .mobile-bar .btn{min-height:52px}
 body.order .mobile-bar{display:none}
}

/* Order page */
.order-hero{background:var(--navy);color:var(--white);padding:2.5rem 0 1.8rem;text-align:center}
.order-hero h1{color:var(--white);font-size:clamp(2rem,6vw,3rem);letter-spacing:.08em}
.order-hero .eyebrow{color:var(--silver)}
.order-hero .lead{color:#E8EBF0;max-width:42rem;margin-inline:auto}
.order-hero .jump a{background:transparent;color:var(--white);border-color:var(--silver)}
.order-hero .jump a:hover{background:var(--white);color:var(--navy)}
.order-layout{display:grid;grid-template-columns:1fr 340px;gap:2rem;padding:2rem 0 4rem;align-items:start}
.ocat{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--red);border-radius:var(--r);padding:1.4rem;margin-bottom:1.4rem}
.ocat h3{font-size:1.3rem;letter-spacing:.08em}
.ocat h3 small{font-size:.7rem;color:var(--red-d);letter-spacing:.1em;margin-left:.4rem}
.olist{list-style:none;margin:0;padding:0}
.oitem{padding:1rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:.6rem 1.2rem;align-items:center}
.oitem-info h4{font-size:1rem;margin:0 0 .25rem}
.oitem-info p{margin:0;font-size:.88rem;color:var(--muted)}
.opts{display:grid;gap:.5rem;min-width:260px}
.opt{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.opt-label{font-size:.85rem;font-weight:700}
.opt-price{color:var(--red-d);margin-left:.3rem}
.stepper{display:inline-flex;align-items:center;border:2px solid var(--navy);border-radius:12px;overflow:hidden;background:#fff}
.step{width:46px;height:46px;border:0;background:var(--cream-2);color:var(--navy);font:800 1.5rem/1 var(--sans);cursor:pointer}
.step:hover{background:var(--navy);color:#fff}
.qty{width:52px;height:46px;border:0;text-align:center;font:800 1.05rem var(--sans);color:var(--navy);-moz-appearance:textfield;background:#fff}
.qty::-webkit-outer-spin-button,.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.opt.has-qty .stepper{border-color:var(--red);box-shadow:0 0 0 2px rgba(206,32,40,.18)}
.onote{grid-column:1/-1}
.note,.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea{width:100%;min-height:46px;border:2px solid #AEB6C4;border-radius:10px;padding:.6rem .8rem;font:500 1rem var(--sans);color:var(--navy);background:#fff}
.note{font-size:.9rem;min-height:40px}
.note:focus,.field input:focus,.field textarea:focus{border-color:var(--navy)}
@media (max-width:759px){.oitem{grid-template-columns:1fr}.opts{min-width:0}.order-layout{grid-template-columns:1fr;padding-bottom:7rem}}
.saucebox{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem}
.check{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem 0;font-size:.95rem;cursor:pointer}
.check input{width:22px;height:22px;margin-top:.1rem;accent-color:var(--red);flex:none}
@media (max-width:759px){.saucebox{grid-template-columns:1fr}}
.details .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin:0 0 1.1rem;border:0;padding:0;min-width:0}
.field.full{grid-column:1/-1}
.field label,.field legend{display:block;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;padding:0}
.field .radio{display:inline-flex;align-items:center;gap:.6rem;margin:0 .8rem .5rem 0;text-transform:none;letter-spacing:0;font-size:1rem;font-weight:600;border:2px solid #AEB6C4;border-radius:12px;padding:.7rem 1rem;min-height:50px;cursor:pointer;background:#fff}
.field .radio:has(input:checked){border-color:var(--red);background:#FFF3F3}
.radio input{width:20px;height:20px;accent-color:var(--red)}
.req{color:var(--red-d)}
@media (max-width:559px){.details .grid2{grid-template-columns:1fr}}
.errors{background:#FFF3F3;border:2px solid var(--red);border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;color:#7A0F14;font-weight:600}
.errors ul{margin:.3rem 0 0;padding-left:1.2rem}
.summary-pre{background:var(--cream);border:2px solid var(--navy);border-radius:12px;padding:1rem;white-space:pre-wrap;word-break:break-word;font:500 .9rem/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--navy);margin:1rem 0}
.done{border-left-color:var(--navy)}
.sumbox{position:sticky;top:calc(var(--hdr) + 16px);background:var(--white);border:2px solid var(--navy);border-radius:var(--r);padding:1.2rem}
.sumbox h3{font-size:1.1rem;letter-spacing:.12em}
.sum-list{list-style:none;margin:0;padding:0;font-size:.88rem;max-height:46vh;overflow:auto}
.sum-list li{display:flex;justify-content:space-between;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.sum-list .l-name{font-weight:600}
.sum-list .l-sub{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.sum-list .l-price{font-weight:800;white-space:nowrap}
.hints{font-size:.85rem;color:var(--red-d);font-weight:600;margin:.6rem 0}
.hints p{margin:.2rem 0}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;border-top:3px solid var(--navy);margin-top:.8rem;padding-top:.7rem;margin-bottom:.4rem}
.sum-total span{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
.sum-total b{font:900 2rem var(--serif)}
.total-bar{display:none}
@media (max-width:959px){.order-layout{grid-template-columns:1fr}.order-side{display:none}
 .total-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem .9rem calc(.6rem + env(safe-area-inset-bottom));background:var(--navy);color:#fff;border-top:3px solid var(--red)}
 .total-bar b{font:900 1.6rem var(--serif)}
 .tb-label{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
 .tb-count{font-size:.8rem;color:var(--silver);display:block}
 .total-bar .btn{min-height:50px}}
@media (min-width:960px){.order-layout{grid-template-columns:1fr 340px}}

/* PWA install banner */
.install{position:fixed;left:.8rem;right:.8rem;bottom:.8rem;z-index:60;background:var(--white);color:var(--navy);border:3px solid var(--navy);border-radius:var(--r);box-shadow:0 10px 30px rgba(0,0,0,.35);padding:1rem 1rem .9rem;max-width:460px;margin-inline:auto}
.install[hidden]{display:none}
.install h2{font-size:.95rem;letter-spacing:.1em;margin:0 0 .3rem}
.install p{margin:0 0 .6rem;font-size:.92rem}
.install .btn-row{gap:.5rem}
.install .btn{min-height:44px;padding:.5rem 1rem;font-size:.8rem}
@media (max-width:759px){body.home .install,body.order .install{bottom:5.2rem}}
@media (min-width:760px){.install{left:auto;right:1rem;margin:0}}
.sharebtn{display:inline-block;vertical-align:middle;width:1.2em;height:1.2em}
@media print{.site-header,.mobile-bar,.total-bar,.install{display:none}}
.about .about-script{font-size:2.6rem;margin-bottom:1rem}
.btn-email span{text-transform:none;letter-spacing:.02em;font-size:.95rem}
.site-footer .small{color:var(--silver)}
.contact-card{display:flex;flex-direction:column;justify-content:flex-start}
.site-header .hdr{width:min(1260px,100% - 2rem)}
@media (min-width:1100px){.nav{margin-right:auto}.brand{margin-right:1rem}}
@media (max-width:959px){.submitted .total-bar{display:none}}

/* Seasonal page (seasonal.html, generated from seasonal.json) */
.sx-hero .sx-logo{width:150px;margin:0 auto 1rem;filter:drop-shadow(0 6px 16px rgba(0,0,0,.4))}
.sx-updated{margin:1.2rem 0 0;font-size:.8rem;color:var(--silver);letter-spacing:.06em}
.sx-wrap{padding:2.5rem 0 4rem}
.sx-sec{margin-bottom:3.2rem}
.sx-head{text-align:center;margin-bottom:1.6rem}
.sx-head h2{font-size:clamp(1.6rem,4.5vw,2.2rem);letter-spacing:.08em;position:relative;display:inline-block;padding-bottom:.7rem}
.sx-head h2::after{content:"";position:absolute;left:50%;bottom:0;width:72px;height:4px;background:var(--red);transform:translateX(-50%);border-radius:2px}
.sx-head .lead{max-width:44rem;margin:1rem auto 0}
.sx-card{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--red);border-radius:var(--r);padding:1.2rem 1.4rem}
.sx-card h3,.sx-card h4{font-size:1.02rem;letter-spacing:.05em;margin:0 0 .4rem}
.sx-card p{margin:.35rem 0 0;font-size:.95rem;color:var(--muted)}
.sx-card p.small{font-size:.82rem}
.sx-card.is-sample{border-left-color:#B8860B;background:#FFFCF0}
.sx-news,.sx-menu,.sx-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.sx-news{max-width:760px;margin-inline:auto}
.sx-news time{font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red-d)}
.sx-menu,.sx-grid{grid-template-columns:repeat(2,1fr)}
.sx-menu .sx-card{display:flex;flex-direction:column;border-left-color:var(--navy)}
.sx-menu .sx-card p{flex:1}
.sx-order{align-self:flex-start;margin-top:.9rem;min-height:44px;padding:.5rem 1.1rem;font-size:.8rem}
.sx-grid .sx-card{border-left-color:var(--navy)}
.sx-trends .sx-card{border-left-color:var(--red)}
.sx-pair{font-weight:600}
.sx-pair a,.sx-link{font-weight:700}
.sx-source{text-align:center;margin-top:1.4rem}
.sx-sec .sub{margin:2rem 0 1rem}
.sx-sec .cta-center .btn+.btn{margin-left:.4rem}
.sx-tradition{background:var(--navy);color:var(--white);border-radius:var(--r);padding:1.8rem;display:grid;grid-template-columns:200px 1fr;gap:1.8rem;align-items:center;border-top:6px solid var(--red)}
.sx-tradition h2{color:var(--white);font-size:1.5rem;letter-spacing:.08em}
.sx-tradition .eyebrow{color:var(--silver)}
.sx-tradition p{color:#E8EBF0}
.sx-tradition .btn-red:hover{background:var(--red-d)}
.sx-teaser{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:3rem 0}
.sx-teaser h2{font-size:clamp(1.6rem,5vw,2.2rem);letter-spacing:.08em}
.sx-teaser p{max-width:38rem;margin-inline:auto}
.sx-teaser .btn-row{justify-content:center}
.oitem:target{background:#FFF8D6;outline:3px solid #F2A900;outline-offset:2px;border-radius:10px}
@media (max-width:759px){
 .sx-menu,.sx-grid{grid-template-columns:1fr}
 .sx-tradition{grid-template-columns:1fr;text-align:center}.sx-tradition img{max-width:150px;margin-inline:auto}
 .sx-sec .cta-center .btn{width:100%;margin:0 0 .6rem}
 .sx-sec .cta-center .btn+.btn{margin-left:0}
 body.seasonal .install{bottom:5.2rem}
}
@media (min-width:1100px) and (max-width:1239px){.nav a{padding:.6rem .5rem;letter-spacing:.07em}.brand{padding-right:.2rem}}
/* >>> extras.css (generated from extras.css by gen.py, do not edit here) >>> */
/* Extras: More menu, signup boxes, request forms, affiliate + partner placeholders. */
.soon-tag{background:var(--navy);margin-left:.4rem;vertical-align:middle}
.order-hero .soon-tag{background:var(--red)}
/* nav "More" */
.nav-more{position:relative}
.nav-more-btn{display:block;padding:.6rem .8rem;color:var(--white);background:none;border:0;font:700 .82rem var(--sans);letter-spacing:.1em;text-transform:uppercase;border-radius:10px;cursor:pointer;white-space:nowrap}
.nav-more-btn::after{content:"";display:inline-block;margin-left:.45rem;width:.45em;height:.45em;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-.15em) rotate(45deg)}
.nav-more-btn:hover,.nav-more.is-current .nav-more-btn{background:rgba(255,255,255,.12)}
.nav .nav-sub{display:none;position:absolute;top:100%;left:0;min-width:15rem;flex-direction:column;gap:0;background:var(--navy);border:1px solid rgba(255,255,255,.2);border-top:3px solid var(--red);border-radius:0 0 12px 12px;padding:.4rem;box-shadow:0 12px 24px rgba(0,0,0,.3);z-index:60}
.nav .nav-more.open .nav-sub{display:flex}
.no-js .nav .nav-sub{display:flex;position:static;border:0;box-shadow:none;padding:0}
.nav .nav-sub a[aria-current]{background:rgba(255,255,255,.14)}
@media (max-width:1099px){
 .nav-more-btn{display:none}
 .nav .nav-sub,.nav .nav-more.open .nav-sub{display:flex;position:static;border:0;box-shadow:none;background:transparent;padding:0;min-width:0}
}
/* signup */
.signup label{display:block;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem}
.su-row{display:flex;gap:.6rem;flex-wrap:wrap}
.signup input[type=email]{flex:1 1 14rem;min-height:48px;border:2px solid #AEB6C4;border-radius:10px;padding:.6rem .8rem;font:500 1rem var(--sans);color:var(--navy);background:#fff}
.signup input[type=email]:focus{border-color:var(--white)}
.su-note{margin:.6rem 0 0}
.su-status{margin:.4rem 0 0;min-height:1.2em}
.su-status.bad{color:#B00020;font-weight:700}
.foot .signup .su-note,.foot .signup .su-status{color:var(--silver)}
.foot .su-status a{text-decoration:underline}
.foot .su-status.bad{color:#FFB3B8}
.foot-signup{grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;border-top:1px solid rgba(255,255,255,.18);padding-top:1.6rem}
.foot-signup h2{color:var(--white);font-size:.9rem;letter-spacing:.16em}
.foot-signup ul{list-style:none;margin:0;padding:0}
.foot-signup .signup label{color:var(--white)}
@media (max-width:759px){.foot-signup{grid-template-columns:1fr}}
.sx-signup{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--red);border-radius:var(--r);padding:1.6rem;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:center}
.sx-signup h2{margin-bottom:.4rem}
@media (max-width:759px){.sx-signup{grid-template-columns:1fr}}
/* request pages */
.xpage{padding:2rem 0 4rem}
.x-h{margin:2rem 0 1rem}
.x-cards{display:grid;gap:1rem}
.x-card{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--navy);border-radius:var(--r);padding:1.2rem 1.4rem}
.x-card:nth-child(even){border-left-color:var(--red)}
.x-card h2{font-size:1.1rem;margin-bottom:.4rem}
.x-card p{margin:0 0 .6rem}
.x-price{font-size:.95rem;color:var(--muted)}
.x-note{margin-top:1rem}
.mform{margin-top:1rem}
.mform select{width:100%;min-height:46px;border:2px solid #AEB6C4;border-radius:10px;padding:.6rem .8rem;font:500 1rem var(--sans);color:var(--navy);background:#fff}
.mform .field input[type=number]{width:100%;min-height:46px;border:2px solid #AEB6C4;border-radius:10px;padding:.6rem .8rem;font:500 1rem var(--sans);color:var(--navy);background:#fff}
.mform .field.full{grid-column:1/-1}
.mform .req{color:var(--red-d)}
.mform .errors{background:#FFF3F3;border:2px solid var(--red);border-radius:10px;padding:.7rem 1rem;margin:0 0 1rem}
.mdone .btn-row{display:flex;flex-wrap:wrap;gap:.6rem}
.x-quote{text-align:center;font-size:2.2rem;color:var(--red-d);margin:.5rem 0 1rem}
.x-quote p{margin:0}
.x-signup{background:var(--white);border:2px solid var(--navy);border-radius:var(--r);padding:1.4rem;margin:1.4rem 0}
.x-signup h2{font-size:1.1rem}
/* affiliate placeholders + partners */
.aff{margin-top:2.4rem;border-top:2px dashed var(--line);padding-top:.4rem}
.aff-disc{background:#FFFCF0;border:2px solid #B8860B;border-radius:12px;padding:.8rem 1rem;font-size:.95rem}
.aff-card{border-left-color:#B8860B!important;border-style:dashed;border-left-style:solid}
.aff-soon{margin-top:.6rem!important}
.hh-partners{background:var(--white);border-radius:var(--r);padding:1.6rem;margin-top:1.2rem;border-top:6px solid var(--red)}
.hh-slot{border:3px dashed var(--silver);border-radius:var(--r);padding:1.2rem;display:grid;gap:.4rem;margin:.6rem 0 1.2rem;background:var(--cream)}
.hh-slot span{color:var(--muted);font-size:.95rem}
@media (max-width:759px){body.catering .install,body.mealprep .install,body.recipebook .install{bottom:5.2rem}}
/* header room for the extra "More" item */
@media (min-width:1100px){.nav a,.nav-more-btn{padding:.6rem .55rem;letter-spacing:.07em}.brand-text{margin-right:.4rem}}
@media (min-width:1100px) and (max-width:1279px){.nav a,.nav-more-btn{font-size:.74rem;padding:.6rem .4rem;letter-spacing:.05em}.brand-text{font-size:.9rem;letter-spacing:.08em}.hdr-actions .call-num{display:none}.hdr-actions .btn-call{min-width:48px;padding:.7rem}}

/* Weekly promise badge ("Fresh every week", "Updated every Monday") */
.wk-badge{display:inline-flex;align-items:stretch;margin:.2rem 0 1rem;border-radius:999px;overflow:hidden;border:2px solid var(--red);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1;max-width:100%;flex-wrap:wrap;justify-content:center}
.wk-tag{background:var(--red);color:#fff;padding:.5rem .8rem}
.wk-day{background:#fff;color:var(--navy);padding:.5rem .8rem}
.wk-line{font-size:.98rem;margin:0 auto 1rem;max-width:38rem}
.wk-hero{color:#E8EBF0;margin-top:-.2rem}
.wk-hero a{color:#fff;font-weight:700}
.wk-upd{color:var(--muted);font-size:.85rem;white-space:nowrap}
.sx-teaser .wk-badge{margin-top:0}
.wk-inline{margin:.2rem 0 .8rem}
.nav-badge{display:none;margin-left:.4rem;background:var(--red);color:#fff;border-radius:999px;font-size:.62rem;letter-spacing:.1em;padding:.2rem .5rem;vertical-align:middle;line-height:1}
@media (max-width:1099px){.nav-badge{display:inline-block}}
@media (min-width:1500px){.nav-badge{display:inline-block}}
@media (max-width:480px){.wk-badge{flex-wrap:nowrap}.wk-tag,.wk-day{padding:.5rem .55rem;font-size:.64rem;letter-spacing:.06em;white-space:nowrap}}

.hh-donate{background:var(--white);border-radius:var(--r);padding:1.6rem;margin-top:1.2rem;border-top:6px solid var(--navy)}
.hh-two{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1rem 0}
.hh-two>div{background:var(--cream);border-radius:var(--r);padding:1.2rem}
.hh-two h4{margin:0 0 .4rem}
.hh-promise{border-left:5px solid var(--red);padding:.6rem 1rem;background:#fff4f4;margin:.6rem 0}
@media (max-width:759px){.hh-two{grid-template-columns:1fr}}
.hh-batch{background:var(--cream);border:2px solid var(--navy);border-radius:var(--r);padding:1.2rem;margin:1rem 0}
.hh-batch h4{margin:0 0 .5rem;color:var(--navy)}
.hh-steps{margin:0 0 .8rem 1.2rem;padding:0;display:grid;gap:.4rem}
.hh-bar{height:16px;background:#fff;border:2px solid var(--navy);border-radius:99px;overflow:hidden}
.hh-bar span{display:block;height:100%;background:var(--red)}
.hh-start{margin:.5rem 0 0}
.hh-roll{margin:0 0 .8rem;font-weight:600}
.hh-etransfer{background:#FFFCF0;border:2px solid #B8860B;border-radius:12px;padding:.8rem 1rem;margin:.8rem 0;font-size:1.02rem}
.mp-no-seafood{background:var(--navy);color:#fff;border-radius:12px;padding:.8rem 1rem;margin:.8rem 0;border-left:6px solid var(--red)}
/* <<< extras.css <<< */
/* >>> giftcards.css (generated from giftcards.css by gen.py, do not edit here) >>> */
/* Gift cards: page, home teaser, order section */
.gc-script{font-size:clamp(1.8rem,5vw,2.6rem);color:var(--silver);margin:.2rem 0 .6rem;line-height:1.1}
.gc-wrap{padding-top:2.5rem}
.gc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.gc-card{background:var(--white);border:1px solid var(--line);border-top:6px solid var(--navy);border-radius:var(--r);padding:1rem 1rem 1.3rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.gc-silver{border-top-color:var(--silver)}
.gc-red{border-top-color:var(--red)}
.gc-cream{border-top-color:#E3D9C4}
.gc-fig{display:block;width:100%;border-radius:10px;overflow:hidden;box-shadow:0 8px 20px rgba(20,33,61,.28);margin-bottom:1rem;transition:transform .15s}
.gc-fig:hover{transform:translateY(-2px)}
.gc-fig img{width:100%;height:auto}
.gc-card h3{font-size:1.25rem;letter-spacing:.08em;margin-bottom:.3rem}
.gc-card p{flex:1;color:var(--muted);font-size:.95rem}
.gc-never{margin-top:1.6rem;background:var(--navy);color:#E8EBF0;border-radius:var(--r);padding:1.2rem 1.4rem;display:flex;gap:1.2rem;align-items:center;border-left:8px solid var(--red)}
.gc-never-big{font-family:var(--script);font-size:2.4rem;color:var(--white);line-height:1;white-space:nowrap}
.gc-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gc-steps li{background:var(--navy-3);border-radius:var(--r);padding:1.4rem 1.2rem;border-top:4px solid var(--red);color:#E8EBF0}
.gc-steps h3{font-size:1rem;margin-top:.6rem;color:var(--white)}
.gc-steps p{margin:0;font-size:.95rem}
.gc-steps a{color:#fff;font-weight:700}
.gc-steps .num{display:inline-flex;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--red);color:#fff;align-items:center;justify-content:center;font-weight:800}
.gc-steps .flag-tag{margin-left:0;margin-top:.4rem}
.gc-back{margin-top:2rem;max-width:46rem}
.gc-back figure{margin:0}
.gc-back img{border-radius:10px;box-shadow:0 8px 20px rgba(20,33,61,.22)}
.gc-back figcaption{margin-top:.6rem;text-align:center}
.gc-list{margin:0 0 1rem;padding-left:1.2rem}
.gc-list li{margin-bottom:.6rem}
.gc-using{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--red);border-radius:var(--r);padding:1.2rem 1.4rem 1.2rem 2.4rem}
.gc-terms{background:var(--white);border:1px solid var(--line);border-left:8px solid var(--navy);border-radius:var(--r);padding:1.2rem 1.4rem 1.2rem 2.4rem}
.gc-teaser-in{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;text-align:left}
.gc-teaser .btn-row{justify-content:flex-start}
.gc-teaser p{margin-inline:0}
.gc-teaser-imgs{position:relative;aspect-ratio:900/640}
.gc-teaser-imgs img{position:absolute;width:62%;height:auto;border-radius:8px;box-shadow:0 8px 18px rgba(20,33,61,.35)}
.gc-t1{left:0;top:2%;transform:rotate(-7deg)}
.gc-t2{left:19%;top:20%;transform:rotate(1deg);z-index:2}
.gc-t3{right:0;top:40%;transform:rotate(7deg);z-index:3}
@media (max-width:959px){.gc-steps{grid-template-columns:1fr 1fr}}
@media (max-width:759px){
 .gc-grid{grid-template-columns:1fr}
 .gc-never{flex-direction:column;text-align:center;gap:.4rem}
 .gc-back{grid-template-columns:1fr}
 .gc-teaser-in{grid-template-columns:1fr;text-align:center}
 .gc-teaser .btn-row{justify-content:center}
 .gc-teaser-imgs{max-width:380px;margin-inline:auto}
}
@media (max-width:559px){.gc-steps{grid-template-columns:1fr}}
/* header fit: "Gift Cards" adds one nav item, so drop the wordmark beside the emblem on narrow desktops */
@media (min-width:1100px) and (max-width:1199px){.brand-text{display:none}}
@media (min-width:1280px) and (max-width:1439px){.nav a,.nav-more-btn{font-size:.74rem;padding:.6rem .4rem;letter-spacing:.05em}.brand-text{font-size:.9rem;letter-spacing:.08em}.hdr-actions .call-num{display:none}.hdr-actions .btn-call{min-width:48px;padding:.7rem}}
@media (min-width:1440px){.site-header .hdr{width:min(1400px,100% - 2rem)}}
/* <<< giftcards.css <<< */
/* >>> holiday.css (generated from holiday.css by gen.py, do not edit here) >>> */
/* Holiday Turkey Dinner + crème brûlée flavours (holiday.css, merged into style.css by gen.py) */
.flag-seasonal,.flav-tag,.hd-chip{display:inline-block;font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:1}
.flav-tag{background:#E9731A;color:#fff;font-size:.62rem;padding:.25rem .5rem;border-radius:999px;vertical-align:middle;margin-left:.3rem}
.hd-chip{background:var(--red);color:#fff;font-size:.72rem;padding:.4rem .75rem;border-radius:999px;white-space:nowrap}
.hd-chip[data-state="during"]{background:#1F7A3A}
.hd-chip[data-state="after"]{background:#6B7280}
.hd-chip-lg{font-size:.82rem;padding:.55rem .95rem}

/* Nav highlight */
.nav .nav-holiday a{background:var(--red);color:#fff;border-radius:999px;padding:.5rem .8rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.nav .nav-holiday a:hover,.nav .nav-holiday a[aria-current]{background:var(--red-d);color:#fff}
.nav-hd-tag{display:none;margin-left:.35rem;background:#fff;color:var(--red-d);border-radius:999px;font-size:.6rem;letter-spacing:.08em;padding:.2rem .45rem;line-height:1}
@media (max-width:1099px){.nav-hd-tag{display:inline-block}.nav .nav-holiday a{padding:1rem .9rem;border-radius:10px;margin:.2rem 0}}
@media (min-width:1100px) and (max-width:1239px){.nav .nav-holiday a{padding:.5rem .5rem}}

/* Home banner / seasonal feature */
.hd-banner{background:linear-gradient(135deg,var(--navy-2),var(--navy-3));color:#fff;border-top:5px solid var(--red);border-bottom:5px solid var(--red);padding:2.6rem 0}
.hd-banner-in{display:grid;gap:2rem;align-items:center}
.hd-banner-in.has-art{grid-template-columns:1.3fr .7fr}
.hd-banner h2{color:#fff;font-size:clamp(1.8rem,5vw,2.8rem);letter-spacing:.08em;margin-bottom:.2rem}
.hd-banner .eyebrow{color:#F4B4B7}
.hd-tag{font:900 clamp(1.2rem,3.4vw,1.8rem)/1.15 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .3rem;color:#fff}
.hd-sub{font-family:var(--serif);font-style:italic;font-size:1.15rem;margin:0 0 1rem;color:#E8EBF0}
.hd-dates{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;margin:0 0 1.2rem;font-weight:700;font-size:.92rem}
.hd-dates>span:not(.hd-chip){border-left:2px solid rgba(255,255,255,.35);padding-left:.9rem}
.hd-banner-art img,.hd-thumb{border-radius:14px;border:3px solid rgba(255,255,255,.85);box-shadow:0 12px 30px rgba(0,0,0,.4);width:100%;aspect-ratio:4/3;object-fit:cover}
.hd-banner-card{border-radius:var(--r);padding:2rem 1.6rem;border-top-width:6px;border-bottom:0}
.hd-banner-card .hd-banner-in{padding:0}
@media (max-width:759px){.hd-banner-in.has-art{grid-template-columns:1fr}.hd-dates>span:not(.hd-chip){border-left:0;padding-left:0}.hd-banner .btn-row .btn{width:100%}}

/* Holiday page */
.hd-hero{background:linear-gradient(135deg,var(--navy-2),var(--navy-3));text-align:left;padding:3rem 0 2.6rem;border-bottom:5px solid var(--red)}
.hd-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center}
.hd-hero h1{font-size:clamp(2rem,6vw,3.4rem);text-align:left;margin-bottom:.4rem}
.hd-hero .eyebrow{color:#F4B4B7}
.hd-hero .hd-tag{font-size:clamp(1.3rem,4vw,2.2rem);color:#fff}
.hd-mainstay{margin:1.2rem 0 0;font-size:.95rem;color:#C9CED6}
.hd-art{margin:0}
.hd-photo{width:100%;height:auto;border-radius:16px;border:4px solid #fff;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.hd-fallback{background:var(--cream);color:var(--navy);border:4px solid #fff;outline:3px solid var(--red);outline-offset:-12px;border-radius:16px;padding:2rem 1.8rem;box-shadow:0 14px 34px rgba(0,0,0,.45);text-align:center}
.hd-fb-eyebrow{font-weight:800;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red-d);margin:0 0 .3rem}
.hd-fb-title{font:900 clamp(1.3rem,3vw,1.8rem)/1.15 var(--sans);letter-spacing:.08em;margin:0 0 1rem;color:var(--navy)}
.hd-fallback ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.hd-fallback li{font-family:var(--serif);font-size:1.12rem;padding:.38rem 0;border-top:1px solid var(--line)}
.hd-fallback li:first-child{border-top:2px solid var(--red)}
.hd-fallback-sm li{font-size:1rem}
.hd-included{list-style:none;margin:0 auto;padding:0;max-width:760px;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.hd-included li{background:#fff;border:2px solid var(--navy);border-radius:999px;padding:.55rem 1.1rem;font-weight:700;font-size:.98rem}
.hd-sizes{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:760px}
.hd-size{background:#fff;border:1px solid var(--line);border-top:8px solid var(--red);border-radius:var(--r);padding:1.6rem;text-align:center}
.hd-size:nth-child(2){border-top-color:var(--navy)}
.hd-size h3{font-size:1.05rem;letter-spacing:.1em}
.hd-price{font:900 3.2rem/1 var(--serif);color:var(--navy);margin:.2rem 0 1rem}
.hd-pans{background:var(--cream-2);border:2px dashed var(--navy);border-radius:var(--r);padding:1.8rem;display:grid;grid-template-columns:1fr auto;gap:1.4rem;align-items:center}
.hd-pans h2{font-size:1.5rem;letter-spacing:.08em}
.hd-steps .num{background:var(--red)}
@media (max-width:759px){.hd-hero-in{grid-template-columns:1fr}.hd-hero,.hd-hero h1{text-align:center}.hd-hero .hd-dates{justify-content:center}.hd-hero .btn-row{justify-content:center}.hd-hero .btn-row .btn{width:100%}.hd-sizes{grid-template-columns:1fr}.hd-pans{grid-template-columns:1fr;text-align:center}.hd-pans .btn{width:100%}}

/* Order page: holiday section */
.ocat-holiday{border-left-color:var(--navy);background:linear-gradient(180deg,#fff,#FFF8F0)}
.hd-order-status{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:center;font-weight:700}
.hd-notice{background:#FFF8D6;border:2px solid #B8860B;border-radius:12px;padding:.7rem 1rem;margin:.6rem 0}
.hd-notice p{margin:0}
.hd-pickup{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 .4rem;padding-top:1rem;border-top:1px solid var(--line)}
.hd-pickup .small{grid-column:1/-1;margin:0}
.hd-pickup input{width:100%;min-height:46px;border:2px solid #AEB6C4;border-radius:10px;padding:.6rem .8rem;font:500 1rem var(--sans);color:var(--navy);background:#fff}
.hd-pickup .field{margin:0}
.ocat-holiday.is-locked .oitem,.ocat-holiday.is-locked .hd-pickup{opacity:.5}
@media (max-width:559px){.hd-pickup{grid-template-columns:1fr}}

/* Crème brûlée flavours */
.flav-lead{margin:.7rem 0 .3rem;font-size:.95rem}
.flav-chips{margin:.4rem 0 0}
.flav-chips li.is-seasonal{background:#FFE9D2;border:2px solid #E9731A}
.oitem-brulee{grid-template-columns:1fr}
.oitem-brulee .flav-min{margin-top:.5rem;color:var(--navy)}
.flav-photo{width:100%;max-width:340px;border-radius:12px;margin-top:.8rem;aspect-ratio:4/3;object-fit:cover}
.flav-grid{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.flav-row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem 1.4rem;align-items:center;padding:.6rem .9rem;border-top:1px solid var(--line)}
.flav-row:first-child{border-top:0}
.flav-row:nth-child(even){background:#FFFCF5}
.flav-row.is-seasonal{background:#FFF1E2}
.flav-name{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem;color:var(--navy)}
.flav-row .opt{display:grid;gap:.25rem;justify-items:center}
.flav-row .opt-label{font-size:.75rem}
.flav-row .step{width:38px;height:40px;font-size:1.3rem}
.flav-row .qty{width:44px;height:40px;font-size:1rem}
@media (max-width:559px){.flav-row{grid-template-columns:1fr 1fr;gap:.4rem .6rem}.flav-name{grid-column:1/-1}.flav-row .opt{justify-items:stretch}.flav-row .stepper{justify-self:stretch;display:flex}.flav-row .qty{flex:1;width:auto}}
.sx-feature{margin:.2rem 0 .4rem;font-size:.95rem}
.sx-featured{border-left-color:#E9731A!important;background:#FFFAF3}

/* Header fit: with Holiday Dinner in the nav, squeeze spacing on mid-width desktops so nothing overflows */
@media (min-width:1100px) and (max-width:1439px){.nav a,.nav-more-btn{padding:.6rem .28rem;letter-spacing:.03em;font-size:.72rem}.nav ul{gap:.05rem}.hdr{gap:.4rem}.brand{padding-right:.3rem}.brand-text{font-size:.82rem;letter-spacing:.06em}.hdr-actions{gap:.4rem}.hdr-actions .btn{padding:.5rem .8rem}.nav .nav-holiday a{padding:.5rem .5rem}}
@media (min-width:1500px){.nav-badge{display:none}}
@media (min-width:1300px) and (max-width:1699px){.hdr-actions .call-num{display:none}}
.brand{flex:none}
@media (min-width:1100px) and (max-width:1219px){.brand-text{display:none}}
@media (min-width:1440px){.nav a,.nav-more-btn{font-size:.76rem;padding:.6rem .45rem;letter-spacing:.06em}.nav .nav-holiday a{padding:.5rem .6rem}.brand-text{font-size:.9rem;letter-spacing:.1em}}
@media (min-width:1100px){.hdr-actions .call-num{display:none}}
/* Real photos */
.photos img.photo-natural{aspect-ratio:auto;object-fit:contain}
.hd-banner-art{max-width:300px;justify-self:end;width:100%}
.hd-banner-art img,.hd-thumb{aspect-ratio:4/5;object-position:50% 70%}
.hd-photo{max-height:640px;object-fit:cover}
@media (max-width:759px){.hd-banner-art{max-width:260px;justify-self:center}.hd-photo{max-height:none}}

/* Menu photos (generated from photos.json slots) */
.hero-art-photo{margin:0;justify-self:center;width:100%;max-width:420px}
.hero-art .hero-photo{width:100%;max-width:none;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:4px solid #fff;box-shadow:0 14px 34px rgba(0,0,0,.45);filter:none}
@media (max-width:759px){.hero-art-photo{max-width:420px}.hero-art .hero-photo{aspect-ratio:16/11;object-position:50% 8%}}
/* soups & chilis: price boxes with a two-photo strip beside them (stacks under them on mobile) */
.pb-row{display:grid;grid-template-columns:1fr minmax(0,400px);gap:1.2rem;align-items:center;margin:1.2rem 0 .4rem}
.soup-photos{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;min-width:0}
.soup-photos.one{grid-template-columns:minmax(0,200px);justify-content:center}
.pb-row .pricebox{margin:0}
.soup-photo{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;background:var(--cream-2)}
.soup-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pill-poq{background:#fff;border:1px dashed var(--red-d)}
.poq-tag{font-weight:600;font-size:.72rem;color:var(--red-d);background:var(--cream-2);border-radius:999px;padding:.1rem .55rem;margin-left:.3rem;white-space:nowrap;vertical-align:middle}
.oitem-quote .opts{min-width:260px}
.items .item.has-img{display:grid;grid-template-columns:132px 1fr;gap:0 1rem;align-items:start}
.item-img{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);width:132px;height:132px;background:var(--cream-2)}
.item-img img{width:132px;height:132px;object-fit:cover}
.item-main{min-width:0}
.photos:has(figure:only-child){grid-template-columns:1fr}
.photos img.photo-natural{width:100%;height:auto}
@media (max-width:759px){
 .items .item.has-img{grid-template-columns:96px 1fr;gap:0 .8rem}
 .item-img,.item-img img{width:96px;height:96px}
 .photos:has(figure:only-child){grid-template-columns:1fr;max-width:420px}
 .photos img.photo-tall{aspect-ratio:4/3;object-fit:cover;object-position:50% 80%;height:auto}
 .pb-row{grid-template-columns:1fr}
 .soup-photos{gap:.6rem}
}
.kitchen-gal{margin:2rem 0 1rem}
.kg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}
.kg-grid figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.kg-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media (max-width:759px){.kg-grid{grid-template-columns:1fr 1fr}}
.mp-photo{margin:1.4rem auto;max-width:340px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.mp-photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
#dessert.has-photo .cat-body{grid-template-columns:1fr;gap:1.2rem}
#dessert .photos{grid-template-columns:1fr 1.45fr;max-width:560px;align-items:start;order:2}
@media (max-width:759px){#dessert .photos{max-width:none}}
/* <<< holiday.css <<< */
/* >>> kitchen_picks.css (generated from kitchen_picks.css by gen.py, do not edit here) >>> */
/* Friends of For Seasons page (kitchen-picks.html, content from kitchen_picks.json) */
.kp-hero .kp-intro{max-width:40rem;margin:.6rem auto 1.2rem;color:#E8EBF0;font-size:1rem}
.kp-wrap{padding-top:2rem}
.kp-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.kp-grid>.kp-card{flex:0 1 calc((100% - 1.4rem)/2)}
.kp-card{background:var(--white);border:1px solid var(--line);border-top:6px solid var(--red);border-radius:var(--r);padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;box-shadow:0 2px 0 rgba(20,33,61,.04)}
.kp-local{border-top-color:var(--navy);background:linear-gradient(180deg,var(--white),#FFFDF8)}
.kp-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.kp-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;line-height:1.2}
.kp-cat{background:var(--navy);color:var(--white)}
.kp-love{background:var(--red-d);color:var(--white)}
.kp-card h3{font-size:1.2rem;letter-spacing:.06em;margin-bottom:.6rem}
.kp-blurb{flex:1;margin:0 0 1.1rem;color:var(--ink);font-size:1rem}
.kp-act{margin:0}
.kp-act .btn{width:100%}
.kp-closing{text-align:center;margin:3rem 0 0;padding:2rem 1.2rem;background:var(--navy);border-radius:var(--r);border-bottom:6px solid var(--red)}
.kp-closing .script{font-size:clamp(1.8rem,5vw,2.6rem);color:var(--white);margin:0 0 1rem;line-height:1.15}
.kp-closing p:last-child{margin:0}
@media (max-width:639px){.kp-grid>.kp-card{flex-basis:100%}}
/* <<< kitchen_picks.css <<< */
