:root { --coal:#080807; --coal-soft:#11100e; --ash:#1b1916; --wood:#745038; --ember:#e45b22; --ember-light:#f17a42; --cream:#f0e8d9; --smoke:#aaa397; --line:rgba(240,232,217,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--coal); color:var(--cream); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { display:block; width:100%; }
::selection { background:var(--ember); color:#fff; }
.eyebrow { color:var(--ember-light); font-size:10px; font-weight:900; letter-spacing:.27em; margin:0 0 22px; text-transform:uppercase; }
h1,h2,.division-copy h3 { font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-weight:900; letter-spacing:-.025em; text-transform:uppercase; }
h2 { font-size:clamp(56px,7.7vw,112px); line-height:.82; margin:0; }
.section { padding:clamp(82px,9vw,140px) clamp(20px,6vw,96px); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:52px; }
.section-intro { max-width:480px; color:var(--smoke); font-size:15px; line-height:1.72; margin:0 0 7px; }
.button { min-height:54px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; gap:30px; border:1px solid transparent; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:900; transition:.25s; cursor:pointer; }
.button-primary { color:#fff; background:var(--ember); border-color:var(--ember); }
.button-primary:hover,.button-primary:focus-visible { background:#f06d32; border-color:#f06d32; transform:translateY(-2px); }
.button-ghost { border-color:rgba(255,255,255,.58); }
.button-ghost:hover,.button-ghost:focus-visible { background:#fff; color:#111; }
.text-link { width:max-content; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:9px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.text-link span { color:var(--ember); margin-left:20px; }

.hero { min-height:100svh; position:relative; overflow:hidden; display:flex; align-items:center; background:#16120f url('/images/hero-fire-2000.webp') center/cover no-repeat; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,4,.96),rgba(5,5,4,.7) 48%,rgba(5,5,4,.2) 82%),linear-gradient(0deg,rgba(5,5,4,.72),transparent 44%); }
.nav { height:86px; padding:0 clamp(20px,6vw,96px); position:absolute; inset:0 0 auto; z-index:5; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:flex; align-items:center; gap:14px; font-size:13px; font-weight:900; letter-spacing:.14em; }
.brand-mark { width:39px; height:39px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.52); transform:rotate(45deg); color:var(--ember-light); font-family:Georgia,serif; font-size:22px; }
.brand-mark b { transform:rotate(-45deg); font-weight:400; }
.nav-links { display:flex; gap:clamp(19px,2.8vw,42px); text-transform:uppercase; font-size:10px; font-weight:900; letter-spacing:.14em; }
.nav-links a { position:relative; }
.nav-links a::after { content:""; position:absolute; left:0; right:100%; bottom:-10px; height:2px; background:var(--ember); transition:.25s; }
.nav-links a:hover::after,.nav-links a:focus-visible::after { right:0; }
.nav-links .nav-order { margin:-13px 0; padding:13px 18px; background:var(--ember); color:#fff; }
.nav-links .nav-order::after { display:none; }
.menu-button { display:none; border:0; background:transparent; color:#fff; padding:8px; font-size:29px; line-height:1; }
.hero-content { position:relative; z-index:2; width:min(850px,88vw); margin-left:clamp(20px,8vw,132px); padding-top:70px; }
.hero h1 { margin:0; font-size:clamp(72px,10.3vw,150px); line-height:.77; }
.hero-line { margin:32px 0 12px; font-family:Georgia,serif; font-size:clamp(22px,2.3vw,33px); color:#e0d7c9; }
.hero-support { max-width:540px; margin:0 0 34px; color:#aaa399; font-size:15px; line-height:1.65; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hero-stamp { position:absolute; z-index:2; right:8vw; bottom:14vh; width:120px; height:120px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:rgba(255,255,255,.68); }
.hero-stamp span { position:absolute; top:16px; font-size:7px; letter-spacing:.2em; }
.hero-stamp b { color:var(--ember-light); font:400 42px Georgia,serif; }
.scroll-cue { position:absolute; z-index:2; right:clamp(20px,6vw,96px); bottom:28px; display:flex; gap:10px; font-size:9px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }

.supply { background:var(--coal-soft); }
.division-grid { border-top:1px solid var(--line); }
.division-card { display:grid; grid-template-columns:1.13fr .87fr; min-height:660px; border-bottom:1px solid var(--line); }
.division-card.reverse { grid-template-columns:.87fr 1.13fr; }
.division-card.reverse .division-image { order:2; }
.division-image { min-height:560px; overflow:hidden; background:#1b1713; }
.division-image img { height:100%; object-fit:cover; transition:transform .8s ease; }
.division-card:hover .division-image img { transform:scale(1.025); }
.division-copy { padding:clamp(45px,6vw,90px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(145deg,#171512,#0d0c0b); }
.division-copy h3 { margin:0 0 27px; font-size:clamp(62px,7vw,100px); line-height:.8; }
.division-copy > p:not(.eyebrow) { color:var(--smoke); line-height:1.65; font-size:14px; max-width:520px; }
.division-copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:24px 0 34px; padding:0; list-style:none; }
.division-copy li { padding:11px 0; border-top:1px solid var(--line); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.image-note { margin:18px 0 0; color:#6d6961; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }

.hospitality { display:grid; grid-template-columns:1.12fr .88fr; gap:8vw; background:#e9e0d0; color:#111; position:relative; }
.hospitality::before { content:""; position:absolute; inset:0; opacity:.1; background:repeating-linear-gradient(90deg,transparent 0 72px,#795535 73px,#795535 74px); pointer-events:none; }
.hospitality-copy,.partner-list { position:relative; z-index:1; }
.hospitality-copy p:last-child { max-width:610px; color:#5e5a54; font-size:16px; line-height:1.7; margin-top:30px; }
.partner-list { align-self:center; }
.partner-list > div { min-height:75px; display:grid; grid-template-columns:54px 1fr; align-items:center; border-top:1px solid rgba(17,17,17,.2); }
.partner-list > div:last-child { border-bottom:1px solid rgba(17,17,17,.2); }
.partner-list span { color:var(--ember); font-size:9px; font-weight:900; }
.partner-list p { margin:0; font-size:16px; font-weight:800; text-transform:uppercase; }

.who { background:var(--coal); }
.who-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.who-card { min-height:310px; position:relative; overflow:hidden; }
.who-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.08) 72%); }
.who-card img { height:100%; object-fit:cover; position:absolute; inset:0; filter:saturate(.75); transition:.45s; }
.who-card:hover img { transform:scale(1.035); filter:saturate(1); }
.who-card div { position:absolute; z-index:1; left:22px; right:22px; bottom:20px; display:flex; align-items:flex-end; justify-content:space-between; gap:15px; }
.who-card span { color:var(--ember-light); font-size:9px; font-weight:900; }
.who-card h3 { margin:0; font-size:clamp(18px,2vw,28px); line-height:.95; text-align:right; text-transform:uppercase; }

.featured { background:#12110f; }
.meat-strip { display:grid; grid-template-columns:repeat(7,minmax(190px,1fr)); gap:7px; overflow-x:auto; padding-bottom:12px; scrollbar-color:var(--ember) #24211e; }
.meat-card { min-height:430px; position:relative; overflow:hidden; }
.meat-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 58%); }
.meat-card img { height:100%; object-fit:cover; position:absolute; inset:0; }
.meat-card div { position:absolute; z-index:1; left:17px; right:17px; bottom:18px; }
.meat-card h3 { font-size:20px; margin:0 0 6px; text-transform:uppercase; }
.meat-card span { color:#89837a; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }

.wood-fire { min-height:780px; display:grid; grid-template-columns:1.05fr .95fr; background:#0d0c0a; }
.wood-fire-image { min-height:620px; background:url('/images/firewood-1200.webp') center/cover; }
.wood-fire-copy { padding:clamp(65px,8vw,130px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(135deg,rgba(116,80,56,.22),transparent 44%),#0c0b0a; }
.wood-fire-copy p:not(.eyebrow) { max-width:590px; color:var(--smoke); line-height:1.72; margin:32px 0; }
.wood-fire-copy .button { width:max-content; }

.trade-specials { display:grid; grid-template-columns:.55fr 1.2fr auto; align-items:center; gap:50px; background:#e8dfcf; color:#111; border-top:10px solid var(--wood); }
.trade-specials .eyebrow { margin:0; }
.trade-specials h2 { font-size:clamp(50px,6vw,86px); }
.trade-specials div p { color:#615c54; line-height:1.65; max-width:640px; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:9vw; background:#161411; }
.about-copy { align-self:end; max-width:640px; }
.about-copy .lead { font:clamp(21px,2vw,29px)/1.5 Georgia,serif; color:#e1d8c9; }
.about-copy p:last-child { color:var(--smoke); font-size:14px; line-height:1.75; }

.quote-cta { min-height:760px; position:relative; display:grid; place-items:center; text-align:center; background:url('/images/meat-platter-1200.webp') center/cover; }
.quote-cta-overlay { position:absolute; inset:0; background:rgba(5,5,4,.72); }
.quote-cta > div:last-child { position:relative; z-index:1; padding:90px 20px; display:flex; flex-direction:column; align-items:center; }
.quote-cta h2 { font-size:clamp(68px,9vw,130px); }
.quote-cta p:not(.eyebrow) { max-width:600px; margin:30px 0 34px; font:clamp(18px,2vw,25px)/1.55 Georgia,serif; }

.contact-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; background:#0b0a09; }
.contact-intro > p:not(.eyebrow) { color:var(--smoke); line-height:1.7; max-width:460px; margin:27px 0 40px; }
.contact-placeholder { padding:17px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
.contact-placeholder:last-child { border-bottom:1px solid var(--line); }
.contact-placeholder span { color:#777169; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.contact-placeholder strong { font-size:12px; font-weight:400; }
.quote-form { display:grid; gap:24px; align-self:start; }
.quote-form > label,.form-row label { display:grid; gap:9px; color:#9f988e; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.quote-form input,.quote-form textarea { width:100%; border:1px solid #39342f; border-radius:0; background:#141210; color:#fff; padding:15px 16px; outline:none; text-transform:none; }
.quote-form input:focus,.quote-form textarea:focus { border-color:var(--ember); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.quote-form fieldset { border:0; padding:0; margin:0; }
.quote-form legend { color:#9f988e; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
.choice-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.choice-row label { position:relative; cursor:pointer; }
.choice-row input { position:absolute; opacity:0; pointer-events:none; }
.choice-row span { min-height:50px; display:grid; place-items:center; border:1px solid #39342f; color:#b8b1a6; font-size:11px; text-transform:uppercase; }
.choice-row input:checked + span { border-color:var(--ember); background:rgba(228,91,34,.12); color:#fff; }
.quote-form .button { justify-self:start; }
.form-status { margin:0; color:var(--ember-light); font-size:12px; line-height:1.5; }

footer { padding:90px clamp(20px,6vw,96px) 28px; background:#060605; }
.footer-top { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding-bottom:75px; }
.footer-brand { display:grid; grid-template-columns:57px 1fr; align-items:start; column-gap:20px; }
.footer-brand .brand-mark { grid-row:1/3; width:50px; height:50px; }
.footer-brand h2 { font-size:clamp(48px,6vw,82px); }
.footer-brand p { grid-column:2; color:var(--smoke); margin:16px 0 0; font-family:Georgia,serif; }
.footer-contact { display:grid; grid-template-columns:repeat(2,1fr); gap:0 40px; }
.footer-contact > div { padding:20px 0 25px; border-top:1px solid var(--line); }
.footer-contact span { color:#777169; font-size:8px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.footer-contact p { margin:8px 0 0; font-size:14px; }
.footer-bottom { padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:28px; color:#6f6961; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.footer-bottom p { margin:0; }
.footer-bottom div { display:flex; gap:28px; }
.whatsapp { position:fixed; right:21px; bottom:21px; z-index:8; min-height:52px; display:flex; align-items:center; gap:10px; padding:0 19px 0 9px; border-radius:99px; background:#25d366; color:#071f10; box-shadow:0 10px 30px rgba(0,0,0,.3); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.whatsapp b { width:34px; height:34px; display:grid; place-items:center; border:2px solid #071f10; border-radius:50%; font-size:8px; }

/* B2B ordering */
.order-page { min-height:100vh; background:#0c0b09; overflow:hidden; }
.order-nav { min-height:86px; padding:0 clamp(20px,6vw,96px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:#080807; }
.order-back { font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.order-back span { color:var(--ember); margin-left:12px; }
.order-hero { padding:clamp(90px,10vw,150px) clamp(20px,6vw,96px) 62px; position:relative; background:linear-gradient(90deg,rgba(7,7,6,.98),rgba(7,7,6,.68)),url('/images/hero-fire-2000.webp') center/cover; }
.order-hero h1,.confirmation-page h1 { margin:0; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size:clamp(78px,11vw,158px); line-height:.78; text-transform:uppercase; }
.order-hero > p:not(.eyebrow) { max-width:590px; margin:34px 0 44px; color:#b0a99e; font:clamp(18px,2vw,25px)/1.55 Georgia,serif; }
.order-process { display:flex; gap:8px; flex-wrap:wrap; }
.order-process span { min-width:180px; padding:16px 18px; border:1px solid var(--line); color:#a59e94; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.test-data-banner { min-height:68px; padding:15px clamp(20px,6vw,96px); display:flex; align-items:center; gap:24px; background:#f0b52f; color:#171109; }
.test-data-banner strong { flex:none; font-size:11px; letter-spacing:.14em; }
.test-data-banner span { font-size:13px; line-height:1.5; }
.schedule-banner { min-height:82px; padding:16px clamp(20px,6vw,96px); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; background:#e45b22; color:#fff; }
.schedule-banner strong { font-size:10px; letter-spacing:.14em; }
.schedule-banner span { font:18px/1.4 Georgia,serif; }
.schedule-banner small { max-width:180px; color:#ffd9c7; font-size:9px; line-height:1.45; }
.order-form { background:#11100e; }
.order-section { padding:clamp(76px,8vw,120px) clamp(20px,6vw,96px); border-bottom:1px solid var(--line); }
.order-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:48px; }
.order-section-heading > div { position:relative; }
.order-section-heading > div > span { position:absolute; left:-32px; top:3px; color:#716b62; font-size:8px; font-weight:900; }
.order-section-heading .eyebrow { margin-bottom:20px; }
.order-section-heading h2 { font-size:clamp(55px,7vw,100px); }
.order-section-heading > p { max-width:480px; margin:0 0 5px; color:var(--smoke); font-size:14px; line-height:1.7; }
.catalogue-intro { max-width:480px; }
.catalogue-intro p { color:var(--smoke); font-size:14px; line-height:1.7; }
.catalogue-intro strong { color:var(--ember-light); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.supply-selector { margin:0 0 32px; padding:0; border:0; }
.supply-selector legend { margin-bottom:10px; color:#948d84; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.supply-selector label { display:inline-block; position:relative; cursor:pointer; }
.supply-selector input { position:absolute; opacity:0; }
.supply-selector label span { min-width:128px; min-height:49px; padding:0 22px; display:grid; place-items:center; border:1px solid #3d3934; color:#aaa399; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.supply-selector input:checked + span { background:var(--ember); border-color:var(--ember); color:#fff; }
.catalogue-message { min-height:130px; padding:35px; display:flex; flex-direction:column; justify-content:center; gap:10px; border:1px solid var(--line); color:var(--smoke); }
.catalogue-message strong { color:var(--cream); text-transform:uppercase; }
.catalogue-message.error { border-color:#8d3b24; }
.product-list { border-top:1px solid var(--line); }
.catalogue-group { margin-top:68px; }
.catalogue-group > header { min-height:77px; padding:0 18px; display:grid; grid-template-columns:60px 1fr auto; align-items:center; background:#e8dfcf; color:#17130f; }
.catalogue-group > header span { color:var(--ember); font-size:9px; font-weight:900; }
.catalogue-group > header h3 { margin:0; font:clamp(34px,4vw,54px)/1 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; text-transform:uppercase; }
.catalogue-group > header p { margin:0; color:#6d645a; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.order-product { min-height:145px; display:grid; grid-template-columns:.55fr 2.25fr 1fr .8fr .65fr 1fr; align-items:center; gap:24px; border-bottom:1px solid var(--line); }
.order-product.catalogue-product { grid-template-columns:2.2fr 1.45fr .55fr .9fr; padding:22px 18px; }
.product-group { align-self:stretch; padding:25px 0; display:flex; flex-direction:column; justify-content:space-between; }
.product-group > span,.product-description > p { margin:0; color:var(--ember-light); font-size:8px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.product-group small { width:max-content; padding:5px 8px; border:1px solid #44664c; color:#8fc39b; font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.product-description h3 { margin:8px 0; font-size:clamp(19px,2vw,27px); line-height:1; text-transform:uppercase; }
.product-description > span { color:#827c73; font-size:11px; line-height:1.45; }
.weight-warning { width:max-content; max-width:100%; margin-top:12px; padding:7px 9px; display:block; background:#f0b52f; color:#171109; font-size:7px; letter-spacing:.09em; text-transform:uppercase; }
.price-choice { display:flex; gap:7px; border:0; padding:0; margin:0; }
.price-choice legend { margin-bottom:8px; color:#777169; font-size:7px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.price-choice label { min-width:100px; position:relative; cursor:pointer; }
.price-choice input { position:absolute; opacity:0; }
.price-choice label span { min-height:57px; padding:8px 10px; display:grid; gap:5px; border:1px solid #3d3934; }
.price-choice label b { color:#7c766e; font-size:7px; letter-spacing:.12em; text-transform:uppercase; }
.price-choice label strong { font-size:12px; }
.price-choice input:checked + span { border-color:var(--ember); background:rgba(228,91,34,.12); }
.price-choice input:checked + span b { color:var(--ember-light); }
.product-meta,.product-price,.product-total,.product-quantity { display:grid; gap:9px; }
.product-meta span,.product-price span,.product-total span,.product-quantity > span { color:#777169; font-size:7px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.product-meta strong,.product-price strong,.product-total strong { font-size:12px; font-weight:600; }
.product-quantity input { width:74px; height:48px; padding:0 10px; border:1px solid #47413b; background:#191714; color:#fff; text-align:center; outline:none; }
.product-quantity input:focus { border-color:var(--ember); }
.product-total strong { color:var(--ember-light); }
.details-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.42fr); align-items:start; }
.order-section.compact { padding-right:clamp(30px,5vw,76px); }
.order-section.compact .order-section-heading { display:block; }
.order-section.compact .order-section-heading h2 { font-size:clamp(52px,6vw,82px); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.field-grid label { display:grid; gap:9px; color:#9f988e; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.field-grid label.wide { grid-column:1/-1; }
.field-grid em { color:#69645d; font-style:normal; }
.field-grid input,.field-grid textarea { width:100%; padding:15px 16px; border:1px solid #3b3631; border-radius:0; background:#171512; color:#fff; outline:none; resize:vertical; text-transform:none; }
.field-grid input:focus,.field-grid textarea:focus { border-color:var(--ember); }
.field-grid input[type="date"] { color-scheme:dark; }
.delivery-option { margin-top:24px; padding:20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:17px; border:1px solid #493f36; background:#181512; cursor:pointer; }
.delivery-option input { width:20px; height:20px; accent-color:var(--ember); }
.delivery-option span { display:grid; gap:7px; }
.delivery-option b { font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.delivery-option small { color:#888178; font-size:10px; line-height:1.45; }
.delivery-option > strong { color:var(--ember-light); }
.order-summary { position:sticky; top:0; min-height:100vh; padding:clamp(60px,6vw,90px) clamp(24px,4vw,58px); background:#e8dfcf; color:#15120f; }
.order-summary .eyebrow { color:#b44217; }
.order-summary h2 { font-size:clamp(54px,5.5vw,78px); }
.summary-items { margin:38px 0 26px; border-top:1px solid rgba(21,18,15,.2); }
.summary-items > div { padding:15px 0; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(21,18,15,.15); font-size:11px; line-height:1.4; }
.summary-items > div strong { flex:none; }
.summary-items > div span { display:grid; gap:5px; }
.summary-items > div small { color:#8c8074; font-size:7px; font-weight:900; letter-spacing:.1em; }
.summary-items > p { color:#6c645b; font-size:12px; }
.summary-row { padding:9px 0; display:flex; justify-content:space-between; color:#514a43; font-size:11px; }
.grand-total { padding:25px 0; display:flex; justify-content:space-between; align-items:center; border-top:2px solid #17130f; border-bottom:2px solid #17130f; }
.grand-total span { font-size:10px; font-weight:900; letter-spacing:.13em; }
.grand-total strong { font:30px Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; }
.summary-note,.summary-warning { color:#6d645a; font-size:10px; line-height:1.55; }
.summary-warning { padding:11px 12px; background:#f0b52f; color:#1c150a; font-weight:800; }
.submit-error { padding:12px; background:#6e231c; color:#fff; font-size:11px; line-height:1.5; }
.order-summary .button { width:100%; margin-top:18px; }
.order-summary .button:disabled { opacity:.6; cursor:wait; }
.order-footer { min-height:86px; padding:25px clamp(20px,6vw,96px); display:flex; justify-content:space-between; align-items:center; gap:25px; color:#777169; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.confirmation-page { min-height:100svh; padding:38px clamp(20px,7vw,110px); display:grid; align-content:space-between; background:linear-gradient(90deg,rgba(7,7,6,.98),rgba(7,7,6,.72)),url('/images/hero-fire-2000.webp') center/cover; }
.confirmation-page > section { max-width:850px; padding:70px 0; }
.confirmation-mark { width:58px; height:58px; margin-bottom:28px; display:grid; place-items:center; border:1px solid var(--ember); border-radius:50%; color:var(--ember-light); font-size:25px; }
.confirmation-page section > p:not(.eyebrow) { max-width:610px; color:#aaa399; font:20px/1.6 Georgia,serif; }
.reference-box { max-width:610px; margin:35px 0 18px; padding:20px 24px; display:flex; justify-content:space-between; gap:24px; border:1px solid var(--line); }
.reference-box span { color:#777169; font-size:8px; font-weight:900; letter-spacing:.13em; }
.reference-box strong { color:var(--ember-light); letter-spacing:.08em; }
.confirmation-note { max-width:610px; padding:16px 20px; display:grid; gap:7px; background:rgba(240,181,47,.12); border-left:3px solid #f0b52f; }
.confirmation-note strong { font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.confirmation-note span { color:#aaa399; font-size:11px; }
.confirmation-actions { margin-top:28px; display:flex; gap:10px; flex-wrap:wrap; }
.receipt-panel { max-width:610px; margin:18px 0; padding:20px 24px; border:1px solid var(--line); background:rgba(8,8,7,.84); backdrop-filter:blur(8px); }
.receipt-items > span { color:#777169; font-size:8px; font-weight:900; letter-spacing:.13em; }
.receipt-items > div { padding:13px 0; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }
.receipt-items p { margin:0; display:grid; gap:5px; font-size:11px; }
.receipt-items small { color:#8e877d; font-size:7px; letter-spacing:.09em; }
.receipt-items > div > strong { flex:none; color:var(--cream); font-size:11px; }
.receipt-totals { padding-top:13px; }
.receipt-totals > div { padding:6px 0; display:flex; justify-content:space-between; gap:18px; color:#aaa399; font-size:10px; }
.receipt-totals > div:last-child { margin-top:7px; padding-top:15px; border-top:2px solid var(--ember); color:#fff; font-size:16px; font-weight:900; text-transform:uppercase; }

/* Staff order admin */
.admin-page,.admin-login { min-height:100vh; background:#0d0c0a; }
.admin-header { min-height:76px; padding:0 30px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); background:#070706; }
.admin-header > div { display:flex; align-self:stretch; }
.admin-header > div button { padding:0 22px; border:0; border-bottom:2px solid transparent; background:transparent; color:#777169; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.admin-header > div button.active { color:#fff; border-color:var(--ember); }
.admin-header > span { justify-self:end; color:#6e6860; font-size:8px; font-weight:900; letter-spacing:.15em; }
.admin-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,32vw); min-height:calc(100vh - 76px); }
.admin-orders { min-width:0; padding:55px 34px; }
.admin-title { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px; }
.admin-title h1 { margin:0; font:clamp(65px,8vw,110px)/.8 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; text-transform:uppercase; }
.admin-title > span { color:#777169; font-size:9px; text-transform:uppercase; }
.admin-search { height:48px; margin-bottom:20px; display:flex; }
.admin-search input { flex:1; min-width:0; padding:0 16px; border:1px solid #3c3732; background:#151310; color:#fff; outline:none; }
.admin-search button { padding:0 23px; border:0; background:var(--ember); color:#fff; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.admin-table-wrap { overflow:auto; border:1px solid var(--line); }
.admin-table-wrap table { width:100%; min-width:1100px; border-collapse:collapse; }
.admin-table-wrap th { padding:13px 14px; background:#181511; color:#766f66; font-size:7px; letter-spacing:.13em; text-align:left; text-transform:uppercase; }
.admin-table-wrap td { padding:16px 14px; border-top:1px solid var(--line); color:#b4ada3; font-size:10px; white-space:nowrap; }
.admin-table-wrap tbody tr { cursor:pointer; }
.admin-table-wrap tbody tr:hover { background:#181511; }
.admin-table-wrap td strong { color:#fff; }
.status-pill { padding:6px 8px; border:1px solid #7a3b24; color:var(--ember-light); font-size:8px; font-weight:900; text-transform:uppercase; }
.admin-empty { padding:35px; color:#777169; }
.admin-detail { position:sticky; top:0; height:calc(100vh - 76px); overflow:auto; padding:55px 32px; background:#e8dfcf; color:#18140f; }
.admin-detail .eyebrow { color:#b44217; }
.admin-detail h2 { margin:0 0 25px; font-size:31px; line-height:1; overflow-wrap:anywhere; }
.detail-close { float:right; border:0; background:transparent; color:#7b7167; font-size:8px; font-weight:900; text-transform:uppercase; cursor:pointer; }
.detail-status label { display:grid; gap:7px; color:#766d63; font-size:8px; font-weight:900; text-transform:uppercase; }
.detail-status select { padding:13px; border:1px solid #9f9588; background:#f4ecdf; color:#17130f; }
.detail-block { margin-top:25px; padding-top:20px; border-top:1px solid rgba(24,20,15,.2); }
.detail-block > span,.detail-items small { color:#8d8175; font-size:7px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.detail-block strong { display:block; margin:8px 0; font-size:17px; }
.detail-block p,.detail-block small { color:#5e564e; font-size:11px; line-height:1.55; }
.detail-items { margin-top:24px; border-top:1px solid rgba(24,20,15,.22); }
.detail-items > div { padding:14px 0; display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(24,20,15,.15); font-size:10px; }
.detail-items > div span { display:grid; gap:5px; }
.detail-totals { margin-top:20px; }
.detail-totals > div { padding:7px 0; display:flex; justify-content:space-between; font-size:11px; }
.detail-totals > div:last-child { margin-top:7px; padding-top:16px; border-top:2px solid #1b1712; font-size:18px; }
.detail-placeholder { height:100%; display:grid; place-content:center; gap:18px; text-align:center; color:#756c62; }
.detail-placeholder > span { color:var(--ember); font-size:36px; }
.detail-placeholder p { max-width:250px; font:18px/1.5 Georgia,serif; }
.admin-settings { padding:70px clamp(20px,6vw,90px); }
.admin-settings form { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; align-items:start; }
.admin-settings fieldset { min-height:310px; padding:25px; display:grid; gap:18px; border:1px solid var(--line); }
.admin-settings legend { padding:0 10px; color:var(--ember-light); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.admin-settings label { display:grid; gap:7px; color:#8f887f; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.admin-settings input { padding:13px; border:1px solid #3d3833; background:#171512; color:#fff; }
.admin-settings fieldset p { color:#777169; font-size:10px; line-height:1.5; }
.admin-settings form > .button { grid-column:1/-1; justify-self:start; margin-top:18px; }
.admin-error-banner { padding:13px 30px; display:flex; justify-content:space-between; background:#7d271f; }
.admin-error-banner button { border:0; background:transparent; color:#fff; }
.admin-login { display:grid; place-items:center; padding:30px; background:linear-gradient(90deg,rgba(7,7,6,.96),rgba(7,7,6,.75)),url('/images/fire-cooking-1200.webp') center/cover; }
.admin-login form { width:min(480px,100%); padding:45px; border:1px solid var(--line); background:rgba(8,8,7,.92); }
.admin-login h1 { margin:0; font:70px/.8 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; }
.admin-login > form > p:not(.eyebrow) { color:var(--smoke); }
.admin-login label { display:grid; gap:8px; margin:28px 0; color:#948c82; font-size:9px; font-weight:900; text-transform:uppercase; }
.admin-login input { padding:14px; border:1px solid #443d36; background:#171411; color:#fff; }
.admin-error { color:#ff8566; font-size:11px; }

@media (max-width:1050px) {
  .division-card,.division-card.reverse { grid-template-columns:1fr 1fr; }
  .hospitality,.wood-fire { grid-template-columns:1fr 1fr; }
  .who-grid { grid-template-columns:repeat(2,1fr); }
  .trade-specials { grid-template-columns:1fr; gap:25px; align-items:start; }
  .contact-section { gap:6vw; }
  .order-product { grid-template-columns:.5fr 1.7fr .8fr .75fr .6fr .9fr; gap:15px; }
  .order-product.catalogue-product { grid-template-columns:1.7fr 1.2fr .55fr .8fr; }
  .details-layout { grid-template-columns:minmax(0,1fr) 350px; }
  .admin-layout { grid-template-columns:1fr; }
  .admin-detail { position:fixed; inset:76px 0 0 auto; z-index:10; width:min(440px,100%); transform:translateX(105%); transition:.3s; }
  .admin-detail.open { transform:translateX(0); }
  .admin-settings form { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .section { padding:76px 20px; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:23px; margin-bottom:34px; }
  h2 { font-size:clamp(55px,17vw,80px); }
  .nav { height:70px; padding:0 19px; }
  .brand { font-size:10px; }
  .brand-mark { width:34px; height:34px; font-size:19px; }
  .menu-button { display:block; z-index:6; }
  .nav-links { position:fixed; inset:0; height:100svh; flex-direction:column; justify-content:center; align-items:center; gap:31px; background:#090908; font-size:15px; transform:translateY(-110%); transition:.35s; }
  .nav-links.open { transform:translateY(0); }
  .nav-links .nav-order { margin:0; padding:15px 28px; }
  .hero { background-position:62% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(5,5,4,.94),rgba(5,5,4,.4)),linear-gradient(0deg,rgba(5,5,4,.78),transparent 52%); }
  .hero-content { width:calc(100% - 38px); margin-left:19px; padding-top:42px; }
  .hero h1 { font-size:clamp(65px,21.5vw,96px); }
  .hero-line { margin-top:27px; }
  .hero-support { max-width:350px; font-size:13px; }
  .hero-actions { flex-direction:column; max-width:320px; }
  .hero-stamp,.scroll-cue { display:none; }
  .division-card,.division-card.reverse { grid-template-columns:1fr; }
  .division-card.reverse .division-image { order:0; }
  .division-image { min-height:420px; }
  .division-copy { padding:52px 20px 62px; }
  .division-copy h3 { font-size:70px; }
  .division-copy ul { grid-template-columns:1fr; }
  .hospitality,.wood-fire,.about,.contact-section { grid-template-columns:1fr; }
  .hospitality { gap:55px; }
  .hospitality::before { background:repeating-linear-gradient(90deg,transparent 0 42px,#795535 43px,#795535 44px); }
  .partner-list > div { min-height:67px; }
  .who-grid { grid-template-columns:1fr; }
  .who-card { min-height:270px; }
  .meat-strip { grid-template-columns:repeat(7,78vw); }
  .meat-card { min-height:430px; }
  .wood-fire-image { min-height:480px; }
  .wood-fire-copy { padding:76px 20px 84px; }
  .wood-fire-copy .button { width:100%; }
  .trade-specials { gap:22px; }
  .trade-specials h2 { font-size:56px; }
  .about { gap:42px; }
  .quote-cta { min-height:650px; }
  .quote-cta h2 { font-size:clamp(59px,17.5vw,84px); }
  .contact-section { gap:56px; }
  .form-row { grid-template-columns:1fr; }
  .quote-form .button { width:100%; }
  .contact-placeholder { flex-direction:column; gap:8px; }
  .footer-top { grid-template-columns:1fr; gap:54px; }
  .footer-contact { grid-template-columns:1fr; }
  .footer-brand { grid-template-columns:43px 1fr; column-gap:15px; }
  .footer-brand .brand-mark { width:40px; height:40px; }
  .footer-bottom,.footer-bottom div { flex-direction:column; gap:12px; }
  .whatsapp { width:52px; padding:9px; }
  .whatsapp span { display:none; }
  .order-nav { min-height:70px; padding:0 19px; }
  .order-back { font-size:0; }
  .order-back span { margin:0; font-size:20px; }
  .order-hero { padding:80px 20px 45px; }
  .order-hero h1,.confirmation-page h1 { font-size:clamp(76px,23vw,108px); }
  .order-hero > p:not(.eyebrow) { margin:27px 0 34px; font-size:17px; }
  .schedule-banner { padding:18px 20px; grid-template-columns:1fr; gap:8px; }
  .schedule-banner small { max-width:none; }
  .order-process { display:grid; grid-template-columns:1fr; }
  .order-process span { min-width:0; }
  .test-data-banner { padding:17px 20px; align-items:flex-start; flex-direction:column; gap:7px; }
  .order-section { padding:72px 20px; }
  .order-section-heading { align-items:flex-start; flex-direction:column; gap:24px; margin-bottom:34px; }
  .order-section-heading > div > span { display:none; }
  .order-section-heading h2,.order-section.compact .order-section-heading h2 { font-size:58px; }
  .catalogue-intro { max-width:none; }
  .supply-selector { display:grid; grid-template-columns:repeat(3,1fr); }
  .supply-selector label span { min-width:0; padding:0 8px; }
  .order-product { padding:24px 0; grid-template-columns:1fr 1fr; gap:22px 16px; }
  .order-product.catalogue-product { padding:25px 0; grid-template-columns:1fr 1fr; }
  .product-group { grid-column:1/-1; padding:0; flex-direction:row; }
  .product-description { grid-column:1/-1; }
  .catalogue-group { margin-top:50px; }
  .catalogue-group > header { padding:0 13px; grid-template-columns:35px 1fr; }
  .catalogue-group > header p { display:none; }
  .catalogue-group > header h3 { font-size:39px; }
  .price-choice { grid-column:1/-1; }
  .price-choice label { flex:1; }
  .product-meta,.product-price { border-top:1px solid var(--line); padding-top:15px; }
  .product-quantity input { width:100%; }
  .product-total { align-self:end; }
  .details-layout { grid-template-columns:1fr; }
  .order-section.compact { padding-right:20px; }
  .field-grid { grid-template-columns:1fr; }
  .field-grid label.wide { grid-column:auto; }
  .delivery-option { grid-template-columns:auto 1fr; }
  .delivery-option > strong { grid-column:2; }
  .order-summary { position:relative; min-height:0; padding:70px 20px; }
  .order-summary h2 { font-size:60px; }
  .order-footer { align-items:flex-start; flex-direction:column; }
  .confirmation-page { padding:25px 20px; }
  .confirmation-page > section { padding:65px 0; }
  .reference-box { align-items:flex-start; flex-direction:column; }
  .confirmation-actions { flex-direction:column; }
  .confirmation-actions .button { width:100%; }
  .admin-header { min-height:70px; padding:0 16px; grid-template-columns:1fr auto; }
  .admin-header .brand { font-size:0; }
  .admin-header > div { order:3; grid-column:1/-1; min-height:50px; justify-content:space-around; border-top:1px solid var(--line); }
  .admin-header > div button { padding:0 10px; }
  .admin-header > span { font-size:7px; }
  .admin-layout { min-height:calc(100vh - 121px); }
  .admin-orders { padding:42px 16px; }
  .admin-title { align-items:flex-start; flex-direction:column; gap:14px; }
  .admin-title h1 { font-size:74px; }
  .admin-detail { inset:121px 0 0; width:100%; height:calc(100vh - 121px); }
  .admin-settings { padding:48px 16px; }
  .admin-settings fieldset { min-height:0; }
  .admin-login form { padding:32px 22px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

/* Premium customer storefront */
body { overflow-x:hidden; }
.storefront { background:#090908; overflow:hidden; }
.storefront-hero { min-height:100svh; position:relative; display:flex; align-items:center; overflow:hidden; background:#0a0908; }
.hero-photo,.hero-photo img { position:absolute; inset:0; width:100%; height:100%; }
.hero-photo img { object-fit:cover; object-position:62% 50%; }
.storefront-hero .hero-shade { z-index:1; background:linear-gradient(90deg,rgba(5,5,4,.98) 0%,rgba(5,5,4,.86) 36%,rgba(5,5,4,.28) 72%,rgba(5,5,4,.15)),linear-gradient(0deg,rgba(5,5,4,.9),transparent 45%); }
.storefront-hero .nav { position:absolute; }
.storefront-hero-content { position:relative; z-index:2; width:min(900px,86vw); margin-left:clamp(20px,7.5vw,120px); padding:115px 0 100px; }
.storefront-hero-content h1 { margin:0; font-size:clamp(80px,11.4vw,172px); line-height:.72; text-shadow:0 8px 50px rgba(0,0,0,.4); }
.storefront-hero-content h1 span { color:var(--ember-light); }
.storefront-hero .hero-line { margin:34px 0 12px; font-size:clamp(24px,2.6vw,38px); }
.storefront-hero .hero-support { max-width:560px; font-size:clamp(14px,1.3vw,18px); }
.hero-rail { position:absolute; z-index:2; right:0; bottom:0; left:0; min-height:56px; padding:0 clamp(20px,6vw,96px); display:flex; align-items:center; justify-content:flex-end; gap:22px; border-top:1px solid rgba(255,255,255,.2); background:rgba(5,5,4,.5); backdrop-filter:blur(7px); color:#b3aca2; font-size:8px; font-weight:900; letter-spacing:.17em; }
.hero-rail i { width:4px; height:4px; border-radius:50%; background:var(--ember); }

.category-shop { position:relative; background:radial-gradient(circle at 80% 2%,rgba(228,91,34,.09),transparent 28%),#11100e; }
.category-shop::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.06; background:repeating-linear-gradient(93deg,transparent 0 17px,rgba(255,255,255,.2) 18px,transparent 19px 42px); }
.category-shop > * { position:relative; z-index:1; }
.category-shop .section-intro { display:grid; gap:24px; }
.category-shop .section-intro p { margin:0; }
.category-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:clamp(250px,28vw,430px); gap:10px; }
.category-card { position:relative; overflow:hidden; isolation:isolate; border:1px solid rgba(255,255,255,.08); }
.category-card::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(4,4,3,.96),rgba(4,4,3,.12) 68%); transition:.35s; }
.category-card picture,.category-card img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; }
.category-card img { object-fit:cover; filter:saturate(.82) contrast(1.04); transition:transform .7s ease,filter .4s; }
.category-card:hover img,.category-card:focus-visible img { transform:scale(1.04); filter:saturate(1) contrast(1.05); }
.category-card:hover::after,.category-card:focus-visible::after { background:linear-gradient(0deg,rgba(4,4,3,.98),rgba(4,4,3,.03) 72%); }
.category-card > div { position:absolute; right:24px; bottom:24px; left:24px; }
.category-card small { color:var(--ember-light); font-size:8px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.category-card h3 { margin:7px 0 13px; font:clamp(34px,4.5vw,72px)/.83 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; text-transform:uppercase; }
.category-card > div > span { font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.category-number { position:absolute; top:20px; left:20px; color:#fff; font-size:9px; font-weight:900; letter-spacing:.16em; }
.category-1,.category-2 { grid-column:span 6; }
.category-3,.category-4,.category-5,.category-6 { grid-column:span 3; }
.category-3 h3,.category-4 h3,.category-5 h3,.category-6 h3 { font-size:clamp(32px,3.7vw,58px); }

.braai-banner { padding:clamp(75px,9vw,135px) clamp(20px,7vw,110px); display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:8vw; position:relative; color:#15110d; background:#dd5b28; }
.braai-banner::before { content:""; position:absolute; inset:0; opacity:.15; background:repeating-linear-gradient(95deg,transparent 0 32px,#32190e 33px,transparent 34px 65px); }
.braai-banner > div { position:relative; z-index:1; }
.braai-banner .eyebrow { color:#31190f; }
.braai-banner h2 { font-size:clamp(76px,10vw,150px); }
.braai-banner > div:last-child { padding-bottom:8px; }
.braai-banner > div:last-child p { max-width:520px; margin:0 0 30px; font:clamp(21px,2.2vw,32px)/1.4 Georgia,serif; }
.button-dark { background:#11100e; border-color:#11100e; color:#fff; }
.button-dark:hover,.button-dark:focus-visible { background:#2a231d; transform:translateY(-2px); }

.brand-story { min-height:850px; display:grid; grid-template-columns:1fr 1fr; }
.story-photo { min-height:680px; position:relative; overflow:hidden; background:#19130f; }
.story-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,rgba(8,8,7,.3)); }
.story-photo picture,.story-photo img { width:100%; height:100%; }
.story-photo img { object-fit:cover; }
.story-copy { padding:clamp(75px,8vw,135px); display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 0 0,rgba(116,80,56,.3),transparent 36%),#0c0b0a; }
.story-copy h2 { font-size:clamp(62px,7.2vw,104px); }
.story-copy > p:not(.eyebrow) { color:var(--smoke); line-height:1.72; }
.story-copy .story-lead { margin:35px 0 8px; color:#e7dfd2; font:clamp(20px,2vw,29px)/1.45 Georgia,serif; }
.story-points { margin:32px 0 36px; border-top:1px solid var(--line); }
.story-points span { min-height:54px; display:flex; align-items:center; gap:18px; border-bottom:1px solid var(--line); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.story-points b { color:var(--ember-light); font-size:8px; }

.order-invite { min-height:720px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; background:linear-gradient(rgba(6,6,5,.74),rgba(6,6,5,.9)),url('/images/meat-platter-1200.webp') center/cover; }
.order-invite h2 { font-size:clamp(82px,12vw,180px); }
.order-invite > p:not(.eyebrow) { max-width:650px; margin:35px auto; color:#c6bfb5; font:clamp(17px,1.7vw,23px)/1.6 Georgia,serif; }
.contact-band { display:grid; grid-template-columns:1fr 1fr; gap:9vw; background:#15120f; }
.contact-list { align-self:end; }
.contact-list > div { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); }
.contact-list > div:last-child { border-bottom:1px solid var(--line); }
.contact-list span { color:#777169; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.contact-list strong { font-size:11px; font-weight:500; }
.contact-list a { transition:color .2s; }
.contact-list a:hover,.contact-list a:focus-visible { color:var(--ember-light); }
.contact-actions { display:flex; align-items:center; gap:12px; }
.contact-actions > a:first-child { font-size:12px; font-weight:700; }
.contact-whatsapp { min-height:34px; padding:0 13px; display:inline-flex; align-items:center; border:1px solid #25d366; color:#72e69b; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.footer-lockup { display:flex; align-items:flex-start; gap:24px; }
.footer-lockup h2 { font-size:clamp(56px,8vw,110px); }
.footer-lockup .brand-mark { flex:none; width:50px; height:50px; }
.footer-links { margin:70px 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.footer-links a { min-height:70px; display:grid; place-items:center; border-right:1px solid var(--line); font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.footer-links a:last-child { border-right:0; }
.footer-links a:hover,.footer-links a:focus-visible { color:var(--ember-light); }
.footer-contact-links { margin-bottom:42px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--line); }
.footer-contact-links a { min-width:0; padding:19px 16px 21px 0; display:flex; flex-direction:column; gap:8px; border-bottom:1px solid var(--line); }
.footer-contact-links span { color:#777169; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.footer-contact-links strong { overflow-wrap:anywhere; font-size:11px; font-weight:600; }
.footer-contact-links a:hover strong,.footer-contact-links a:focus-visible strong { color:var(--ember-light); }
.mobile-order-bar { display:none; }

.order-contact-strip { min-height:76px; padding:14px clamp(20px,6vw,96px); display:flex; align-items:center; gap:clamp(22px,4vw,58px); border-bottom:1px solid var(--line); background:#15120f; }
.order-contact-strip > strong { color:var(--ember-light); font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.order-contact-strip > div { display:flex; align-items:center; gap:12px; }
.order-contact-strip span { color:#777169; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.order-contact-strip a { font-size:10px; font-weight:700; }
.order-contact-strip div a:last-child { padding-left:12px; border-left:1px solid var(--line); color:#72e69b; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.order-contact-email { margin-left:auto; }

@media (max-width:900px) {
  .category-grid { grid-auto-rows:330px; }
  .category-3,.category-4,.category-5,.category-6 { grid-column:span 6; }
  .brand-story { grid-template-columns:.8fr 1.2fr; }
  .story-copy { padding:75px 45px; }
}

@media (max-width:760px) {
  .storefront { padding-bottom:68px; }
  .storefront-hero { min-height:780px; }
  .storefront-hero .nav { height:72px; }
  .storefront-hero .hero-photo img { object-position:62% center; }
  .storefront-hero .hero-shade { background:linear-gradient(90deg,rgba(5,5,4,.96),rgba(5,5,4,.54)),linear-gradient(0deg,rgba(5,5,4,.96),transparent 65%); }
  .storefront-hero-content { width:calc(100% - 38px); margin-left:19px; padding:110px 0 90px; }
  .storefront-hero-content h1 { font-size:clamp(70px,22vw,94px); }
  .storefront-hero .hero-line { margin-top:30px; }
  .storefront-hero .hero-actions { max-width:none; }
  .storefront-hero .hero-actions .button { width:100%; }
  .hero-rail { min-height:46px; justify-content:flex-start; gap:12px; white-space:nowrap; overflow:hidden; font-size:6px; }
  .category-shop { padding-top:86px; }
  .category-grid { grid-template-columns:1fr; grid-auto-rows:330px; }
  .category-1,.category-2,.category-3,.category-4,.category-5,.category-6 { grid-column:auto; }
  .category-card h3,.category-3 h3,.category-4 h3,.category-5 h3,.category-6 h3 { font-size:54px; }
  .braai-banner { grid-template-columns:1fr; align-items:start; gap:42px; }
  .braai-banner h2 { font-size:78px; }
  .braai-banner .button { width:100%; }
  .brand-story { min-height:0; grid-template-columns:1fr; }
  .story-photo { min-height:520px; }
  .story-copy { padding:78px 20px; }
  .story-copy h2 { font-size:61px; }
  .order-invite { min-height:650px; }
  .order-invite h2 { font-size:78px; }
  .order-invite .button { width:100%; }
  .contact-band { grid-template-columns:1fr; gap:50px; }
  .contact-list > div { min-height:76px; align-items:flex-start; flex-direction:column; justify-content:center; gap:10px; }
  .contact-actions { width:100%; justify-content:space-between; }
  .footer-lockup { gap:17px; }
  .footer-lockup h2 { font-size:58px; }
  .footer-links { grid-template-columns:1fr 1fr; margin:55px 0; }
  .footer-links a { border-bottom:1px solid var(--line); }
  .footer-contact-links { grid-template-columns:1fr 1fr; }
  .footer-contact-links a:first-child { grid-column:1/-1; }
  .footer-bottom { padding-bottom:25px; }
  .mobile-order-bar { position:fixed; z-index:20; right:0; bottom:0; left:0; min-height:68px; display:grid; grid-template-columns:1.25fr 1fr 1fr; border-top:1px solid rgba(255,255,255,.16); background:#e45b22; color:#fff; box-shadow:0 -8px 30px rgba(0,0,0,.28); text-transform:uppercase; }
  .mobile-order-bar a { min-width:0; min-height:68px; padding:10px 9px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-right:1px solid rgba(255,255,255,.22); text-align:center; }
  .mobile-order-bar a:last-child { border-right:0; }
  .mobile-order-bar span { font-size:6px; font-weight:900; letter-spacing:.12em; }
  .mobile-order-bar b { font-size:9px; letter-spacing:.06em; }
  .order-contact-strip { padding:20px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .order-contact-strip > strong,.order-contact-email { grid-column:1/-1; margin-left:0; }
  .order-contact-strip > div { align-items:flex-start; flex-direction:column; gap:7px; }
  .order-contact-strip div a:last-child { padding:0; border:0; }
}

/* Catalogue card polish */
.catalogue-nav { position:sticky; top:0; z-index:15; min-height:58px; padding:0 clamp(20px,6vw,96px); display:flex; align-items:center; gap:8px; overflow-x:auto; background:rgba(8,8,7,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); scrollbar-width:none; }
.catalogue-nav::-webkit-scrollbar { display:none; }
.catalogue-nav a { flex:none; min-height:34px; padding:0 15px; display:grid; place-items:center; border:1px solid #38332e; color:#aaa399; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.catalogue-nav a:hover,.catalogue-nav a:focus-visible { border-color:var(--ember); color:#fff; }
.catalogue-group { scroll-margin-top:70px; }
.catalogue-group > header { min-height:245px; padding:28px; position:relative; overflow:hidden; isolation:isolate; grid-template-columns:55px 1fr auto; align-items:end; background:#17130f; color:#fff; }
.catalogue-group > header::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(5,5,4,.98),rgba(5,5,4,.1) 75%); }
.catalogue-group > header img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.catalogue-group > header h3 { font-size:clamp(50px,7vw,88px); }
.catalogue-group > header p { color:#aaa399; }
.catalogue-group .product-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:10px; border-top:0; }
.order-product.catalogue-product { min-width:0; min-height:360px; padding:28px; display:flex; flex-direction:column; align-items:stretch; gap:24px; border:1px solid var(--line); background:linear-gradient(145deg,#181613,#0e0d0b); }
.catalogue-product .product-description { min-height:104px; }
.catalogue-product .product-description h3 { font-size:clamp(22px,2vw,30px); line-height:1.02; }
.catalogue-product .price-choice { margin-top:auto; }
.catalogue-product .price-choice label { flex:1; min-width:0; }
.catalogue-product .price-choice label span { min-height:68px; padding:11px 12px; }
.catalogue-product .product-quantity { display:grid; gap:9px; }
.catalogue-product .product-quantity > div { display:grid; grid-template-columns:46px 1fr 46px; }
.catalogue-product .product-quantity button,.catalogue-product .product-quantity input { width:100%; height:50px; border:1px solid #47413b; background:#191714; color:#fff; }
.catalogue-product .product-quantity button { display:grid; place-items:center; cursor:pointer; font-size:22px; }
.catalogue-product .product-quantity button:hover,.catalogue-product .product-quantity button:focus-visible { border-color:var(--ember); color:var(--ember-light); }
.catalogue-product .product-quantity button:disabled { opacity:.35; cursor:not-allowed; }
.catalogue-product .product-quantity input { border-right:0; border-left:0; text-align:center; }
.catalogue-product .product-total { min-height:56px; padding-top:15px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); }
.catalogue-product .product-total strong { font-size:17px; }
.order-mobile-cart { display:none; }

@media (max-width:1100px) {
  .catalogue-group .product-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .order-page { padding-bottom:72px; }
  .catalogue-nav { min-height:56px; padding:0 14px; }
  .catalogue-nav a { min-height:36px; }
  .catalogue-group > header { min-height:220px; padding:20px; grid-template-columns:36px 1fr; }
  .catalogue-group > header h3 { font-size:52px; }
  .catalogue-group .product-list { grid-template-columns:1fr; gap:8px; }
  .order-product.catalogue-product { min-height:0; padding:25px 20px; display:flex; gap:20px; }
  .catalogue-product .product-description { min-height:0; }
  .catalogue-product .price-choice { width:100%; }
  .catalogue-product .product-quantity { width:100%; }
  .catalogue-product .product-total { width:100%; }
  .order-mobile-cart { position:fixed; z-index:30; right:0; bottom:0; left:0; min-height:72px; padding:0 16px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.2); background:#e45b22; color:#fff; box-shadow:0 -8px 30px rgba(0,0,0,.35); }
  .order-mobile-cart span { font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
  .order-mobile-cart strong { font-size:14px; text-align:center; }
  .order-mobile-cart b { font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
}

.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.email-order-note { max-width:720px; margin:24px 0 0; color:#aaa397; font-size:12px; line-height:1.6; }

