/*
Theme Name: Mr Meat Man
Theme URI: https://mrmeatman.co.nz/
Author: Vincad Creative
Description: Custom WordPress theme converted from the approved Mr Meat Man static website.
Version: 1.4.7
Text Domain: mr-meat-man
*/

/* ============================================================================
   Mr Meat Man — website_draft_v3 · shared stylesheet
   BRANDED DRAFT for client approval. NOT a launch build. A human publishes.
   Hand-coded HTML/CSS approval draft; production = WordPress cutover on Bruce's
   existing Crazy Domains install (see WP_BUILD_SPEC.md).

   v3 changes over v2:
   - IA / nav rebuilt to the 13 approved answers: Meet Mr Meat Man · Services and
     Forms · Our Community · Contact. Primary CTA everywhere = "Submit a Processing Form".
   - REAL client data folded in (Bruce Richards, address, 022 077 4360,
     bruce@mrmeatman.co.nz, MPI SP002009/SP, BOP no-fixed-boundary, payment on collection,
     48 years' experience, trading as "Mr Meat Man" since 2022 — kept SEPARATE from the 48 yrs).
   - Species reduced to the 4 REAL categories (NO goat): Beef · Lamb/Mutton · Pork · Venison.
   - Cut-sheet options are the REAL options from Bruce's 4 cutting-list spreadsheets.
   - REAL declaration wording. REAL lamb/mutton + venison pricing (excl GST).
   - The ONE approved photo (bruce storefront) anchors the homepage hero + Meet page;
     every OTHER image slot stays a labelled documentary placeholder. No customers pictured.

   Brand DNA:  mrmeatman_brand_profile_v1.yaml  · Design DNA: mrmeatman_design_profile_v1.yaml
   Voice: Sage-Everyman (grounded local expert; knowledge earned, not performed).

   Craft locks honoured:
   - ONE accent (#F83232 Meat Man Red), used sparingly. Never wallpapered.
   - WCAG-AA floor: red = LARGE-text / UI-accent / red-fill-button ONLY. Small red text on
     light FAILS, so inline links + small labels use --ink; red text is AA-safe on dark only.
   - Body line-height >= 1.4 everywhere (answer: 1.4 floor; body runs at 1.6).
   - NO tracking / analytics scripts of any kind (answer). Google Fonts is a stylesheet only;
     WP_BUILD_SPEC notes self-hosting fonts to remove even that third-party request.
   - Butcher-paper/kraft grain: faint (~5% white), DARK PANELS ONLY, never over photos/body text.
   - Flat / hard-edged devices: no gradients, no shadows, no bevels. 8px grid. Mobile-first.
   ============================================================================ */

:root{
  /* ── Brand palette — 5 tokens, tight ── */
  --red:#F83232;          /* Meat Man Red — the single accent */
  --logo-black:#292120;   /* Logo Black — logo backing / darkest surface */
  --ink:#151515;          /* Working Black — body text + dark UI surfaces */
  --white:#FFFFFF;
  --grey:#F4F4F4;         /* Soft Grey — secondary light surface */
  /* neutral scale derived from black (hierarchy only, not new brand colours) */
  --line:#E2E2E2;
  --muted:#5c5651;        /* secondary text — AA on white (7.3:1) + on soft-grey (6.6:1) */
  --on-dark:#d6d0ca;      /* body text on dark panels */
  --on-dark-2:#b7b0a9;    /* secondary text on dark */
  --on-dark-3:#9a938c;    /* tertiary text on dark (AA normal on logo-black) */
  --dark-line:#35302b;    /* hairlines on dark */
  --red-hover:#d92121;
  /* semantic (form only) */
  --err:#b3261e;--err-bg:#fdf2f1;--ok:#1f7a34;
  /* DRAFT-ONLY [BRUCE INPUT] placeholder signalling — amber draft marker, NOT a brand colour */
  --tbc:#8a5a00;--tbc-bg:#fff3d6;--tbc-line:#e6cf9a;
  /* REAL-data marker — a calm confirmed-fact tag (draft aid only, not a brand colour) */
  --real:#1f5130;--real-bg:#eaf3ec;--real-line:#bcdcc4;
  /* system */
  --unit:8px;--radius:10px;--radius-lg:14px;--tap:48px;--maxw:1120px;
  /* Butcher-paper / kraft grain — DARK PANELS ONLY, ~5% white grain */
  --paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23p)'/%3E%3C/svg%3E");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);background:var(--white);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}

/* ── Type ── Barlow Condensed headings / Inter body ── */
h1,h2,h3,.display{font-family:"Barlow Condensed",Inter,sans-serif;line-height:1.05;margin:0;letter-spacing:.005em}
h1{font-weight:800;font-size:clamp(38px,5.5vw,52px)}
h2{font-weight:800;font-size:clamp(30px,4vw,36px)}
h3{font-weight:700;font-size:20px}
p{margin:0 0 14px;line-height:1.6}
p:last-child{margin-bottom:0}
.lead{font-size:clamp(17px,2.2vw,19px);color:var(--muted);line-height:1.55}
.small{font-size:14px;line-height:1.5}
.muted{color:var(--muted)}

/* Inline links: red fails on light for small text, so links are ink + underline */
a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--red-hover)}

/* Visible focus for full keyboard navigation */
:focus-visible{outline:3px solid rgba(248,50,50,.55);outline-offset:2px;border-radius:4px}

/* ── Layout containers ── */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.wrap-narrow{max-width:760px}
.section{padding-block:clamp(48px,7vw,84px)}
.section-tight{padding-block:clamp(32px,5vw,56px)}
.bg-grey{background:var(--grey)}
.divider{height:1px;background:var(--line);border:0;margin:0}
.stack>*+*{margin-top:14px}

/* ── Draft ribbon ── */
.draft-flag{background:var(--logo-black);background-image:var(--paper);color:#c9c2bb;
  font-size:12px;letter-spacing:.03em;text-align:center;padding:7px 16px;font-weight:500;line-height:1.5}
.draft-flag b{color:var(--red)}
.draft-flag .wrap{padding-block:0}

/* ── Eyebrow label ──
   light surfaces: INK text + red rule accent (AA-safe). dark (.inv): red text (AA-safe on #151515). */
.eyebrow{font-family:Inter;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--red);flex:0 0 auto}
.eyebrow.inv{color:var(--red)}
.eyebrow.center{justify-content:center}

/* ── Header ── logo sits on the dark backing ── */
header.site{position:sticky;top:0;z-index:60;background-color:var(--ink);background-image:var(--paper);
  border-bottom:1px solid #000}
.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding-block:10px}
/* Wordmark: client-approved Mr Meat Man logo (transparent PNG, 1x/2x). Supplied 18 Aug 2026. */
.wordmark{font-family:"Barlow Condensed",sans-serif;font-weight:800;color:var(--white);text-decoration:none;
  line-height:.9;letter-spacing:.01em;display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}
.wordmark:hover{color:var(--white)}
.wordmark .sm{font-size:16px;letter-spacing:.06em}
.wordmark .big{font-size:26px;letter-spacing:.01em}
.wordmark .big .eat{color:var(--red)}
.wordmark img{display:block;height:34px;width:auto}
footer.site .wordmark img{height:42px}
@media (max-width:400px){.wordmark img{height:28px}}
.hdr-right{display:flex;gap:10px;align-items:center}
/* desktop inline nav */
.nav-links{display:none;gap:4px;align-items:center}
.nav-links a{color:var(--white);text-decoration:none;font-family:Inter;font-weight:500;font-size:15px;
  padding:8px 12px;border-radius:8px;line-height:1.2;min-height:40px;display:inline-flex;align-items:center}
.nav-links a:hover{background:#2a2521;color:var(--white)}
.nav-links a[aria-current="page"]{color:var(--white);box-shadow:inset 0 -2px 0 var(--red)}
/* hamburger */
.nav-toggle{min-height:44px;min-width:44px;border:1.5px solid var(--dark-line);background:transparent;color:var(--white);
  border-radius:var(--radius);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nav-toggle:hover{border-color:#4a443e}
nav.mobile{display:none;padding:4px 0 10px}
nav.mobile.open{display:block}
nav.mobile a{display:block;min-height:var(--tap);line-height:var(--tap);padding:0 10px;text-decoration:none;
  color:var(--white);font-weight:500;font-size:16px;border-bottom:1px solid #2a2521}
nav.mobile a[aria-current="page"]{color:var(--red)}
.hdr-sub{font-family:Inter;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2)}

/* ── Buttons ── red-fill + white text. Large enough to pass AA on red. ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);
  padding:0 22px;border-radius:var(--radius);font-family:Inter;font-weight:600;font-size:15px;line-height:1.2;
  text-align:center;text-decoration:none;border:0;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn-primary{background:var(--red);color:var(--white)}
.btn-light{background:var(--white);color:var(--ink)}
.btn-light:hover{background:#ececec;color:var(--ink)}
.btn-primary:hover{background:var(--red-hover);color:var(--white)}
/* Secondary solid — black fill, sits BELOW the red primary in the hierarchy */
.btn-dark{background:var(--ink);color:var(--white)}
.btn-dark:hover{background:#2a2521;color:var(--white)}
.btn-book{padding:0 16px;min-height:44px;font-size:14.5px}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-ghost-light{background:transparent;color:var(--white);border:1.5px solid #4a443e}
.btn-ghost-light:hover{border-color:var(--white);color:var(--white)}
.btn-block{display:flex;width:100%}
.btn-row{display:flex;flex-direction:column;gap:10px}
.btn-group{display:flex;flex-wrap:wrap;gap:12px}

/* ── Hero ── dark panel; white heading; red tagline ── */
.hero{background-color:var(--ink);background-image:var(--paper);color:var(--white)}
.hero .hero-grid{display:grid;gap:26px;align-items:center;padding-block:clamp(36px,6vw,72px)}
.hero h1{color:var(--white);margin-bottom:12px}
.hero .tagline{font-family:"Barlow Condensed";font-weight:700;font-size:clamp(20px,2.6vw,24px);color:var(--red);
  letter-spacing:.02em;margin:0 0 16px}
.hero .support{color:var(--on-dark);font-size:clamp(16px,2vw,18px);margin:0 0 8px;max-width:52ch;line-height:1.55}

/* ── Real photo frames (the ONE approved photo) ── */
.photo{border-radius:var(--radius);overflow:hidden;border:1px solid var(--dark-line);background:#211c18;position:relative}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo .real-tag{position:absolute;left:10px;bottom:10px;background:rgba(21,21,21,.82);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.03em;padding:4px 9px;border-radius:6px;line-height:1.4}
.hero .photo{min-height:230px}
.photo-portrait{aspect-ratio:3/4}

/* ── Image placeholders ── labelled documentary-photo blocks (every non-approved slot) ── */
.ph{border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:18px;gap:8px}
.ph-dark{background:#211c18;border:1px solid var(--dark-line);min-height:230px}
.ph-dark .cap{font-size:12.5px;color:var(--on-dark-2);line-height:1.5;max-width:320px}
.ph-light{background:var(--grey);border:1px dashed #cfcac4;color:var(--muted);min-height:200px}
.ph-light .cap{font-size:12.5px;line-height:1.5;max-width:300px}
.ph .ic{font-size:26px;opacity:.65}
.img-tag{display:inline-block;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.05em;
  padding:3px 8px;text-transform:uppercase}
.ph-dark .img-tag{background:rgba(248,50,50,.14);color:#ff9b9b;border:1px solid rgba(248,50,50,.4)}
.ph-light .img-tag{background:#efe8dc;color:#8a5a00;border:1px solid #e6cf9a}

/* ── Trust strip ── soft-grey stat cards ── */
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.bg-grey .stat{background:var(--white)}
.stat .n{font-family:"Barlow Condensed";font-weight:800;font-size:clamp(28px,4vw,34px);color:var(--ink);line-height:1}
.stat .n.sm{font-size:22px}
.stat .n .u{font-size:15px;color:var(--ink);font-weight:700}
.stat .l{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.4}

/* ── Section heading block ── */
.sec-head{max-width:60ch;margin-bottom:26px}
.sec-head.center{margin-inline:auto;text-align:center}

/* ── Split (2-col text + media) ── */
.split{display:grid;gap:clamp(24px,4vw,40px);align-items:start}
.split.vc{align-items:center}

/* ── Cards grids ── */
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}

/* species / service cards */
.species-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.species{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);display:flex;flex-direction:column}
.species .thumb{aspect-ratio:16/10;background:var(--grey);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:10px;color:var(--muted)}
.species .thumb .ic{font-size:24px;opacity:.6}
.species .thumb .cap{font-size:10.5px;line-height:1.3}
.species .body{padding:14px}
.species strong{font-family:"Barlow Condensed";font-weight:700;font-size:19px;display:block}
.species .sub{font-size:13px;color:var(--muted);margin-top:2px}
.species .body .link{font-size:13px;font-weight:600;display:inline-block;margin-top:8px}

/* feature card (soft-grey rounded) */
.fcard{background:var(--grey);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.bg-grey .fcard{background:var(--white)}
.fcard h3{margin-bottom:6px}
.fcard p{color:var(--muted);font-size:15.5px}

/* ── Steps ── red numeric index device ── */
.steps{display:grid;gap:0}
.step-row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.step-row:last-child{border-bottom:0}
.step-row .num{font-family:"Barlow Condensed";font-weight:800;font-size:34px;color:var(--red);line-height:.9;flex:0 0 auto;min-width:40px}
.step-row h3{margin-bottom:3px}
.step-row p{margin:0;color:var(--muted);font-size:16px}

/* ── Working-black feature panel ── */
.panel-dark{background-color:var(--ink);background-image:var(--paper);color:var(--white);border-radius:var(--radius-lg);
  padding:clamp(24px,4vw,40px);text-align:center}
.panel-dark h2{color:var(--white)}
.panel-dark p{color:var(--on-dark)}
.panel-dark .btn-row{max-width:360px;margin-inline:auto}

/* ── Service area map placeholder ── */
.map{border-radius:var(--radius);background:var(--grey);border:1px dashed #cfcac4;min-height:220px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;gap:8px;color:var(--muted)}
.map .ic{font-size:28px;opacity:.55}

/* ── Pricing ── */
.price-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--white)}
.price-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.price-row:last-of-type{border-bottom:0}
.price-row .lbl{font-weight:500}

/* real price table (lamb + venison) */
.ptable{width:100%;border-collapse:collapse;font-size:15px}
.ptable caption{text-align:left;font-size:13px;color:var(--muted);margin-bottom:10px;line-height:1.5}
.ptable th,.ptable td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable thead th{font-family:Inter;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ptable td.price{text-align:right;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.ptable tr:last-child td{border-bottom:0}
.ptable .desc{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px;line-height:1.45}
.price-foot{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}
/* Price table → stacked price cards on narrow mobile (no horizontal scroll).
   Opt-in via .price-cards so other .ptable uses are unaffected. Proper <thead>
   headers stay for a11y on wider screens; on mobile the price is labelled inline. */
@media (max-width:560px){
  .ptable.price-cards,.ptable.price-cards tbody,.ptable.price-cards tr,.ptable.price-cards td{display:block;width:100%}
  .ptable.price-cards thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .ptable.price-cards tr{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;background:var(--white)}
  .ptable.price-cards td{border:0;padding:0}
  .ptable.price-cards td.price{text-align:left;margin-top:8px;font-size:16px}
  .ptable.price-cards td.price::before{content:attr(data-th) ": ";color:var(--muted);font-weight:600;font-variant-numeric:normal}
}

/* ── FAQ / accordion ── */
.faq details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--white);overflow:hidden}
.bg-grey .faq details{background:var(--white)}
.faq summary{list-style:none;cursor:pointer;min-height:var(--tap);display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:15px;font-weight:600;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:"Barlow Condensed";font-size:26px;color:var(--red);line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .a{padding:0 15px 16px;color:var(--muted);line-height:1.55}

/* ── Notices / TBC + REAL markers ── */
.notice{background:var(--tbc-bg);border:1px solid var(--tbc-line);color:#5c4a1f;border-radius:var(--radius);
  padding:13px 15px;font-size:14.5px;display:flex;gap:10px;text-align:left;line-height:1.5}
.notice .i{color:var(--red);font-weight:700;flex:0 0 auto}
.notice.on-dark{background:rgba(248,50,50,.1);border-color:rgba(248,50,50,.35);color:#f3ddc0}
.notice.ok{background:var(--real-bg);border-color:var(--real-line);color:#274a33}
.notice.ok .i{color:var(--real)}
.tbc{display:inline-block;background:var(--tbc-bg);color:var(--tbc);border:1px solid var(--tbc-line);border-radius:6px;
  font-size:12px;font-weight:600;padding:1px 7px;line-height:1.5}
.tag-real{display:inline-block;background:var(--real-bg);color:var(--real);border:1px solid var(--real-line);border-radius:6px;
  font-size:11px;font-weight:700;padding:1px 7px;line-height:1.5;letter-spacing:.02em}

/* ── Community chips (red bullet-dot accent) ── */
.comm-card{background:var(--grey);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.bg-grey .comm-card{background:var(--white)}
.chip-row{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:14px;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex:0 0 auto}

/* ── Contact rows ── */
.contact-list{display:grid;gap:0}
.contact-row{display:flex;gap:14px;align-items:flex-start;min-height:var(--tap);border-bottom:1px solid var(--line);padding:12px 0}
.contact-row:last-child{border-bottom:0}
.contact-row .lbl{width:88px;flex:0 0 88px;color:var(--muted);font-size:14px;font-weight:600;padding-top:2px}
.contact-row a{font-weight:600}

/* ── Checklist ── */
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5}
.checklist li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);flex:0 0 auto;margin-top:9px}

/* ── Footer ── */
footer.site{background-color:var(--logo-black);background-image:var(--paper);color:var(--on-dark-2);
  padding-block:clamp(36px,5vw,52px);font-size:14px}
footer.site .wordmark{margin-bottom:14px}
.footer-grid{display:grid;gap:28px}
footer.site h4{font-family:Inter;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c9c2bb;margin:0 0 12px}
footer.site .flinks{display:flex;flex-direction:column;gap:10px}
footer.site a{color:#c9c2bb;text-decoration:none}
footer.site a:hover{color:var(--white)}
footer.site .fnote{color:var(--on-dark-3);line-height:1.55}
footer.site .flinks span{line-height:1.5}
.foot-legal{border-top:1px solid var(--dark-line);margin-top:28px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:var(--on-dark-3);font-size:12.5px;line-height:1.5}
.draft-note{background:#211b18;border:1px solid var(--dark-line);border-radius:var(--radius);padding:14px 16px;
  font-size:12.5px;color:var(--on-dark-3);margin-top:22px;line-height:1.6}
.draft-note b{color:#c9c2bb}
.draft-note .red-dot{color:var(--red);font-weight:700}

/* ── Page intro band ── */
.page-hero{background-color:var(--ink);background-image:var(--paper);color:var(--white)}
.page-hero .wrap{padding-block:clamp(32px,5vw,56px)}
.page-hero h1{color:var(--white);margin-bottom:10px}
.page-hero p{color:var(--on-dark);max-width:60ch;line-height:1.55}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — mobile-first; enhance up. Checked ~360 / 768 / 1280.
   ══════════════════════════════════════════════════════════════ */
@media (min-width:560px){
  .stat-grid{grid-template-columns:repeat(4,1fr)}
  .btn-row{flex-direction:row}
  .btn-row .btn{flex:1}
  .grid-2{grid-template-columns:1fr 1fr}
}
@media (min-width:768px){
  .species-grid{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr;column-gap:32px}
  .steps .step-row{border-bottom:1px solid var(--line)}
  .footer-grid{grid-template-columns:2fr 1fr 1fr}
}
@media (min-width:880px){
  .split{grid-template-columns:1fr 1fr}
  .hero .hero-grid{grid-template-columns:1.05fr .95fr;gap:40px}
  .hero .photo{min-height:340px}
}
@media (min-width:1024px){
  .nav-links{display:flex}
  .nav-toggle{display:none}
  nav.mobile{display:none!important}
  .species-grid.cols-4{grid-template-columns:repeat(4,1fr)}
}

/* 5-up "What we process" grid (index only) — auto-fit keeps 5 tiles even, wraps cleanly, no orphan */
.species-grid.cols-5{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}

/* Respect reduced-motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* ══════════════════════════════════════════════════════════════
   MOCKUP IMAGES — client-supplied AI DIRECTION PLACEHOLDERS.
   These are NOT real photos. Every mock image carries the amber
   .mock-tag so it reads clearly as a draft placeholder — deliberately
   DIFFERENT from the calm green .real-tag on the one approved photo.
   To be replaced by a genuine shoot before launch. Flat / hard-edged:
   no gradients, no shadows, no overlays. 8px grid. Mobile-first.
   ══════════════════════════════════════════════════════════════ */

/* Amber "MOCKUP" caption tag — same draft amber family as the [BRUCE INPUT] .tbc marker */
.mock-tag{position:absolute;left:10px;bottom:10px;background:var(--tbc-bg);color:var(--tbc);
  border:1px solid var(--tbc-line);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 9px;border-radius:6px;line-height:1.4;max-width:calc(100% - 20px)}

/* Landscape 3:2 frame (homepage "One person, start to finish.") — reuses .photo img rules */
.photo-landscape{aspect-ratio:3/2}

/* Species thumbs carrying a real image: let the picture fill the 16:10 thumb */
.species .thumb{position:relative}
.species .thumb.has-img{padding:0}
.species .thumb img{width:100%;height:100%;object-fit:cover}

/* Full-width establishing image (services · 16:9) */
.establish{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:var(--grey);aspect-ratio:16/9}
.establish img{width:100%;height:100%;object-fit:cover}

/* Three-column process image strip (services) — equal widths + equal heights desktop, single column mobile */
.img-strip{display:grid;grid-template-columns:1fr;gap:14px}
.img-strip figure{margin:0;display:flex;flex-direction:column;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.img-strip .frame{position:relative;aspect-ratio:16/10;background:var(--grey)}
.img-strip .frame img{width:100%;height:100%;object-fit:cover}
.img-strip figcaption{padding:12px 14px;font-size:14px;font-weight:500;color:var(--ink);line-height:1.45}
@media (min-width:768px){
  .img-strip{grid-template-columns:repeat(3,1fr)}
}

/* Cut location guide (cut-sheet pages) */
.cut-guide-section{padding-block:clamp(32px,5vw,56px);background:var(--white)}
.cut-guide-head{max-width:760px;margin-bottom:18px}
.cut-guide-frame{margin:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg)}
.cut-guide-frame a{display:block;background:var(--white)}
.cut-guide-frame img{display:block;width:100%;height:auto}
.cut-guide-frame figcaption{padding:10px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5}
.cut-guide-frame a:focus-visible{outline:3px solid rgba(248,50,50,0.55);outline-offset:-3px}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE V2 REVISION (index.html only)
   Same brand system — no new colours, no gradients/shadows. 8px grid.
   Adds: hero emphasis · whole-card clickable species tiles ·
   branded INDICATIVE service-area locator · wider closing CTA.
   ══════════════════════════════════════════════════════════════ */

/* Hero: slightly stronger headline + primary CTA */
.hero h1{font-size:clamp(40px,6vw,58px)}
.btn-lg{min-height:54px;padding:0 30px;font-size:16.5px}

/* Trust strip: multi-word big labels wrap cleanly */
.stat .n.sm{font-size:20px;line-height:1.06}

/* Species tiles — whole card clickable via a stretched real link
   (keeps ONE focusable anchor + a visible text link; subtle hover) */
.species{position:relative;transition:border-color .15s}
.species:hover{border-color:#c9c2bb}
.species:focus-within{border-color:var(--ink)}
.species strong{font-size:21px}
.species .link.stretched::after{content:"";position:absolute;inset:0}
.species .thumb img{transition:transform .2s}
.species:hover .thumb img{transform:scale(1.015)}

/* ── Service area — clean, flat, BRANDED INDICATIVE locator ──
   White/soft-grey, black linework, red used ONLY for the Oropi marker.
   Stylised locator (indicative reach rings) — NOT a precise map / boundary. */
.area-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}
.area-panel svg{display:block;width:100%;height:auto;background:#fbfbfb}
.area-panel .svg-label{font-family:Inter,sans-serif}
.area-panel .area-foot{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;
  padding:12px 16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.5}
.area-panel .area-foot b{color:var(--ink);font-weight:600}

/* Landscape image (One person section): keep Bruce's face/hands in frame */
.photo-landscape img{object-position:center 42%}

/* Pricing prompt — compact links row */
.price-prompt .links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:14px}
.price-prompt .links a{font-weight:600}

/* Final CTA — wider closing panel, one red primary + quiet secondary */
.cta-wide .btn-row{max-width:460px;margin-inline:auto}
.cta-wide .cta-note{margin-top:16px;font-size:13px;color:var(--on-dark-3);line-height:1.5}
@media (min-width:560px){
  .cta-wide .btn-row .btn{flex:0 1 auto}
}

/* Final CTA with product image — image left, content right on desktop; stacks on mobile */
.cta-media{display:grid;gap:clamp(20px,4vw,36px);align-items:center}
.cta-media .cta-img{border-radius:var(--radius);overflow:hidden;background:var(--logo-black);align-self:stretch}
.cta-media .cta-img img{width:100%;height:200px;object-fit:cover;object-position:center}
@media (min-width:760px){
  .cta-media{grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);text-align:left}
  .cta-media .cta-img img{height:100%;min-height:300px}
  .cta-media .cta-body .eyebrow.center{text-align:left}
  .cta-media .btn-row{margin-inline:0}
}

/* ══════════════════════════════════════════════════════════════
   SERVICES PAGE REBUILD (services.html only)
   Same brand system — no new colours, no gradients/shadows. 8px grid.
   Adds: breadcrumb · light hero (text left / image right) · species
   cards with red animal line icons · How-it-works step cards · Forms &
   pricing trust strip · full-width paper-texture CTA band.
   Line icons = single-weight currentColor stroke, red or ink (per the
   approved visual). Eyebrows stay INK on light (small red text fails AA).
   ══════════════════════════════════════════════════════════════ */

/* Shared inline-icon sizing */
.ico{width:100%;height:100%;display:block}

/* Breadcrumb */
.breadcrumb{font-size:13px;color:var(--muted);padding-top:clamp(8px,2vw,14px);margin-bottom:clamp(20px,4vw,32px)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--ink);text-decoration:underline}
.breadcrumb .sep{margin:0 8px;color:#b9b3ac}
.breadcrumb .current{color:var(--ink);font-weight:600}

/* Services hero — light band, text left / image right, stacks on mobile */
.svc-hero{padding-block:clamp(20px,3vw,32px) clamp(40px,6vw,72px)}
.svc-hero .svc-hero-grid{display:grid;gap:clamp(24px,4vw,44px);align-items:center}
.svc-hero .svc-hero-copy h1{margin-bottom:16px}
.svc-hero .svc-hero-copy .support{font-size:clamp(16px,2vw,18px);color:var(--muted);max-width:52ch;line-height:1.6;margin:0 0 24px}
.svc-hero .btn-group{align-items:center}
.svc-hero-next-step{margin-top:clamp(24px,3vw,34px);padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--radius);background:var(--white)}
.svc-hero-next-step p{margin:0;color:var(--ink);font-size:15.5px;line-height:1.55}
.svc-hero .svc-hero-media{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);
  background:var(--grey);aspect-ratio:4/3}
.svc-hero .svc-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
@media (min-width:880px){
  .svc-hero .svc-hero-grid{grid-template-columns:1fr 1fr}
  .svc-hero .svc-hero-media{aspect-ratio:5/4}
}

/* Underlined text link used as a secondary action (red underline) */
.btn-text{display:inline-flex;align-items:center;gap:7px;min-height:var(--tap);font-family:Inter;font-weight:600;
  font-size:15px;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--red);
  text-decoration-thickness:2px}
.btn-text:hover{color:var(--red-hover);text-decoration-color:var(--red-hover)}

/* Icon inside a .btn */
.btn .ico{width:18px;height:18px}

/* Species card — red animal icon beside the name */
.species-name{display:flex;align-items:center;gap:9px}
.species-icon{width:26px;height:26px;color:var(--red);flex:0 0 auto}

/* How it works — 4 step cards, red numbered circle + line icon */
.how-grid{display:grid;gap:24px;grid-template-columns:1fr}
.how-step .step-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.step-num{width:44px;height:44px;border-radius:50%;background:var(--red);color:var(--white);
  font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:19px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.step-icon{width:26px;height:26px;color:var(--ink);opacity:.7;flex:0 0 auto}
.how-step h3{margin-bottom:6px}
.how-step p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
@media (min-width:560px){.how-grid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){
  .how-grid{grid-template-columns:repeat(4,1fr);gap:0}
  .how-step{padding-left:28px;border-left:1px solid var(--line)}
  .how-step:first-child{padding-left:0;border-left:0}
}

/* Forms & pricing — trust strip (red line icon + heading + text) */
.trust-strip{display:grid;gap:24px;grid-template-columns:1fr;margin-top:clamp(32px,5vw,48px);
  padding-top:clamp(28px,4vw,36px);border-top:1px solid var(--line)}
.trust-icon{width:30px;height:30px;color:var(--red);margin-bottom:12px}
.trust-item h3{font-size:17px;margin-bottom:5px}
.trust-item p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
@media (min-width:560px){.trust-strip{grid-template-columns:1fr 1fr}}
@media (min-width:960px){
  .trust-strip{grid-template-columns:repeat(4,1fr);gap:0}
  .trust-item{padding-left:28px;border-left:1px solid var(--line)}
  .trust-item:first-child{padding-left:0;border-left:0}
}

/* Full-width dark CTA band — reuses the butcher-paper grain (dark panels only) */
.cta-band{background-color:var(--ink);background-image:var(--paper);color:var(--white);
  padding-block:clamp(48px,7vw,84px);text-align:center}
.cta-band h2{color:var(--white);margin-bottom:12px}
.cta-band p{color:var(--on-dark);max-width:58ch;margin-inline:auto;line-height:1.55}
.cta-band .btn-group{justify-content:center;margin-top:24px}

/* ══════════════════════════════════════════════════════════════
   OUR COMMUNITY PAGE (community.html only) — approved visual layout
   Same brand system — black/white/Meat Man Red · Barlow Condensed /
   Inter · flat, hard-edged (no gradients/shadows) · 8px grid · mobile-
   first · WCAG-AA. The Hunt for Good wordmark is a TEXT treatment kept
   visually SEPARATE from the Mr Meat Man mark (own serif, own column).
   Line icons = single-weight currentColor stroke (red or ink).
   ══════════════════════════════════════════════════════════════ */

/* Community media frame (hero + image/text rows) */
.comm-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:var(--grey);aspect-ratio:4/3}
.comm-media img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Hero — breadcrumb · text left / image right · stacks on mobile */
.comm-hero{padding-block:clamp(18px,3vw,28px) clamp(40px,6vw,64px)}
.comm-hero .comm-hero-grid{display:grid;gap:clamp(24px,4vw,44px);align-items:center}
.comm-hero h1{margin:0}
.comm-hero h1 .hl{color:var(--red)}
.comm-hero .hero-rule{width:64px;height:4px;background:var(--red);border-radius:2px;margin:20px 0 22px}
.comm-hero .hero-copy p{color:var(--muted);max-width:48ch}
.comm-hero .hero-copy p+p{margin-top:14px}
@media (min-width:880px){
  .comm-hero .comm-hero-grid{grid-template-columns:1fr 1fr}
  .comm-hero .comm-media{aspect-ratio:5/4}
}

/* Bar heading — h2, uppercase Barlow with a short vertical red rule at left */
.bar-head{position:relative;padding-left:16px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.01em}
.bar-head::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--red);border-radius:2px}

/* Image + text row (reuses .split) */
.media-row .rowcopy p{color:var(--muted)}
.media-row .rowcopy p strong{color:var(--ink)}

/* Hunt for Good pillar band — separate serif wordmark + 3 line-icon items */
.hfg-band{display:grid;gap:28px;grid-template-columns:1fr;align-items:start}
.hfg-wordmark{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:.96;
  font-size:clamp(40px,7vw,54px);color:var(--ink);letter-spacing:-.01em}
.hfg-wordmark em{font-style:normal;color:var(--red)}
.hfg-item .hfg-icon{width:30px;height:30px;color:var(--red);margin-bottom:12px}
.hfg-item h3{font-size:15px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.hfg-item p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
@media (min-width:560px){.hfg-band{grid-template-columns:1fr 1fr}}
@media (min-width:960px){
  .hfg-band{grid-template-columns:1.15fr 1fr 1fr 1fr;gap:0}
  .hfg-band>*{padding-left:28px;border-left:1px solid var(--line)}
  .hfg-band>*:first-child{padding-left:0;border-left:0}
}

/* How the support works — 3 steps, big red numeral + line icon */
.hsw-grid{display:grid;gap:28px;grid-template-columns:1fr}
.hsw-step .hsw-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.hsw-num{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:46px;line-height:.85;color:var(--red);flex:0 0 auto}
.hsw-icon{width:34px;height:34px;color:var(--ink);opacity:.85;flex:0 0 auto}
.hsw-step h3{margin-bottom:6px}
.hsw-step p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
@media (min-width:768px){.hsw-grid{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,36px)}}

/* ══════════════════════════════════════════════════════════════
   CONTACT PAGE REBUILD (contact.html only) — approved visual layout
   Same brand system — black/white/Meat Man Red · Barlow Condensed /
   Inter · flat, hard-edged (no gradients/shadows) · 8px grid · mobile-
   first · WCAG-AA. Line icons = single-weight currentColor stroke
   (Meat Man Red on light card surfaces, or ink). Hero reuses .hero
   (dark panel + butcher-paper grain) with a 4:3 image frame at right.
   ══════════════════════════════════════════════════════════════ */

/* Utility — red word inside a heading (AA-safe: large text; red is AA on dark) */
.rd{color:var(--red)}

/* Contact hero image frame (sits on the dark .hero panel, right column) */
.hero .hero-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--dark-line);
  background:#211c18;aspect-ratio:4/3}
.hero .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Info cards (How to reach Bruce · Service area) */
.info-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(20px,3vw,28px)}
.bg-grey .info-card{background:var(--white)}
.card-title{text-transform:uppercase;margin:0}
.card-rule{width:48px;height:3px;background:var(--red);border-radius:2px;margin:10px 0 16px}

/* Reach list — small red line icon + uppercase label + value */
.reach-list{display:grid;gap:0}
.reach-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.reach-row:last-child{border-bottom:0}
.reach-ic{width:24px;height:24px;color:var(--red);flex:0 0 auto;margin-top:2px}
.reach-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.reach-lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.reach-body a,.reach-body .val{font-size:16px;font-weight:600;color:var(--ink);line-height:1.35}
.reach-body a{word-break:break-word}

/* Service area — supplied map graphic (full-width, rounded, no crop) + red-check items */
.area-map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:var(--grey);margin-bottom:18px}
.area-map img{width:100%;height:auto;display:block}
.area-checks{display:grid;grid-template-columns:1fr;gap:12px}
.area-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:500;color:var(--ink);line-height:1.4}
.area-check .ac-ic{width:20px;height:20px;color:var(--red);flex:0 0 auto;margin-top:1px}
@media (min-width:520px){.area-checks{grid-template-columns:1fr 1fr}}

/* Trust strip — white bordered card · red line icon + heading + sub · dividers desktop */
.ct-trust{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  display:grid;grid-template-columns:repeat(2,1fr)}
.ct-item{display:flex;align-items:center;gap:14px;padding:18px 20px;
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ct-item:nth-child(1),.ct-item:nth-child(2){border-top:0}
.ct-item:nth-child(odd){border-left:0}
.ct-ic{width:30px;height:30px;color:var(--red);flex:0 0 auto}
.ct-item h3{font-size:18px;margin:0;line-height:1.05}
.ct-item p{font-size:13.5px;color:var(--muted);margin:2px 0 0;line-height:1.4}
@media (min-width:768px){
  .ct-trust{grid-template-columns:repeat(4,1fr)}
  .ct-item,.ct-item:nth-child(odd){border-top:0;border-left:1px solid var(--line)}
  .ct-item:first-child{border-left:0}
}

/* After you get in touch — 3 steps · BLACK numeral circle + red line icon */
.after-grid{display:grid;gap:28px;grid-template-columns:1fr}
.after-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.after-num{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--white);
  font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:19px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.after-icon{width:28px;height:28px;color:var(--red);flex:0 0 auto}
.after-step h3{margin-bottom:6px}
.after-step p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
@media (min-width:768px){.after-grid{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,36px)}}

/* Dark CTA — email text-link + info note (both on the dark band) */
.cta-band .btn-text{color:var(--white);text-decoration-color:var(--red)}
.cta-band .btn-text:hover{color:#fff;text-decoration-color:var(--red-hover)}
.cta-note-row{display:flex;gap:10px;align-items:flex-start;justify-content:center;max-width:60ch;
  margin:20px auto 0;color:var(--on-dark-3);font-size:13px;line-height:1.5;text-align:left}
.cta-note-row .ico{width:18px;height:18px;flex:0 0 auto;color:var(--on-dark-3);margin-top:1px}

/* Footer — optional 4th "Follow us" column + social icon button */
.footer-grid.cols-4{grid-template-columns:1fr}
.social-links{display:flex;gap:10px}
.social-links a{width:44px;height:44px;border:1px solid var(--dark-line);border-radius:var(--radius);
  display:inline-flex;align-items:center;justify-content:center;color:#c9c2bb;text-decoration:none}
.social-links a:hover{border-color:#4a443e;color:var(--white)}
.social-links .ico{width:20px;height:20px}
@media (min-width:768px){
  .footer-grid.cols-4{grid-template-columns:2fr 1fr 1.1fr .9fr}
}

/* ══════════════════════════════════════════════════════════════
   BOOKING / PROCESSING FORM PAGE (booking.html only)
   Approved 5-step wizard layout. Same brand system — Meat Man Red as
   the single accent, Barlow Condensed / Inter, flat & hard-edged (no
   gradients/shadows beyond a hairline focus ring), butcher-paper grain
   on DARK panels only, 8px grid, mobile-first, WCAG-AA. NO photos on
   this page: wordmark + inline SVG + texture + red only. All form
   primitives are scoped under .form-card so no other page is affected.
   ══════════════════════════════════════════════════════════════ */

/* Screen-reader-only live region + skipped content */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Header CTA — quiet OUTLINED secondary (deliberately NOT the red booking CTA) */
.hdr-cta{padding:0 16px;min-height:44px;font-size:14px;letter-spacing:.02em}
.hdr-cta[aria-current="page"]{border-color:#4a443e;box-shadow:inset 0 -2px 0 var(--red)}

/* ── 1 · Dark intro band (paper grain + subtle dotted technical pattern, NO photo) ── */
.booking-intro{background-color:var(--ink);
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px),var(--paper);
  background-size:22px 22px,auto;color:var(--white)}
.booking-intro-grid{display:grid;gap:clamp(24px,4vw,44px);align-items:center;padding-block:clamp(40px,6vw,72px)}
.booking-intro-copy h1{color:var(--white);margin:0 0 14px;font-size:clamp(40px,6vw,58px);text-transform:uppercase}
.booking-intro-lead{color:var(--on-dark);font-size:clamp(16px,2vw,18px);max-width:52ch;line-height:1.55;margin:0}
.booking-killing-day-notice{max-width:52ch;margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--red);background:rgba(255,255,255,.07);color:var(--white);font-size:15px;font-weight:700;line-height:1.45}
.booking-note-card{background:#221d19;border:1px solid var(--dark-line);border-left:3px solid var(--red);
  border-radius:var(--radius);padding:clamp(20px,3vw,28px)}
.booking-note-h{color:var(--white);text-transform:uppercase;font-size:22px;line-height:1;margin:0 0 10px}
.booking-note-card p{color:var(--on-dark);margin:0;line-height:1.55}
.booking-note-card .pricing-cutting-cta-copy{margin-bottom:20px}
.booking-note-card .pricing-cutting-back{margin-top:18px}
.booking-note-card .pricing-cutting-back a{color:var(--white);text-decoration-color:rgba(255,255,255,.55)}
.booking-note-card .pricing-cutting-back a:hover,.booking-note-card .pricing-cutting-back a:focus-visible{color:var(--white);text-decoration-color:var(--white)}
@media (min-width:880px){.booking-intro-grid{grid-template-columns:1.25fr .75fr}}

/* ── 2 · Five-step nav band (white, full-width) ── */
.stepnav{background:var(--white);border-bottom:1px solid var(--line)}
.stepnav-row{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.stepnav-item{flex:1 0 auto;min-width:170px;display:flex;align-items:center;gap:12px;background:transparent;
  border:0;border-bottom:3px solid transparent;padding:16px 16px;text-align:left;cursor:pointer;
  font-family:inherit;color:inherit;position:relative}
.stepnav-item+.stepnav-item{box-shadow:inset 1px 0 0 var(--line)}
.stepnav-item[disabled]{cursor:default}
.stepnav-num{width:34px;height:34px;border-radius:50%;background:var(--grey);border:1px solid var(--line);
  color:var(--muted);font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:18px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.stepnav-txt strong{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:19px;
  line-height:1;color:var(--muted);text-transform:uppercase;letter-spacing:.01em}
.stepnav-txt span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.3}
.stepnav-item.is-done .stepnav-num{background:var(--ink);border-color:var(--ink);color:var(--white)}
.stepnav-item.is-done .stepnav-txt strong{color:var(--ink)}
.stepnav-item.is-active{border-bottom-color:var(--red)}
.stepnav-item.is-active .stepnav-num{background:var(--red);border-color:var(--red);color:var(--white)}
.stepnav-item.is-active .stepnav-txt strong{color:var(--ink)}
.stepnav-item:not([disabled]):hover .stepnav-txt strong{color:var(--ink)}

/* ── 4 · Main area — form card (~72%) + support sidebar (~28%) ── */
.booking-layout{display:grid;gap:22px;align-items:start;grid-template-columns:1fr}
@media (min-width:960px){.booking-layout{grid-template-columns:minmax(0,72fr) minmax(0,28fr)}}

.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(20px,3.2vw,34px)}
.wz{display:none}
.wz.active{display:block}
.wz:focus{outline:none}

.step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.step-head h2{font-size:clamp(28px,3.4vw,34px);text-transform:uppercase;line-height:1}
.step-head h2:focus{outline:none}
.step-count{font-family:Inter,sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;padding-top:6px;flex:0 0 auto}
.step-progress{height:6px;background:var(--grey);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-bottom:22px}
.step-progress>span{display:block;height:100%;background:var(--red)}
.step-intro{color:var(--muted);margin:0 0 22px;line-height:1.55}

/* form primitives — scoped to the card so no other page inherits them */
.form-card fieldset{border:0;padding:0;margin:0;min-width:0}
.form-card legend{padding:0;display:block;font-weight:600;font-size:14px;margin-bottom:7px;color:var(--ink)}
.field{margin-bottom:18px}
.field>label,.field-label{display:block;font-weight:600;font-size:14px;margin-bottom:7px;color:var(--ink)}
.req{color:var(--red)}
.hint{font-size:13px;color:var(--muted);margin:-2px 0 8px;line-height:1.5}
.form-card input,.form-card select,.form-card textarea{width:100%;min-height:var(--tap);
  border:1.5px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:16px;
  font-family:inherit;background:var(--white);color:var(--ink)}
.form-card textarea{min-height:96px;resize:vertical;line-height:1.5}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--red);
  box-shadow:0 0 0 3px rgba(248,50,50,.15)}
.field-row{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:620px){.field-row{grid-template-columns:1fr 1fr}}

/* choice cards (radios) */
.choice-grid{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:560px){
  .choice-grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .choice-grid.auto{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
}
.choice{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--radius);
  padding:13px 15px;min-height:var(--tap);cursor:pointer;font-size:16px;line-height:1.4;background:var(--white)}
.choice input{width:22px;height:22px;min-height:0;flex:0 0 22px;accent-color:var(--red);margin:0}
.choice.sel{border-color:var(--red);background:#fff5f5}
.choice:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(248,50,50,.15)}

/* conditional reveal panels (red-accented) */
.cond{border-left:3px solid var(--red);background:#fff6f6;border-radius:0 var(--radius) var(--radius) 0;
  padding:16px;margin:0 0 18px}
.cond[hidden]{display:none}
.cond-lbl{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.cond p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 12px}

/* errors — colour is never the only signal (icon + text + border) */
.field.error input,.field.error select,.field.error textarea{border-color:var(--err);background:var(--err-bg)}
.field.error .choice,.field.error .decl{border-color:var(--err)}
.errmsg{display:none;color:var(--err);font-size:13px;margin-top:8px;gap:6px;align-items:flex-start;line-height:1.45}
.errmsg::before{content:"\26A0";flex:0 0 auto;font-weight:700}
.field.error .errmsg{display:flex}

/* amber privacy panel (draft-only, does not imply approved wording) */
.privacy-panel{background:var(--tbc-bg);border:1px solid var(--tbc-line);border-radius:var(--radius);
  padding:16px 18px;margin:0 0 22px;color:#5c4a1f}
.privacy-panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;color:#5c4a1f}
.privacy-panel p{margin:0;font-size:14.5px;line-height:1.55;color:#5c4a1f}

/* "What comes next" preview tiles (informational — cannot skip ahead) */
.next-tiles{display:grid;gap:12px;grid-template-columns:1fr;margin:0 0 6px}
@media (min-width:560px){.next-tiles{grid-template-columns:1fr 1fr}}
.next-tile{display:flex;gap:12px;align-items:flex-start;background:var(--grey);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px 16px}
.next-tile .n{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--white);
  font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:16px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.next-tile strong{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:17px;text-transform:uppercase;
  display:block;line-height:1.05}
.next-tile span{font-size:13px;color:var(--muted);line-height:1.4;display:block;margin-top:2px}

/* wizard nav buttons */
.navbtns{display:flex;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}
.navbtns .btn{min-width:150px}
.navbtns .btn[disabled]{opacity:.5;cursor:default}

/* "awaiting integration" note — honest placeholder; no fake success in this draft */
.integration-note{margin-top:16px;background:var(--tbc-bg);border:1px solid var(--tbc-line);border-radius:var(--radius);
  padding:12px 14px;font-size:13px;line-height:1.55;color:#5c4a1f}
.integration-note[hidden]{display:none}
.integration-note b{color:#5c4a1f}
.integration-note.flash{border-color:var(--red)}

/* Step 5 · review summary */
.review-group{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}
.review-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--grey);
  padding:11px 15px;border-bottom:1px solid var(--line)}
.review-group-head h3{font-size:16px;text-transform:uppercase;line-height:1}
.review-edit{font-size:13px;font-weight:600;background:transparent;border:0;color:var(--ink);cursor:pointer;
  font-family:inherit;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--red);text-decoration-thickness:2px}
.review-edit:hover{color:var(--red-hover);text-decoration-color:var(--red-hover)}
.review-list{margin:0;padding:12px 15px}
.review-item{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:6px 0;font-size:14.5px;line-height:1.45}
.review-item+.review-item{border-top:1px solid var(--line)}
.review-item[hidden]{display:none}
.review-item dt{color:var(--muted);font-weight:600;margin:0}
.review-item dd{margin:0;color:var(--ink);word-break:break-word}
@media (max-width:520px){.review-item{grid-template-columns:1fr;gap:2px}}

/* Step 5 · owner declaration checkboxes */
.decl-intro{font-weight:600;margin:0 0 12px}
.decl{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;cursor:pointer;line-height:1.5;font-size:15px;background:var(--white)}
.decl input{width:22px;height:22px;min-height:0;flex:0 0 22px;margin-top:2px;accent-color:var(--red)}
.decl.sel{border-color:var(--red);background:#fff5f5}
.decl:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(248,50,50,.15)}
.decl-todo{display:block;margin-top:6px;font-style:italic;font-size:13px;color:var(--muted)}

/* Highlighted single choice (e.g. pork cut sheet's cheapest whole-pig option).
   Left red rule + tinted panel makes it read as a callout, not colour alone —
   the native checkbox still carries the checked/unchecked signal. */
.choice-highlight{border-left-width:4px;border-left-color:var(--red);background:#fff6f6}
.choice-highlight.sel{background:#fff5f5}

/* ── Support sidebar cards ── */
.side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(20px,2.5vw,26px);margin-bottom:20px}
.side-card:last-child{margin-bottom:0}
.side-h{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:24px;text-transform:uppercase;
  line-height:1;margin:0 0 16px}
.side-steps{display:grid;gap:16px}
.side-step{display:flex;gap:14px;align-items:flex-start}
.side-step .n{width:30px;height:30px;border-radius:50%;background:var(--grey);border:1px solid var(--line);
  color:var(--muted);font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:15px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.side-step strong{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;
  display:block;line-height:1.1}
.side-step p{margin:2px 0 0;font-size:13.5px;color:var(--muted);line-height:1.45}
.side-card.dark{background-color:var(--ink);background-image:var(--paper);color:var(--white);border-color:var(--dark-line)}
.side-card.dark .side-h{color:var(--white)}
.side-card.dark p{color:var(--on-dark)}
.side-help-phone{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:30px;color:var(--white);
  text-decoration:none;display:inline-block;margin:4px 0 10px;letter-spacing:.02em}
.side-help-phone:hover{color:var(--white)}
.side-help-note{font-size:13px;color:var(--on-dark-2)!important;margin:0}

/* ── 5 · Bottom reassurance panel ── */
.booking-reassure-grid{display:grid;gap:24px;align-items:center;grid-template-columns:1fr}
.booking-reassure h2{text-transform:uppercase;margin:0 0 12px}
.booking-reassure p{color:var(--muted);max-width:60ch;margin:0}
.reassure-help{text-align:left}
.reassure-help .eyebrow{margin-bottom:6px}
.reassure-phone{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(26px,3vw,32px);
  color:var(--ink);text-decoration:none;display:inline-block}
.reassure-phone:hover{color:var(--red-hover)}
@media (min-width:820px){
  .booking-reassure-grid{grid-template-columns:1.6fr 1fr}
  .reassure-help{text-align:right}
}

/* ── Confirmation state (markup only — NEVER shown; no verified backend exists) ── */
.confirm{text-align:center;padding:12px 4px}
.confirm .tick{width:64px;height:64px;border-radius:50%;background:#e7f3e8;color:var(--ok);
  display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px;border:2px solid #bcdcbd}
.confirm h2{margin:0 0 8px}
.confirm .navbtns{justify-content:center}

/* ══════════════════════════════════════════════════════════════
   BEEF CUT SHEET (cutsheet_beef.html only)
   Reuses the approved booking wizard system (.booking-intro · .stepnav ·
   .booking-layout · .form-card · .wz · .review-group · .side-card ·
   .booking-reassure · .integration-note). Additions below are scoped so no
   other page is affected. Same brand system — Meat Man Red single accent,
   flat/hard-edged, 8px grid, WCAG-AA, mobile-first. NO photos (diagram only).
   ══════════════════════════════════════════════════════════════ */

/* Stage nav — anchor variant (Stage 1 links to booking.html) + completed check.
   Stage 1 is a LINK, never marked complete: no verified booking context exists. */
.stepnav-item{text-decoration:none;color:inherit}
.stepnav-item:hover{color:inherit}
.stepnav-item.is-link{cursor:pointer}
.stepnav-item.is-link .stepnav-num{background:var(--grey);border-color:var(--line);color:var(--muted)}
.stepnav-item.is-link:hover .stepnav-txt strong{color:var(--ink)}
/* completed stage shows a checkmark rather than the number */
.stepnav-item.is-done .stepnav-num{font-size:0}
.stepnav-item.is-done .stepnav-num::after{content:"\2713";font-size:18px;line-height:1}

/* Sticky summary sidebar on desktop; stacks under the form on mobile */
@media (min-width:960px){.side-col.is-sticky{position:sticky;top:16px}}

/* Live selection summary card */
.sum-list{display:grid;gap:0;margin:0}
.sum-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.sum-row:first-child{border-top:0}
.sum-row .k{color:var(--muted);font-weight:600;margin:0}
.sum-row .v{color:var(--ink);font-weight:700;text-align:right;margin:0;min-width:0;word-break:break-word}
.sum-row .v.empty{color:var(--muted);font-weight:500}
.sum-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}

/* Cut groups (cards) + per-line question fieldsets */
.cut-group{border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(16px,2.5vw,22px);margin-bottom:18px;background:var(--white)}
.cut-group>h3{font-size:20px;text-transform:uppercase;margin:0 0 4px}
.cut-group .grp-note{font-size:13.5px;color:var(--muted);margin:0 0 6px;line-height:1.5}
.cut-line{border:0;padding:14px 0 4px;margin:0;min-width:0;border-top:1px solid var(--line)}
.cut-group .grp-note + .cut-line{border-top:0}
.cut-line>legend,.cut-line>.field-label{font-weight:600;font-size:14px;margin-bottom:8px;color:var(--ink);padding:0}
.num-field{max-width:220px}

/* Segmented option control — hidden native radio + full-surface clickable pill.
   Selected state is NOT colour-only: bold weight + 2px border + leading check. */
.form-card .seg{display:flex;gap:8px;flex-wrap:wrap}
.form-card .seg label{flex:1 1 auto;min-width:92px;margin:0;position:relative}
.form-card .seg input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.form-card .seg span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);
  border:1.5px solid var(--line);border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;
  padding:8px 12px;text-align:center;line-height:1.25;background:var(--white);color:var(--ink)}
.form-card .seg span:hover{border-color:#bdb7b0}
.form-card .seg input:checked+span{border-color:var(--red);border-width:2px;background:#fff5f5;font-weight:700}
.form-card .seg input:checked+span::before{content:"\2713";color:var(--red);font-weight:800;font-size:14px}
.form-card .seg input:focus-visible+span{outline:3px solid rgba(248,50,50,.55);outline-offset:2px}

/* Review — flagged (unanswered/conflicting required) items */
.review-group.rv-issue{border-color:var(--err)}
.review-group.rv-issue .review-group-head{background:var(--err-bg)}
.review-item.rv-issue-item dd{color:var(--err);font-weight:700}
.review-item.rv-issue-item dd::before{content:"\26A0 ";font-weight:700}
#reviewNotice.flash{border-color:var(--red);background:#fff5f5;color:#5c1f1f}

/* Print-only cut sheet — hidden on screen, revealed by @media print */
.print-sheet{display:none}
@media print{
  header.site,footer.site,.stepnav,.booking-intro,.cut-guide-section,.booking-reassure,
  .side-col,.navbtns,.btn-row,.integration-note,.notice,.booking-notice,.step-progress,
  .step-count,.eyebrow{display:none!important}
  .wz{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .section{padding:0;background:#fff}
  .form-card{border:0;padding:0;border-radius:0}
  .booking-layout{display:block}
  .print-sheet{display:block!important}
  .print-head{border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:12px}
  .print-title{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:26pt;line-height:1}
  .print-sub{font-weight:700;font-size:13pt;margin-top:2px}
  .print-meta{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:14px}
  .print-meta div{display:flex;gap:8px}
  .print-meta dt{font-weight:700}
  .print-group{margin-bottom:14px;page-break-inside:avoid}
  .print-group h3{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:14pt;
    text-transform:uppercase;border-bottom:1px solid #999;padding-bottom:3px;margin:0 0 6px}
  .print-group dl{margin:0}
  .print-group dl>div{display:flex;gap:10px;padding:3px 0}
  .print-group dt{flex:0 0 190px;font-weight:600}
  .print-group dd{margin:0}
  .print-foot{margin-top:20px;padding-top:10px;border-top:1px solid #999;font-size:11pt}
  .print-foot p{margin:0 0 4px}
}

/* ══════════════════════════════════════════════════════════════
   MEET MR MEAT MAN PAGE (meet.html only) — approved visual layout
   Reuses the shared v3 system (dark hero · stat strip · fcards · red
   numeral steps · info-card panel · dark CTA panel · locked footer).
   The ONLY additions are face-safe crop frames for Bruce's TWO genuine
   photographs (doorway hero + bench story) so his face / upper body stay
   in view at every breakpoint, plus a dark-panel phone treatment for the
   final CTA. No new colours, no gradients/shadows. 8px grid · WCAG-AA.
   ══════════════════════════════════════════════════════════════ */

/* Hero photo — reuses .hero .hero-media; portrait-leaning crop keeps Bruce centred */
.hero .meet-hero-media{aspect-ratio:4/3}
.hero .meet-hero-media img{object-position:center 20%}
@media (min-width:880px){.hero .meet-hero-media{aspect-ratio:4/5}}

/* Story photo — documentary 4:3 frame, face/upper body held in the safe crop */
.meet-story-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:var(--grey);aspect-ratio:4/3}
.meet-story-media img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}

/* Final CTA — phone number on the dark panel (AA-safe: white; red on hover) */
.panel-dark .cta-phone{font-family:"Barlow Condensed",sans-serif;font-weight:800;
  font-size:clamp(28px,4vw,34px);color:var(--white);text-decoration:none;display:inline-flex;
  align-items:center;min-height:var(--tap);letter-spacing:.02em;margin-top:14px}
.panel-dark .cta-phone:hover{color:var(--red)}
.panel-dark .cta-phone-note{color:var(--on-dark-3);font-size:13px;margin:6px 0 0;line-height:1.5}


/* ═══ V2 revision (13 Aug 2026): full-bleed hero + icon trust strip — per Joel visual ═══ */
.hero-full{position:relative;overflow:hidden;isolation:isolate;min-height:600px}
.hero-full .hero-photo{position:absolute;inset:0 0 0 auto;width:56%;z-index:-2}
.hero-full .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.hero-full::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 26%,rgba(21,21,21,.78) 38%,rgba(21,21,21,.10) 54%,rgba(21,21,21,0) 68%)}
.hero-full .hero-copy{max-width:600px;padding-block:clamp(48px,7vw,96px)}
.hero-full .hero-copy h1{font-size:clamp(44px,6.4vw,64px);line-height:.98}
@media(max-width:760px){
  .hero-full{display:flex;flex-direction:column}
  .hero-full .hero-photo{position:relative;width:100%;height:380px;order:-1}
  .hero-full::after{background:linear-gradient(180deg,rgba(21,21,21,.15) 0%,rgba(21,21,21,.15) 42%,var(--ink) 82%)}
  .hero-full .hero-copy{padding-block:22px 34px}
}
.hero-trust{display:block;background:var(--logo-black);background-image:var(--paper);border-top:1px solid var(--dark-line);color:var(--white)}
.hero-trust-grid{display:grid;grid-template-columns:1fr;gap:20px;padding-block:26px}
@media(min-width:760px){.hero-trust-grid{grid-template-columns:repeat(3,1fr);gap:34px}}
.hero-trust-item{display:flex;gap:14px;align-items:flex-start}
.hero-trust-item svg{flex:0 0 auto;width:30px;height:30px;stroke:var(--red);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-trust-item h3{font-family:"Barlow Condensed";font-weight:700;font-size:20px;color:var(--white);margin:0 0 3px;letter-spacing:.01em}
.hero-trust-item p{color:var(--on-dark-2);font-size:14px;margin:0;line-height:1.45}

/* Price list tables (added 14 Aug 2026) */
.pl-wrap{overflow-x:auto;margin:14px 0 10px;border:1px solid var(--line);border-radius:8px}
.pl{width:100%;border-collapse:collapse;font-size:15px;background:var(--white)}
.pl th,.pl td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.pl thead th{background:var(--ink);color:var(--white);font-family:'Barlow Condensed',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:14px}
.pl tbody tr:last-child td{border-bottom:none}
.pl tbody tr:nth-child(even){background:#faf7f2}
.pl td:nth-child(3){font-weight:700;white-space:nowrap}
.pl td:nth-child(4){color:var(--muted);white-space:nowrap}
.pl-note{font-size:13.5px;color:var(--muted);margin:8px 0 4px}
@media(max-width:560px){.pl th,.pl td{padding:9px 10px;font-size:13.5px}}

/* Separate pricing, cutting-list and cutting-guide navigation */
.action-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.action-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid #ddd;border-radius:12px;background:#fff;color:var(--ink,#171717);text-decoration:none;transition:transform .15s ease,border-color .15s ease}.action-card:hover{transform:translateY(-2px);border-color:#ff3434}.action-card strong{font-family:"Barlow Condensed",sans-serif;font-size:21px;text-transform:none}.action-card-title{display:flex;align-items:center;gap:9px}.action-card-title .species-icon{width:26px;height:26px;color:var(--red)}.action-card span{color:#555}.action-card-title .species-icon{color:var(--red)}.guide-link-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #ddd;border-radius:14px;padding:30px}.guide-link-panel h2{margin-bottom:6px}.guide-gallery{display:grid;gap:40px}.guide-card{border-bottom:1px solid #ddd;padding-bottom:36px}.guide-card:last-child{border-bottom:0}.cut-sheet-divider{height:1px;background:#ddd;margin:34px 0}.cut-sheet-continuation{margin-bottom:18px}.cut-sheet-continuation h2{margin:4px 0 8px}.cut-sheet-continuation .step-intro{margin-bottom:0}
@media(max-width:900px){.action-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-link-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.action-card-grid{grid-template-columns:1fr}}

/* Cutting-list card title alignment fix */
.action-card-title{display:flex;align-items:flex-start;gap:9px;color:var(--ink,#171717)}
.action-card-title .species-icon{flex:0 0 26px;margin-top:1px;color:var(--red)}
.action-card-title .action-card-title-text{display:flex;flex-direction:column;gap:0;min-width:0;color:var(--ink,#171717);font:inherit;line-height:1.08}
.action-card-title .action-card-title-text span{display:block;color:var(--ink,#171717);font:inherit;line-height:1.08}

/* Cutting list card action text matches pricing card links */
.action-card .action-card-linktext{
  color:var(--ink,#171717);
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  text-decoration:underline;
  text-underline-offset:2px;
  margin-top:2px;
}

/* Cut sheet customer, animal and multi-animal workflow */
.cut-meta-card{border:1px solid var(--line,#dedede);border-radius:14px;padding:clamp(20px,3vw,28px);margin:0 0 26px;background:#fff}
.cut-meta-head{margin-bottom:0}
.cut-meta-card .field{margin-bottom:16px}
.cut-meta-card .field-row{margin-bottom:0}
.field-help{margin:7px 0 0;font-size:13px;line-height:1.45;color:#666}
.cut-processing-mode{margin-top:4px}
.cut-processing-mode .seg{grid-template-columns:1fr}
.animal-progress{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#ff3434}
.animal-sequence-note{margin-top:8px;margin-bottom:0}
.animal-sequence-note[hidden]{display:none!important}
.animal-context-group{border-color:#ff3434}
.animal-context-group textarea{min-height:92px;resize:vertical}
@media (min-width:700px){.cut-processing-mode .seg{grid-template-columns:1fr 1fr}}

.step-status{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.animal-step-progress{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#ff3434;line-height:1.1}

/* Multi-animal cutting sheets: lock shared customer/job details after Animal 1. */
.cut-meta-card .mmm-locked-field:disabled {
  opacity: 1;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  background: #f3f3f3;
  cursor: not-allowed;
}
.cut-meta-card .mmm-locked-choice {
  opacity: .72;
  cursor: not-allowed;
}
.cut-meta-card .mmm-locked-choice input:disabled + span {
  cursor: not-allowed;
}

/* Beef half/share workflow */
.beef-progress-line{display:block;margin-top:2px}
.animal-step-progress .beef-progress-line:first-child,.animal-progress .beef-progress-line:first-child{margin-top:0}
.mmm-locked-field{background:#f3f3f3!important;color:#555!important;cursor:not-allowed}
.mmm-locked-choice{opacity:.72;cursor:not-allowed}


/* Beef cutting-list progress card */
.processing-progress-card .eyebrow{margin-bottom:7px}
.processing-progress-card .side-h{margin-bottom:14px}
.processing-progress-list{display:flex;flex-direction:column;gap:0}
.processing-progress-item{position:relative;padding:11px 0 11px 34px;border-top:1px solid #e4e1de}
.processing-progress-item:first-child{border-top:0;padding-top:4px}
.processing-progress-icon{position:absolute;left:0;top:10px;width:22px;height:22px;border-radius:50%;border:1px solid #cac5c1;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1;color:#777}
.processing-progress-item:first-child .processing-progress-icon{top:3px}
.processing-progress-item.is-complete .processing-progress-icon{background:#178344;border-color:#178344;color:#fff}
.processing-progress-item.is-current .processing-progress-icon{background:#ff3434;border-color:#ff3434;color:#fff}
.processing-progress-title{font-weight:800;line-height:1.25;color:#151515}
.processing-progress-item.is-current .processing-progress-title{color:#e9262b}
.processing-progress-status{margin-top:2px;font-size:12px;color:#706a66}
.processing-progress-shares{margin-top:5px;font-size:13px;line-height:1.35;color:#3e3936}
.processing-progress-half{margin:8px 0 0 4px;padding:8px 9px 8px 29px;border-radius:8px;background:#f6f4f2;position:relative}
.processing-progress-half .processing-progress-icon{left:6px;top:8px;width:17px;height:17px;font-size:10px}
.processing-progress-half .processing-progress-title{font-size:13px}
.processing-progress-half .processing-progress-shares{font-size:12px;margin-top:2px}

/* Current processing item emphasis */
.processing-progress-item.is-current{
  border:2px solid #ff3434;
  border-radius:10px;
  padding:10px 10px 10px 34px;
  margin:5px 0;
  background:#fffafa;
}
.processing-progress-item.is-current .processing-progress-icon{left:8px;top:10px}
.processing-progress-half.is-current{
  border:2px solid #ff3434;
  background:#fffafa;
}
.processing-progress-half.is-complete .processing-progress-icon{
  background:#178344;
  border-color:#178344;
  color:#fff;
}
.beef-quarter-processing-note{
  color:#e9262b !important;
  font-weight:800 !important;
}

/* Beef quarter note markers */
.form-card .seg span .beef-asterisks{
  display:inline;
  min-height:0;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  margin-left:2px;
  color:var(--red);
  font-size:11px;
  font-weight:800;
  line-height:1;
  cursor:inherit;
}
.form-card .seg input:checked+span .beef-asterisks::before{content:none}
.beef-note-prefix{color:#e9262b;font-weight:800}

/* Beef ribs multi-select: muted third option when two non-rolled choices are already selected. */
.form-card .seg label.mmm-ribs-disabled{opacity:.48;cursor:not-allowed}
.form-card .seg label.mmm-ribs-disabled span{cursor:not-allowed;background:#f4f2f0}


/* Beef cut choices spacing refinement */
.beef-cut-choices-spaced{padding:24px 20px 22px}
.beef-cut-choices-spaced .grp-note{margin:0 0 12px}
.beef-cut-choices-spaced .cut-line{padding:6px 0 22px}
.beef-cut-choices-spaced .cut-line>legend{font-size:15px;margin-bottom:5px}
.beef-cut-choices-spaced .field-help{line-height:1.55;color:var(--muted)}
.beef-cut-choices-spaced #beefRibsChoices .field-help{margin:0 0 9px !important}
.beef-cut-choices-spaced .seg{gap:12px 8px}
.beef-cut-choices-spaced .seg label{min-width:100px}
.beef-cut-choices-spaced .seg span{min-height:48px;padding:10px 14px}
@media (min-width: 760px){
  .beef-cut-choices-spaced{padding:26px 22px 24px}
  .beef-cut-choices-spaced .seg{gap:12px}
  .beef-cut-choices-spaced .cut-line{padding:7px 0 24px}
}


/* Beef sausage allocation inside Smallgoods */
.sausage-allocation-title{font-family:"Barlow Condensed",sans-serif;font-size:18px;text-transform:uppercase;margin:0 0 8px;color:var(--ink)}
.sausage-allocation-intro{font-size:13.5px;line-height:1.55;color:var(--muted);margin-bottom:16px}
.sausage-allocation-intro p{margin:0 0 7px}
.sausage-allocation-intro p:last-child{margin-bottom:0}
.sausage-mode-fieldset>legend{margin-bottom:10px}
.sausage-choice-label{margin:0 0 8px;font-size:13.5px;font-weight:700;color:var(--ink)}
.sausage-type-options{margin-bottom:16px}
.sausage-type-options label{flex:1 1 150px}
.sausage-mode-options{display:grid;gap:10px}
.sausage-mode-choice{position:relative;display:block;margin:0}
.sausage-mode-choice input{position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none}
.sausage-mode-choice>span{display:block;border:1.5px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--white);cursor:pointer}
.sausage-mode-choice strong{display:block;font-size:14px;line-height:1.35;color:var(--ink);margin-bottom:3px}
.sausage-mode-choice small{display:block;font-size:13px;line-height:1.45;color:var(--muted)}
.sausage-mode-choice input:checked+span{border:2px solid var(--red);background:#fff5f5;padding:11.5px 13.5px}
.sausage-mode-choice input:checked+span strong::before{content:"\2713";color:var(--red);font-weight:800;margin-right:7px}
.sausage-mode-choice input:focus-visible+span{outline:3px solid rgba(248,50,50,.55);outline-offset:2px}
.sausage-flavour-panel{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#faf9f7}
.sausage-flavour-panel[hidden]{display:none!important}
.sausage-flavour-grid{display:grid;grid-template-columns:1fr;gap:0 16px}
.sausage-flavour-grid .field:last-child{margin-bottom:0}
@media(min-width:700px){.sausage-flavour-grid{grid-template-columns:1fr 1fr}}


/* Beef smallgoods: sausage / burger patties divider and spacing */
.smallgoods-section-divider{height:1px;background:#d8d5d1;margin:32px 0 18px}
.burger-patties-section{margin:0;padding:0 0 4px;border-top:0}
.burger-patties-section>legend{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;margin-bottom:12px;color:var(--ink)}
.burger-patties-title{font-size:18px}
.burger-free-flow{font-size:14px;letter-spacing:.01em}


/* Beef Prime Cuts spacing refinement */
.beef-prime-cuts-spaced > .cut-line{
  padding:6px 0 22px;
}
.beef-prime-cuts-spaced > .cut-line > legend{
  margin-bottom:5px;
}
.beef-prime-cuts-spaced > .cond{
  margin-bottom:22px;
}
.beef-prime-cuts-spaced > .cut-line:last-child{
  padding-bottom:4px;
}
@media (min-width:760px){
  .beef-prime-cuts-spaced > .cut-line{
    padding-top:7px;
  }
}


/* Counted sausage flavour quantities */
.sausage-count-panel{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#faf9f7}
.sausage-count-panel[hidden]{display:none!important}
.sausage-count-grid{display:grid;grid-template-columns:1fr;gap:14px}
.sausage-count-grid .field{margin:0}
.sausage-count-grid label{display:block;width:max-content;max-width:none;white-space:nowrap;overflow:visible;margin-bottom:7px;font-weight:600;font-size:14px;color:var(--ink)}
.sausage-count-grid input[type="number"]{width:100%;min-height:44px}
@media(min-width:700px){.sausage-count-grid{grid-template-columns:1fr}}

/* Lamb / Mutton legs: maximum two selections */
.choice.mmm-lamb-leg-disabled{opacity:.45;cursor:not-allowed}
.choice.mmm-lamb-leg-disabled input{cursor:not-allowed}

/* Lamb legs multi-select uses the shared segmented button treatment */
.form-card .seg label.mmm-lamb-leg-disabled{opacity:.45;cursor:not-allowed}
.form-card .seg label.mmm-lamb-leg-disabled span{cursor:not-allowed;background:#f4f2f0}


/* Lamb / Mutton Main Cuts spacing refinement */
.lamb-main-cuts-spaced > .cut-line{
  padding:6px 0 22px;
}
.lamb-main-cuts-spaced > .cut-line > legend{
  margin-bottom:5px;
}
.lamb-main-cuts-spaced > .cut-line:last-child{
  padding-bottom:4px;
}
@media (min-width:760px){
  .lamb-main-cuts-spaced > .cut-line{
    padding-top:7px;
  }
}


/* Lamb sausages/mince conditional */
.lamb-sausage-mince-choice{border-top:0;margin-bottom:14px}
#lambSausageDetail[hidden]{display:none!important}
#lambSausageDetail .sausage-allocation{margin-top:10px}


/* Lamb whole-sheep forced sausage/mince state */
.lamb-sausage-mince-choice label.lamb-forced-selected span{border-color:var(--red);border-width:2px;background:#fff5f5;font-weight:700}
.lamb-sausage-mince-choice label.lamb-forced-selected span::before{content:"\2713";color:var(--red);font-weight:800;font-size:14px}

/* Pork Cut Choices spacing and segmented-button layout */
.pork-cut-choices-spaced > .cut-line{
  padding:6px 0 22px;
}
.pork-cut-choices-spaced > .cut-line > legend{
  margin-bottom:5px;
}
.pork-cut-choices-spaced > .cut-line:last-child{
  padding-bottom:4px;
}
@media (min-width:760px){
  .pork-cut-choices-spaced > .cut-line{
    padding-top:7px;
  }
}

/* Footer Facebook link */
.footer-social{display:flex;align-items:center;margin-top:16px}
.footer-facebook{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;overflow:hidden;transition:transform .15s ease,opacity .15s ease}
.footer-facebook img{width:42px;height:42px;display:block;object-fit:cover;border-radius:50%}
.footer-facebook:hover{transform:translateY(-1px);opacity:.92}
.footer-facebook:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* Pork Shoulder: exclusive Roast/Rolled Shoulder choices */
.pork-cut-choices-spaced label.mmm-pork-shoulder-disabled{opacity:.45;cursor:not-allowed}
.pork-cut-choices-spaced label.mmm-pork-shoulder-disabled input{cursor:not-allowed}

/* Downloads page */
.download-list{display:grid;gap:14px}
.download-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border:1px solid #ddd;border-radius:14px;background:#fff}
.download-card-icon{width:46px;height:46px;border-radius:12px;background:#fff1f1;display:grid;place-items:center;color:var(--red)}
.download-card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.download-card-copy .eyebrow{margin:0 0 3px}
.download-card-copy h2{margin:0;font-size:clamp(22px,3vw,28px)}
.download-card-btn{white-space:nowrap}
.download-empty{border:1px solid #ddd;border-radius:14px;background:#fff;padding:30px}
.download-empty h2{margin-top:0}
@media (max-width:640px){
  .download-card{grid-template-columns:auto 1fr;padding:18px}
  .download-card-btn{grid-column:1/-1;width:100%;text-align:center}
}
