@font-face {
  font-family: 'Bitter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/public/assets/contact-bitter-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Bitter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/public/assets/contact-bitter-700.ttf') format('truetype');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/public/assets/contact-dm-serif-display-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/public/assets/contact-josefin-sans-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/public/assets/contact-josefin-sans-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/public/assets/contact-libre-baskerville-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/public/assets/contact-libre-baskerville-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Zilla Slab';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/public/assets/contact-zilla-slab-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Zilla Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/public/assets/contact-zilla-slab-700.ttf') format('truetype');
}
/* ORIGEN · Shared brand foundation v0.1. No guide-specific layout selectors. */
@font-face{font-family:Lora;src:url('/public/assets/contact-lora-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/public/assets/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/public/assets/manrope-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/public/assets/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/public/assets/manrope-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{
 --origen-paper:#F5F0E6;--origen-ink:#292C28;--origen-olive:#555737;--origen-blue:var(--origen-olive);
 --origen-terracotta:#A15A43;--origen-clay:var(--origen-terracotta);--origen-maize:#CEB366;--origen-sand:#DED4C2;
 --origen-muted:#62645B;--origen-line:#CEC7BA;
 --origen-font-display:'Josefin Sans',Arial,sans-serif;--origen-display-weight:500;--origen-logo-weight:700;--origen-logo-tracking:-.035em;--origen-font-body:'Manrope',Arial,sans-serif;
 --origen-text-small:.875rem;--origen-text-body:1rem;--origen-text-lead:1.25rem;
 --origen-space-1:.25rem;--origen-space-2:.5rem;--origen-space-3:.75rem;--origen-space-4:1rem;
 --origen-space-6:1.5rem;--origen-space-8:2rem;--origen-space-12:3rem;--origen-space-16:4rem;
 --origen-radius:.125rem;--origen-measure:64ch;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--origen-paper);color:var(--origen-ink);font-family:var(--origen-font-body);font-size:var(--origen-text-body);line-height:1.65}
button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}
a{color:inherit;text-underline-offset:.2em}img{display:block;max-width:100%;height:auto}
button{cursor:pointer}h1,h2,h3,p{margin:0}p+p{margin-top:1rem}
:focus-visible{outline:3px solid var(--origen-terracotta);outline-offset:5px}
::selection{background:var(--origen-maize);color:var(--origen-ink)}
.o-display{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);line-height:1.06;letter-spacing:-.035em}
.o-wordmark{font-family:var(--origen-font-display);font-weight:var(--origen-logo-weight);line-height:1;letter-spacing:var(--origen-logo-tracking);white-space:nowrap}
.brand-lockup:not([data-brand="origen"]) .o-wordmark{font-family:'Lora',Georgia,serif;font-weight:500;letter-spacing:0}
/* Alpha centroids: SVG y=.581150729; Josefin Sans 700 ORIGEN is
   .002481249em below the centre of its cap-to-baseline box.
   Only horizontal lockups share a vertical centre; stacked marks do not. */
:root{--origen-lockup-wordmark-offset:0px}
.brand-lockup[data-brand="origen"]{--origen-lockup-icon-height:var(--brand-logo-height,calc(10mm * 755 / 974));--origen-lockup-wordmark-offset:calc(var(--origen-lockup-icon-height) * 0.084033469 - .002481249em)}
img[src$="origen-logo.svg"] ~ .o-wordmark{translate:0 var(--origen-lockup-wordmark-offset)}
.o-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.o-lead{font-size:var(--origen-text-lead);line-height:1.6;max-width:var(--origen-measure)}
.o-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:46px;padding:.65rem 1.15rem;border:1px solid var(--origen-olive);border-radius:var(--origen-radius);background:var(--origen-olive);color:var(--origen-paper);font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}
.o-button:hover{background:var(--origen-ink);border-color:var(--origen-ink)}
.o-button--secondary{background:transparent;color:var(--origen-olive)}
.o-button--secondary:hover{background:var(--origen-olive);color:var(--origen-paper)}
.o-button:disabled{background:var(--origen-sand);color:var(--origen-muted);border-color:var(--origen-sand);cursor:not-allowed}
.o-tag{display:inline-block;border:1px solid currentColor;padding:.25rem .6rem;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.o-label{padding:1.5rem;background:var(--origen-paper);color:var(--origen-ink);border:1px solid currentColor;display:flex;flex-direction:column;gap:1.25rem}
.o-label__header,.o-label__footer{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.o-label__name{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);font-size:2.5rem;line-height:1.1;letter-spacing:-.03em}
.o-label__meta{border-top:1px solid currentColor;padding-top:1rem;font-size:.875rem;line-height:1.5}
.o-menu-item{display:grid;grid-template-columns:1fr auto;gap:.25rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--origen-line)}
.o-menu-item__name{font-family:var(--origen-font-display);font-size:1.35rem;font-weight:var(--origen-display-weight)}
.o-menu-item__detail{grid-column:1;font-size:.875rem;color:var(--origen-muted)}
.o-menu-item__price{grid-column:2;grid-row:1;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}




/* Muted product-family colors: shared across shelf and packaging modules. */
:root{--origen-product-coffee:#764735;--origen-product-honey:#75591F;--origen-product-cacao:#5C4966;--origen-product-jam:#784650;--origen-product-granola:#4F6045;--origen-product-tea:#3E5C6B}

:root{--origen-label-heading:#CBDCE9}


/* Category menu: reusable photo rows and one sheet per category. */
.o-menu-page{box-sizing:border-box;display:flex;flex-direction:column;width:210mm;max-width:100%;min-height:297mm;padding:12mm;background:#fff;color:var(--origen-olive)}
.o-menu-page__header{display:flex;justify-content:flex-start;align-items:baseline;gap:10mm;border-bottom:1px solid var(--origen-line);padding-bottom:6mm;margin-bottom:7mm}
.o-menu-page__header .o-wordmark{display:block;font-size:32pt}
.o-menu-page__header p{font-size:11pt;margin-top:3mm}
.o-menu-page__category{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);font-size:44pt;line-height:1.15;margin:10mm 0;color:var(--origen-terracotta)}
.o-menu-page__items{display:grid;gap:10mm}
.o-menu-photo-item{display:grid;grid-template-columns:42mm minmax(0,1fr);align-items:center;gap:7mm}
.o-menu-photo-item__photo{display:block;width:42mm;height:42mm;object-fit:cover;background:var(--origen-sand);border:3px solid #55573733}
.o-menu-photo-item__copy h2{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);font-size:26pt;line-height:1.15;margin:0;overflow-wrap:anywhere}
.o-menu-photo-item__copy p{font-size:14pt;line-height:1.45;color:var(--origen-muted);margin:3mm 0 0}
.o-menu-photo-item__price{font-size:24pt;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.o-menu-page__footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;margin-top:auto;padding-top:8mm;color:var(--origen-olive)}

.o-menu-coffee-note{margin:0 0 7mm;padding:0;color:var(--origen-olive)}
.o-menu-coffee-note h2{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);font-size:16pt;line-height:1.2;margin:0 0 2mm}
.o-menu-coffee-note p{font-size:12pt;line-height:1.45;max-width:65ch;margin:0;color:var(--origen-muted)}

.o-menu-page__brand{display:flex;align-items:center;gap:3mm;flex-shrink:0}
.o-menu-page__logo{display:block;width:14mm;height:auto}
.o-menu-page__header .o-menu-page__category{font-size:28pt;line-height:1;margin:0;text-align:left}

.o-menu-page__footer .o-wordmark{display:block;font-size:20pt;line-height:1}

.o-menu-photo-item{align-items:start}
.o-menu-photo-item__price{display:block;align-self:start;padding:0;border:0;font-size:20pt;line-height:1.2}
.o-menu-photo-item__copy{align-self:start}

.o-menu-photo-item__heading{display:flex;align-items:baseline;gap:4mm}
.o-menu-photo-item__heading h2{flex:0 1 auto;min-width:0}
.o-menu-photo-item__heading::after{content:"";order:1;flex:1 0 8px;align-self:baseline;border-bottom:1px solid var(--origen-line);opacity:.3}
.o-menu-photo-item__heading .o-menu-photo-item__price{order:2;flex:0 0 auto;align-self:baseline}

.o-menu-photo-item__detail{display:flex;align-items:baseline;gap:4mm;margin-top:2mm;color:var(--origen-muted)}
.o-menu-photo-item__detail .o-menu-photo-item__quantity{order:2;flex:0 0 auto;font-size:14pt;line-height:1.45;white-space:nowrap;font-variant-numeric:tabular-nums}
.o-menu-photo-item__detail p{flex:0 1 auto;min-width:0;margin-top:0}
.o-menu-photo-item__detail::after{content:"";order:1;flex:1 0 8px;align-self:baseline;border-bottom:1px solid var(--origen-line);opacity:.3}

/* Tint every transparent brand asset with the lockup's text colour. */
.brand-lockup .brand-logo-mask{display:inline-flex;flex:none;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;max-width:100%}
.brand-lockup .brand-logo-mask img{opacity:0;filter:none!important}

.brand-lockup[data-brand="origen"] > .o-wordmark{translate:0 var(--origen-lockup-wordmark-offset)}

.brand-lockup{--brand-logo-height:calc(10mm * 755 / 974)}
.brand-lockup .brand-logo-mask img{width:auto!important;height:var(--brand-logo-height)!important;max-width:100%;object-fit:contain}

/* Shared vector heat marks for sticker and shelf labels. */
.heat-rating{display:inline-flex;align-items:center;gap:1mm;line-height:1;flex-shrink:0;color:inherit}
.heat-chili{display:block;width:4.5mm;height:5mm;flex:none}
.shelf-label>.heat-rating{color:var(--origen-olive)}

@media screen{.o-menu-page{outline:1px solid #55573760;outline-offset:-1px}}

/* Print Origen as explicitly coloured vector paths, without a soft mask. */
@media print{
 .brand-lockup[data-brand="origen"] .brand-logo-mask{mask-image:none!important;background:none!important}
 .brand-lockup[data-brand="origen"] .brand-logo-mask img{opacity:1!important}
}
