:root{--green:#006937;--green2:#005b21;--lime:#80bc00;--orange:#f18a00;--cream:#f7f8f2;--ink:#18352a;--muted:#64746e;--line:#dbe5dd;--white:#fff;--shadow:0 18px 50px rgba(0,105,55,.13)}
.topbar{justify-content:flex-end}.brand-logo{width:158px;height:72px;object-fit:contain;display:block}.footer-logo{width:125px;height:auto;background:#fff;border-radius:12px;padding:7px}.product-badge{background:#eef6dc;color:#006937}.btn.orange{background:#f18a00}.hero h1 em,.text-link,.gallery figcaption{color:#006937}@media(max-width:760px){.brand-logo{width:130px;height:59px}}
header{height:126px}
.brand-logo{width:124px;height:116px}
.nav-dun{font-weight:800;color:#d0523a}
.nav-dun:hover{color:#a83e2a}
.card-photo{height:260px;background-size:cover;background-position:center;background-repeat:no-repeat}
.card-photo-fresh{background-position:center 52%}
.card-photo-ready-meals{background-position:center 53%}
.card-photo-ready-meals{position:relative}
.dun-card-band{position:absolute;top:0;left:0;right:0;height:65px;background:#343232;display:flex;align-items:center;justify-content:center;padding:10px 24px}
.dun-card-band img{height:42px;max-width:100%;object-fit:contain}
.card-photo-sandwiches{background-position:center 55%}
.range-directory{border-top:1px solid var(--line)}
.range-directory a{display:grid;grid-template-columns:minmax(220px,1fr) 1.5fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:27px 12px}
.range-directory a:hover{background:#f4f7ed}
.range-directory span{font:800 1.6rem Manrope;color:var(--green2)}
.range-directory small{font-size:1rem;color:var(--muted)}
.range-directory b{font-size:1.5rem;color:var(--green)}
.dun-feature{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#d0523a;color:#fff;min-height:420px}
.dun-feature>div{padding:65px 8vw}
.dun-feature .eyebrow{color:#ffe2c6}
.dun-feature h2{font:800 clamp(2.4rem,4vw,4.5rem)/1.04 Manrope;margin:15px 0}
.dun-feature p{max-width:520px;font-size:1.1rem}
.dun-feature img{width:100%;height:100%;max-height:520px;object-fit:cover}
.dun-feature{background:#fff;color:#343232;border-top:1px solid var(--line)}
.dun-feature .dun-logo{display:block;width:235px;height:auto;max-height:none;object-fit:contain;margin:0 0 14px}
.dun-feature .dun-feature-photo{object-position:center 72%}
.dun-feature .btn.light{background:#343232;color:#fff;border-color:#343232}
.dun-page-hero{background:#fff;border-bottom:5px solid #ea8d44}
.dun-page-hero .dun-logo{width:min(300px,55vw);height:auto;display:block;margin-bottom:4px}
.dun-page-hero .dun-byline{font-weight:800;color:#d0523a;font-size:.83rem;letter-spacing:.11em;text-transform:uppercase}
.dun-page-hero h1{color:#343232}
.dun-intro .kicker{color:#d0523a}
.range-jump{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}
.range-jump a{padding:9px 15px;border-radius:99px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--green)}
.range-jump a:hover{background:#eaf3dc}
.cut-jump{gap:8px;margin-bottom:34px}
.cut-jump a{font-size:.9rem;padding:8px 13px}
.dun-pattern{background:#343232;padding:24px max(7vw,24px);display:flex;justify-content:center}
.dun-pattern img{width:min(100%,850px);height:auto;display:block;object-fit:contain}
.prepared-fruit-intro{color:var(--muted);max-width:720px;font-size:1.06rem}
@media(max-width:760px){.dun-pattern{padding:16px 6vw}}
.cut-family,.subrange{scroll-margin-top:120px}
.contact-direct{padding:28px 0;align-self:center}
.contact-direct h2{margin-top:0}
.contact-direct p{max-width:520px;color:var(--muted)}
.contact-phone{display:block;margin-top:20px;color:var(--green);font-weight:700}
.about-capabilities{background:var(--green);border-radius:26px;padding:30px 38px;color:white}
.about-capabilities>div{padding:23px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.about-capabilities>div:last-child{border:0}
.about-capabilities b{color:var(--lime);font:800 .85rem Manrope}
.about-capabilities h3{font:800 1.7rem Manrope;margin:2px 0}
.about-capabilities p{margin:0;color:#d9e6df}
@media(max-width:1050px){header{height:100px}.brand-logo{width:100px;height:94px}}
@media(max-width:760px){header{height:88px}.brand-logo{width:88px;height:82px}nav{top:88px}.range-directory a{grid-template-columns:1fr auto;gap:4px 12px}.range-directory small{grid-row:2;grid-column:1}.range-directory b{grid-column:2;grid-row:1/3}.dun-feature{grid-template-columns:1fr}.dun-feature>div{padding:52px 7vw}.dun-feature img{height:330px}}

/* DUN product poster uses the actual pack photographs and brand colours. */
.dun-feature-poster{min-width:0;background:radial-gradient(circle at 50% 35%,#fff 0%,#fff9f3 55%,#f8eee5 100%);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.dun-poster-packs{display:flex;align-items:center;justify-content:center;gap:0;padding:35px 3% 0;flex:1;min-height:0}
.dun-poster-packs img{width:37%;height:auto;max-height:350px;object-fit:contain;filter:drop-shadow(0 16px 15px rgba(65,38,24,.14))}
.dun-poster-packs img:nth-child(1){transform:translate(12%,10%) rotate(-7deg)}
.dun-poster-packs img:nth-child(2){z-index:1;transform:scale(1.18) translateY(-3%)}
.dun-poster-packs img:nth-child(3){transform:translate(-12%,12%) rotate(7deg)}
.dun-poster-strip{background:#343232;padding:15px 8%;display:flex;justify-content:center}
.dun-feature .dun-poster-strip img{width:min(360px,90%);height:auto;max-height:35px;object-fit:contain}
@media(max-width:760px){.dun-feature-poster{min-height:330px}.dun-poster-packs{padding-top:8px}.dun-poster-packs img{max-height:250px}.dun-poster-strip{padding:12px 7%}}

/* Sentence case across interface labels; retain the DUN and FFH brand marks. */
.eyebrow,.kicker,.product-badge,.dun-page-hero .dun-byline{text-transform:none;letter-spacing:.03em}

.certification-section{display:grid;grid-template-columns:1.5fr .7fr;align-items:center;gap:5vw;border-top:1px solid var(--line)}
.certification-copy p{max-width:670px;color:var(--muted);font-size:1.08rem;margin:20px 0 26px}
.certification-mark{padding:35px;border:1px solid var(--line);border-radius:24px;background:#f8faf7;text-align:center;color:var(--green2)}
.certification-mark strong{display:block;font:800 clamp(2.5rem,5vw,4.3rem)/.95 Manrope;letter-spacing:-.06em}
.certification-mark span{display:block;margin-top:18px;font-weight:700}
@media(max-width:760px){.certification-section{grid-template-columns:1fr}.certification-mark{padding:28px}}

/* Keep the product menu under the full-height trigger so the pointer can enter it. */
@media(min-width:761px){nav,.nav-group{align-self:stretch}.nav-group{display:flex;align-items:center}.nav-group>a{display:flex;align-items:center;height:100%}.dropdown{top:calc(100% - 1px);z-index:30;width:285px}.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{display:block}}
.certificate-preview{display:block;max-width:390px;justify-self:center;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;box-shadow:var(--shadow)}
.certificate-preview img{width:100%;height:auto;display:block}
.facility-video{border-top:1px solid var(--line)}
.facility-video .section-head{align-items:center}
.facility-video-frame{aspect-ratio:16/9;max-width:1050px;margin:auto;border-radius:20px;overflow:hidden;background:#18352a}
.facility-video-frame iframe{width:100%;height:100%;border:0}
@media(max-width:760px){.certificate-preview{max-width:320px}}

/* DUN meals: real tray photography, with a deliberate switch to the pack view. */
.dun-view-switch{display:flex;gap:5px;padding:0 14px}
.dun-view-switch button{border:1px solid var(--line);background:#fff;color:#343232;border-radius:100px;padding:5px 13px;cursor:pointer;font-size:.88rem;font-weight:700}
.dun-view-switch button[aria-pressed="true"]{background:#343232;border-color:#343232;color:#fff}
.dun-view-switch button:focus-visible{outline:3px solid #f18a00;outline-offset:2px}
.dun-stockists{background:#f7f8f2;border-top:1px solid var(--line)}
.dun-stockists p{max-width:750px;font-size:1.08rem;color:var(--muted)}
.dun-feature-poster{background:#fff}
.dun-poster-packs img{width:39%;max-height:320px;object-fit:contain}
.card-photo-ready-meals{background-color:#fff;background-size:contain}

.facility-grid,.quality-points{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.facility-grid article,.quality-points article{border:1px solid var(--line);border-radius:20px;padding:30px;background:#fff}
.facility-grid span,.quality-points b{color:var(--orange);font-weight:800}
.facility-grid h3,.quality-points h3{font:800 1.5rem Manrope;color:var(--green2);margin:8px 0}
.facility-grid p,.quality-points p{color:var(--muted);margin:0}
.quality-points{grid-template-columns:repeat(3,1fr)}
.facility-video-frame{position:relative}
.facility-video-frame iframe{display:block}
.video-toggle{position:absolute;right:18px;bottom:18px;border:1px solid #fff;background:rgba(0,0,0,.75);color:#fff;border-radius:100px;padding:9px 16px;cursor:pointer;font-weight:700}
.video-toggle:focus-visible{outline:3px solid #f18a00;outline-offset:2px}
@media(max-width:760px){.facility-grid,.quality-points{grid-template-columns:1fr}.facility-grid article,.quality-points article{padding:24px}}

/* Homepage: the original FFH background video replaces the split photo. */
.hero.hero-video{display:block;position:relative;isolation:isolate;min-height:680px;background:#15362b;overflow:hidden}
.hero-video .hero-motion{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-video::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,33,25,.82),rgba(6,33,25,.55) 52%,rgba(6,33,25,.24));pointer-events:none}
.hero-video .hero-copy{position:relative;z-index:2;min-height:680px;max-width:900px;padding:90px 7vw 105px}
.hero-video h1,.hero-video h1 em{color:#fff}
.hero-video h1{font-size:clamp(3.7rem,6.3vw,7rem);line-height:1.02}
.hero-video p{color:#f3f7f3;max-width:610px;text-wrap:pretty}
.hero-video .eyebrow{color:#ffb95f}
.hero-video .btn.light{color:var(--green);border-color:#fff}
.hero-video-toggle{position:absolute;z-index:3;right:4vw;bottom:26px;color:#fff;background:rgba(6,33,25,.7);border:1px solid rgba(255,255,255,.65);border-radius:100px;padding:8px 15px;cursor:pointer;font-size:.9rem;font-weight:700}
.hero-video-toggle:focus-visible{outline:3px solid #f18a00;outline-offset:3px}
@media(max-width:760px){.hero.hero-video,.hero-video .hero-copy{min-height:610px}.hero-video .hero-copy{padding:74px 7vw 90px}.hero-video h1{font-size:clamp(3.1rem,11vw,5.4rem)}.hero-video::after{background:linear-gradient(90deg,rgba(6,33,25,.8),rgba(6,33,25,.5))}.hero-video .hero-motion{object-position:42% center}.hero-video-toggle{right:7vw;bottom:20px}}

.quality-story{gap:5vw}
.quality-story figure{margin:0;min-width:0}
.quality-story img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:24px}
.quality-story figcaption{font-size:.78rem;color:var(--muted);margin-top:8px}
.quality-story p{color:var(--muted);font-size:1.06rem;max-width:590px}
.contact-card strong{color:#fff}
.contact-form-panel h2{margin-top:0}
.contact-form-panel .form-status{color:var(--green);font-weight:700}
.form select{cursor:pointer}
@media(max-width:760px){.quality-story{padding-top:54px;padding-bottom:54px}.quality-story img{aspect-ratio:1.45}.contact-form-panel{padding-top:10px}}
.quality-story.soft{background:var(--cream)}
.quality-story.reverse figure{order:2}
@media(max-width:760px){.quality-story.reverse figure{order:0}}

/* About: one original FFH produce image and a fuller company story. */
.about-story{gap:5vw}
.about-story figure{margin:0;min-width:0}
.about-story img{display:block;width:100%;min-height:390px;aspect-ratio:1.28;object-fit:cover;border-radius:24px}
.about-story figcaption{font-size:.85rem;color:var(--muted);margin-top:9px}
.about-story p,.about-next p{font-size:1.06rem;color:var(--muted);max-width:660px}
.about-offer .section-head{align-items:end}
.about-offer .about-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--green);padding:28px 30px}
.about-offer .about-capabilities>div{padding:20px 26px;border-bottom:0;border-right:1px solid rgba(255,255,255,.22)}
.about-offer .about-capabilities>div:last-child{border-right:0}
.about-next{display:block;border-top:1px solid var(--line)}
.about-next>div{max-width:800px}

/* The DUN story uses the approved wordmark pattern on its primary dark grey. */
.dun-story{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#343232;color:#fff}
.dun-story-copy{padding:70px 5vw 55px 8vw;align-self:center}
.dun-story .kicker{color:#efa074}
.dun-story h2{font:800 clamp(2.35rem,4vw,4.4rem)/1.04 Manrope;letter-spacing:-.045em;color:#fff;margin:10px 0 22px}
.dun-story p{max-width:590px;color:#f1eeec;font-size:1.06rem;line-height:1.65}
.dun-story-link{display:inline-block;margin-top:18px;border-bottom:2px solid #ea8d44;color:#fff;font-weight:800;padding-bottom:5px}
.dun-story figure{margin:0;position:relative;min-height:450px;overflow:hidden}
.dun-story figure>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.dun-story figcaption{position:absolute;bottom:18px;right:20px;color:#fff;background:rgba(52,50,50,.82);font-size:.88rem;font-weight:700;padding:8px 12px;border-radius:8px}
.dun-story-pattern{grid-column:1/-1;display:flex;justify-content:center;padding:23px 7vw;background:#343232;border-top:1px solid rgba(255,255,255,.16)}
.dun-story-pattern img{width:min(720px,100%);height:auto;display:block}

/* Ambient film sits between the process and certification sections. */
.quality-motion{padding:65px 7vw;background:#f7f8f3}
.quality-motion .facility-video-frame{max-width:1200px}
@media(max-width:760px){
  .about-story img{min-height:280px;aspect-ratio:1.45}
  .about-offer .about-capabilities{grid-template-columns:1fr;padding:16px 24px}
  .about-offer .about-capabilities>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding:18px 0}
  .about-offer .about-capabilities>div:last-child{border:0}
  .dun-story{grid-template-columns:1fr}
  .dun-story-copy{padding:56px 7vw}
  .dun-story figure{min-height:310px}
  .dun-story figure>img{position:absolute;object-position:center}
  .dun-story-pattern{padding:15px 7vw}
  .quality-motion{padding:38px 0}
  .quality-motion .facility-video-frame{border-radius:0}
}

/* Homepage summary follows the product ranges and links to the fuller story. */
.home-about{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:55px 7vw;background:#f7f8f3;border-top:1px solid var(--line)}
.home-about>div{max-width:760px}
.home-about h2{font:800 clamp(2rem,3.2vw,3.2rem)/1.08 Manrope;color:var(--green2);letter-spacing:-.04em;margin:8px 0 14px}
.home-about p{font-size:1.06rem;color:var(--muted);margin:0}
.home-about .btn{flex:none}
@media(max-width:760px){.home-about{display:block;padding:50px 7vw}.home-about .btn{margin-top:22px}}

/* Pack photography sits directly on a warm surface, without white photo cards. */
.dun-feature-poster{background:#f2e2d2}
.dun-poster-packs img{mix-blend-mode:multiply;filter:none;width:43%;max-height:360px}
.dun-poster-packs img:nth-child(1){transform:translate(12%,9%) rotate(-5deg)}
.dun-poster-packs img:nth-child(2){transform:scale(1.12) translateY(-2%)}
.dun-poster-packs img:nth-child(3){transform:translate(-12%,9%) rotate(5deg)}
@media(max-width:760px){.dun-poster-packs img{width:44%;max-height:260px}}

/* Real photoshoot scenes with the current black meal trays. */
.dun-feature>.dun-feature-visual{position:relative;min-width:0;min-height:460px;overflow:hidden;padding:0}
.dun-feature .dun-feature-visual>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 53%}
.dun-feature-photo-band{position:absolute;bottom:0;left:0;right:0;background:#343232;padding:13px 8%;display:flex;justify-content:center}
.dun-feature .dun-feature-photo-band img{display:block;width:min(350px,86%);height:auto;max-height:36px;object-fit:contain}
.dun-story figure>img{object-position:center 68%}
@media(max-width:760px){.dun-feature-visual{min-height:390px}.dun-feature .dun-feature-visual>img{height:100%;object-position:center 57%}}
/* DUN! photography: preserve the chef, FFH crest and full stack of meals. */
.card-photo-ready-meals{background-size:cover;background-position:center 53%}
.dun-story figure{background:#f4f5f3}
.dun-story figure>img{object-fit:contain;object-position:center;background:#f4f5f3}
@media(max-width:760px){.dun-story figure{min-height:520px}}
/* Wider DUN! card framing keeps the full pack stack visible. */
.card-photo-ready-meals{background-size:auto 100%;background-position:center;background-color:#f3f1ee}
/* Fill the DUN! card photo without an overlaid wordmark. */
.card-photo-ready-meals{height:310px;background-size:cover;background-position:center 50%;background-color:#f3f1ee}
