/* Division pages: readable specifications, authentic photography and clear routes to enquiry. */
.division-intro { padding: clamp(2.5rem,5vw,5rem) 0; border-bottom: 1px solid var(--rg-border); background: var(--rg-charcoal-2); }
.division-breadcrumb { display:flex; flex-wrap:wrap; gap:.65rem; color:var(--rg-text-dim); font-size:.8rem; margin-bottom:2rem; }
.division-breadcrumb a:hover { color:var(--rg-cyan); }
.division-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:end; }
.division-heading h1 { font-family:var(--font-display); font-size:clamp(2rem,4.2vw,4rem); line-height:1.08; letter-spacing:-.04em; max-width:850px; overflow-wrap:break-word; }
.division-heading .eyebrow { margin-bottom:1rem; }
.division-heading p:not(.eyebrow) { color:var(--rg-text-dim); font-size:1.05rem; line-height:1.8; }
.division-links { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.division-links a { border:1px solid var(--rg-border-strong); border-radius:100px; padding:.65rem 1rem; font-size:.82rem; transition:background .2s,border-color .2s; }
.division-links a:hover { background:var(--rg-hover-tint); border-color:var(--rg-cyan); }
.division-family { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); gap:clamp(1.5rem,4vw,4rem); align-items:start; padding:2.5rem 0; border-top:1px solid var(--rg-border); }
.division-photo { margin:0; min-width:0; }
.division-photo img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:var(--radius-md); display:block; }
.division-photo.contain img { object-fit:contain; background:#f0f3f6; padding:1rem; }
.division-photo figcaption { font-size:.77rem; line-height:1.6; color:var(--rg-text-dim); margin-top:.75rem; }
.division-family h3 { font-size:clamp(1.35rem,2.2vw,1.9rem); margin-bottom:1rem; }
.division-family p { color:var(--rg-text-dim); line-height:1.8; margin-bottom:1.25rem; }
.division-specs { width:100%; border-collapse:collapse; font-size:.88rem; }
.division-specs caption { text-align:left; font-weight:600; margin-bottom:.8rem; }
.division-specs th,.division-specs td { padding:.85rem .65rem; text-align:left; border-bottom:1px solid var(--rg-border); vertical-align:top; overflow-wrap:anywhere; }
.division-specs th { color:var(--rg-white); font-weight:600; }
.division-specs td { color:var(--rg-text-dim); }
.division-specs th:first-child { width:55%; }
.division-note { font-size:.83rem; line-height:1.7; color:var(--rg-text-dim); margin-top:1.5rem; }
.division-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.division-service { border:1px solid var(--rg-border); border-radius:var(--radius-md); overflow:hidden; background:var(--rg-surface); }
.division-service img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; }
.division-service > div { padding:1.5rem; }
.division-service h3 { font-size:1.2rem; margin-bottom:.7rem; }
.division-service p { color:var(--rg-text-dim); font-size:.92rem; line-height:1.75; }
.division-list { display:grid; gap:0; counter-reset:range; }
.division-list li { padding:.9rem 0; border-bottom:1px solid var(--rg-border); display:flex; align-items:baseline; gap:1rem; font-size:.95rem; color:var(--rg-text-dim); }
.division-list li::before { counter-increment:range; content:counter(range,decimal-leading-zero); color:var(--rg-cyan); font-size:.75rem; font-weight:700; }
.division-enquiry { background:var(--rg-charcoal-2); }
.division-enquiry-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.division-enquiry h2 { font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.2; margin-bottom:1rem; }
.division-enquiry p { color:var(--rg-text-dim); line-height:1.8; }
.division-enquiry .btn { margin-top:1.5rem; }
.division-enquiry ul { display:grid; gap:.9rem; }
.division-enquiry li { padding:.9rem 0 .9rem 1.2rem; border-left:2px solid var(--rg-cyan); color:var(--rg-text-dim); line-height:1.65; }
.division-related { padding:2rem 0; border-top:1px solid var(--rg-border); }
.division-related .container { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.division-page .product-card .product-media { background:#f0f3f6; padding:1rem; }
.division-page .product-card .product-media img { object-fit:contain; }
.division-page .product-card:hover .product-media img { transform:scale(1.025); }
.division-page .section { padding-block:clamp(3rem,6vw,6rem); }
.division-page .split-media-figure img { object-fit:contain; }
@media(max-width:1000px) { .division-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .division-heading,.division-family,.division-enquiry-grid { grid-template-columns:1fr; gap:1.5rem; }
 .division-service-grid { grid-template-columns:1fr; }
 .division-family { padding-block:1.75rem; }
 .division-specs th,.division-specs td { padding:.75rem .35rem; font-size:.8rem; }
 .division-heading h1 { font-size:clamp(1.9rem,8vw,2.8rem); }
 .division-links a { font-size:.78rem; }
}

/* ==========================================================================
   FOOD DIVISION (food.html): mission, need, audience, plant, range, marks.
   Hover lift uses the individual translate property so it composes with the
   site's reveal / tilt transforms; reveals sit on the grid containers.
   ========================================================================== */
.food-page .food-copy { font-size:1.02rem; line-height:1.85; color:var(--rg-text-dim); margin-top:1rem; }
.food-mission { margin:1.6rem 0 0; padding:.15rem 0 .15rem 1.3rem; border-left:3px solid var(--rg-gold); font-family:var(--font-display); font-size:clamp(1.15rem,1.9vw,1.5rem); line-height:1.45; letter-spacing:-.01em; color:var(--rg-white); }
.food-pillars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1.8rem; }
.food-pillars li { display:flex; align-items:center; gap:.8rem; padding:.85rem 1rem; border:1px solid var(--rg-border); border-radius:var(--radius-sm); background:var(--rg-charcoal-2); font-size:.9rem; font-weight:600; color:var(--rg-white); }
.food-pillars i { flex:none; width:1.2rem; text-align:center; color:var(--rg-gold-light); }
.food-page .split-media-figure .food-brand-chip { position:absolute; left:1rem; bottom:1rem; z-index:2; display:flex; align-items:center; gap:.8rem; max-width:calc(100% - 2rem); padding:.55rem 1rem .55rem .6rem; background:#fff; border-radius:var(--radius-sm); box-shadow:0 10px 30px rgba(0,0,0,.28); color:#1a1d2e; }
.food-page .split-media-figure .food-brand-chip img { width:62px; height:auto; object-fit:contain; flex:none; }
.food-brand-chip span { font-size:.74rem; line-height:1.35; font-weight:700; }

/* Why it matters */
.food-need-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2.5rem; }
.food-fact { position:relative; overflow:hidden; padding:clamp(1.6rem,3vw,2.4rem); border:1px solid var(--rg-border); border-radius:var(--radius-md); background:var(--rg-charcoal-2); }
.food-fact::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--rg-gradient-brand); }
.food-fact small { display:block; margin-bottom:.5rem; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rg-cyan-light); }
.food-fact .num { font-family:var(--font-display); font-size:clamp(3rem,6vw,5rem); line-height:1; font-weight:700; letter-spacing:-.04em; color:var(--rg-white); }
.food-fact p { margin-top:.9rem; line-height:1.7; color:var(--rg-text-dim); }
.food-approach { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(1.5rem,4vw,3.5rem); margin-top:3.5rem; align-items:start; }
.food-approach h3 { font-size:clamp(1.3rem,2vw,1.75rem); margin-bottom:1.2rem; }
.food-approach > div:first-child { display:flex; flex-direction:column; align-self:stretch; }
.food-goals { display:grid; flex:1; grid-auto-rows:1fr; gap:1rem; }
.food-goals li { display:flex; gap:1.1rem; align-items:center; padding:1.3rem 1.4rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:var(--rg-charcoal-2); }
.food-goals li > i { flex:none; width:3rem; height:3rem; display:grid; place-items:center; border-radius:50%; background:rgba(0,174,239,.12); color:var(--rg-cyan-light); font-size:1.15rem; }
.food-goals strong { display:block; margin-bottom:.25rem; font-size:1.12rem; color:var(--rg-white); }
.food-goals span { font-size:.9rem; line-height:1.6; color:var(--rg-text-dim); }
.food-steps { counter-reset:step; }
.food-steps li { position:relative; padding:0 0 1.5rem 3.4rem; }
.food-steps li:last-child { padding-bottom:0; }
.food-steps li::before { counter-increment:step; content:counter(step); position:absolute; left:0; top:0; width:2.3rem; height:2.3rem; display:grid; place-items:center; border-radius:50%; background:var(--rg-gradient-brand); color:var(--rg-paper); font-size:.85rem; font-weight:700; }
.food-steps li::after { content:""; position:absolute; left:1.15rem; top:2.5rem; bottom:.25rem; width:1px; background:var(--rg-border-strong); }
.food-steps li:last-child::after { display:none; }
.food-steps strong { display:block; margin-bottom:.15rem; color:var(--rg-white); }
.food-steps span { font-size:.9rem; line-height:1.6; color:var(--rg-text-dim); }

/* Who we nourish */
.food-audience { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.food-audience article { padding:1.6rem 1.4rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:var(--rg-charcoal-2); transition:translate .3s var(--ease-out), border-color .3s; }
.food-audience article:hover { translate:0 -6px; border-color:rgba(201,162,75,.5); }
.food-audience .ico { display:grid; place-items:center; width:3.7rem; height:3.7rem; margin-bottom:1.1rem; border-radius:50%; background:rgba(201,162,75,.15); color:var(--rg-gold-light); font-size:1.65rem; }
.food-audience h3 { font-size:1.05rem; margin-bottom:.5rem; }
.food-audience p { font-size:.88rem; line-height:1.7; color:var(--rg-text-dim); }
.food-days { margin-top:3rem; padding:clamp(1.6rem,3.5vw,3rem); border:1px solid var(--rg-border-strong); border-radius:var(--radius-lg); background:linear-gradient(135deg,rgba(46,49,146,.2),rgba(0,174,239,.07)),var(--rg-charcoal-2); }
.food-days blockquote { max-width:840px; font-family:var(--font-display); font-size:clamp(1.25rem,2.4vw,1.9rem); line-height:1.4; letter-spacing:-.01em; color:var(--rg-white); }
.food-days cite { display:block; margin-top:.9rem; font-family:inherit; font-size:.82rem; font-style:normal; letter-spacing:0; color:var(--rg-cyan-light); }
.food-track-ends { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rg-text-dim); }
.food-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin-top:.6rem; }
.food-track li { padding:1rem 1.1rem 1.1rem; border-top:4px solid var(--rg-gold); background:color-mix(in srgb,var(--rg-white) 5%,transparent); }
.food-track li:nth-child(2) { border-top-color:var(--rg-cyan); }
.food-track li:nth-child(3) { border-top-color:var(--rg-cyan-light); }
.food-track b { display:block; margin-bottom:.25rem; color:var(--rg-white); }
.food-track span { font-size:.84rem; line-height:1.55; color:var(--rg-text-dim); }

/* Facilities */
.food-plant { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.food-plant figure, .food-gallery figure { margin:0; min-width:0; }
.food-plant img, .food-gallery img { display:block; width:100%; height:auto; aspect-ratio:6/5; object-fit:cover; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:#fff; }
.food-plant figcaption, .food-gallery figcaption, .food-mark figcaption { margin-top:.7rem; font-size:.8rem; line-height:1.6; color:var(--rg-text-dim); }
.food-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:3rem; }
.food-flow li { position:relative; overflow:hidden; padding:1.4rem 1.2rem 1.3rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:var(--rg-charcoal-2); }
.food-flow li::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--rg-gradient-brand); }
.food-flow .step-no { font-family:var(--font-display); font-size:.78rem; font-weight:700; letter-spacing:.14em; color:var(--rg-gold-light); }
.food-flow li > i { display:block; margin:.8rem 0 .7rem; font-size:1.4rem; color:var(--rg-cyan-light); }
.food-flow h3 { margin-bottom:.4rem; font-size:1rem; }
.food-flow p { font-size:.85rem; line-height:1.65; color:var(--rg-text-dim); }
.food-sites { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.5rem; }
.food-site { display:flex; gap:1rem; align-items:flex-start; padding:1.4rem 1.5rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:var(--rg-charcoal-2); }
.food-site > i { flex:none; width:2.8rem; height:2.8rem; display:grid; place-items:center; border-radius:50%; background:rgba(201,162,75,.15); color:var(--rg-gold-light); }
.food-site small { display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rg-cyan-light); }
.food-site h3 { margin:.15rem 0 .4rem; font-size:1.1rem; }
.food-site address { font-style:normal; font-size:.88rem; line-height:1.7; color:var(--rg-text-dim); }
.food-site-contact { margin-top:1.25rem; font-size:.9rem; color:var(--rg-text-dim); }
.food-site-contact i { color:var(--rg-gold-light); }
.food-site-contact a { font-weight:600; color:var(--rg-cyan-light); }
.food-site-contact a:hover { text-decoration:underline; }

/* Products */
.food-range { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.food-product { display:grid; grid-template-columns:104px minmax(0,1fr); gap:1.1rem; align-items:center; padding:1rem 1.2rem 1rem 1rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:var(--rg-charcoal-2); transition:translate .3s var(--ease-out), border-color .3s; }
.food-product:hover { translate:0 -5px; border-color:rgba(0,174,239,.5); }
.food-product figure { margin:0; width:104px; aspect-ratio:190/270; display:grid; place-items:center; overflow:hidden; border-radius:10px; background:#fff; }
.food-product figure img { width:100%; height:100%; object-fit:contain; }
.food-product figure.is-icon { background:linear-gradient(160deg,#f3f6fb,#e1e9f4); color:#2e3192; font-size:2.8rem; }
.food-product .no { font-size:.7rem; font-weight:700; letter-spacing:.14em; color:var(--rg-gold-light); }
.food-product h3 { margin:.2rem 0 .35rem; font-size:1rem; line-height:1.3; }
.food-product h3 small { font-size:.78em; font-weight:500; color:var(--rg-text-dim); }
.food-product p { font-size:.82rem; line-height:1.6; color:var(--rg-text-dim); }
.food-tag { display:inline-block; margin-top:.6rem; padding:.2rem .65rem; border:1px solid var(--rg-border-strong); border-radius:100px; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--rg-cyan-light); }
.food-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.food-gallery img { aspect-ratio:490/407; }
.food-brand-card .brand-face { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.1rem; width:100%; aspect-ratio:490/407; padding:1.5rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:#fff; text-align:center; }
.food-brand-card .brand-face img { width:min(72%,260px); aspect-ratio:auto; border:0; border-radius:0; }
.food-brand-card .brand-face strong { font-family:var(--font-display); font-size:clamp(1rem,1.6vw,1.3rem); line-height:1.3; color:#1a1d2e; }

/* Certifications */
.food-marks { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.1rem; margin-top:2.5rem; }
.food-mark { margin:0; min-width:0; text-align:center; }
.food-mark img { display:block; width:100%; height:auto; aspect-ratio:240/135; object-fit:contain; padding:.4rem; border:1px solid var(--rg-border); border-radius:var(--radius-md); background:#fff; transition:translate .3s var(--ease-out), border-color .3s; }
.food-mark:hover img { translate:0 -5px; border-color:rgba(201,162,75,.5); }
.food-mark figcaption { margin-top:.75rem; line-height:1.5; }

.food-cta-row { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
.food-cta-row .btn { margin-top:0; }

@media(max-width:1100px) {
 .food-audience, .food-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .food-range { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .food-marks { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .food-approach { grid-template-columns:1fr; }
 .food-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .food-gallery .food-brand-card { grid-column:1 / -1; }
 .food-gallery .food-brand-card .brand-face { aspect-ratio:auto; padding:2rem 1.5rem; }
}
@media(max-width:700px) {
 .food-need-grid, .food-plant, .food-sites, .food-gallery, .food-range { grid-template-columns:1fr; }
 .food-audience, .food-flow { grid-template-columns:1fr; }
 .food-track { grid-template-columns:1fr; }
 .food-marks { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .food-marks .food-mark:last-child { grid-column:1 / -1; max-width:60%; margin-inline:auto; }
 .food-pillars { grid-template-columns:1fr; }
 .food-track-ends { font-size:.66rem; }
 .food-product { grid-template-columns:88px minmax(0,1fr); }
 .food-product figure { width:88px; }
 .food-cta-row .btn { width:100%; justify-content:center; }
}
