body{background:#E7E5DE}.studio-header{display:flex;justify-content:space-between;gap:20px;padding:17px 32px;border-bottom:1px solid var(--origen-line);background:var(--origen-paper);font-size:.75rem}.studio-header>span{letter-spacing:.12em;font-weight:700;color:var(--origen-olive)}.studio-header a{color:var(--origen-muted);text-decoration:none}.studio-controls{display:flex;align-items:end;gap:24px;padding:18px 32px;background:var(--origen-paper)}.studio-controls label{display:block;font-size:.75rem;color:var(--origen-muted);margin-bottom:6px}.studio-controls select{min-height:44px;border:1px solid var(--origen-olive);color:var(--origen-olive);padding:8px 35px 8px 12px;background:transparent;border-radius:2px;font-size:.875rem}.design-picker{min-width:250px}.design-picker select{width:100%}.font-picker{min-width:210px}.font-picker select{width:100%}.step-controls{display:flex;align-items:center;gap:16px;margin-left:auto}.step-controls button{width:44px;height:44px;background:transparent;border:1px solid var(--origen-line);color:var(--origen-olive);font-size:1.2rem}.step-controls span{font-size:.8rem;color:var(--origen-muted)}.step-controls button:hover{border-color:var(--origen-olive)}.sample-settings{background:var(--origen-paper);padding:0 32px 15px;border-bottom:1px solid var(--origen-line);font-size:.8rem}.sample-settings summary{cursor:pointer;color:var(--origen-muted)}.settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.settings-grid label{display:flex;flex-direction:column;gap:6px}.settings-grid input{min-width:0;width:100%;padding:9px;background:transparent;border:1px solid var(--origen-line);color:var(--origen-ink)}.settings-grid .url-field{grid-column:1/-1}.sample-settings p{color:var(--origen-muted);max-width:95ch}.sample-settings #url-error{color:var(--origen-terracotta)}[hidden]{display:none!important}.stage{padding:35px 30px;min-height:65vh}.stage>section{max-width:1100px;margin:auto}.tiny{font-family:var(--origen-font-body);font-size:.7rem;letter-spacing:.12em;font-weight:700;line-height:1.6}.stage h1,.stage h2{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);letter-spacing:-.035em;line-height:1.15}.stage .o-wordmark{font-synthesis:none}.frontage{position:relative;max-width:1100px;margin:auto;background:var(--origen-paper);overflow:hidden}.frontage>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.frontage-sign{position:absolute;top:55%;left:50%;width:34%;text-align:center;padding:1.2rem .8rem;color:#555737;background:transparent;transform:translate(-50%,-50%) scale(var(--front-logo-scale,1));transform-origin:center;cursor:grab;touch-action:none;text-shadow:none;user-select:none}.frontage-sign.is-dragging{cursor:grabbing}.frontage-sign .o-wordmark{color:#555737}.frontage-mark{display:block;width:clamp(42px,5vw,72px);height:auto;margin:0 auto .45rem;filter:none}.frontage-sign .o-wordmark{font-size:clamp(1.8rem,4.5vw,4.2rem)}.frontage-sign p{font-size:clamp(.55rem,1vw,.85rem);font-weight:700;letter-spacing:.1em;margin-top:5px}.label-stage,.wifi-stage{display:flex;justify-content:center;align-items:center;min-height:580px}.retail-label{background:var(--origen-paper);color:var(--origen-olive);width:440px;padding:32px;border:1px solid var(--origen-olive)}.retail-label header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--origen-olive);padding-bottom:24px}.retail-label .o-wordmark{font-size:2rem}.label-product{padding:28px 0}.label-product h1{font-size:3rem;margin:12px 0 14px;overflow-wrap:anywhere}.label-product>p:last-child{font-size:.85rem;color:var(--origen-muted)}.retail-label dl{margin:0;display:grid;gap:18px}.retail-label dt{font-size:.65rem;letter-spacing:.12em;color:var(--origen-terracotta);font-weight:700}.retail-label dd{margin:4px 0 0;font-size:1rem;overflow-wrap:anywhere}.retail-label footer{margin-top:26px;border-top:1px solid var(--origen-olive);padding-top:23px;display:flex;justify-content:space-between;align-items:end;gap:15px}.label-price{display:flex;flex-direction:column}.label-price>span{font-size:2.5rem;line-height:1.1;font-weight:600;overflow-wrap:anywhere}.label-price small{font-size:.8rem;margin-top:7px}.qr-link{display:flex;flex-direction:column;align-items:center;font-size:.65rem;text-decoration:none;gap:6px;flex-shrink:0}.qr-code{display:block;background:#fff;width:108px;height:108px}.qr-code svg{display:block;width:100%;height:100%}.product-site{background:var(--origen-paper)}.web-header{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid var(--origen-line);color:var(--origen-olive)}.web-header .o-wordmark{font-size:2rem}.web-header>a{font-size:.8rem}.web-product{display:grid;grid-template-columns:1fr 1fr;min-height:450px}.web-image{position:relative;min-height:400px}.web-image img{height:100%;width:100%;object-fit:cover;position:absolute}.web-image>span{position:absolute;left:20px;bottom:20px;background:var(--origen-paper);color:var(--origen-olive);font-size:.65rem;padding:9px 13px;letter-spacing:.1em}.web-product-copy{padding:42px 35px;color:var(--origen-olive)}.web-product-copy h1{font-size:clamp(2.5rem,4.5vw,4.5rem);margin:18px 0;overflow-wrap:anywhere}.web-product-copy>p:not(.tiny){font-size:.95rem;max-width:40ch}.web-origin{color:var(--origen-terracotta);font-weight:600}.web-price{margin:26px 0;font-size:1.8rem}.web-price small{font-size:.8rem}.producer-story{padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid var(--origen-line)}.producer-story h2{font-size:2rem;color:var(--origen-olive);margin:12px 0;overflow-wrap:anywhere}.producer-story p{font-size:.9rem}.producer-story .sample-disclosure{font-size:.75rem;color:var(--origen-muted)}.web-footer{padding:23px 35px;background:var(--origen-olive);color:var(--origen-paper);display:flex;justify-content:space-between;gap:20px;font-size:.75rem}.web-footer .o-wordmark{font-size:2rem}.instagram-post{max-width:540px;aspect-ratio:4/5;position:relative;overflow:hidden;margin:auto;color:var(--origen-paper)}.instagram-post>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:43% center}.instagram-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,34,.7),rgba(10,20,34,.25) 35%,rgba(10,20,34,.92) 100%)}.instagram-post header{position:absolute;top:6%;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;align-items:center}.instagram-post .o-wordmark{font-size:2rem}.instagram-post header>span:last-child{font-size:.6rem;letter-spacing:.1em;max-width:12ch;text-align:right}.instagram-copy{position:absolute;bottom:14%;left:7%;right:7%}.instagram-copy h1{font-size:clamp(3rem,6vw,4.8rem);line-height:1.08;letter-spacing:-.04em}.instagram-copy p{font-size:1.1rem;line-height:1.5;margin-top:20px}.instagram-post footer{position:absolute;bottom:5%;left:7%;right:7%;border-top:1px solid #ffffff70;padding-top:15px;display:flex;justify-content:space-between;gap:15px;font-size:.6rem;letter-spacing:.1em}.menu-pages{display:grid;gap:32px;justify-items:center}.menu-pages .o-menu-page{background:#fff;box-shadow:0 2px 12px #00000012}.studio-caption{padding:22px 32px;border-top:1px solid var(--origen-line);display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--origen-paper)}.studio-caption strong{font-size:.875rem;color:var(--origen-olive)}.studio-caption p{font-size:.8rem;color:var(--origen-muted);max-width:80ch}.studio-caption button{padding:10px 16px;min-height:44px;background:transparent;border:1px solid var(--origen-olive);color:var(--origen-olive);font-size:.8rem;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:720px){.studio-header{padding:15px 18px}.studio-header>span{display:none}.studio-controls{padding:15px 18px;flex-wrap:wrap;gap:14px}.design-picker,.font-picker{min-width:0;flex:1 1 42%}.step-controls{margin-left:0}.sample-settings{padding-inline:18px}.settings-grid{grid-template-columns:1fr 1fr}.stage{padding:24px 15px}.frontage-sign{left:18%;width:64%}.frontage-sign .o-wordmark{font-size:9vw}.frontage-sign p{margin-top:7px;font-size:1.65vw}.label-stage,.wifi-stage{min-height:480px}.retail-label{padding:25px;max-width:440px}.label-product h1{font-size:2.6rem}.web-header{padding:18px;gap:15px}.web-header>.tiny{display:none}.web-product,.producer-story{grid-template-columns:1fr}.web-image{min-height:280px}.web-product-copy{padding:30px 23px}.producer-story{padding:28px 23px;gap:20px}.instagram-copy h1{font-size:11vw;}.o-menu-page{min-height:0;padding:24px}.o-menu-page__category{font-size:2.5rem}.o-menu-photo-item{grid-template-columns:80px minmax(0,1fr) auto;gap:12px}.o-menu-photo-item__photo{width:80px;height:80px}.o-menu-photo-item__copy h2{font-size:1.4rem}.o-menu-photo-item__copy p{font-size:.9rem}.o-menu-photo-item__price{font-size:1.2rem}.o-menu-page__footer{margin-top:40px}.studio-caption{padding:18px;align-items:start;flex-direction:column}}
.retail-label{width:680px;display:grid;grid-template-columns:1fr 180px;gap:0 30px}.retail-label header{grid-column:1/-1}.retail-label .label-product{grid-column:1}.retail-label .label-product h1{font-size:2.5rem}.retail-label dl{grid-column:1;grid-template-columns:1fr 1fr;gap:18px}.retail-label footer{grid-column:2;grid-row:2/4;border-top:0;border-left:1px solid var(--origen-line);padding:24px 0 0 24px;margin:0;flex-direction:column;align-items:center;justify-content:space-between}.packaging-label{width:410px;background:var(--origen-paper);border:1px solid var(--origen-olive);padding:30px;color:var(--origen-olive)}.packaging-label header{text-align:center;border-bottom:1px solid var(--origen-olive);padding-bottom:22px}.packaging-label .o-wordmark{font-size:2.7rem}.packaging-label header p{font-size:.65rem;letter-spacing:.15em;margin-top:14px}.packaging-name{padding:24px 0 18px}.packaging-name h1{font-size:2.7rem;overflow-wrap:anywhere}.packaging-name p{font-size:.9rem;color:var(--origen-terracotta);margin-top:10px;overflow-wrap:anywhere}.packaging-weight{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;letter-spacing:.08em;padding:12px 0;border-block:1px solid var(--origen-line)}.packaging-weight strong{font-size:1.1rem}.packaging-label dl{display:grid;gap:15px;margin:22px 0}.packaging-label dt{font-size:.65rem;letter-spacing:.12em;font-weight:700;color:var(--origen-terracotta)}.packaging-label dd{font-size:.85rem;line-height:1.55;margin:4px 0 0;overflow-wrap:anywhere}.batch-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:.65rem;padding-block:15px;border-block:1px solid var(--origen-line)}.batch-fields strong{font-size:.8rem;font-weight:400}.packaging-label footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px}.packaging-label footer>span{font-family:var(--origen-font-display);font-weight:var(--origen-display-weight);font-size:1.5rem;line-height:1.2}
@media(max-width:540px){.retail-label{grid-template-columns:1fr 120px;gap:0 16px;padding:20px}.retail-label header{gap:12px}.retail-label .o-wordmark{font-size:1.6rem}.retail-label .label-product h1{font-size:1.8rem}.retail-label dl{grid-template-columns:1fr}.retail-label footer{padding-left:12px}.label-price>span{font-size:1.8rem}.qr-code{width:96px;height:96px}.packaging-label{width:100%;max-width:410px;padding:24px}.packaging-label .o-wordmark{font-size:2.4rem}}
@media print{@page{margin:12mm}.studio-header,.studio-controls,.sample-settings,.studio-caption{display:none}body,.stage{background:white;padding:0;margin:0}.stage>section{max-width:none}.stage [hidden]{display:none!important}.label-stage,.wifi-stage{min-height:0}.stage article,.frontage{break-inside:avoid}.retail-label{width:170mm}.packaging-label{width:100mm}.instagram-post{width:135mm}.menu-pages{display:block}.menu-pages .o-menu-page{width:186mm;max-width:none;height:272mm;min-height:0;padding:0;margin:0;box-shadow:none;break-after:page;break-inside:avoid}.menu-pages .o-menu-page:last-child{break-after:auto}.o-menu-page__category{font-size:44pt}.o-menu-photo-item{grid-template-columns:42mm minmax(0,1fr) auto;gap:7mm}.o-menu-photo-item__photo{width:42mm;height:42mm}.o-menu-photo-item__copy h2{font-size:26pt}.o-menu-photo-item__copy p{font-size:14pt}.o-menu-photo-item__price{font-size:24pt}.o-menu-page__footer{margin-top:auto}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Product labels explain the product; provenance stays on the shelf card. */
.packaging-label{background:var(--product-label-color,var(--origen-product-coffee));border:0;min-height:540px;padding:32px;display:flex;flex-direction:column;color:var(--origen-olive)}
.packaging-label header{text-align:left;border:0;padding:0}.packaging-label .o-wordmark{font-size:2rem}.packaging-name{padding:58px 0 45px}.packaging-name h1{font-size:3.8rem;line-height:1.06;max-width:9ch}.product-facts{margin-top:auto}.ingredients-line{font-size:.85rem;line-height:1.55;display:flex;flex-direction:column;gap:7px}.ingredients-line strong{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.ingredients-line span{overflow-wrap:anywhere}.packaging-weight{margin-top:25px;padding-top:18px;padding-bottom:0;border-top:1px solid currentColor;border-bottom:0}.retail-label header{border-bottom:0;padding-bottom:0}.retail-label .label-product{padding:18px 0}.retail-label dl{padding-bottom:4px}.retail-label footer{padding-top:0}.retail-label .label-product h1{margin:0}.wifi-stage{display:flex;justify-content:center;align-items:center;min-height:580px}.wifi-sign{background:transparent;color:var(--origen-olive);width:460px;padding:38px;text-align:center}.wifi-sign header{font-size:2rem}.wifi-sign h1{font-size:3.5rem;margin-top:44px}.wifi-invitation{font-size:1.2rem;line-height:1.5;margin-top:18px}#wifi-qr{width:190px;height:190px;background:white;margin:28px auto 20px}#wifi-qr svg{width:100%;height:100%;display:block}.wifi-scan{font-size:.85rem}.wifi-scan span{font-size:.75rem;color:var(--origen-muted)}.wifi-network{border-top:1px solid var(--origen-line);padding-top:23px;margin-top:30px;display:flex;flex-direction:column;gap:8px}.wifi-network>span{font-size:.65rem;letter-spacing:.12em}.wifi-network strong{font-size:1rem;overflow-wrap:anywhere}#wifi-error{color:var(--origen-terracotta)}.settings-grid select{padding:9px;background:transparent;border:1px solid var(--origen-line);min-height:44px}
@media(max-width:540px){.packaging-label{min-height:480px;padding:26px}.packaging-name h1{font-size:3.2rem}.wifi-sign{padding:28px 22px}.wifi-sign h1{font-size:2.8rem}}
@media print{.packaging-label{width:100mm}.wifi-sign{width:120mm}.wifi-stage{min-height:0}}
/* Reverse product labels: Papel lettering on deep, muted product colors. */
.packaging-label{color:var(--origen-paper)}.storage-line,.roast-line{display:flex;flex-direction:column;gap:7px;margin-top:18px;font-size:.85rem;line-height:1.5}.storage-line strong,.roast-line strong{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.storage-line span,.roast-line span{overflow-wrap:anywhere}.packaging-label .packaging-name{padding-block:45px 38px}
/* Packaging exploration: raster artwork stays separate from editable brand typography. */
.packaging-label{position:relative;isolation:isolate;overflow:hidden}.packaging-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:hue-rotate(var(--packaging-art-hue,0deg));z-index:-2}.packaging-label:not([data-artwork="plain"])::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,20,.24),transparent 80%);z-index:-1;pointer-events:none}.packaging-label:not([data-artwork="plain"]){width:460px;min-height:740px}.packaging-label:not([data-artwork="plain"]) .packaging-name{padding:88px 0 64px}.packaging-label:not([data-artwork="plain"]) .packaging-name h1{font-size:3.7rem;max-width:8ch}.packaging-label:not([data-artwork="plain"]) .product-facts{background:var(--product-label-color,var(--origen-product-coffee));margin:0 -32px -32px;padding:25px 32px 30px;border-top:1px solid #ffffff35}.packaging-label:not([data-artwork="plain"]) .storage-line,.packaging-label:not([data-artwork="plain"]) .roast-line{margin-top:13px}.packaging-label:not([data-artwork="plain"]) .packaging-weight{margin-top:18px}.studio-controls{flex-wrap:wrap}
@media(max-width:540px){.packaging-label:not([data-artwork="plain"]){width:100%;min-height:650px}.packaging-label:not([data-artwork="plain"]) .packaging-name{padding:65px 0 50px}.packaging-label:not([data-artwork="plain"]) .packaging-name h1{font-size:3.1rem}.packaging-label:not([data-artwork="plain"]) .product-facts{margin:0 -26px -26px;padding:24px 26px}}
@media print{.packaging-label:not([data-artwork="plain"]){width:110mm;min-height:0}.packaging-label:not([data-artwork="plain"]) .packaging-name{padding:45px 0}}
/* Separate field labels from their values on dark packaging. */
.packaging-label .ingredients-line strong,.packaging-label .storage-line strong,.packaging-label .roast-line strong,.packaging-label .packaging-weight>span{color:var(--origen-label-heading);font-weight:700;font-size:.75rem;letter-spacing:.1em}.packaging-label .ingredients-line,.packaging-label .storage-line,.packaging-label .roast-line{gap:5px}

.packaging-label header .packaging-provenance{color:var(--origen-paper);font-family:var(--origen-font-body);font-size:.875rem;line-height:1.5;letter-spacing:.035em;margin-top:10px;max-width:26ch;overflow-wrap:anywhere}.barcode-panel{background:#fff;margin-top:23px;padding:10px 14px;display:flex;justify-content:center;align-items:center}.barcode-panel svg{display:block;max-width:100%;height:auto}.barcode-panel:has(svg:empty){display:none}#barcode-error{color:var(--origen-terracotta)}

.packaging-label header .packaging-provenance{max-width:34ch;font-size:.8rem}
/* Keep the coffee cherries visible in the illustrated area above the facts panel. */
.packaging-art[src$="packaging-coffee-painted.png"]{height:460px;object-position:center 55%}
@media(max-width:540px){.packaging-art[src$="packaging-coffee-painted.png"]{height:390px}}

/* Legible product-label details and explicit physical print typography. */
.packaging-label .ingredients-line,.packaging-label .storage-line,.packaging-label .roast-line{font-size:.875rem;line-height:1.55}.packaging-label header .packaging-provenance{font-size:.875rem;line-height:1.5}.packaging-label .packaging-weight>span{font-size:.75rem}
@media print{.packaging-label,.packaging-label:not([data-artwork="plain"]){width:110mm}.packaging-label .ingredients-line,.packaging-label .storage-line,.packaging-label .roast-line{font-size:10.5pt;line-height:1.45}.packaging-label .ingredients-line strong,.packaging-label .storage-line strong,.packaging-label .roast-line strong,.packaging-label .packaging-weight>span{font-size:9pt}.packaging-label header .packaging-provenance{font-size:10pt;line-height:1.4}.packaging-label .packaging-weight strong{font-size:12pt}}

/* Stacked identity: leaf mark, live logotype and descriptor. */
.logo-example{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:580px;padding:64px 24px;background:var(--origen-paper);color:#555737;text-align:center}
.logo-example-mark{display:block;width:clamp(120px,20vw,200px);height:auto;margin-bottom:20px}
.logo-example .o-wordmark{font-size:clamp(2.5rem,8vw,5.5rem);line-height:1}
.logo-example-slogan{margin:7px 0 0;font-family:var(--origen-font-body);font-size:clamp(.675rem,1.6875vw,.984375rem);font-weight:700;letter-spacing:.18em;line-height:1.6}
@media(max-width:540px){.logo-example{min-height:440px;padding:48px 16px}.logo-example-mark{margin-bottom:16px}.logo-example-slogan{margin-top:6px}}
@media print{.logo-example{min-height:160mm}.logo-example-mark{width:45mm}.logo-example .o-wordmark{font-size:60pt}.logo-example-slogan{font-size:11.25pt}}

@media print{.photo-credit,.sr-only{display:none!important}}

@media print{.menu-pages .o-menu-page{display:block;position:relative;overflow:hidden;break-after:auto}.menu-pages .o-menu-page + .o-menu-page{break-before:page}.menu-pages .o-menu-page__footer{position:absolute;bottom:0;left:0;right:0;padding-top:0}.o-menu-page__header,.o-menu-photo-item{break-inside:avoid}}

@media screen and (max-width:720px){.o-menu-page__header{gap:12px}.o-menu-page__brand{gap:8px}.o-menu-page__logo{width:28px}.o-menu-page__header .o-wordmark{font-size:1.6rem}.o-menu-page__header .o-menu-page__category{font-size:1.5rem}}

/* Fixed square photos and four product slots on every sheet. */
@media print, (min-width:721px){
 .menu-pages .o-menu-page{display:grid;height:297mm;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;row-gap:7mm}
 .menu-pages .o-menu-page__header,.menu-pages .o-menu-coffee-note{margin-bottom:0}
 .menu-pages .o-menu-page__items{min-height:0;grid-template-rows:repeat(4,46mm);align-content:start;gap:5mm}
 .menu-pages .o-menu-photo-item{min-height:0;grid-template-columns:46mm minmax(0,1fr) auto}
 .menu-pages .o-menu-photo-item__photo{width:46mm;height:46mm;min-height:0}
 .menu-pages .o-menu-page--coffee .o-menu-photo-item{grid-template-columns:46mm minmax(0,1fr) auto}
 .menu-pages .o-menu-page__footer{position:static;margin-top:0;padding-top:0}
}
@media print{.menu-pages .o-menu-page{width:210mm;height:297mm;padding:12mm}}

/* Title and combined price/size share one text baseline. */
.menu-pages .o-menu-photo-item{grid-template-columns:46mm minmax(0,1fr);align-items:start}
.menu-pages .o-menu-photo-item__copy{padding-top:2mm;min-width:0}
.menu-pages .o-menu-photo-item__copy h2{font-size:24pt}
.menu-pages .o-menu-photo-item__price{font-size:18pt;padding:0}
.menu-pages .o-menu-photo-item__detail p{margin-top:0}
@media print, (min-width:721px){
 .menu-pages .o-menu-photo-item{grid-template-columns:46mm minmax(0,1fr)}
 .menu-pages .o-menu-page--coffee .o-menu-photo-item{grid-template-columns:46mm minmax(0,1fr)}
}
@media screen and (max-width:720px){
 .menu-pages .o-menu-photo-item{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .menu-pages .o-menu-photo-item__copy h2{font-size:1.4rem}
 .menu-pages .o-menu-photo-item__price{font-size:1rem}
 .menu-pages .o-menu-photo-item__heading{gap:8px}
}

@media screen and (max-width:720px){.menu-pages .o-menu-photo-item__quantity{font-size:.9rem}}

/* White preview surround makes the paper colour comparable with a PDF viewer. */
@media screen{body:has([data-view="menu"]:not([hidden])) .stage{background:#fff}}

/* Logo and category share one left-aligned header row. */
.menu-pages .o-menu-page__header{flex-direction:row;justify-content:flex-start;align-items:center;gap:1.7mm}
.menu-pages .o-menu-page__brand{display:block;line-height:0}
.menu-pages .o-menu-page__brand .o-menu-page__logo{display:inline-block;vertical-align:baseline;transform:none}
.menu-pages .o-menu-page__header .o-wordmark{font-size:20pt;line-height:1}
.menu-pages .o-menu-page__header .o-menu-page__category{color:#555737;text-align:left;text-transform:none;font-size:42pt;line-height:1.15;text-box-trim:trim-both;text-box-edge:cap alphabetic}
@media screen and (max-width:720px){
 .menu-pages .o-menu-page__header{gap:3.4px}
 .menu-pages .o-menu-page__logo{width:32px}
 .menu-pages .o-menu-page__header .o-wordmark{font-size:1.2rem}
 .menu-pages .o-menu-page__header .o-menu-page__category{font-size:2.1rem}
}

.menu-pages .o-menu-page__legal{margin-top:auto;text-align:center;font-size:9pt;line-height:1.4;color:var(--origen-muted)}
@media screen and (max-width:720px){.menu-pages .o-menu-page__legal{margin-top:32px;font-size:.75rem}}

/* Portrait shelf card with space for the wooden display stand. */
.retail-label{display:flex;flex-direction:column;width:300px;max-width:100%;aspect-ratio:1/1;padding:20px;padding-bottom:1in;gap:20px}
.retail-label header{display:block;padding:0;border:0}
.retail-label .o-wordmark{font-size:2rem;color:#555737}
.retail-label .label-product{padding:0}
.retail-label .label-product h1{font-size:2.25rem;margin:0;overflow-wrap:normal}
.retail-label footer{display:block;margin-top:auto;padding:0;border:0}
.retail-label .label-price{align-items:flex-end;text-align:right}
.retail-label .label-price>span{font-size:2.109375rem;font-weight:400;color:var(--origen-olive)}
@media print{
 .retail-label{width:60mm;padding:6mm;padding-bottom:1in;gap:6mm}
 .retail-label .o-wordmark{font-size:18pt}
 .retail-label .label-product h1{font-size:24pt}
 .retail-label .label-price>span{font-size:22.5pt}
}


.retail-label .label-price>.label-quantity{font-size:1.640625rem;line-height:1.45;font-weight:400;color:var(--origen-muted);margin-top:2mm}
@media print{.retail-label .label-price>.label-quantity{font-size:17.5pt}}

/* Minimal guest Wi-Fi sign: olive green on cream. */
.wifi-sign{color:#555737;display:flex;flex-direction:column;align-items:center;padding:48px 38px}
.wifi-sign .wifi-logo{display:block;width:100px;height:auto;margin-bottom:14px}
.wifi-sign header{color:inherit;font-size:2.5rem;line-height:1;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.wifi-sign h1{font-size:2.5rem;line-height:1.15;margin:38px 0 0}
.wifi-sign #wifi-qr{width:220px;height:220px;margin:28px 0 0;background:transparent}
#wifi-qr svg>rect{fill:var(--origen-paper)}
#wifi-qr svg>path{fill:#283020}

.wifi-sign .wifi-credentials{margin:18px 0 0;font-size:1rem;line-height:1.4;color:inherit;overflow-wrap:anywhere;max-width:100%}

@media print, (min-width:721px){.menu-pages .o-menu-page--coffee{grid-template-rows:auto minmax(0,1fr) auto auto}}

/* A quiet inset note beneath the coffee list. */
.menu-pages .o-menu-coffee-note{padding:3mm 0;border:0;background:transparent}
.menu-pages .o-menu-coffee-note p{max-width:none}

.menu-live-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px;font-size:.875rem}
.o-menu-size-row p{white-space:nowrap}
@media print{.menu-live-controls{display:none!important}}

/* Use the same trimmed logo, spacing and optical centring as label lockups. */
.menu-pages .o-menu-page__header.brand-lockup{--brand-logo-height:calc(28mm * 755 / 974);align-items:center;gap:1.5mm;color:#555737}
.menu-pages .o-menu-page__header.brand-lockup .o-menu-page__category{translate:0 var(--origen-lockup-wordmark-offset)}
@media screen and (max-width:720px){.menu-pages .o-menu-page__header.brand-lockup{--brand-logo-height:calc(32px * 755 / 974)}}

/* Physical menu dimensions; the holder strip never scales with the artwork. */
.menu-size-settings{margin-bottom:24px;font-size:.875rem;border-top:0;padding-top:0}
.menu-size-settings summary{cursor:pointer}.menu-size-settings input,.menu-size-settings select{padding:9px;border:1px solid var(--origen-line);background:var(--origen-paper);width:100%}
.menu-size-settings p{color:var(--origen-muted)}
.menu-pages .o-menu-page{display:block;width:var(--menu-width,210mm);height:var(--menu-height,297mm);min-height:0;max-width:none;padding:0;overflow:hidden}
.menu-pages .o-menu-page__content{box-sizing:border-box;width:210mm;height:var(--menu-content-height,271.6mm);padding:12mm 12mm 0;zoom:var(--menu-design-scale,1);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7mm}
.menu-pages .o-menu-page--coffee .o-menu-page__content{grid-template-rows:auto minmax(0,1fr) auto auto}
.menu-pages .o-menu-page__header,.menu-pages .o-menu-coffee-note{margin-bottom:0}
.menu-pages .o-menu-page__items{min-height:0;grid-template-rows:repeat(4,46mm);align-content:start;gap:5mm}
.menu-pages .o-menu-photo-item,.menu-pages .o-menu-page--coffee .o-menu-photo-item{grid-template-columns:46mm minmax(0,1fr);gap:7mm}
.menu-pages .o-menu-photo-item__photo{width:46mm;height:46mm}
.menu-pages .o-menu-photo-item__copy h2{font-size:24pt}
.menu-pages .o-menu-photo-item__price{font-size:18pt}
.menu-pages .o-menu-photo-item__detail p,.menu-pages .o-menu-photo-item__detail .o-menu-photo-item__quantity{font-size:14pt}
.menu-pages .o-menu-page__header.brand-lockup{--brand-logo-height:calc(28mm * 755 / 974);gap:1.5mm}
.menu-pages .o-menu-page__header .o-menu-page__category{font-size:42pt}
.menu-pages .o-menu-page__legal{margin:0;font-size:9pt}
@media print{.menu-size-settings{display:none!important}.menu-pages .o-menu-page{display:block;width:var(--menu-width,210mm);height:var(--menu-height,297mm);min-height:0;padding:0;break-after:page}.menu-pages .o-menu-page:last-child{break-after:auto}}

.menu-pages .o-menu-page__content .o-menu-page__items{grid-template-rows:repeat(4,minmax(0,1fr))}
.menu-pages .o-menu-page__content .o-menu-photo-item{grid-template-columns:var(--menu-photo-size,46mm) minmax(0,1fr)}
.menu-pages .o-menu-page__content .o-menu-photo-item__photo{width:var(--menu-photo-size,46mm);height:var(--menu-photo-size,46mm)}


/* Uppercase menu lockup, reduced together by 25%. */
.menu-pages .o-menu-page__header.brand-lockup{--brand-logo-height:calc(21mm * 755 / 974)}
.menu-pages .o-menu-page__header .o-menu-page__category{text-transform:uppercase;font-size:31.5pt}
.menu-pages .o-menu-page__header .o-menu-page__category{font-weight:var(--origen-logo-weight)}
.menu-pages .o-menu-page__header.brand-lockup{gap:3.15mm}

.menu-pages .o-menu-coffee-note .brand-lockup{display:flex;align-items:center;justify-content:center;gap:1.5mm;color:var(--origen-olive);margin:0 0 3mm;--brand-logo-height:12mm;translate:-2mm 0}
.menu-pages .o-menu-coffee-note .brand-lockup .o-wordmark{font-size:15pt;font-weight:700;text-transform:uppercase}

/* Two faces of the same door sign, with identical trim and registration. */
.opening-signs{display:flex;flex-wrap:wrap;justify-content:center;gap:32px}
.opening-sign{width:var(--opening-width,210mm);height:var(--opening-height,157.677966mm);flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14mm;padding:calc(15mm * var(--opening-scale,0.972672534));background:transparent;color:var(--origen-olive);overflow:hidden}
.opening-sign--closed{background:transparent;color:var(--origen-olive)}
.opening-sign .brand-lockup{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);justify-items:center;width:100%;height:100%;font-size:calc(50pt * var(--opening-scale,0.972672534));gap:.28em;--brand-logo-height:1.46em;color:inherit}
.opening-sign .o-wordmark{font-weight:700;text-transform:uppercase;text-box-trim:trim-both;text-box-edge:cap alphabetic}
.stage .opening-sign h1{font-family:var(--origen-font-display);font-size:inherit;font-weight:700;letter-spacing:var(--origen-logo-tracking);line-height:1.05;margin:0;color:inherit}
.opening-sign--closed .brand-logo-mask{transform:rotate(180deg)}
.opening-sign .brand-logo-mask{grid-row:1;align-self:end}
.opening-sign .brand-lockup>.o-wordmark{grid-row:2;align-self:start;translate:none}
.opening-sign--closed .brand-logo-mask{grid-row:2;align-self:start}
.opening-sign--closed .brand-lockup>.o-wordmark{grid-row:1;align-self:end}
@page opening-sign{size:210mm 157.677966mm;margin:0}
@media print{.opening-signs{display:block}.opening-sign{page:opening-sign;margin:0;break-after:page;break-inside:avoid}.opening-sign:last-child{break-after:auto}}

.menu-pages .o-menu-page__header .o-menu-packaging-emblem{width:35mm;height:35mm;flex:none;object-fit:contain;margin-left:auto;align-self:flex-start}

.wifi-sign{box-sizing:border-box;width:var(--wifi-width,139.7mm);height:var(--wifi-height,215.9mm);justify-content:center}

/* Code-defined daily offer: portrait Carta, with a generous printer-safe inset. */
.daily-offer{box-sizing:border-box;width:215.9mm;height:279.4mm;margin:0 auto;padding:19mm 18mm 24mm;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--origen-paper);color:var(--origen-olive);overflow:hidden}
/* Match the 27mm logo exactly; align the motif origin to its base, 19mm + 27 × 741/963mm from the page top. */
.daily-offer{background-image:url('/public/assets/origen-six-petal-pattern.svg');background-size:35.98456958mm 62.32710280mm;background-repeat:repeat;background-position:center 8.61214953mm}
.daily-offer-brand{display:flex;flex-direction:column;align-items:center;gap:4mm}
.daily-offer-brand img{width:27mm;height:auto}
.daily-offer-brand .o-wordmark{font-size:30pt;line-height:1}
.daily-offer-today{font-family:var(--origen-font-display);font-size:66pt;line-height:1;margin:19mm 0 20mm;color:var(--origen-terracotta)}
.stage .daily-offer h1{width:195.9mm;flex-shrink:0;font-size:76pt;font-weight:700;line-height:.98;letter-spacing:-.045em;margin:0}
@page daily-offer{size:215.9mm 279.4mm;margin:0}
@media print{.daily-offer{page:daily-offer;margin:0;box-shadow:none}.stage .daily-offer h1{font-size:76pt}}
