/* Fieldstone Bread Co. — flour cream, oven-brick rust, charcoal. Fraunces + Inter. */
:root{
  --cream:#f4ecdf; --paper:#fbf6ec; --flour:#ebe0cd; --line:#d6c7af;
  --ink:#25211d; --ink-2:#574d43; --rust:#9b3a1d; --rust-d:#7b2c14; --char:#1f1b18;
  --on-dark:#f8f1e5; --on-dark-2:#e3d6c3;
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --wrap:1180px; --gut:clamp(16px,4vw,40px);
  --s1:clamp(56px,8vw,112px);
  --r:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.0625rem/1.65 var(--sans)}
img{display:block;max-width:100%;height:auto}
a{color:var(--rust)}
a:hover{color:var(--rust-d)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em;font-variation-settings:"opsz" 96;letter-spacing:-.01em}
h1{font-size:clamp(2.35rem,1.5rem + 3.6vw,4.6rem);font-weight:500}
h2{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.75rem)}
h3{font-size:1.3rem;font-variation-settings:"opsz" 24}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.section{padding:var(--s1) 0}
.eyebrow{font:600 .8rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin:0 0 1rem}
.eyebrow-light{color:var(--on-dark-2)}
.lede{font-size:clamp(1.1rem,1rem + .4vw,1.3rem);color:var(--ink-2);max-width:40rem}
.sub{color:var(--ink-2);max-width:42rem}
.small{font-size:.95rem;color:var(--ink-2)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* the grain-line rule: a hairline with fine ticks, used sparingly */
.grain{height:9px;margin:1.25rem 0;color:var(--rust);background:
  linear-gradient(currentColor,currentColor) 0 50%/100% 1px no-repeat,
  repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 7px) 0 50%/100% 9px no-repeat;opacity:.55}

/* focus, skip, motion */
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1rem;border-radius:var(--r);z-index:99}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.hero :focus-visible,.share-band :focus-visible,.site-foot :focus-visible{outline-color:#f2c9a8}
.reveal-pending{transform:translateY(14px)}.reveal-in{opacity:1;transform:none;transition:opacity .5s,transform .5s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal-pending{transform:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.7rem 1.4rem;border-radius:999px;border:2px solid var(--rust);background:var(--rust);color:#fff;font:600 1rem/1.25 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--rust-d);border-color:var(--rust-d);color:#fff}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-light{background:transparent;color:var(--on-dark);border-color:var(--on-dark)}
.btn-light:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--ink)}
.btn-cream{background:var(--paper);border-color:var(--paper);color:var(--rust-d)}
.btn-cream:hover{background:#fff;border-color:#fff;color:var(--rust-d)}
.btn-line-light{background:transparent;border-color:var(--on-dark);color:var(--on-dark)}
.btn-line-light:hover{background:var(--on-dark);color:var(--rust-d)}
.pair{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.5rem}
@media (max-width:600px){.pair{flex-wrap:nowrap}.pair>*{flex:1 1 0;min-width:0;padding-left:.8rem;padding-right:.8rem}}

/* header */
.site-head{background:var(--cream);border-bottom:1px solid var(--line);position:relative;z-index:20}
.head-row{display:flex;align-items:center;gap:1rem;min-height:72px}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);min-height:44px}
.brand-name{font:600 1.2rem/1 var(--serif);letter-spacing:-.01em}
.brand-name span{color:var(--rust)}
.nav-main{margin-left:auto}
.nav-main ul,.mnav ul,.site-foot ul{list-style:none;margin:0;padding:0}
.nav-main ul{display:flex;gap:.25rem}
.nav-main a{display:flex;align-items:center;min-height:44px;padding:0 .8rem;color:var(--ink);text-decoration:none;font-weight:500;border-radius:999px}
.nav-main a:hover{background:var(--flour)}
.nav-main a[aria-current="page"]{color:var(--rust);box-shadow:inset 0 -2px 0 var(--rust);border-radius:0}
.head-tel{display:flex;align-items:center;min-height:44px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.lang{position:relative}
.lang summary,.mnav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;min-height:44px;min-width:44px;padding:0 .6rem;border-radius:999px;font-weight:500}
.lang summary::-webkit-details-marker,.mnav summary::-webkit-details-marker{display:none}
.lang summary:hover,.mnav summary:hover{background:var(--flour)}
.lang svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.lang-panel{position:absolute;right:0;top:calc(100% + 6px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:.75rem;min-width:12rem;box-shadow:0 12px 28px rgba(31,27,24,.14)}
.mnav{display:none}
.bars{width:18px;height:2px;background:currentColor;position:relative;display:inline-block}
.bars::before,.bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.bars::before{top:-6px}.bars::after{top:6px}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--gut) 1.25rem;box-shadow:0 16px 30px rgba(31,27,24,.12)}
.mnav-panel a{display:flex;align-items:center;min-height:48px;color:var(--ink);text-decoration:none;font:500 1.15rem/1.2 var(--serif);border-bottom:1px solid var(--line)}
.mnav-panel a[aria-current="page"]{color:var(--rust)}
.mnav-tel a{border:0;font:600 1rem/1 var(--sans);color:var(--rust)}
@media (max-width:980px){
  .nav-main,.head-tel{display:none}
  .lang{margin-left:auto}
  .mnav{display:block}
}
@media (max-width:420px){.lang-text{display:none}.brand-name{font-size:1.05rem}}

/* hero: full-bleed photo, copy sits on the shaded bottom */
.hero{position:relative;display:grid;align-items:end;min-height:clamp(560px,86vh,780px);background:var(--char);color:var(--on-dark);overflow:clip}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,19,15,.2) 0%,rgba(24,19,15,.35) 35%,rgba(24,19,15,.86) 78%,rgba(24,19,15,.92) 100%)}
.hero-copy{position:relative;z-index:1;width:100%;padding-top:5rem;padding-bottom:calc(var(--overlap,120px) + 2.5rem)}
.hero h1{max-width:15em;color:#fff}
.hero-lede{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);max-width:36rem;color:var(--on-dark-2)}

/* this week's bake, set like a paper ticket over the hero's edge */
.ticket-zone{--overlap:120px;margin-top:calc(-1 * var(--overlap));position:relative;z-index:2}
.ticket-shadow{filter:drop-shadow(0 18px 26px rgba(31,27,24,.2))}
.ticket{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);background:var(--paper);border-radius:4px;
  -webkit-mask:radial-gradient(circle 13px at 0 50%,#0000 97%,#000 100%) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 50%,#0000 97%,#000 100%) right/51% 100% no-repeat;
  mask:radial-gradient(circle 13px at 0 50%,#0000 97%,#000 100%) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 50%,#0000 97%,#000 100%) right/51% 100% no-repeat}
.ticket-stub{padding:2rem 1.75rem 2rem 2.25rem;border-right:2px dashed var(--line)}
.ticket-stub h2{font-size:clamp(1.7rem,1.4rem + 1vw,2.2rem);margin-bottom:0}
.ticket-stub p{font-size:.95rem;color:var(--ink-2)}
.stub-off{font-weight:600;color:var(--ink)!important;margin:0}
.ticket-days{list-style:none;margin:0;padding:1.75rem 2rem 1.75rem 1.5rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.tday{padding:0 1rem;border-left:1px solid var(--line)}
.tday:first-child{border-left:0}
.tday h3{font-size:1.6rem;color:var(--rust);margin:0 0 .6rem;font-weight:600}
.tday abbr{text-decoration:none}
.tday ul{list-style:none;margin:0;padding:0;font-size:.95rem;line-height:1.45}
.tday li+li{margin-top:.35rem}
.tnote{margin:.8rem 0 0;font-size:.85rem;font-weight:600;color:var(--rust-d);background:#f6e3d6;padding:.45rem .55rem;border-radius:4px}
@media (max-width:980px){
  .ticket{grid-template-columns:minmax(0,1fr)}
  .ticket-stub{border-right:0;border-bottom:2px dashed var(--line);padding:1.75rem 1.75rem 1.5rem}
  .ticket-days{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));padding:1.25rem 1.75rem 1.75rem;row-gap:1.25rem}
  .tday{padding:0 .75rem 0 0;border-left:0}
}
@media (max-width:600px){
  .ticket-zone{--overlap:64px}
  .ticket-days{grid-template-columns:minmax(0,1fr);row-gap:0;padding:.5rem 1.25rem 1.25rem}
  .tday{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.75rem;padding:.8rem 0;border-top:1px solid var(--line)}
  .tday:first-child{border-top:0}
  .tday h3{font-size:1.3rem;margin:0}
  .tday ul{display:flex;flex-wrap:wrap;gap:.2rem .9rem}
  .tday li+li{margin-top:0}
  .tnote{grid-column:2}
  .ticket-stub{padding:1.5rem 1.4rem 1.25rem}
}

/* the oven */
.oven-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.oven-photo{margin:0;border-radius:50%;overflow:hidden;aspect-ratio:1;max-width:500px;width:100%;justify-self:center;box-shadow:0 0 0 10px var(--paper),0 0 0 11px var(--line)}
.oven-photo img{width:100%;height:100%;object-fit:cover}
.oven-quote{font:italic 400 clamp(1.25rem,1.1rem + .6vw,1.6rem)/1.35 var(--serif);color:var(--rust-d);border-left:3px solid var(--rust);padding-left:1.1rem;margin:1.5rem 0}
.oven-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:2rem 0 0;border-top:1px solid var(--line)}
.oven-facts div{padding:1rem 1rem 0 0}
.oven-facts div+div{padding-left:1rem;border-left:1px solid var(--line)}
.oven-facts dt{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.oven-facts dd{margin:.2rem 0 0;font:500 1.15rem/1.3 var(--serif)}
@media (max-width:820px){
  .oven-grid{grid-template-columns:minmax(0,1fr)}
  .oven-photo{max-width:340px}
}
@media (max-width:520px){.oven-facts{grid-template-columns:minmax(0,1fr)}.oven-facts div+div{border-left:0;padding-left:0;border-top:1px solid var(--line)}.oven-facts div{padding:.8rem 0}}

/* bread share band */
.share-band{background:var(--rust);color:var(--on-dark);padding:var(--s1) 0}
.share-band h2{color:#fff}
.share-band p{color:var(--on-dark-2)}
.share-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.share-prices{list-style:none;margin:0;padding:0}
.share-prices li{display:flex;align-items:baseline;gap:1rem;padding:1rem 0;border-top:1px solid rgba(248,241,229,.35)}
.share-prices li:last-child{border-bottom:1px solid rgba(248,241,229,.35)}
.sp-num{font:500 clamp(2rem,1.6rem + 1.4vw,2.9rem)/1 var(--serif);color:#fff;flex:0 0 auto;min-width:5.5ch}
.sp-txt{color:var(--on-dark-2);min-width:0}
@media (max-width:820px){.share-grid{grid-template-columns:minmax(0,1fr)}}

/* visit on home */
.visit-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.visit-photo{margin:0}
.visit-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.hours{border-collapse:collapse;width:100%;max-width:26rem;margin:1rem 0 .5rem}
.hours th,.hours td{text-align:left;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:1rem}
.hours th{font-weight:600;padding-right:1rem}
.hours td{color:var(--ink-2)}
@media (max-width:820px){.visit-grid{grid-template-columns:minmax(0,1fr)}.visit-photo{order:-1}}

/* honest strip */
.honest{background:var(--flour);padding:clamp(40px,6vw,72px) 0}
.honest-h{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem)}
.honest-list{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.honest-list li{padding:0 1.5rem;border-left:1px solid var(--line);color:var(--ink-2)}
.honest-list li:first-child{padding-left:0;border-left:0}
.honest-list strong{display:block;color:var(--ink);font:600 1.1rem/1.3 var(--serif);margin-bottom:.3rem}
@media (max-width:820px){.honest-list{grid-template-columns:minmax(0,1fr)}.honest-list li{padding:1rem 0;border-left:0;border-top:1px solid var(--line)}.honest-list li:first-child{border-top:0;padding-top:0}}

/* inner page heroes */
.page-hero{padding:clamp(48px,7vw,96px) 0 clamp(24px,4vw,48px)}
.page-hero h1{max-width:18em}

/* breads */
.loaves{padding-top:clamp(16px,3vw,32px)}
.loaf-list{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.loaf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}
.loaf:nth-child(even) .loaf-photo{order:2}
.loaf-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.loaf-body p{color:var(--ink-2);max-width:38rem}
.loaf-spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);margin:1.25rem 0 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.loaf-spec div{padding:.8rem 1rem}
.loaf-spec div+div{border-left:1px solid var(--line)}
.loaf-spec dt{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.loaf-spec dd{margin:.15rem 0 0;font-weight:600}
@media (max-width:820px){.loaf{grid-template-columns:minmax(0,1fr)}.loaf:nth-child(even) .loaf-photo{order:0}}
@media (max-width:520px){.loaf-spec{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.loaf-spec div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}}

.pastry{background:var(--char);color:var(--on-dark)}
.pastry h2{color:#fff}
.pastry .eyebrow{color:#efb894}
.pastry p{color:var(--on-dark-2)}
.pastry-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.pastry-photo{margin:0}
.pastry-photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}
.pastry-list{list-style:none;margin:1.5rem 0 0;padding:0}
.pastry-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.5rem;padding:1rem 0;border-top:1px solid rgba(248,241,229,.25)}
.pl-name{font:500 1.35rem/1.2 var(--serif);color:#fff}
.pl-price{grid-row:1;grid-column:2;font-weight:600;color:#fff}
.pl-desc{grid-column:1/-1;color:var(--on-dark-2);font-size:.98rem;margin-top:.25rem}
@media (max-width:820px){.pastry-grid{grid-template-columns:minmax(0,1fr)}.pastry-photo{max-width:420px}}

.notes-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);gap:clamp(1.5rem,4vw,3rem)}
.notes-grid h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem)}
.notes-grid h3{color:var(--rust)}
.notes-grid p{color:var(--ink-2)}
@media (max-width:820px){.notes-grid{grid-template-columns:minmax(0,1fr)}}

.cta-line{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(32px,5vw,56px) 0}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.cta-row p{font:500 clamp(1.25rem,1.1rem + .6vw,1.6rem)/1.3 var(--serif);margin:0;min-width:0;flex:1 1 20rem}
.cta-row .pair{margin-top:0}

/* bread share page */
.share-hero{padding:clamp(48px,7vw,96px) 0 clamp(32px,5vw,64px)}
.share-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.share-hero-photo{margin:0;justify-self:end;width:100%;max-width:360px}
.share-hero-photo img{width:100%;aspect-ratio:7/9;object-fit:cover;border-radius:var(--r);box-shadow:14px 14px 0 var(--rust)}
@media (max-width:820px){.share-hero-grid{grid-template-columns:minmax(0,1fr)}.share-hero-photo{justify-self:start;max-width:260px}}

.steps-sec{padding-top:clamp(24px,4vw,48px)}
.steps{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;counter-reset:st}
.steps li{counter-increment:st;position:relative;padding-top:3.4rem}
.steps li::before{content:counter(st);position:absolute;top:0;left:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--rust);color:#fff;display:grid;place-items:center;font:600 1.1rem/1 var(--serif)}
.steps li::after{content:"";position:absolute;top:1.25rem;left:3.25rem;right:-1rem;height:9px;transform:translateY(-50%);color:var(--rust);opacity:.45;background:linear-gradient(currentColor,currentColor) 0 50%/100% 1px no-repeat,repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 7px) 0 50%/100% 9px no-repeat}
.steps li:last-child::after{display:none}
.steps p{color:var(--ink-2);font-size:.98rem}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.25rem}.steps li:nth-child(2)::after{display:none}}
@media (max-width:520px){.steps{grid-template-columns:minmax(0,1fr)}.steps li::after{display:none}}

.prices-sec{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem;max-width:880px}
.plan{border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.25rem);background:var(--cream)}
.plan-two{background:var(--char);color:var(--on-dark);border-color:var(--char)}
.plan-two h3,.plan-two .plan-price span{color:#fff}
.plan-price{color:var(--ink-2);margin:.25rem 0 1rem}
.plan-two .plan-price,.plan-two li{color:var(--on-dark-2)}
.plan-price span{font:500 3rem/1 var(--serif);color:var(--ink);margin-right:.25rem}
.plan ul{margin:0;padding-left:1.1rem}
.plan li+li{margin-top:.35rem}
@media (max-width:640px){.plans{grid-template-columns:minmax(0,1fr)}}

.pickup{padding:clamp(48px,7vw,88px) 0}
.pickup-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,5fr);gap:clamp(1rem,4vw,3rem);align-items:baseline}
.pickup-grid h2{margin:0}
.pickup-time{font:500 clamp(2rem,1.5rem + 2vw,3.2rem)/1 var(--serif);color:var(--rust);margin:0}
.pickup-grid p{color:var(--ink-2)}
@media (max-width:820px){.pickup-grid{grid-template-columns:minmax(0,1fr)}}

.faq{padding-top:0}
.faq-wrap{max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:500 1.2rem/1.3 var(--serif);padding:.75rem 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.6rem/1 var(--sans);color:var(--rust);flex:0 0 auto}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--ink-2);margin:0 0 1.25rem;max-width:40rem}

/* forms */
.form-sec{background:var(--flour)}
.form-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.form-grid > div p{color:var(--ink-2)}
.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.25rem,3vw,2.25rem);display:grid;gap:1.1rem}
.field{display:grid;gap:.4rem;margin:0;min-width:0}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.field label,.field legend{font-weight:600;font-size:.98rem}
.opt{font-weight:400;color:var(--ink-2);font-size:.9rem}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.7rem .85rem;border:1px solid #a89880;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.field textarea{resize:vertical;min-height:7rem}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--rust);outline-offset:1px;border-color:var(--rust)}
fieldset.choice{border:0;padding:0}
fieldset.choice legend{padding:0;margin-bottom:.4rem}
.choice label{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.5rem .85rem;border:1px solid var(--line);border-radius:4px;background:#fff;font-weight:500;cursor:pointer}
.choice label + label{margin-top:.5rem}
.choice input{width:20px;height:20px;min-height:0;accent-color:var(--rust);flex:0 0 auto}
.form .btn{justify-self:start}
@media (max-width:820px){.form-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.field-row{grid-template-columns:minmax(0,1fr)}.form .btn{justify-self:stretch}}

/* wholesale */
.ws-hero{padding:clamp(40px,6vw,80px) 0}
.ws-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ws-hero-copy .btn{margin-top:1rem}
.ws-hero-photo{margin:0;position:relative}
.ws-hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.ws-hero-photo::before{content:"";position:absolute;left:-14px;top:12%;bottom:12%;width:6px;background:var(--rust);border-radius:3px}
@media (max-width:820px){.ws-hero-grid{grid-template-columns:minmax(0,1fr)}.ws-hero-photo{max-width:440px}.ws-hero-photo::before{display:none}}
.supply{padding-top:clamp(24px,4vw,48px)}
.table-box{position:relative;overflow-x:auto;margin-top:1.5rem;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.trade{border-collapse:collapse;width:100%;min-width:560px}
.trade th,.trade td{text-align:left;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}
.trade thead th{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:var(--flour)}
.trade tbody th{font:500 1.08rem/1.3 var(--serif)}
.trade tbody tr:last-child > *{border-bottom:0}
.trade td:nth-child(3){font-weight:600;white-space:nowrap}

.delivery{background:var(--char);color:var(--on-dark);padding:clamp(48px,7vw,88px) 0}
.delivery h2{color:#fff}
.delivery p{color:var(--on-dark-2);max-width:36rem}
.del-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.del-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.del-days li{border:1px solid rgba(248,241,229,.3);border-radius:var(--r);padding:1.1rem 1rem;text-align:center}
.dd-day{display:block;font:500 2rem/1 var(--serif);color:#f2c9a8}
.dd-time{display:block;margin-top:.5rem;font-size:.9rem;color:var(--on-dark-2)}
@media (max-width:820px){.del-grid{grid-template-columns:minmax(0,1fr)}}

.min-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:2rem 0;border-top:2px solid var(--ink)}
.min-grid div{padding:1.25rem 1.25rem 0 0}
.min-grid div+div{padding-left:1.25rem;border-left:1px solid var(--line)}
.min-grid dt{font:500 clamp(1.5rem,1.3rem + .8vw,2rem)/1.15 var(--serif);color:var(--rust)}
.min-grid dd{margin:.5rem 0 0;color:var(--ink-2)}
@media (max-width:900px){.min-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.min-grid div:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:520px){.min-grid{grid-template-columns:minmax(0,1fr)}.min-grid div,.min-grid div+div{border-left:0;padding:1rem 0;border-bottom:1px solid var(--line)}}

/* visit */
.visit-hero{padding-bottom:0}
.banner{margin:clamp(1.5rem,4vw,2.5rem) auto 0}
.banner img{width:100%;aspect-ratio:5/2;object-fit:cover;border-radius:var(--r)}
@media (max-width:600px){.banner img{aspect-ratio:3/2}}
.pv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem)}
.hours-lg{max-width:none}
.hours-lg th,.hours-lg td{padding:.75rem 0;font-size:1.05rem}
.pv-block + .pv-block{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.pv-block h2{font-size:clamp(1.4rem,1.2rem + .7vw,1.8rem)}
.pv-block ul{margin:0;padding-left:1.1rem;color:var(--ink-2)}
.pv-block li+li{margin-top:.45rem}
@media (max-width:820px){.pv-grid{grid-template-columns:minmax(0,1fr)}}
.preorder{background:var(--paper);border-top:1px solid var(--line)}
.pre-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.pre-grid > div p{color:var(--ink-2)}
.pre-list{list-style:none;margin:0;padding:0;counter-reset:pre}
.pre-list li{counter-increment:pre;display:grid;grid-template-columns:3.2rem minmax(0,1fr);column-gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.pre-list li:first-child{border-top:1px solid var(--line)}
.pre-list li::before{content:"0" counter(pre);grid-row:span 2;font:500 2rem/1 var(--serif);color:var(--rust)}
.pre-list strong{color:var(--ink);font-weight:600}
@media (max-width:820px){.pre-grid{grid-template-columns:minmax(0,1fr)}}

/* accessibility statement */
.statement{max-width:760px}
.statement h2{font-size:clamp(1.4rem,1.2rem + .7vw,1.8rem);margin-top:2rem}
.statement ul{padding-left:1.2rem}
.statement li+li{margin-top:.4rem}
.reviewed{color:var(--ink-2);font-size:.95rem}

/* footer */
.site-foot{background:var(--char);color:var(--on-dark-2);padding:clamp(40px,6vw,72px) 0 2rem;font-size:.97rem}
.site-foot .grain{color:#e9a982;margin-top:0;margin-bottom:2.25rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,3fr) repeat(4,minmax(0,2fr));gap:2rem}
.site-foot .brand{color:#fff}
.site-foot .brand-name span{color:#efb894}
.foot-brand p{margin-top:1rem;max-width:22rem}
.site-foot h2{font:600 .8rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 .75rem}
.site-foot a{color:var(--on-dark);text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.site-foot ul a{display:inline-flex;align-items:center;min-height:44px}
.foot-contact a{display:inline-flex;align-items:center;min-height:44px}
.foot-small{margin:2.5rem 0 0;padding-top:1.25rem;border-top:1px solid rgba(248,241,229,.2);font-size:.88rem}
@media (max-width:980px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}
@media (max-width:440px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

/* review pass */
.ticket{grid-template-columns:minmax(0,19rem) minmax(0,1fr)}
@media (max-width:980px){.ticket{grid-template-columns:minmax(0,1fr)}}
.share-prices li{display:grid;grid-template-columns:10.5rem minmax(0,1fr);align-items:baseline;gap:1rem}
.sp-num{min-width:0;white-space:nowrap}
@media (min-width:421px){.share-prices li{grid-template-columns:12.5rem minmax(0,1fr)}}
@media (max-width:420px){.share-prices li{grid-template-columns:minmax(0,1fr);gap:.3rem}}
.pickup-grid{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,5fr)}
.pickup-time{white-space:nowrap;font-size:clamp(1.9rem,1.4rem + 1.6vw,2.8rem)}
@media (max-width:820px){.pickup-grid{grid-template-columns:minmax(0,1fr)}}
.faq-wrap{max-width:var(--wrap)}
.faq-wrap > *{max-width:820px}
