/* brand.css — moved out of mn-brand.php (<style id="mn-brand-styles">) on 2026-10-26, UX audit Phase 1 slice A: cached by the browser instead of ~89 KB in every HTML response. Printed by mn_css_link() at the same hook and priority as before. Edit this file; the PHP only links it. */
:root{--mn-bg:#F0EDE5;--mn-ink:#101010;--mn-green:#004643;--mn-cream:#F0EDE5;--mn-line:rgba(16,16,16,.12);
  /* 2026-10-26 UX audit Phase 1 slice B: the rest of the token layer (one grey, one soft ink, one error red, one hover green,
     one paper, the sands, the bronzes, two line weights, three shadows, the motion curve and speeds, a 4/8 spacing scale).
     Every mn-* stylesheet reads these; raw hex is for artwork only. */
  --mn-ink-soft:#3a3a36;--mn-grey:#5a5a55;--mn-error:#9a2f2f;--mn-green-hover:#00332F;--mn-paper:#FBF9F4;
  --mn-sand:#E6E1D5;--mn-sand-2:#E2DBCC;--mn-sand-dark:#DCD5C6;--mn-bronze:#B99860;--mn-bronze-light:#D9C29A;--mn-bronze-dark:#7a5f33;
  --mn-line-strong:rgba(16,16,16,.2);--mn-shadow-1:0 8px 24px rgba(16,16,16,.09);--mn-shadow-2:0 16px 36px rgba(16,16,16,.11);--mn-shadow-3:0 28px 56px rgba(16,16,16,.18);
  --mn-ease:cubic-bezier(.16,1,.3,1);--mn-t-fast:80ms;--mn-t-base:240ms;--mn-t-slow:500ms;
  --mn-s1:4px;--mn-s2:8px;--mn-s3:12px;--mn-s4:16px;--mn-s5:24px;--mn-s6:32px;--mn-s7:48px;--mn-s8:64px;}
body{background:var(--mn-bg) !important;color:var(--mn-ink);font-family:'Jost',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6,.entry-title,.page-title,.woocommerce-products-header__title,.product_title{
  font-family:'Marcellus',serif !important;font-weight:400 !important;}
/* heading color is a DEFAULT only — Elementor per-widget colors (e.g. bone on green sections) must win */
h1,h2,h3,h4,h5,h6,.entry-title,.page-title,.woocommerce-products-header__title,.product_title{color:var(--mn-ink);}
a{color:var(--mn-ink);text-decoration:none;} a:hover{color:var(--mn-green);}

/* ---- Announcement bar ---- */
.mn-announce{background:var(--mn-green) url(/wp-content/uploads/mn-brand/footer-teal-tall.jpg?v=2) center top/100% auto repeat-y;color:var(--mn-cream);text-align:center;
  font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;line-height:1.5;} /* 2026-10-25 review item 4: 13 px (was 12) */
.mn-announce a{color:inherit !important;text-decoration:none;display:inline-block;}
.mn-ann-short{display:none;} @media(max-width:480px){.mn-ann-long{display:none;}.mn-ann-short{display:inline;}}
.mn-announce a:hover{color:var(--mn-bronze-light) !important;}
.mn-announce b,.mn-announce strong{color:var(--mn-bronze-light);}
.mn-post-dates{font-family:'Jost',sans-serif;font-size:14px;letter-spacing:0;text-transform:none;color:var(--mn-grey);max-width:68ch;margin:0 auto 18px;} /* 2026-10-25 review: sentence case 14 px (was 12 px caps) */

/* ---- Header (Hello Elementor) ---- */
#site-header.site-header{background:rgba(240,237,229,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--mn-line);
  padding:16px 5vw;position:sticky;top:0;z-index:100;transition:box-shadow .35s var(--mn-ease),background-color .35s var(--mn-ease),border-color .35s var(--mn-ease);}
/* Premium: soft shadow fades onto the header once you scroll past the top */
#site-header.site-header.mn-scrolled{box-shadow:0 8px 28px rgba(16,16,16,.09);background:rgba(240,237,229,.98);border-bottom-color:transparent;}
@media(prefers-reduced-motion:reduce){#site-header.site-header{transition:none;}}
#site-header .header-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
#site-header .site-description{display:none !important;} /* tagline exists for schema/SEO only, never printed in the header */
#site-header .site-title a{font-family:'Marcellus',serif !important;font-weight:400 !important;font-size:20px !important;
  color:var(--mn-ink) !important;letter-spacing:.2em;text-transform:uppercase;text-indent:.2em;}
#site-header .site-navigation ul,#site-header nav ul,#site-header .menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
#site-header .site-navigation a,#site-header nav a,#site-header .menu a{color:var(--mn-ink) !important;font-size:13px;
  font-weight:500;text-transform:capitalize;transition:color .3s var(--mn-ease);}
#site-header .site-navigation a:hover,#site-header nav a:hover,#site-header .menu a:hover{color:var(--mn-green) !important;}
/* Premium micro-interaction: bronze underline slides in on hover (desktop nav only) */
@media(min-width:1025px){
  #site-header nav.site-navigation a,#site-header .menu a{position:relative;padding-bottom:3px;}
  #site-header nav.site-navigation a::after,#site-header .menu > li > a::after{content:"";position:absolute;left:0;bottom:0;
    width:100%;height:1px;background:var(--mn-bronze);transform:scaleX(0);transform-origin:right;
    transition:transform .4s cubic-bezier(.16,1,.3,1);}
  #site-header nav.site-navigation a:hover::after,#site-header .menu > li > a:hover::after,
  #site-header .current-menu-item > a::after{transform:scaleX(1);transform-origin:left;}
  /* cart icon: soft lift + colour on hover */
  .mn-cart-icon{transition:color .3s var(--mn-ease),transform .3s cubic-bezier(.16,1,.3,1);}
  .mn-cart-icon:hover{transform:translateY(-2px);}
}
@media(prefers-reduced-motion:reduce){
  #site-header nav.site-navigation a,#site-header .menu a,.mn-cart-icon{transition:none;}
  #site-header nav.site-navigation a::after,#site-header .menu > li > a::after{transition:none;}
}
@media(max-width:640px){
  #site-header .header-inner{flex-direction:column;gap:10px;}
  #site-header .site-navigation ul,#site-header nav ul,#site-header .menu{gap:10px 16px;justify-content:center;}
  #site-header .site-navigation a,#site-header nav a,#site-header .menu a{font-size:12px;}
}

/* ===== Audit mediums — design polish ===== */
/* M9: unstyled WooCommerce archive/page H1s -> brand display face */
.woocommerce-products-header__title,.woocommerce .page-title,body.woocommerce-page h1.entry-title,
.wc-block-components-title,h1.product_title{font-family:'Marcellus',serif !important;font-weight:400 !important;letter-spacing:-.01em;}
/* M9: one button treatment for all Woo buttons (brand ALL-CAPS, square, green) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button.alt,
.woocommerce #respond input#submit,.woocommerce a.button.alt{background:var(--mn-green) !important;color:var(--mn-bg) !important;
  border-radius:0 !important;font-family:'Jost',sans-serif !important;font-weight:700 !important;font-size:12px !important;
  letter-spacing:.06em !important;text-transform:uppercase !important;box-shadow:none !important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button.alt:hover{opacity:.9 !important;}
/* M9: native OS selects in buy box + shop -> brand hairline */
.woocommerce .variations select,.woocommerce-ordering select,.woocommerce select{border-radius:0 !important;
  border:1px solid rgba(16,16,16,.2) !important;font-family:'Jost',sans-serif !important;padding:10px 12px !important;background-color:#fff !important;}
/* M8: my-account login/register as a centred card once accounts are enabled (H7) */
.woocommerce-account .woocommerce{max-width:460px;margin:40px auto;}
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.register{background:rgba(255,255,255,.45);border:1px solid rgba(16,16,16,.14);padding:28px 26px;border-radius:var(--mn-radius-sm);} /* UX-13: the brand 14 px translucent panel */
.woocommerce-account .u-column1,.woocommerce-account .u-column2{background:#fff;border:1px solid rgba(16,16,16,.1);padding:28px 26px;border-radius:0;}
.woocommerce-account h2{font-family:'Marcellus',serif;font-weight:400;}
.woocommerce-account .woocommerce-form__input-checkbox{width:18px;height:18px;vertical-align:-3px;margin-right:6px;accent-color:var(--mn-green);}
.woocommerce-account .woocommerce-LostPassword a,.woocommerce-account .lost_password a{display:inline-block;padding:10px 0;}
/* M10: cart/checkout error notices should not wear the success-green bar */
.woocommerce-error{border-top-color:var(--mn-error) !important;}
.woocommerce-error::before{color:var(--mn-error) !important;}
/* M11: footer link tap targets >= 40px (were ~13px at 11px gaps, WCAG 2.5.8) */
@media(max-width:767px){
  .mn-footer-col a{display:inline-block;padding:9px 0;}
  .mn-footer-legal a{padding:11px 2px;display:inline-block;} /* 2026-10 mobile audit: 18 px links -> 40 px targets */
  .mn-footer-legal{gap:2px 12px;}
}
/* M4: search results — brand the raw Hello list */
.search-results .hentry,.search .site-main article{border-bottom:1px solid rgba(16,16,16,.1);padding:22px 0;}
.search-results .entry-title,.search .entry-title{font-family:'Marcellus',serif;font-weight:400;}
.search-no-results .page-content,.search .no-results{max-width:560px;}
/* ---- Footer: hide theme's, style ours (premium: deep green, bronze accents — twin of the menu panel) ---- */
#site-footer.site-footer{display:none !important;}
/* 2026-10: owner's reference — plaster-textured teal, a sand band for the legal row, a lotus on the seam.
   Textures are cut from the reference image (uploads/mn-brand/footer-teal.jpg / footer-sand.jpg?v=2). */
.mn-footer{background:var(--mn-green) url(/wp-content/uploads/mn-brand/footer-teal-tall.jpg?v=2) center top/100% auto repeat-y;color:var(--mn-cream);
  font-family:'Jost',sans-serif;border-top:0;}
/* Home: the closing "Taste subtraction" container (cta1) merges into the footer as ONE textured block.
   Same image, same 100%-width scale; the footer's background is offset upward by the section's height
   (set by JS below as --mn-foot-off) so the plaster continues across the join with no seam. */
.home .elementor-element-cta1{background-color:transparent !important;background-image:url(/wp-content/uploads/mn-brand/footer-teal-tall.jpg?v=2) !important;
  background-size:100% auto !important;background-repeat:repeat-y !important;background-position:center top !important;}
/* Plaster on every full-bleed teal section (class added to the Elementor containers by scripts/plaster-sections.php) */
/* Elementor drops unregistered `_css_classes` on containers at render, so the teal containers are
   addressed by id here (repeated .e-con lifts specificity above Elementor's below-fold
   `background-image:none !important` lazy rule). mn-plaster-js below adds e-no-lazyload too. */
.mn-plaster,
.elementor-element-jrn1.e-con.e-con.e-con.e-con.e-con,.elementor-element-stp.e-con.e-con.e-con.e-con.e-con,
.elementor-element-labcta.e-con.e-con.e-con.e-con.e-con,.elementor-element-bbg.e-con.e-con.e-con.e-con.e-con,
.elementor-element-gfc.e-con.e-con.e-con.e-con.e-con,.elementor-element-sbw.e-con.e-con.e-con.e-con.e-con,
.elementor-element-subcta.e-con.e-con.e-con.e-con.e-con,.elementor-element-jrc.e-con.e-con.e-con.e-con.e-con,.elementor-element-ctanl.e-con.e-con.e-con.e-con.e-con{ /* ctanl: the home's "Join the list" band (2026-10-27 trim) */
  background-color:var(--mn-green) !important;background-image:url(/wp-content/uploads/mn-brand/footer-teal-tall.jpg?v=2) !important;
  background-size:100% auto !important;background-repeat:repeat-y !important;background-position:center top !important;}
.home .elementor-element-cta1{margin-bottom:0 !important;}
.home .site-main,.home .page-content,.home .elementor-location-single,.home .elementor-page{padding-bottom:0 !important;margin-bottom:0 !important;}
.mn-footer-band{position:relative;background:#817B62 url(/wp-content/uploads/mn-brand/footer-sand.jpg?v=2) center/cover no-repeat;}
.mn-footer-lotus{position:absolute;left:50%;top:0;width:64px;height:44px;transform:translate(-50%,-72%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.22));}
@media(max-width:640px){.mn-footer-lotus{width:52px;height:36px;}}
.mn-footer a{color:rgba(240,237,229,.82);transition:color .18s var(--mn-ease);}
.mn-footer a:hover{color:var(--mn-bronze-light);}
/* 2026-10-26 Footer Complex arrangement: brand block + four link columns side by side from 1025 px (the column split and the
   1100 px container are in mn-ux-fixes.css, section 8); below that the brand block sits on top, then four columns (tablet) or
   two (phone) */
.mn-footer-cols{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:44px;
  padding:64px 5vw 72px;box-sizing:border-box;}
.mn-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;}
@media(min-width:768px){.mn-footer-links{grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:24px;}}
.mn-footer-about .mn-footer-notice{max-width:340px;}
.mn-footer .mn-footer-cookie--col{align-self:flex-start;min-height:0;margin:0;padding:0;text-align:left;text-decoration:none;color:rgba(240,237,229,.82);transition:color .18s var(--mn-ease);}
.mn-footer .mn-footer-cookie--col:hover{color:var(--mn-bronze-light);}
@media(max-width:767px){.mn-footer .mn-footer-cookie--col{display:flex;align-items:center;min-height:44px;}} /* spaced like the links above it */
.mn-footer-brand{display:flex;align-items:center;gap:10px;font-family:'Marcellus',serif;font-weight:400;font-size:17px;letter-spacing:.2em;color:var(--mn-cream);}
.mn-footer-brand svg{color:var(--mn-bronze);}
.mn-footer-blurb{font-size:13px;line-height:1.8;color:rgba(240,237,229,.72);max-width:280px;margin:16px 0 0;}
/* 2026-10-11 owner: the one social home on the site */
.mn-footer-social{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;font-size:13px;letter-spacing:.04em;}
.mn-footer-social svg{flex:none;}
.mn-footer-social:focus-visible{outline:2px solid var(--mn-bronze-light);outline-offset:3px;border-radius:4px;}
.mn-footer-notice{font-size:13px;line-height:1.7;color:rgba(240,237,229,.72);max-width:280px;margin:12px 0 0;}
.mn-footer-notice a{color:rgba(240,237,229,.9);text-decoration:underline;text-underline-offset:2px;}
.mn-footer-col{display:flex;flex-direction:column;gap:11px;font-size:14px;}
.mn-footer-head{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mn-bronze-light);margin-bottom:6px;}
.mn-footer-head--soon{margin-top:14px;}
.mn-soon-tag{display:inline-block;margin-left:8px;padding:2px 7px;border:1px solid rgba(217,194,154,.6);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mn-bronze-light);vertical-align:middle;}
.mn-footer-wa{color:var(--mn-cream) !important;font-weight:700;margin-top:8px;}
.mn-footer-wa:hover{color:var(--mn-bronze-light) !important;}
.mn-footer-legal{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:44px 5vw 40px;box-sizing:border-box;font-size:13px;font-weight:500;letter-spacing:.05em;color:var(--mn-ink);}
.mn-footer-legal a{color:var(--mn-ink);text-decoration:underline;text-decoration-color:rgba(16,16,16,.35);text-underline-offset:3px;}
.mn-footer-legal a:hover{color:var(--mn-green);text-decoration-color:var(--mn-green);}

/* ---- WooCommerce shop archive ---- */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Marcellus',serif !important;font-weight:400 !important;font-size:19px;color:var(--mn-ink);padding-top:.6em;} /* 2026-10: one display face for every product name, grid and gifts alike */
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,
.woocommerce-Price-amount,.woocommerce ul.products li.product .price .amount{color:var(--mn-green) !important;font-weight:500;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{text-align:left;}
/* Premium: the image tile lifts with a soft shadow on hover; the caption stays put */
@media(min-width:1025px) and (hover:hover){
  .woocommerce ul.products li.product img,ul.products li.product img{
    transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1);}
  .woocommerce ul.products li.product:hover img,ul.products li.product:hover img{
    transform:translateY(-5px);box-shadow:0 16px 36px rgba(16,16,16,.11);}
}
@media(prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product,ul.products li.product,
  .woocommerce ul.products li.product img,ul.products li.product img{transition:none;}
}
/* Mobile: product grids wrap to 2 columns (Woo/Elementor columns-N overflow otherwise) */
@media(max-width:767px){
  .woocommerce ul.products,.woocommerce-page ul.products,ul.products{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:20px 14px !important;width:100% !important;}
  .woocommerce ul.products li.product,.woocommerce-page ul.products li.product,ul.products li.product{width:100% !important;margin:0 !important;float:none !important;}
  /* 2026-10 mobile audit: Woo's clearfix pseudo took grid cell 1 (the sampler rendered in the right column over an empty left one) */
  .woocommerce ul.products::before,.woocommerce ul.products::after,ul.products::before,ul.products::after{display:none !important;content:none;}
  .woocommerce ul.products li.product.post-74{grid-column:1 / -1;padding:24px 0 28px !important;border-top:1px solid rgba(16,16,16,.18);border-bottom:1px solid rgba(16,16,16,.18);margin-bottom:8px !important;}
  .woocommerce ul.products li.product.post-74 .mn-card-frame{max-width:62%;margin:0 auto 18px !important;}
  .woocommerce ul.products li.product.post-74 .woocommerce-loop-product__title{font-size:24px !important;}
  .woocommerce ul.products li.product.post-74 .mn-card-meta::before{display:none;}
}
/* Gifts (2026-10, quiet luxury): a still specimen plate on the plaster, a contents ledger, editorial rows.
   Replaces the hover lid-lift, which had been gutted by a data re-encode and swung over the heading. */
.mn-gift-plate{position:relative;margin:0;aspect-ratio:4/3;background:var(--mn-green) url(/wp-content/uploads/mn-brand/footer-teal.jpg) center/cover;color:var(--mn-bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 28px;}
.mn-gift-plate::before{content:"";position:absolute;inset:14px;border:1px solid rgba(217,194,154,.42);pointer-events:none;}
.mn-gift-plate svg{width:54px;height:37px;margin:0 0 20px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22));}
.mn-gift-plate-no{display:none;} /* 2026-10-25 page review: "N° 1" / "Plant-based" repeated the box name */
.mn-gift-plate-name{font-family:'Marcellus',serif;font-size:clamp(24px,2.6vw,30px);line-height:1.15;}
.mn-gift-plate-sub{font-family:'Jost',sans-serif;font-size:13px;font-weight:300;letter-spacing:.02em;color:rgba(240,237,229,.78);margin:12px 0 0;}
.mn-gift-ledger-k{font-family:'Jost',sans-serif;font-size:15px;font-weight:500;color:var(--mn-ink);margin:26px 0 6px;} /* sentence case (was 11 px caps) */
.mn-gift-ledger{margin:0;padding:0;font-family:'Jost',sans-serif;font-size:14.5px;color:var(--mn-ink);}
.mn-gift-ledger>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid rgba(16,16,16,.14);}
.mn-gift-ledger>div:last-child{border-bottom:1px solid rgba(16,16,16,.14);}
.mn-gift-ledger dt,.mn-gift-ledger dd{margin:0;}
.mn-gift-ledger dd{color:var(--mn-grey);font-variant-numeric:tabular-nums;}
.mn-gift-ledger-note{font-family:'Jost',sans-serif;font-size:13px;color:var(--mn-grey);margin:10px 0 0;}
.mn-gift-row{border-top:1px solid rgba(16,16,16,.18);padding:20px 0 0;font-family:'Jost',sans-serif;}
.mn-gift-row-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.mn-gift-row-n{font-family:'Marcellus',serif;font-size:21px;line-height:1.2;color:var(--mn-ink);}
.mn-gift-row-p{font-weight:300;font-size:17px;font-variant-numeric:tabular-nums;color:var(--mn-ink);white-space:nowrap;}
.mn-gift-row-d{font-size:14px;line-height:1.6;color:var(--mn-grey);margin:10px 0 14px;max-width:34ch;}
.mn-gift-row-s{font-size:13px;font-weight:500;color:var(--mn-green);} /* sentence case "Coming soon" (was 11 px caps) */
/* 2026-10-11: one smaller box now (the Duo) — a full-width ledger line instead of a stranded third-width card */
.e-con.e-con.elementor-element-gfc1{flex:1 1 100% !important;width:100% !important;max-width:none !important;}
@media(min-width:768px){
  .elementor-element-gfc1 .mn-gift-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) auto;grid-template-areas:"n d p" "n d s";
    align-items:baseline;column-gap:48px;row-gap:6px;padding:24px 0;border-bottom:1px solid rgba(16,16,16,.18);}
  .elementor-element-gfc1 .mn-gift-row-h{display:contents;}
  .elementor-element-gfc1 .mn-gift-row + .mn-gift-row{border-top:0;} /* /plant-based/ stacks four rows: one rule between, not two */
  .elementor-element-gfc1 .mn-gift-row-n{grid-area:n;}
  .elementor-element-gfc1 .mn-gift-row-p{grid-area:p;justify-self:end;}
  .elementor-element-gfc1 .mn-gift-row-d{grid-area:d;margin:0;max-width:44ch;}
  .elementor-element-gfc1 .mn-gift-row-s{grid-area:s;justify-self:end;}
}
/* 2026-10 mobile audit: tracked uppercase micro-labels read at 12 px minimum on a phone. 2026-10-25 phone sweep: the gift /
   plant-based labels (sentence case, 15 / 13 px) left this list, which had pinned them back to 12 px on phones; the plate number,
   post eyebrow and "Taste the difference" label it named are gone from the site */
@media(max-width:767px){
  .mn-feat-eyebrow,.mn-size-chip .mn-size-tag,.mn-ftb-eyebrow,
  .elementor-field-group .elementor-field-label{font-size:12px !important;}
  .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb{font-size:13px;line-height:1.9;} /* 2026-10-26: sentence case, no longer 11.5 px capitals */
}
/* 2026-10 mobile audit: the journal/story photo slots lost their content in a data re-encode and rendered as
   220–560 px of blank paper. Until photography lands they read as a ruled plate with a faint lotus — and are
   shorter on a phone, where a blank 300 px block pushed the first headline below the fold. */
.elementor-widget-html div[style*="position:relative;height"]:has(> div[style="position:absolute"]){
  border:1px solid rgba(16,16,16,.12);background:var(--mn-paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 44'><g fill='%23B99860' fill-opacity='.38'><path d='M32 40 C18 36 8 28 6 16 C14 18 22 24 32 40Z'/><path d='M32 40 C46 36 56 28 58 16 C50 18 42 24 32 40Z'/><path d='M32 40 C22 30 16 20 16 6 C24 10 29 20 32 40Z'/><path d='M32 40 C42 30 48 20 48 6 C40 10 35 20 32 40Z'/><path d='M32 40 C26 30 24 18 32 2 C40 18 38 30 32 40Z'/><path d='M32 42 C20 42 11 39 4 32 C14 33 24 34 32 42Z'/><path d='M32 42 C44 42 53 39 60 32 C50 33 40 34 32 42Z'/></g></svg>") center/56px auto no-repeat;}
@media(max-width:767px){
  .elementor-widget-html div[style*="position:relative;height:220px"]:has(> div[style="position:absolute"]){height:150px !important;}
  .elementor-widget-html div[style*="position:relative;height:340px"]:has(> div[style="position:absolute"]){height:190px !important;}
  .elementor-widget-html div[style*="position:relative;height:clamp"]:has(> div[style="position:absolute"]){height:210px !important;}
  /* about-page plate caption: a two-part caption split into two ragged columns at 375 px */
  .elementor-widget-html div[style*="justify-content:space-between"][style*="text-transform:uppercase"]{flex-direction:column;gap:4px;}
  .elementor-widget-html div[style*="justify-content:space-between"][style*="text-transform:uppercase"] span{white-space:nowrap;}
}
/* Low: branded 404 panel */
.mn-404{max-width:640px;margin:0 auto 60px;text-align:center;padding:0 20px;}
.error404 .page-header{max-width:640px;margin:60px auto 0;padding:0 20px;text-align:center;}
.error404 .page-header .entry-title{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(26px,3.4vw,32px);margin:0 0 10px;}
.error404 .page-content p:empty{display:none;}
.mn-404-k{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mn-green);margin:0 0 12px;}
.mn-404-h{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(26px,5vw,38px);margin:0 0 10px;}
.mn-404-t{color:var(--mn-grey);margin:0 0 26px;}
.mn-404-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.mn-404-links a{background:var(--mn-green);color:var(--mn-bg) !important;padding:13px 22px;font-family:'Jost',sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;}
.mn-404-links a:nth-child(2){background:transparent;color:var(--mn-ink) !important;border:1px solid rgba(16,16,16,.2);}
.mn-404-links a:nth-child(3){background:transparent;color:var(--mn-green) !important;border:1px solid var(--mn-green);}
/* H11: readable measure on posts + legal pages (Hello ships ~150-char lines at 1140px) */
.single-post .entry-content,.page-template-default .entry-content,
.single-post .elementor-widget-theme-post-content,.single-post article .entry-content{max-width:68ch;margin-left:auto;margin-right:auto;}
.single-post .entry-content p,.single-post .entry-content li{font-size:17px;line-height:1.75;}
.single-post .entry-content h2{font-family:'Marcellus',serif;font-weight:400;margin-top:1.8em;}
.single-post .entry-header,.single-post .entry-title{max-width:68ch;margin-left:auto;margin-right:auto;}
.mn-post-cta{max-width:68ch;margin:56px auto 88px;background:var(--mn-green) url(/wp-content/uploads/mn-brand/footer-teal-tall.jpg?v=2) center top/100% auto repeat-y;color:var(--mn-bg);padding:36px 32px;text-align:center;}
.mn-post-cta-k{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mn-bronze-light);margin:0 0 8px;}
.mn-post-cta-h{font-family:'Marcellus',serif;font-size:22px;margin:0 0 18px;color:var(--mn-bg);}
.mn-post-cta-btn{display:inline-block;background:var(--mn-bronze-light);color:var(--mn-ink) !important;padding:13px 26px;font-family:'Jost',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none !important;}
.mn-post-cta-btn:hover{background:var(--mn-bg);}
/* Professional FAQ block (Rank Math) — was rendering as a wall of giant plain question-headings */
.rank-math-block{margin:38px 0 0;padding-top:4px;border-top:1px solid var(--mn-line);}
.single-post .rank-math-block::before{display:none !important;content:none !important;}
.mn-post-faq-h{font-family:'Marcellus',serif;font-weight:400;font-size:var(--mn-fs-h2,clamp(26px,3vw,32px));line-height:1.2;color:var(--mn-ink);margin:48px 0 8px;}
.rank-math-block::before{content:"Frequently asked";display:block;font-family:'Jost',sans-serif;
  font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mn-bronze-dark);margin:22px 0 4px;}
.rank-math-list-item{border-top:1px solid rgba(16,16,16,.09);padding:20px 0;}
.rank-math-list-item:first-child{border-top:0;}
.rank-math-question{font-family:'Marcellus',serif !important;font-weight:400 !important;
  font-size:20px !important;line-height:1.3 !important;margin:0 0 7px !important;color:var(--mn-ink) !important;letter-spacing:0 !important;}
.rank-math-answer,.rank-math-answer p{font-family:'Jost',sans-serif;font-size:15.5px;line-height:1.7;color:var(--mn-ink-soft);margin:0;}
/* the description body itself: comfortable measure + lead-in */
.woocommerce-Tabs-panel--description{max-width:62ch;}
.woocommerce-Tabs-panel--description p{font-size:15.5px;line-height:1.75;color:var(--mn-ink-soft);}
.woocommerce-Tabs-panel--description > p:first-of-type{font-size:16.5px;}
/* H15c: visible keyboard focus everywhere (was suppressed on conversion forms) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.elementor-button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mn-green) !important;outline-offset:2px !important;}
/* hero video pause control (bottom-right of the hero) */
.mn-video-toggle{position:absolute;right:18px;bottom:18px;z-index:5;background:rgba(16,16,16,.45);color:var(--mn-cream);border:1px solid rgba(240,237,229,.5);
  font-family:'Jost',sans-serif;font-size:13px;font-weight:500;letter-spacing:.02em;padding:9px 14px;cursor:pointer;min-width:44px;min-height:44px;} /* review item 4: sentence case, 13 px */
.mn-video-toggle:hover{background:rgba(16,16,16,.7);}
@media(max-width:767px){.mn-video-toggle{display:none;}} /* UX-06: phones get no video (Elementor plays it from tablet up), so no control there; tablets keep Pause */
/* H14: header cart icon + badge */
.mn-cart-icon{position:relative;display:inline-flex;align-items:center;color:var(--mn-ink);margin-left:18px;flex:0 0 auto;}
.mn-cart-icon:hover{color:var(--mn-green);}
.mn-hdr-icons{display:inline-flex;align-items:center;flex:0 0 auto;}
.mn-acct-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--mn-ink);margin:-11.5px 0 -11.5px 18px;flex:0 0 auto;min-width:44px;min-height:44px;}
.mn-acct-icon:hover{color:var(--mn-green);}
@media(max-width:1024px){.mn-acct-icon{display:none !important;}}
.mn-cart-count{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 3px;border-radius:9px;
  background:var(--mn-green);color:var(--mn-bg);font-size:12px;font-weight:700;line-height:16px;text-align:center;}
/* Cross-device hardening */
@media (max-width:1024px){
  /* alignwide's negative margins are a desktop treatment — at mobile they drag
     blocks (e.g. the cart) off the left edge, clipped without a scrollbar */
  .alignwide,.wp-block-woocommerce-cart.alignwide,.wp-block-woocommerce-checkout.alignwide{
    margin-left:0 !important;margin-right:0 !important;}
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;} /* stop landscape font inflation on iOS */
@supports (min-height:82svh){
  .elementor-element-hero1{--min-height:82svh;} /* stable hero on iOS (vh jumps with the toolbar) */
}
@media (max-width:1024px){
  /* iOS zooms the page on focusing any input under 16px — force 16 on touch layouts */
  input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],
  textarea,select,.elementor-field-group input,.wc-block-components-text-input input{font-size:16px !important;}
}
@media (max-width:349px){
  /* Galaxy Fold / very small phones: product cards cannot shrink below ~141px min-content */
  .woocommerce ul.products,.woocommerce-page ul.products,ul.products{grid-template-columns:1fr !important;}
  /* AUDIT-2026-07: header contents (169px wordmark + 74px hamburger + cart) exceed
     320px — shrink the wordmark and tighten spacing at fold-phone widths */
  #site-header.site-header{padding-left:10px !important;padding-right:10px !important;}
  #site-header .site-title a{font-size:14px !important;letter-spacing:.14em !important;text-indent:.14em !important;}
  #site-header .site-navigation-toggle-holder{padding:0 4px !important;}
  .mn-cart-icon{margin-left:4px !important;}
}
/* Mobile: comfortable tap targets + compact header (announcement + header <=15% of viewport) */
@media(max-width:1024px){
  #site-header a{display:inline-block;padding:12px 8px;}
  #site-header.site-header{padding:5px 16px !important;}
  #site-header .site-branding a,#site-header .site-title a{padding:8px 8px;}
  #site-header .header-inner{flex-direction:row !important;flex-wrap:nowrap !important;position:relative;}
  #site-header .header-inner .site-branding,
  #site-header .header-inner .site-navigation-toggle-holder{width:auto !important;flex:0 0 auto !important;}
  #site-header .header-inner .site-navigation-toggle-holder{margin-left:auto;} /* UX-23: hamburger sits beside the bag icon, not mid-header */
  /* Mobile menu: one solid brand panel (Hello's default = white gapped cards).
     NOTE: the nav wrapper collapses to ~0 height while the UL overflows it — so the
     panel surface (bg/blur/border/shadow) must live on the UL, which wraps the items. */
  #site-header nav.site-navigation-dropdown{position:absolute;top:100%;left:0;right:0;width:100%;z-index:99;
    background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;box-shadow:none !important;}
  #site-header nav.site-navigation-dropdown ul{margin:0 !important;padding:4px 0 8px !important;display:block !important;
    background:var(--mn-green) !important;border-radius:0 !important;border-top:2px solid var(--mn-bronze);
    box-shadow:0 28px 56px rgba(16,16,16,.28);}
  /* frosted where supported: translucent green + blur of the page behind */
  /* plaster behind the menu links, toned with teal so the texture stays faint */
  #site-header nav.site-navigation-dropdown ul{background-image:linear-gradient(rgba(0,70,67,.62),rgba(0,70,67,.62)),url(/wp-content/uploads/mn-brand/footer-teal-tall.jpg?v=2) !important;
    background-size:100% auto !important;background-repeat:repeat-y !important;background-position:center top !important;}
  #site-header nav.site-navigation-dropdown li{margin:0 !important;padding:0 !important;background:transparent !important;border-radius:0 !important;list-style:none;}
  #site-header nav.site-navigation-dropdown li.current-menu-item > a{color:var(--mn-bronze-light) !important;}
  #site-header nav.site-navigation-dropdown li:last-child > a{border-bottom:0;}
  #site-header .site-navigation-toggle{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
  #site-header nav.site-navigation-dropdown a{display:block;padding:16px 26px;margin:0;background:transparent !important;
    border:0;border-bottom:1px solid rgba(240,237,229,.10);border-radius:0 !important;
    color:var(--mn-cream) !important;font-family:'Jost',sans-serif !important;font-size:13px !important;
    font-weight:600;letter-spacing:.18em;text-transform:uppercase;line-height:1;}
  .mn-announce{padding:0;font-size:13px;letter-spacing:.06em;}
  .mn-announce a{display:block;padding:9px 14px;} /* the whole bar is the tap target (was an 18 px inline link) */
  #site-header .site-navigation-toggle{background:transparent !important;border:0 !important;color:var(--mn-ink) !important;}
  /* PDP: compact buy box so add-to-cart clears the 375x812 fold */
  .single-product .woocommerce-breadcrumb{margin-bottom:8px;font-size:13px;}
  .single-product .woocommerce-product-gallery img{max-height:300px;width:auto;margin:0 auto;object-fit:contain;}
  .single-product .product_title{margin-bottom:6px;}
  .single-product p.price{margin:6px 0 !important;}
  .single-product .woocommerce-product-details__short-description{font-size:14px;}
  .single-product .woocommerce-product-details__short-description p{margin-bottom:6px;}
  .single-product table.variations{margin-bottom:8px;}
  /* the theme's responsive table turned the "Pack size" cell into a grey full-width bar; render it as a plain eyebrow */
  .single-product table.variations,.single-product table.variations tbody,.single-product table.variations tr,.single-product table.variations td,.single-product table.variations th{
    display:block !important;width:100% !important;background:transparent !important;border:0 !important;padding:0 !important;text-align:left !important;}
  .single-product table.variations .label{padding:0 0 6px !important;}
  .single-product table.variations .label label{font-family:'Jost',sans-serif;font-size:12px !important;font-weight:500 !important;letter-spacing:.12em;text-transform:uppercase;color:var(--mn-grey) !important;}
  .woocommerce-breadcrumb a{padding:8px 0;}
  .single-product .variations select{min-height:44px;}
  /* 2026-10 mobile audit: touch targets on the buy box + tabs; no zoom lens on a touch screen */
  .single-product .quantity input.qty{min-height:46px;}
  .single-product .woocommerce-product-gallery__trigger{display:none !important;}
  .woocommerce-tabs ul.tabs li a{display:block;padding:12px 0 !important;min-height:44px;}
}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering select{color:var(--mn-ink);}

/* ---- Buttons (global) ---- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-block-components-button,.wp-block-button__link,
.woocommerce span.onsale{background:var(--mn-green) !important;color:var(--mn-cream) !important;border-radius:0;}

/* ---- Single product ---- */
.woocommerce div.product .product_title{font-size:clamp(28px,4vw,42px) !important;line-height:1.1;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--mn-green) !important;font-size:26px;font-weight:400;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--mn-green);}
.woocommerce .quantity input.qty{border:1px solid var(--mn-line);}
.wapf-field-label{font-family:'Jost',sans-serif;font-weight:600;}
/* PERF-03: Woo hides the gallery (inline opacity:0) until its deferred JS runs — paint the photo as soon as it decodes */
.single-product .woocommerce-product-gallery{opacity:1 !important;}

/* ---- Cart / Checkout ---- */
.woocommerce table.shop_table{border-color:var(--mn-line);border-radius:0;}
.woocommerce table.shop_table th{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:12px;}
.woocommerce-cart .cart-collaterals .cart_totals h2,.woocommerce-checkout #order_review_heading,.woocommerce-checkout h3{
  font-family:'Marcellus',serif !important;}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--mn-green) !important;}
/* UX-11: the add-to-bag notice as the brand 14 px cream panel */
.woocommerce-message{background:rgba(255,255,255,.45) !important;border:1px solid rgba(16,16,16,.14) !important;border-radius:var(--mn-radius-sm);}
.woocommerce-info::before,.woocommerce-message::before{color:var(--mn-green) !important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{
  border:1px solid var(--mn-line) !important;border-radius:0 !important;}

/* ---- Breadcrumb ---- */
/* 2026-10-26 owner (SmoothUI breadcrumb as the look, "3": restyle, no install, no motion): sentence case, a small chevron between
   crumbs, the current page in ink. WooCommerce's trail gets the chevron and per-crumb spans from the woocommerce_breadcrumb_defaults
   filter below; Rank Math's (journal posts) keeps its "/" separator text (mn-seo.php) and shows a chevron in its place. */
.woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb,.rank-math-breadcrumb,.rank-math-breadcrumb p{color:var(--mn-grey) !important;font-size:13px;line-height:1.9;text-transform:none;letter-spacing:.01em;}
.woocommerce-breadcrumb a,.rank-math-breadcrumb a{color:var(--mn-grey) !important;text-decoration:none !important;} .woocommerce-breadcrumb a:hover,.rank-math-breadcrumb a:hover{color:var(--mn-green) !important;}
.woocommerce-breadcrumb .mn-crumb:last-child,.rank-math-breadcrumb .last{color:var(--mn-ink);}
.mn-crumb-sep,.rank-math-breadcrumb .separator{display:inline-block;width:12px;height:12px;margin:0 6px;vertical-align:-1px;font-size:0;background:var(--mn-grey);opacity:.55;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px 12px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px 12px no-repeat;}

/* ===== AUDIT-2026-07 TYPOGRAPHY SYSTEM (typo-audit steps 1-4) ===== */
/* [T1] long-form measure: journal articles ran ~143 chars/line in a 1140px container */
.single-post .page-content,.single-post .entry-header,.single-post .page-header{
  max-width:720px;margin-left:auto;margin-right:auto;}
/* [T2b] Marcellus is single-weight: Elementor widget weights 500/600 would faux-bold */
.elementor-widget-heading .elementor-heading-title{font-weight:400 !important;}
/* UX-20: emphasis spans inside headings (b2b, gifts, plant-based) set weight 700 on single-weight Marcellus (faux bold) — emphasise with teal instead */
.elementor-heading-title span{font-weight:400 !important;}
/* 2026-10-25 page review fix 3: headlines in one colour. Emphasis words (spans, and the inline <em style="color:#004643"> accents
   on About, FAQ, Journal and Contact) keep their words but take the heading's own colour and stay upright. */
.elementor-heading-title span,.elementor-heading-title em{color:inherit !important;font-style:normal !important;}
/* [T5] 2026-10 critique: thirteen display sizes were in use. Five steps: hero 44 · H1 40 · H2 32 · sub 22 · FAQ/card 18.
   Stats numerals keep their own size. */
h1.elementor-heading-title{font-size:clamp(30px,4.2vw,40px) !important;}
/* 2026-10-25 review item 7: the hero headline leads the first screen (was capped at 44 px = 3 vw; now up to 72 px = 5 vw at 1440) */
.home .elementor-element-heroh1 .elementor-heading-title{line-height:1.02 !important;letter-spacing:-.02em !important;} /* size: --mn-fs-hero in mn-ux-fixes.css (loads later) */
h2.elementor-heading-title{font-size:clamp(26px,3.4vw,32px) !important;}
h3.elementor-heading-title{font-size:22px !important;}
.elementor-element-std1 h3.elementor-heading-title{font-size:clamp(36px,4vw,44px) !important;line-height:1.05 !important;}
.elementor-accordion .elementor-accordion-title,.elementor-accordion .elementor-tab-title a{font-family:'Marcellus',serif !important;font-size:18px !important;font-weight:400 !important;}
.rank-math-question{font-size:18px !important;}
.woocommerce-cart .mn-empty-title,.mn-404-h{font-size:clamp(26px,3.4vw,32px) !important;}
/* [T6] one button geometry everywhere; only colour changes by surface */
.elementor-button,.elementor-form .elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.single_add_to_cart_button,.wp-block-button__link,.mn-ftb-btn,.mn-404-links a,.mn-post-cta-btn{padding:14px 24px !important;line-height:1.2 !important;height:auto !important;min-height:0 !important;}
.elementor-form .elementor-field-type-submit .elementor-button{display:inline-flex;align-items:center;}
/* [T7] home: one centred moment (the hero); the rest sits left on the grid */
.home .elementor-element-phil1,.home .elementor-element-std1,.home .elementor-element-tst1,.home .elementor-element-crt1,.home .elementor-element-feat1{--align-items:flex-start;align-items:flex-start !important;}
.home .elementor-element-phil1 .elementor-heading-title,.home .elementor-element-phil1 p,.home .elementor-element-std1 .elementor-heading-title,.home .elementor-element-std1 p,
.home .elementor-element-tst1 .elementor-heading-title,.home .elementor-element-tst1 p,.home .elementor-element-crt1 .elementor-heading-title,.home .elementor-element-crt1 p,
.home .elementor-element-feat1 .elementor-heading-title{text-align:left !important;}
.home .elementor-element-phil1 p,.home .elementor-element-tst1 p{max-width:62ch;}
.home .elementor-element-phil1 .elementor-widget,.home .elementor-element-tst1 .elementor-widget,.home .elementor-element-feat1 .elementor-widget-heading{margin-left:0 !important;margin-right:auto !important;}
/* [T8] lotus watermark behind the hero headline (one of the lotus's two homes; the other is the footer seam) */
.home .elementor-element-hero1{position:relative;}
.home .elementor-element-hero1::before{content:"";position:absolute;left:50%;top:50%;width:min(56vw,560px);aspect-ratio:64/44;transform:translate(-50%,-52%);z-index:1;pointer-events:none;opacity:.07;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 44'><g fill='none' stroke='%23F0EDE5' stroke-width='.55' stroke-linejoin='round'><path d='M32 40C18 36 8 28 6 16C14 18 22 24 32 40Z'/><path d='M32 40C46 36 56 28 58 16C50 18 42 24 32 40Z'/><path d='M32 40C22 30 16 20 16 6C24 10 29 20 32 40Z'/><path d='M32 40C42 30 48 20 48 6C40 10 35 20 32 40Z'/><path d='M32 40C26 30 24 18 32 2C40 18 38 30 32 40Z'/><path d='M32 42C20 42 11 39 4 32C14 33 24 34 32 42Z'/><path d='M32 42C44 42 53 39 60 32C50 33 40 34 32 42Z'/></g></svg>") center/contain no-repeat;}
/* the widgets sit above the lotus; .e-con-inner itself stays STATIC — Elementor nests the background-video
   container inside it, and a positioned inner boxed the video to 1280 px with plaster showing either side on wide screens */
.home .elementor-element-hero1 > .e-con-inner{position:static;}
.home .elementor-element-hero1 > .elementor-element,.home .elementor-element-hero1 > .e-con-inner > .elementor-element{position:relative;z-index:2;}
.home .elementor-element-hero1 .elementor-background-video-container{z-index:0;}
/* [T9] small type and measures */
.elementor-element-jrf p,.elementor-element-jrg p,.elementor-element-jmore p{max-width:48ch;}
.elementor-element-sbf{padding-top:80px !important;padding-bottom:80px !important;}
.mn-ledger-line{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.04em;color:var(--mn-grey);border-top:1px solid rgba(16,16,16,.14);border-bottom:1px solid rgba(16,16,16,.14);padding:12px 0;margin:18px 0 0;}
.mn-ledger-line a{color:var(--mn-green);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
/* PERF-14 (2026-10-17): links inside FAQ answers, the FAQ "From the journal" line and product descriptions read as links */
.mn-acc-a a,.elementor-element-fqrel a,.single-product .woocommerce-Tabs-panel--description a{color:var(--mn-green);text-decoration:underline;text-underline-offset:3px;}
.mn-form-note{font-family:'Jost',sans-serif;font-size:13px;color:var(--mn-grey);margin:12px 0 0;}
/* FAQ closer: the two text links become the button pair used everywhere else */
/* .elementor-element-fqch a: styled by mn-css/system.css since 2026-10-26 (first link primary, the rest outlined) *//* journal article eyebrow (category · reading time) + dates */
.mn-post-eyebrow{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mn-bronze-dark);font-weight:600;max-width:68ch;margin:0 auto 6px;}
@media(max-width:767px){
  .home .elementor-element-hero1{--min-height:70svh;min-height:70svh !important;}
  .single-product .woocommerce-product-gallery img{max-height:200px !important;}
}
/* [T2] display line-height ladder — headings were set solid (lh 1.0); serif needs air.
   Widget-level letter-spacing (e.g. hero -0.5px) still wins over the non-important tracking. */
.elementor-widget-heading h1.elementor-heading-title{line-height:1.08 !important;letter-spacing:-.01em;}
.elementor-widget-heading h2.elementor-heading-title{line-height:1.12 !important;letter-spacing:-.01em;}
.elementor-widget-heading h3.elementor-heading-title{line-height:1.2 !important;}
.elementor-widget-heading h4.elementor-heading-title,.elementor-widget-heading h5.elementor-heading-title{line-height:1.25 !important;}
/* UX-22 (2026-10-17): article header (mn-seo [7]) — eyebrow, H1 and dates share the body's column edge */
.mn-post-head{margin:0 0 28px;}
.mn-post-head > .mn-post-eyebrow,.mn-post-head > .mn-post-dates,.mn-post-head > .entry-title{max-width:none;margin-left:0;margin-right:0;}
.mn-post-head > .entry-title{margin-top:4px;margin-bottom:12px;}
/* UX-03 (2026-10-17): on the checkout a focused control keeps 24 px of air below the sticky header (on top of html's
   scroll-padding, mn-ux-fixes.css), and keyboard focus never waits on a smooth scroll */
.wp-block-woocommerce-checkout :is(input,select,textarea,button,a){scroll-margin-top:24px;}
html:focus-within{scroll-behavior:auto;}
/* UX-32 (2026-10-17): a product card with the "New" seal keeps the plate's name clear of the seal, also with enlarged text spacing */
.mn-is-new .mn-plate{padding-top:52px;align-content:safe center;} /* "safe": a name taller than the plate starts below the padding instead of spilling up under the seal */
/* UX-19 (2026-10-17): the theme templates (policies, 404, search, cart, my-account, product) start their content where the
   Elementor pages do — 20 px on phones, 90 px from the edge above 768 px, never more than 1140 px of content — and leave the
   same room above the footer. The page header sits inside .site-main, so it takes no padding of its own. */
@media(max-width:767px){.site-main{padding-inline:20px !important;}}
@media(min-width:768px){.site-main{max-width:1320px !important;padding-inline:90px !important;box-sizing:border-box;}}
.site-main .page-header,.site-main .page-header .entry-title{max-width:none !important;padding-inline:0 !important;}
.site-main{padding-bottom:clamp(56px,6vw,88px);}
/* UX-15/16 (2026-10-17): field error line (filled by the footer script), the newsletter's email label shown, and the browser's
   jump to the first invalid field stops below the sticky header */
.mn-field-err{display:block;width:100%;margin:6px 0 0;font-family:'Jost',sans-serif;font-size:12px;line-height:1.4;color:var(--mn-error);}
.mn-field-err:empty{display:none;}
.elementor-form[name="Newsletter"] .mn-field-err{color:#F3C1B1;} /* the newsletter sits on the dark teal band */
.elementor-form[name="Newsletter"] .elementor-field-type-email .elementor-field-label{position:static;display:block;width:100%;height:auto;margin:0 0 6px;padding:0;clip:auto;overflow:visible;font-family:'Jost',sans-serif;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.04em;}
.elementor-form .elementor-field,.mn-wl-email{scroll-margin-top:110px;}
/* UX-10 (2026-10-17): the numerals on /about/, /b2b/, /subscription/ are <p> and their card titles <h2> (outline h1 → h2, was
   h1 → h3 → h4). These rules keep the exact look the old h3 / h4 tags gave them. */
:is(.elementor-element-stp1n,.elementor-element-stp2n,.elementor-element-stp3n,.elementor-element-stp4n,.elementor-element-bbo1n,.elementor-element-bbo2n,.elementor-element-bbo3n,.elementor-element-bbo4n,.elementor-element-sbp3n,.elementor-element-sbp4n) .elementor-heading-title{font-family:'Marcellus',serif !important;font-size:22px !important;line-height:1.2 !important;letter-spacing:-1px !important;}
:is(.elementor-element-stp1n,.elementor-element-stp2n,.elementor-element-stp3n,.elementor-element-stp4n) .elementor-heading-title{letter-spacing:normal !important;}
/* 2026-10-25 page reviews: the card / step titles on About (stp*t), Subscription (sbp3t, sbp4t, sbw1-3) and B2B (bbo*t) are h3 now
   and take the 22 px h3 size ([T5]); their old 14 / 14.5 / 15 px pins went */
h1.product_title{line-height:1.15 !important;}
/* [T3] one button voice — Elementor buttons were 13px sentence-case vs Woo 11.5px caps */
.elementor-button{font-family:'Jost',sans-serif !important;font-weight:700 !important;font-size:12px !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;border-radius:0 !important;}
/* buttons on plaster: Elementor's generated page CSS dropped the background on the Lab CTA (ink on teal, invisible).
   Pin the two voices used on teal: cream primary, bronze secondary. */
.mn-plaster .elementor-widget-button .elementor-button{background-color:var(--mn-cream) !important;color:var(--mn-ink) !important;}
.elementor-element-labctab .elementor-button,.elementor-element-subctab .elementor-button{background-color:var(--mn-bronze) !important;color:var(--mn-ink) !important;}
.mn-plaster .elementor-widget-button .elementor-button:hover{opacity:.9;}
/* ===== Forms as an editorial document (2026-10): eyebrow labels, bottom-rule fields, one button voice ===== */
.elementor-form .elementor-field-group{margin-bottom:22px !important;padding:0 !important;}
.elementor-form .elementor-field-group.elementor-field-type-submit{margin-top:10px !important;margin-bottom:0 !important;}
.elementor-field-group .elementor-field-label{font-family:'Jost',sans-serif !important;font-size:12px !important;font-weight:500 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--mn-grey) !important;margin:0 0 2px !important;display:block;}
.elementor-form .elementor-field-type-submit{justify-content:flex-start !important;}
.elementor-form .elementor-field-type-submit .elementor-button{flex:0 0 auto !important;flex-basis:auto !important;}
.elementor-form .elementor-field-textual,.elementor-form .elementor-field-textual:focus{
  background:transparent !important;border:0 !important;border-bottom:1px solid rgba(16,16,16,.28) !important;border-radius:0 !important;box-shadow:none !important;
  padding:11px 0 !important;font-family:'Jost',sans-serif !important;font-size:16px !important;line-height:1.4 !important;color:var(--mn-ink) !important;transition:border-color .2s var(--mn-ease);}
.elementor-form .elementor-field-textual::placeholder{color:rgba(16,16,16,.32);}
/* the label already carries the prompt — a repeated placeholder read as a double line */
.elementor-form .elementor-field-group:has(.elementor-field-label:not(.elementor-screen-only)) .elementor-field-textual::placeholder{color:transparent !important;} /* only when the label is VISIBLE — the newsletter's label is screen-reader-only, its placeholder is the prompt */
.elementor-form .elementor-field-textual:hover{border-bottom-color:rgba(16,16,16,.5) !important;}
.elementor-form .elementor-field-textual:focus{border-bottom:2px solid var(--mn-green) !important;padding-bottom:10px !important;outline:none !important;}
.elementor-form textarea.elementor-field-textual{min-height:112px;resize:vertical;}
.elementor-form select.elementor-field-textual{appearance:none;background:transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23101010' stroke-width='1.5'/></svg>") right center no-repeat !important;}
.elementor-form .elementor-field-type-submit .elementor-button{width:auto !important;display:inline-flex;background:var(--mn-green) !important;color:var(--mn-bg) !important;border:0 !important;}
.elementor-form .elementor-field-type-submit .elementor-button-content-wrapper{justify-content:center;}
.elementor-form .elementor-message{font-family:'Jost',sans-serif;font-size:14px;margin-top:14px;}
.elementor-form .elementor-message-success{color:var(--mn-green);}
.elementor-form .elementor-message-danger,.elementor-form .elementor-error{color:var(--mn-error);}
/* the same fields on a plaster surface (newsletter) */
.mn-plaster .elementor-field-group .elementor-field-label,.elementor-element-cta1 .elementor-field-group .elementor-field-label{color:rgba(240,237,229,.72) !important;}
.mn-plaster.mn-plaster .elementor-form .elementor-field-textual,.elementor-element-cta1.e-con .elementor-form .elementor-field-textual{border-bottom:1px solid rgba(240,237,229,.55) !important;color:var(--mn-bg) !important;}
.mn-plaster.mn-plaster .elementor-form .elementor-field-textual::placeholder,.elementor-element-cta1.e-con .elementor-form .elementor-field-textual::placeholder{color:rgba(240,237,229,.5);}
.mn-plaster.mn-plaster .elementor-form .elementor-field-textual:hover,.elementor-element-cta1.e-con .elementor-form .elementor-field-textual:hover{border-bottom-color:rgba(240,237,229,.8) !important;}
.mn-plaster.mn-plaster .elementor-form .elementor-field-textual:focus,.elementor-element-cta1.e-con .elementor-form .elementor-field-textual:focus{border-bottom:2px solid var(--mn-bg) !important;}
.mn-plaster.mn-plaster .elementor-form .elementor-field-type-submit .elementor-button,.elementor-element-cta1.e-con .elementor-form .elementor-field-type-submit .elementor-button{background:var(--mn-bg) !important;color:var(--mn-ink) !important;}
/* form cards: one accent per surface — teal rule on top, teal eyebrow, teal button; labels in muted ink */
.elementor-element-ctr,.elementor-element-bbg .elementor-widget-form{border-top:2px solid var(--mn-green) !important;}
/* [T4] price authority — one family (home grid once leaked the serif), tabular figures */
.woocommerce-Price-amount,.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{font-family:'Jost',sans-serif !important;font-variant-numeric:tabular-nums;font-weight:500;}
.woocommerce div.product p.price{line-height:1.3 !important;}
/* ===== Button system (2026-10): one geometry, three voices. Last block on purpose — it out-ranks the older rules above. =====
   primary   = solid teal / cream text (one per view);  on plaster: cream fill / ink text
   secondary = 1px outline, transparent (product cards, newsletter on plaster)
   tertiary  = tracked caps + hairline underline + arrow (editorial links) */
.elementor-button,.elementor-form .elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button.alt,
/* UX-25: filled pills keep a boundary in forced-colors mode (a transparent border is drawn there); invisible otherwise */
.single-product form.cart .single_add_to_cart_button,.elementor-element-hero1 .elementor-button{border:1px solid transparent !important;}
/* …the 1 px comes out of the padding, so both buttons keep their exact size */
.elementor-element-hero1 .elementor-button{padding:16px 31px !important;}
/* secondary: product cards (every card except the sampler, which is the view's one primary) — full card width so rows align */
.woocommerce ul.products li.product:not(.post-74) .button{display:block;width:calc(100% - 6px);text-align:center;background:transparent !important;color:var(--mn-green) !important;
  border:1px solid var(--mn-green) !important;padding:14px 0 !important;}
.woocommerce ul.products li.product:not(.post-74) .button:hover{background:var(--mn-green) !important;color:var(--mn-bg) !important;}
/* on plaster: cream primary (hover a touch lighter), cream-outline secondary (newsletter), bronze underline tertiary */
.mn-plaster .elementor-widget-button .elementor-button,.elementor-element-labctab .elementor-button,.elementor-element-subctab .elementor-button,.mn-ftb .button.mn-ftb-btn,.mn-post-cta-btn{
  background:var(--mn-cream) !important;background-color:var(--mn-cream) !important;color:var(--mn-ink) !important;border:0 !important;}
.mn-plaster .elementor-widget-button .elementor-button:hover,.elementor-element-labctab .elementor-button:hover,.elementor-element-subctab .elementor-button:hover,.mn-ftb .button.mn-ftb-btn:hover,.mn-post-cta-btn:hover{
  background:#FFFFFF !important;background-color:#FFFFFF !important;color:var(--mn-ink) !important;opacity:1 !important;}
/* focus: a ring in the surface's own contrast colour */
.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible,.single_add_to_cart_button:focus-visible,.elementor-button:focus-visible{outline:2px solid var(--mn-green) !important;outline-offset:3px !important;}
.mn-plaster :focus-visible,.mn-footer :focus-visible,.mn-ftb :focus-visible,.elementor-element-cta1 :focus-visible{outline-color:var(--mn-cream) !important;}
/* states: "Adding…" dims the label; "Added" flips to the outline voice with a check, "View bag" becomes the tertiary link */
/* the original label goes transparent and the state label is painted over it, so the button keeps its width */
.woocommerce a.button.loading,.woocommerce a.button.added{position:relative;color:transparent !important;}
.woocommerce a.button.loading::after,.woocommerce a.button.added::after{display:none !important;}
.woocommerce a.button.loading::before,.woocommerce a.button.added::before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.12em;}
.woocommerce a.button.loading::before{content:"Adding\2026";color:rgba(240,237,229,.72);}
.woocommerce a.button.added{background:transparent !important;border:1px solid var(--mn-green) !important;}
.woocommerce a.button.added::before{content:"\2713 \00a0 Added";color:var(--mn-green);} /* the space terminates the hex escape */
.woocommerce ul.products li.product:not(.post-74) .button.loading::before{color:rgba(0,70,67,.6);}
.woocommerce ul.products li.product:not(.post-74) .button.loading,.woocommerce ul.products li.product:not(.post-74) .button.added,
.woocommerce ul.products li.product.post-74 .button.loading,.woocommerce ul.products li.product.post-74 .button.added{color:transparent !important;} /* the card's own (0,5,0) colour rule was showing the old label through the overlay */
.woocommerce ul.products li.product:not(.post-74) .button.added::before{color:var(--mn-green);}
.woocommerce ul.products li.product:not(.post-74) .added_to_cart{display:block;width:max-content;margin:14px auto 0 !important;}
.woocommerce .added_to_cart,.mn-ftb .added_to_cart{font-family:'Jost',sans-serif !important;font-size:12px !important;font-weight:500 !important;letter-spacing:.12em !important;text-transform:uppercase !important;
  color:var(--mn-green) !important;background:transparent !important;border:0 !important;border-bottom:1px solid var(--mn-green) !important;padding:0 !important;margin-left:14px;text-decoration:none !important;line-height:1.6;}
.mn-ftb a.button.added{border-color:rgba(240,237,229,.6) !important;}
.mn-ftb a.button.added::before{color:var(--mn-cream);}
.mn-ftb a.button.loading::before{color:rgba(16,16,16,.55);} /* cream primary on the plaster: the dimmed label is ink, not cream */
.mn-ftb .added_to_cart{color:var(--mn-bronze-light) !important;border-bottom-color:var(--mn-bronze-light) !important;}
.woocommerce ul.products li.product:not(.post-74) .added_to_cart{display:inline-block;margin:10px 3px 0 !important;}
.woocommerce ul.products li.product.post-74 .added_to_cart{display:inline-block;margin:0 0 0 156px !important;} /* clears the 138 px button in the band's grid cell */
.woocommerce div.product form.cart .button{font-weight:500 !important;letter-spacing:.12em !important;} /* the PDP buy button sits under Woo's (0,3,1) .button.alt rule */
/* ===== Keyline (2026-10): the pack's inner frame, inside every button. Hover: the rule drifts out to the edge. ===== */
.elementor-button,.elementor-form .elementor-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button.alt,
/* secondary (cards): outlined pill on the paper; fills on hover */
.woocommerce ul.products li.product:not(.post-74) .button{padding:16px 0 !important;box-shadow:none !important;border-radius:var(--mn-radius,999px) !important;}
.woocommerce ul.products li.product:not(.post-74) .button:hover{box-shadow:none !important;}
.woocommerce ul.products li.product:not(.post-74) .button.added{box-shadow:none !important;}
.woocommerce a.button.added,.woocommerce a.button.loading{box-shadow:none !important;}
/* plaster primary: cream with a bronze keyline; hover to white */
.mn-plaster .elementor-widget-button .elementor-button,.elementor-element-labctab .elementor-button,.elementor-element-subctab .elementor-button,.mn-ftb .button.mn-ftb-btn,.mn-post-cta-btn{
  box-shadow:none !important;border-radius:var(--mn-radius,999px) !important;}
.mn-plaster .elementor-widget-button .elementor-button:hover,.elementor-element-labctab .elementor-button:hover,.elementor-element-subctab .elementor-button:hover,.mn-ftb .button.mn-ftb-btn:hover,.mn-post-cta-btn:hover{
  box-shadow:none !important;}
/* "Update bag" stays the quiet outline it was */
.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]{box-shadow:none !important;padding:13px 22px !important;}
/* ===== Pill system (2026-10, owner's pick C + H) ===== */
:root{--mn-radius:999px;--mn-radius-sm:14px;} /* slice B: one card radius (was 12 here, 14 hard-coded in 25 places) */
/* the First Taste Box banner (category pages): mn-conversion pins it square at (0,3,0) and prints later — out-rank it */
.mn-ftb a.button.mn-ftb-btn{border-radius:var(--mn-radius) !important;padding:17px 32px !important;display:inline-flex !important;align-items:center;box-shadow:none !important;}
.mn-ftb.mn-price-in-btn .mn-ftb-price{display:none;}
/* the home page body has no .woocommerce class — repeat the state rules for the banner there */
.mn-ftb a.button.loading,.mn-ftb a.button.added{position:relative;color:transparent !important;box-shadow:none !important;}
.mn-ftb a.button.loading::after,.mn-ftb a.button.added::after{display:none !important;}
.mn-ftb a.button.loading::before,.mn-ftb a.button.added::before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.12em;}
.mn-ftb a.button.loading::before{content:"Adding\2026";color:rgba(16,16,16,.55);}
.mn-ftb a.button.added{background:transparent !important;border:1px solid rgba(240,237,229,.6) !important;}
.mn-ftb a.button.added::before{content:"\2713 \00a0 Added";color:var(--mn-cream);}
.mn-ftb a.button.loading .mn-btn-ico,.mn-ftb a.button.added .mn-btn-ico{visibility:hidden;}
/* bag icon (H) on every add-to-bag */
.mn-btn-ico{width:17px;height:17px;margin:0 11px 0 -4px;flex:none;vertical-align:-4px;}
.woocommerce a.button.add_to_cart_button,.woocommerce div.product form.cart button.single_add_to_cart_button{display:inline-flex !important;align-items:center;justify-content:center;}
.woocommerce ul.products li.product:not(.post-74) .button{display:flex !important;}
.woocommerce a.button.loading .mn-btn-ico,.woocommerce a.button.added .mn-btn-ico{visibility:hidden;}
/* newsletter on the plaster: outlined cream pill (the owner's reference) — hover fills */
.mn-plaster.mn-plaster .elementor-form .elementor-field-type-submit .elementor-button,.elementor-element-cta1.e-con .elementor-form .elementor-field-type-submit .elementor-button{
  background:transparent !important;background-color:transparent !important;color:var(--mn-bg) !important;border:1px solid rgba(240,237,229,.6) !important;padding:16px 31px !important;border-radius:var(--mn-radius) !important;box-shadow:none !important;}
.mn-plaster.mn-plaster .elementor-form .elementor-field-type-submit .elementor-button:hover,.elementor-element-cta1.e-con .elementor-form .elementor-field-type-submit .elementor-button:hover{
  background:var(--mn-bg) !important;background-color:var(--mn-bg) !important;color:var(--mn-ink) !important;border-color:var(--mn-bg) !important;}
/* the small controls follow the same geometry */
.mn-size-chip,.mn-size-chip[aria-pressed=true]{border-radius:var(--mn-radius-sm) !important;}
.mn-chip,.mn-soon-tag,.mn-gift-row-s,.woocommerce span.onsale{border-radius:var(--mn-radius) !important;}
.woocommerce-cart .quantity .qty,.single-product .quantity input.qty,.woocommerce .quantity input.qty{border-radius:var(--mn-radius-sm) !important;}
/* UX-26: the PDP quantity box matches the 51 px Add-to-bag pill beside it; the hero Pause control uses the pill radius too */
.single-product form.cart .quantity input.qty{height:51px;min-height:51px;border-radius:var(--mn-radius) !important;}
.mn-video-toggle{border-radius:var(--mn-radius);}
.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"],.woocommerce-cart table.shop_table.cart td.product-remove a.remove{border-radius:var(--mn-radius) !important;}
.woocommerce a.button.added{border-radius:var(--mn-radius) !important;}
.mn-404-links a,.elementor-element-fqch a{border-radius:var(--mn-radius) !important;}
/* ===== Core build (2026-10 merged plan) ===== */
/* [6] button states: pressed (80 ms), disabled, PDP "Adding…" */
.elementor-button:active,.woocommerce a.button:active,.woocommerce button.button:active,.single_add_to_cart_button:active,.mn-sticky-btn:active{transform:scale(.985);}
.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce a.button.disabled,.elementor-button[disabled]{
  background:transparent !important;color:rgba(16,16,16,.45) !important;border:1px solid rgba(16,16,16,.35) !important;cursor:default !important;opacity:1 !important;transform:none !important;}
.woocommerce div.product form.cart button.single_add_to_cart_button.loading{position:relative;color:transparent !important;}
/* 2026-10-26 UX audit (UX-11): the label sits in its own span with its own colour, so on phones (no morph below 768 px) "Adding…"
   was painted over a still-visible "Add to bag" while the request ran. Everything inside goes transparent with the button. */
.woocommerce div.product form.cart button.single_add_to_cart_button.loading *{color:transparent !important;}
.woocommerce div.product form.cart button.single_add_to_cart_button.loading svg{opacity:0;}
.woocommerce div.product form.cart button.single_add_to_cart_button.loading::after{display:none !important;}
.woocommerce div.product form.cart button.single_add_to_cart_button.loading::before{content:"Adding\2026";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(240,237,229,.72);font-size:12px;letter-spacing:.12em;}
/* [8] product cards: the packshot eases to 1.03 inside a clipped frame; the frame's hairline deepens. Touch gets the press. */
.woocommerce ul.products li.product .mn-card-frame{display:block;overflow:hidden;margin:0 0 18px;border:1px solid rgba(16,16,16,.07);transition:border-color .2s var(--mn-ease);}
.woocommerce ul.products li.product .mn-card-frame img{margin:0 !important;border:0 !important;transition:transform .6s cubic-bezier(.16,1,.3,1);}
@media(hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product:hover .mn-card-frame{border-color:rgba(16,16,16,.18);}
  .woocommerce ul.products li.product:hover .mn-card-frame img{transform:scale(1.03);}
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:active .mn-card-frame img{transform:scale(.985);transition-duration:.08s;}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .mn-card-frame{outline:2px solid var(--mn-green);outline-offset:3px;}
/* [10] accordions (product questions + FAQ) as native details.
   2026-10-25 owner: card split accordion (after watermelon.sh "Card Split Accordian", rebuilt in CSS; brand colours, no icons).
   Each group (the product's questions; each FAQ section) is one card of stacked rows. The open row splits away: 10 px gaps,
   all corners rounded, a full border; the rows either side round their facing corners. Neighbours are found with :has(), so
   no JS is needed for the shape (mn-motion.php [G] keeps one row open per group and animates the height). */
.mn-acc{background:rgba(255,255,255,.55);border:1px solid rgba(16,16,16,.13);border-top-width:0;border-radius:0;
  transition:margin .4s var(--mn-ease),border-radius .4s var(--mn-ease),background-color .25s var(--mn-ease);}
.mn-acc:first-of-type{border-top-width:1px;border-top-left-radius:16px;border-top-right-radius:16px;}
.mn-acc:last-of-type{border-bottom-left-radius:16px;border-bottom-right-radius:16px;}
.mn-acc[open]{border-top-width:1px;border-radius:16px;margin:10px 0;background:#fff;}
.mn-acc[open]:first-of-type{margin-top:0;}
.mn-acc[open]:last-of-type{margin-bottom:0;}
.mn-acc[open] + .mn-acc{border-top-width:1px;border-top-left-radius:16px;border-top-right-radius:16px;}
.mn-acc:has(+ .mn-acc[open]){border-bottom-left-radius:16px;border-bottom-right-radius:16px;}
.mn-acc:not([open]):hover{background:rgba(255,255,255,.85);}
.mn-acc-q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-radius:inherit;}
.mn-acc-q::-webkit-details-marker{display:none;}
.mn-acc-q::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(var(--mn-green),var(--mn-green)) center/12px 1.5px no-repeat,linear-gradient(var(--mn-green),var(--mn-green)) center/1.5px 12px no-repeat;transition:transform .25s cubic-bezier(.16,1,.3,1);}
.mn-acc[open] > .mn-acc-q::after{transform:rotate(45deg);}
.mn-acc-q .rank-math-question{margin:0 !important;}
.mn-acc-title{font-family:'Marcellus',serif;font-size:18px;line-height:1.35;color:var(--mn-ink);}
.mn-acc-q:hover .mn-acc-title,.mn-acc-q:hover .rank-math-question{color:var(--mn-green);}
.mn-acc-q:focus-visible{outline:2px solid var(--mn-green);outline-offset:-3px;}
.mn-acc-a{overflow:hidden;}
.mn-acc-a > :first-child{margin-top:0;}
.mn-acc-faq .mn-acc-a{padding:0 52px 22px 22px;font-family:'Jost',sans-serif;font-size:15.5px;line-height:1.7;color:var(--mn-ink-soft);}
.mn-acc-pdp .mn-acc-a{padding:0 52px 20px 22px;}
@media(max-width:767px){.mn-acc-q{padding:16px 18px;}.mn-acc-faq .mn-acc-a,.mn-acc-pdp .mn-acc-a{padding:0 18px 18px;}}
@media(prefers-reduced-motion:reduce){.mn-acc{transition:none;}}
.elementor-accordion{border:0 !important;}
/* [7] lab reports: status pill + PDF pill; stacked cards on phones */
.mn-batch-head,.mn-batch-row{grid-template-columns:76px 110px 1fr 130px 236px !important;}
.mn-batch-report{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.mn-batch-status{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid rgba(0,70,67,.55);border-radius:var(--mn-radius);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mn-green);}
.mn-batch-pdf{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid var(--mn-green);border-radius:var(--mn-radius);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mn-green) !important;text-decoration:none !important;transition:background-color .2s var(--mn-ease),color .2s var(--mn-ease);}
.mn-batch-pdf:hover{background:var(--mn-green);color:var(--mn-bg) !important;}
@media(max-width:720px){
  .mn-batch-head{display:none !important;}
  .mn-batch-row:not(.mn-batch-old){display:grid !important;grid-template-columns:1fr auto !important;gap:6px 12px !important;padding:18px !important;margin:0 0 12px;border:1px solid rgba(16,16,16,.12);background:#fff;}
  .mn-batch-row > :nth-child(1){font-family:'Marcellus',serif;font-size:19px;font-weight:400 !important;}
  .mn-batch-row > :nth-child(2){justify-self:end;align-self:center;font-size:13px;}
  .mn-batch-row > :nth-child(3),.mn-batch-row > :nth-child(4){grid-column:1 / -1;display:block !important;font-size:13px;}
  .mn-batch-row > :nth-child(5){grid-column:1 / -1;margin-top:8px;}
}
/* [9] product logistics as labelled lines */
.mn-logistics{margin:0;padding-top:12px;display:grid;gap:7px;}
.mn-logistics > div{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline;}
.mn-logistics dt{margin:0;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:var(--mn-bronze-dark);} /* 2026-10-25 review: sentence case (was 11.5 px tracked caps) */
.mn-logistics dd{margin:0;font-size:13px;line-height:1.6;color:var(--mn-grey);}

/* [12] footer Soon items: labels, not links */
.mn-footer-soon{color:rgba(240,237,229,.6);cursor:default;}
@media(max-width:767px){.mn-footer-soon{padding:9px 0;}}
/* form confirmations fade in (newsletter, contact, B2B) */
@keyframes mnFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.elementor-form .elementor-message{animation:mnFade .2s cubic-bezier(.16,1,.3,1) both;}
.elementor-element-cta1 .elementor-form .elementor-message-success,.mn-plaster .elementor-form .elementor-message-success{color:var(--mn-bg) !important;}
/* [1] sticky add-to-bag bar on phones and tablets (built by mn-conversion's script) */
.mn-sticky{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(240,237,229,.97);border-top:1px solid rgba(185,152,96,.45);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(105%);transition:transform .24s cubic-bezier(.16,1,.3,1);}
.mn-sticky.mn-on{transform:none;}
.mn-sticky-info{min-width:0;display:flex;flex-direction:column;}
.mn-sticky-name{font-family:'Marcellus',serif;font-size:13px;line-height:1.2;color:var(--mn-ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;} /* UX-27: two lines at 13 px, not an ellipsis */
.mn-sticky-meta{font-family:'Jost',sans-serif;font-size:13px;color:var(--mn-grey);font-variant-numeric:tabular-nums;}
.woocommerce .mn-sticky button.mn-sticky-btn.button.alt{flex:none;margin:0 !important;} /* slice B: look from mn-css/system.css */
@media print{.mn-rv{opacity:1 !important;transform:none !important;}.mn-sticky{display:none !important;}}
@media(min-width:1025px){.mn-sticky{display:none !important;}}
@media(prefers-reduced-motion:reduce){.elementor-button,.woocommerce a.button,.woocommerce button.button{transition:none !important;}}
/* ===== Home "Our standards" (HTML widget stdsh). Moved here 2026-10-15 (MN2-002): the rules used to sit in a <style> inside
   the widget, and Elementor's _elementor_data sanitizer strips <style> tags (keeping their text) on any write by a user without
   unfiltered_html — a wp-cli edit on 14 Oct left the CSS printed on the page. The widget now holds markup only. ===== */
.mn-standards{margin:0;padding:0;font-family:'Jost',sans-serif;color:var(--mn-ink);} /* spacing comes from the Elementor container (same as the sections it replaces) */
.mn-standards-h{font-family:'Marcellus',serif;font-weight:400;font-size:var(--mn-fs-h2, clamp(26px, 23.87px + 0.565vw, 32px));line-height:1.15;letter-spacing:-.01em;margin:0 0 28px;}
.mn-standards-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;} /* brief 6: three cards since the lab card went */
.mn-standards-card{padding:22px 22px 24px;border:1px solid rgba(16,16,16,.14);border-radius:var(--mn-radius-sm);background:rgba(255,255,255,.4);}
.mn-standards-card h3{font-family:'Marcellus',serif;font-weight:400;font-size:var(--mn-fs-18, 18px);line-height:1.3;margin:0 0 8px;color:var(--mn-ink);}
.mn-standards-card p{font-size:var(--mn-fs-14, 14px);line-height:1.6;margin:0;color:var(--mn-ink-soft);}
@media(max-width:1023px){.mn-standards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:639px){.mn-standards-grid{grid-template-columns:1fr;}}
/* 2026-10-25 review item 2: the home's three rows of outlined cards became two different sections (stdsh; the shop page keeps
   .mn-standards). Ordering = one surface a tone darker than the page, three columns, no boxes or lines; gifting = heading
   left, two offers right, on the collection's 5/7 split so the edges line up. Running text in full ink at 16 px. */
.mn-order,.mn-gift{max-width:1280px;margin:0 auto;font-family:'Jost',sans-serif;color:var(--mn-ink);}
.mn-order{padding:44px 48px 48px;border-radius:var(--mn-radius-sm);background:var(--mn-sand);}
.mn-order-h,.mn-gift-h{font-family:'Marcellus',serif;font-weight:400;font-size:var(--mn-fs-h2, clamp(26px, 23.87px + 0.565vw, 32px));line-height:1.15;letter-spacing:-.01em;margin:0 0 32px;color:var(--mn-ink);}
.mn-order-list,.mn-gift-list{list-style:none;margin:0;padding:0;display:grid;gap:32px 48px;}
.mn-order-list{grid-template-columns:repeat(3,minmax(0,1fr));}
.mn-gift{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;align-items:start;margin-top:120px;}
.mn-gift-h{margin:0;}
.mn-gift-list{grid-template-columns:repeat(2,minmax(0,1fr));}
.mn-order-list h3,.mn-gift-list h3{font-family:'Marcellus',serif;font-weight:400;font-size:20px;line-height:1.3;margin:0 0 10px;color:var(--mn-ink);}
.mn-order-list p,.mn-gift-list p{font-size:16px;line-height:1.6;margin:0;color:var(--mn-ink);}
.mn-gift-list a{display:inline-block;margin-top:12px;font-size:16px;color:var(--mn-green) !important;text-decoration:underline;text-underline-offset:3px;}
.mn-gift-list a::after{content:" \2192";}
.mn-gift-list a:hover{text-decoration-thickness:2px;}
.mn-gift-list a:focus-visible{outline:2px solid var(--mn-green);outline-offset:3px;border-radius:2px;}
@media(max-width:1023px){.mn-order-list{grid-template-columns:1fr;gap:28px;}.mn-gift{grid-template-columns:1fr;margin-top:88px;}}
@media(max-width:639px){.mn-order{padding:28px 22px 32px;}.mn-gift{margin-top:64px;}.mn-gift-list{grid-template-columns:1fr;gap:28px;}}
/* 2026-10-25 remaining-pages review: Subscription "How it will work" (sbwe, green band) and B2B "Built for teams and gifting" (bbtre)
   are h2s now (were eyebrows); the widgets keep their Elementor typography, hence !important */
.elementor-element-sbwe .elementor-heading-title,.elementor-element-bbtre .elementor-heading-title{font-family:'Marcellus',serif !important;font-weight:400 !important;
  font-size:var(--mn-fs-h2,clamp(26px,3vw,32px)) !important;line-height:1.15 !important;letter-spacing:-.01em !important;text-transform:none !important;opacity:1 !important;margin-bottom:8px;}
.elementor-element-sbwe .elementor-heading-title{color:var(--mn-cream) !important;}
.elementor-element-bbtre .elementor-heading-title{color:var(--mn-ink) !important;}
/* 2026-10-25 phone sweep: the green band's e-mail link (bbgw) is a sentence-case text link like "Enquire →" (was 12 px capitals) */
.mn-b2b-mail{display:inline-block;padding:10px 0;font-family:'Jost',sans-serif;font-size:15px;font-weight:600;color:var(--mn-cream) !important;
  text-decoration:underline !important;text-underline-offset:4px;text-decoration-thickness:1px;}
.mn-b2b-mail:hover{text-decoration-thickness:2px;}
/* the B2B "01-04" cards and the Subscription "pause / lock-in" cards: one filled panel each, no outlined white boxes */
.elementor .elementor-element.elementor-element-bborow,.elementor .elementor-element.elementor-element-sbprow{background:var(--mn-sand) !important;border-radius:var(--mn-radius-sm) !important;padding:36px 40px !important;gap:32px 40px !important;}
.elementor .elementor-element:is(.elementor-element-bbo1,.elementor-element-bbo2,.elementor-element-bbo3,.elementor-element-bbo4,.elementor-element-sbp3,.elementor-element-sbp4){background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important;}
/* the four B2B columns as a grid: mn-row.php's calc(25% - 21px) widths assume its 28 px gap and wrapped 3 + 1 inside the panel */
.elementor .elementor-element.elementor-element-bborow,.elementor .elementor-element.elementor-element-bborow > .e-con-inner{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));}
.elementor .elementor-element.elementor-element-bborow > .e-con-inner{padding:0 !important;gap:32px 40px !important;}
.elementor .elementor-element:is(.elementor-element-bbo1,.elementor-element-bbo2,.elementor-element-bbo3,.elementor-element-bbo4){width:auto !important;--width:auto !important;max-width:none !important;}
@media(max-width:1024px){.elementor .elementor-element.elementor-element-bborow,.elementor .elementor-element.elementor-element-bborow > .e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.elementor .elementor-element.elementor-element-bborow,.elementor .elementor-element.elementor-element-bborow > .e-con-inner{grid-template-columns:1fr;}}
@media(max-width:767px){.elementor .elementor-element.elementor-element-bborow,.elementor .elementor-element.elementor-element-sbprow{padding:26px 22px !important;}}
/* Subscription: the "A typical month" card (sbcard) and the FAQ line (sbfh) */
.mn-sub-card{background:var(--mn-cream);border-radius:var(--mn-radius-sm);padding:30px 28px;font-family:'Jost',sans-serif;color:var(--mn-ink);}
.mn-sub-card-h{font-family:'Marcellus',serif;font-weight:400;font-size:22px;line-height:1.3;margin:0 0 12px;color:var(--mn-ink);}
.mn-sub-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:15px;}
.mn-sub-line span:last-child,.mn-sub-total span:last-child{font-variant-numeric:tabular-nums;}
.mn-sub-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0 0;font-size:15px;font-weight:600;}
.mn-sub-total span:last-child{font-weight:400;font-size:26px;letter-spacing:-.02em;}
.mn-sub-note{font-size:14px;line-height:1.6;color:var(--mn-ink-soft);margin:14px 0 0;}
.mn-sub-faq{text-align:center;font-family:'Jost',sans-serif;font-size:15px;color:var(--mn-ink);margin:0;}
.mn-sub-faq a{color:var(--mn-green);text-decoration:underline;text-underline-offset:3px;}
/* 2026-10-25 page review fix 1 (About): "What clean-label snacks mean to us" is now the band's h2 (was an 11 px caps eyebrow; the
   widget keeps its Elementor typography, hence !important); the steps sit under it like the home page's "Made with less" */
.elementor-element-stpe .elementor-heading-title{font-family:'Marcellus',serif !important;font-weight:400 !important;font-size:var(--mn-fs-h2,clamp(26px,3vw,32px)) !important;
  line-height:1.15 !important;letter-spacing:-.01em !important;text-transform:none !important;color:var(--mn-cream) !important;opacity:1 !important;}
.elementor-element-stprow{margin-top:28px;}
@media(max-width:767px){.elementor-element-stprow{margin-top:16px;}}
/* 2026-10-25 page review fix 2 (Journal): the featured story is text-led (its empty frame column went), the category line sits
   under the summary, and the four stories are filled rows (two columns from 768 px) in the shop's surface tone */
.elementor-element-jrfrow > .e-con-inner,.elementor-element-jrfrow{justify-content:flex-start !important;}
.elementor .elementor-element.elementor-element-jrfr{width:100% !important;max-width:860px !important;--width:100% !important;} /* beats mn-row.php's 50% column */
.elementor-element-jrfp p{font-size:18px !important;line-height:1.65 !important;color:var(--mn-ink-soft) !important;max-width:60ch !important;}
.elementor .elementor-element.elementor-element-jrg{border-top:0 !important;} /* space, not a rule, above the story rows */
.elementor-element-jrfh .elementor-heading-title{font-size:clamp(30px,3.4vw,40px) !important;line-height:1.15 !important;letter-spacing:-.01em !important;text-wrap:balance;} /* the page h1's size at most */
.elementor-element-jrfp{order:2;}
.elementor-element-jrfe{order:3;}
.elementor-element-jrfl2{order:4;}
.elementor-element-jrfe .elementor-heading-title{font-size:13px !important;font-weight:500 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--mn-grey) !important;}
.mn-jr-more{display:inline-block;font-family:'Jost',sans-serif;font-size:16px;font-weight:500;color:var(--mn-green) !important;text-decoration:underline;text-underline-offset:3px;}
.mn-jr-more:hover{text-decoration-thickness:2px;}
.elementor-element-jrgrow > .e-con-inner,.elementor-element-jrgrow:not(:has(> .e-con-inner)){display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px !important;}
.elementor-element-jrgrow .elementor-element.e-con{width:auto !important;--width:auto !important;max-width:none !important;}
.mn-jr-row{display:block;height:100%;box-sizing:border-box;padding:20px 22px;border-radius:var(--mn-radius-sm);background:var(--mn-sand);color:var(--mn-ink) !important;text-decoration:none !important;font-family:'Jost',sans-serif;transition:background-color .2s var(--mn-ease);}
.mn-jr-row:hover{background:var(--mn-sand-dark);}
.mn-jr-row:focus-visible{outline:2px solid var(--mn-green);outline-offset:3px;}
.mn-jr-row-t{font-family:'Marcellus',serif;font-weight:400;font-size:20px;line-height:1.3;margin:0 0 6px;color:var(--mn-ink);}
.mn-jr-row-d{font-size:15px;line-height:1.6;margin:0 0 10px;color:var(--mn-ink-soft);}
.mn-jr-row-m{font-size:13px;line-height:1.4;margin:0;color:var(--mn-grey);}
@media(max-width:767px){.elementor-element-jrgrow > .e-con-inner,.elementor-element-jrgrow:not(:has(> .e-con-inner)){grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.mn-jr-row{transition:none;}}
/* 2026-10-25 review item 4: with the I / II / III numerals gone, the three steps sat 16 px under "Fewer ingredients" */
.home .elementor-element-jrnrow{margin-top:28px;}
@media(max-width:767px){.home .elementor-element-jrnrow{margin-top:16px;}}

/* 2026-10-26 slice C (UX-15): "More on makhana" under journal posts */
.mn-post-more{margin:56px 0 0;padding-top:28px;border-top:1px solid var(--mn-line);}
.mn-post-more h2{font-family:'Marcellus',serif;font-weight:400;font-size:var(--mn-fs-h2,26px);margin:0 0 18px;}
.mn-post-more ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
@media(min-width:768px){.mn-post-more ul{grid-template-columns:repeat(3,1fr);gap:16px;}}
.mn-post-more li{background:var(--mn-sand);border-radius:var(--mn-radius-sm);padding:18px 20px;}
.mn-post-more li a{display:block;font-family:'Marcellus',serif;font-size:var(--mn-fs-18,18px);line-height:1.3;color:var(--mn-ink);text-decoration:none;}
.mn-post-more li a:hover{color:var(--mn-green);}
.mn-post-more li span{display:block;margin-top:8px;font-size:var(--mn-fs-14,14px);line-height:1.5;color:var(--mn-grey);}

/* 2026-10-27 home-page trim (scripts/home-trim-2026-10-27.php): "How ordering works" as one line above "Gifting, sorted"; the
   newsletter in its own band (ctanl) above the footer */
.mn-order-line{margin:0 0 56px;text-align:center;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mn-ink-soft);}
.mn-order-line span[aria-hidden]{color:var(--mn-bronze);}
@media(max-width:600px){.mn-order-line{margin-bottom:40px;font-size:12px;letter-spacing:.1em;line-height:1.9;}.mn-order-line span[aria-hidden]{display:none;}.mn-order-line span:not([aria-hidden]){display:block;}}
.home .elementor-element-ctanl{border-top:1px solid rgba(240,237,229,.14);margin-bottom:0 !important;}
.home .elementor-element-ctanl .elementor-widget-form{width:100%;max-width:520px;}
.home .elementor-element-ctanl .elementor-widget-text-editor p{margin:0 0 6px;color:rgba(240,237,229,.82);}
.elementor-element-ctanl .mn-form-privacy{color:rgba(240,237,229,.72);}
.elementor-element-ctanl .mn-form-privacy a{color:rgba(240,237,229,.9);}

/* 2026-10-27 journal reading experience (mu-plugins/mn-journal.php): figures and captions ready for photography, the pull quote,
   the table of contents, anchor offsets, the author box */
.single-post .page-content h2,.single-post .page-content h3{scroll-margin-top:calc(var(--mn-header-h,81px) + 20px);}
.single-post .page-content figure{margin:36px 0;}
.single-post .page-content figure img,.single-post .page-content .wp-block-image img{display:block;width:100%;height:auto;border-radius:var(--mn-radius-sm);}
.single-post .page-content figcaption{margin:10px 0 0;font-family:'Jost',sans-serif;font-size:13px;line-height:1.5;color:var(--mn-grey);text-align:left;}
.single-post .page-content figure.alignwide,.single-post .page-content .wp-block-image.alignwide{max-width:min(92ch,100%);margin-left:auto;margin-right:auto;}
.single-post .page-content figure.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.single-post .page-content figure.alignfull img{border-radius:0;}
.single-post .page-content blockquote{margin:36px 0;padding:4px 0 4px 22px;border-left:2px solid var(--mn-bronze);font-family:'Marcellus',serif;font-size:20px;line-height:1.5;color:var(--mn-ink);}
.single-post .page-content blockquote p{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;}
.single-post .page-content blockquote cite{display:block;margin-top:10px;font:400 13px/1.5 'Jost',sans-serif;color:var(--mn-grey);font-style:normal;}
.mn-toc{margin:28px 0 36px;padding:18px 22px;background:var(--mn-sand);border-radius:var(--mn-radius-sm);font-family:'Jost',sans-serif;}
.mn-toc-h{margin:0 0 10px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mn-grey);}
.mn-toc ol{margin:0;padding:0 0 0 20px;font-size:15px;line-height:1.6;color:var(--mn-ink);}
.mn-toc li{margin:0 0 4px;padding-left:4px;}
.mn-toc li::marker{color:var(--mn-bronze);font-weight:500;}
.mn-toc a{color:var(--mn-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(16,16,16,.25);}
.mn-toc a:hover{color:var(--mn-green);text-decoration-color:currentColor;}
.mn-author{display:flex;gap:18px;align-items:flex-start;max-width:68ch;margin:40px auto 0;padding:22px 24px;border:1px solid var(--mn-line);border-radius:var(--mn-radius-sm);background:var(--mn-paper);font-family:'Jost',sans-serif;}
.mn-author-img,.mn-author-ini{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;}
.mn-author-ini{display:flex;align-items:center;justify-content:center;background:var(--mn-green);color:var(--mn-cream);font:400 20px 'Marcellus',serif;letter-spacing:.04em;}
.mn-author-t p{margin:0;}
.mn-author-t .mn-author-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mn-grey);margin-bottom:4px;}
.mn-author-n{font:400 18px/1.3 'Marcellus',serif;color:var(--mn-ink);}
.mn-author-t .mn-author-r{font-size:13px;color:var(--mn-grey);margin-top:2px;}
.mn-author-t .mn-author-b{font-size:15px;line-height:1.6;color:var(--mn-ink-soft);margin-top:8px;}
@media(max-width:600px){.mn-toc{padding:16px 18px;}.mn-author{padding:18px;gap:14px;}.mn-author-img,.mn-author-ini{width:48px;height:48px;font-size:17px;}}

/* 2026-10-27 motion batch A (docs/MOTION-AUDIT-2026-10-27.md) — MO-01: "What happens next" (order received) and the Track card
   draw once when they come into view (.is-live from mn-journey.php's observer): the connector grows, the dots arrive in
   sequence, each line's text rises with its dot. Static without JS; nothing moves under prefers-reduced-motion. */
.mn-next-list{position:relative;}
.mn-next-list li::before{background:var(--mn-bg);z-index:1;}
.mn-next-list li.is-done::before{background:var(--mn-green);}
.mn-next-list::before{content:"";position:absolute;left:4.5px;top:24px;bottom:21px;width:1px;background:var(--mn-line-strong);transform:scaleY(0);transform-origin:top;}
.mn-next.is-live .mn-next-list::before{animation:mnNextLine .6s var(--mn-ease) both;}
.mn-next.is-live .mn-next-list li::before{animation:mnNextDot .32s var(--mn-ease) both;}
.mn-next.is-live .mn-next-list li > span{animation:mnNextIn .4s var(--mn-ease) both;}
.mn-next.is-live .mn-next-list li:nth-child(2)::before,.mn-next.is-live .mn-next-list li:nth-child(2) > span{animation-delay:.2s;}
.mn-next.is-live .mn-next-list li:nth-child(3)::before,.mn-next.is-live .mn-next-list li:nth-child(3) > span{animation-delay:.4s;}
.mn-next.is-live .mn-next-list li:nth-child(4)::before,.mn-next.is-live .mn-next-list li:nth-child(4) > span{animation-delay:.6s;}
@keyframes mnNextLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes mnNextDot{from{transform:scale(.5);opacity:0}to{transform:none;opacity:1}}
@keyframes mnNextIn{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.mn-next-list::before{transform:none;}.mn-next.is-live .mn-next-list::before,.mn-next.is-live .mn-next-list li::before,.mn-next.is-live .mn-next-list li > span{animation:none;}}

/* 2026-10-27 motion batch B — MO-02: cross-document view transitions. Same-origin navigations crossfade the page (200 ms) and the
   drawn pack travels from its shop card into the product page (and back): mn-pack.php names the card's and the gallery's SVG
   `mn-pack-<slug>` and gives both the class mn-pack. Browsers without the feature keep the plain navigation they have today.
   The hero still runs once per session (mn-hero-seen); scroll reveals are unaffected. */
@view-transition{navigation:auto;}
::view-transition-old(root),::view-transition-new(root){animation-duration:200ms;animation-timing-function:var(--mn-ease);}
::view-transition-group(.mn-pack){animation-duration:420ms;animation-timing-function:var(--mn-ease);}
::view-transition-old(.mn-pack),::view-transition-new(.mn-pack){animation:none;mix-blend-mode:normal;height:100%;}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none;}}
/* MO-05: after a table-of-contents jump (or any inbound anchor) a bronze line draws under the heading and fades, so the eye finds
   the landing after a long scroll */
.single-post .page-content h2:target{position:relative;}
.single-post .page-content h2:target::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;max-width:120px;height:2px;background:var(--mn-bronze);transform-origin:left;animation:mnTocMark 1.6s var(--mn-ease) .25s both;}
@keyframes mnTocMark{0%{transform:scaleX(0);opacity:1}30%{transform:scaleX(1);opacity:1}75%{opacity:1}100%{transform:scaleX(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.single-post .page-content h2:target::after{animation:none;opacity:0;}}
