/* Company review, 21 October 2026. The selected wordmarks retain their colours. */
:root {
  --navy: #142d3e;
  --green: #127702;
  --text: #18352d;
  --secondary: #53645b;
  --caption: #596a62;
  --hairline: #d9dfd4;
  --paper: #f3efe6;
  --stone: #e8e1d3;
  --sage: #e3e9dd;
  --forest: #102f28;
  --gold: #c6ad78;
  --glass-fill: rgb(243 239 230 / .94);
  --glass-edge: rgb(255 255 255 / .8);
}
body { background: var(--paper); }
main { background: var(--paper); }
.food-company-hero .hero-content { padding-block-start: 12rem; }
.food-company-hero .hero-title { font-size: clamp(3.4rem,6.4vw,6.7rem); line-height: 1.04; letter-spacing: -.05em; max-inline-size: 90%; }
.food-company-hero .hero-copy-bottom { display: flex; align-items: end; justify-content: space-between; gap: 3rem; max-inline-size: 76rem; }
.food-company-hero .hero-copy-bottom > p { max-inline-size: 29rem; }
.food-company-hero .hero-copy-bottom .actions { gap: 1.5rem; margin: 0; flex-wrap: wrap; }
.food-company-hero .hero-copy-bottom .text-link { color: var(--paper); }
.food-company-hero .hero-media img { object-position: center; }
.food-company-origin .origin-title h2 { font-size: clamp(3.25rem,7vw,7rem); max-inline-size: none; }
.food-purpose-copy h3 { font-size: 1.8rem; line-height: 1.2; margin-block-end: 1.2rem; }
.food-purpose-copy p { color: var(--secondary); max-inline-size: 30ch; }
.food-portfolio { padding-block: 6rem; }
.food-category-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.food-category { display: flex; flex-direction: column; align-items: start; border-radius: 1.25rem; padding: 2.7rem; min-block-size: 25rem; background: var(--stone); }
.food-category h3 { font-size: clamp(2.7rem,4vw,4.5rem); line-height: 1.04; margin-block: 2.5rem 1.5rem; max-inline-size: 12ch; }
.food-category p { max-inline-size: 38ch; margin-block-end: 1.8rem; }
.food-category .text-link { margin-block-start: auto; padding-block-start: 1rem; }
.food-category-meat { background: var(--forest); color: var(--paper); }
.food-category-seafood { background: var(--navy); color: var(--paper); }
.food-category-meat h3,.food-category-seafood h3 { color: var(--paper); }
.food-category-meat .eyebrow,.food-category-seafood .eyebrow { color: var(--gold); }
.food-category-meat .text-link,.food-category-seafood .text-link { color: var(--paper); }
.food-category-produce { background: var(--sage); }
.food-range-note { margin-block-start: 1.5rem; }
.food-grower-statement .statement-image img { object-position: center; }
.food-grower-statement .statement-shade { background: linear-gradient(90deg,rgb(5 23 18 / .85),rgb(5 23 18 / .48) 50%,rgb(5 23 18 / .08)); }
.site-header { inset-block-start: 0; }
.company-ribbon { background: var(--forest); color: var(--paper); font-size: .9375rem; font-weight: 500; letter-spacing: .01em; line-height: 1.5; }
.company-ribbon .wrap { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-block: .6rem; }
.company-ribbon a { color: var(--paper); white-space: nowrap; font-size: .875rem; }
.company-ribbon a:hover { color: var(--gold); }
.header-inner { margin-block-start: .8rem; }
.site-header .nav { font-size: .875rem; }
.nav .dropdown { background: var(--paper); }
.site-header .nav a, .site-header .nav summary { font-weight: 500; }
.nav .nav-enquiry { background: var(--forest); color: var(--paper); }
.nav .nav-enquiry:hover { background: var(--navy); }
.site-header.is-scrolled .header-inner { background: var(--paper); }
.cinema-hero { background: var(--forest); }
.cinema-hero .hero-shade { background: linear-gradient(90deg,rgb(7 24 20 / .74),rgb(7 24 20 / .36) 48%,rgb(7 24 20 / .08) 83%),linear-gradient(0deg,rgb(7 24 20 / .7),transparent 35%); }
.cinema-hero .hero-media img { object-position: 65% center; }
.cinema-hero .hero-content { padding-block-start: 12rem; }
.hero-content h1 { font-size: clamp(4rem,8vw,8.8rem); line-height: 1.01; letter-spacing: -.055em; }
.hero-copy-bottom p { font-size: clamp(1.2rem,1.8vw,1.65rem); }
.hero-content .eyebrow, .hero-footnote { font-size: .8125rem; }
.hero-footnote .motion-shortcut { font-size: .8rem; }
.origin-section { background: var(--sage); box-shadow: 0 0 0 100vmax var(--sage); clip-path: inset(0 -100vmax); }
.origin-title h2 { font-size: clamp(2.75rem,5vw,5rem); max-inline-size: 16ch; }
.origin-facts strong { color: var(--forest); }
.origin-bottom { padding-block-end: 2rem; }
.portfolio-section { padding-block: 6rem; }
.oishi-banner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; background: rgb(9 9 8); color: var(--paper); padding: clamp(2rem,5vw,5rem); border-radius: 1.5rem; min-block-size: 31rem; gap: 3rem; }
.oishi-banner-logo img { inline-size: 100%; max-inline-size: 310px; block-size: auto; aspect-ratio: 1; object-fit: contain; margin-inline: auto; }
.oishi-banner h3 { color: var(--paper); font-size: clamp(2.5rem,4.5vw,4.8rem); line-height: 1.04; }
.oishi-banner .eyebrow { color: var(--gold); }
.oishi-banner p { margin-block: 1.7rem; color: rgb(243 239 230 / .8); }
.oishi-banner .button { background: var(--gold); color: rgb(9 9 8); border-color: var(--gold); }
.angus-editorial { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: center; margin-block-start: 3rem; text-decoration: none; }
.angus-editorial > div:first-child { overflow: hidden; border-radius: 1rem; }
.angus-editorial img { inline-size: 100%; block-size: 25rem; object-fit: cover; }
.angus-editorial h3 { margin-block: 1rem 1.3rem; font-size: clamp(2rem,3vw,3.2rem); }
.angus-editorial .text-link { margin-block-start: 1.5rem; }
.visual-programs { padding-block-start: 2rem; }
.development-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; }
.development-grid > a { text-decoration: none; border-radius: 1.2rem; overflow: hidden; }
.development-sg { position: relative; isolation: isolate; min-block-size: 35rem; display: flex; align-items: end; padding: 3rem; color: var(--paper); }
.development-sg::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgb(4 20 31 / .94),rgb(4 20 31 / .06) 85%); }
.development-sg > img { position: absolute; inset: 0; z-index: -2; inline-size: 100%; block-size: 100%; object-fit: cover; }
.development-sg h3 { color: var(--paper); font-size: clamp(2.5rem,3.6vw,4rem); margin-block: 1rem 1.5rem; }
.development-sg .eyebrow,.development-sg .text-link { color: var(--paper); }
.development-dairy { display: flex; flex-direction: column; justify-content: space-between; padding: 2.5rem; background: var(--sage); }
.development-monogram { font-size: clamp(3.5rem,7vw,7rem); font-weight: 500; letter-spacing: -.07em; line-height: 1; color: var(--forest); margin-block: 2.5rem; }
.development-dairy h3 { font-size: clamp(1.75rem,2.2vw,2.5rem); }
.development-dairy p { margin-block: 1rem; }
.development-dog { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 3rem; background: var(--stone); padding: 2.8rem 3rem; }
.development-dog > .eyebrow { grid-column: 1 / -1; }
.development-dog h3 { grid-column: 1; grid-row: 2 / 4; font-size: clamp(2rem,3vw,3rem); }
.development-dog p,.development-dog .text-link { grid-column: 2; }
.global-journey { color: var(--paper); background: var(--forest); box-shadow: 0 0 0 100vmax var(--forest); clip-path: inset(0 -100vmax); gap: 5rem; padding-block: 6rem; }
.global-journey .journey-sticky { top: 9rem; }
.global-journey .eyebrow { color: var(--gold); }
.global-journey h2 { color: var(--paper); font-size: clamp(2.6rem,3.5vw,3.3rem); line-height: 1.04; }
.global-journey h3 { color: var(--paper); font-size: clamp(2.6rem,3.8vw,4rem); }
.global-journey .journey-step { min-block-size: 80vh; border-color: rgb(243 239 230 / .2); padding-block: 4rem; }
.global-journey .journey-step .lead { color: rgb(243 239 230 / .85); font-size: 1.2rem; }
.global-journey .journey-step .text-link { color: var(--paper); margin-block-start: 2rem; }
.global-journey .journey-tag { align-self: start; color: var(--gold); border-color: rgb(198 173 120 / .4); margin-block-start: 1.4rem; }
.globe-card { margin-block-start: 1.25rem; max-inline-size: 31rem; }
.globe-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-block-start: 1px solid rgb(243 239 230 / .2); padding-block-start: 1rem; }
.globe-caption > span:first-child { color: var(--paper); font-size: 1.1rem; font-weight: 500; }
.globe-caption > span:last-child { color: var(--gold); font-size: .7rem; letter-spacing: .04em; }
.globe-viewport { position: relative; block-size: clamp(14rem,31vh,20rem); display: grid; place-items: center; }
.globe-viewport canvas { position: absolute; inset: 0; display: block; inline-size: 100%; block-size: 100%; object-fit: contain; pointer-events: none; opacity: 0; }
.globe-card[data-ready=true] canvas { opacity: 1; }
.globe-fallback { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; }
.globe-fallback * { fill: none; stroke: rgb(198 173 120 / .4); stroke-width: .8; }
.globe-card[data-ready=true] .globe-fallback { display: none; }
.globe-stage-controls { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
.globe-stage-controls button { min-block-size: 2.6rem; border: 1px solid rgb(243 239 230 / .3); border-radius: 999px; background: transparent; color: var(--paper); font-size: .75rem; padding: .55rem .7rem; }
.globe-stage-controls button[aria-pressed=true] { background: var(--paper); color: var(--forest); border-color: var(--paper); }
.globe-stage-controls button:hover { border-color: var(--gold); }
.globe-disclaimer { font-size: .7rem; line-height: 1.5; color: rgb(243 239 230 / .68); margin-block-start: 1rem; max-inline-size: 42ch; }
html[data-globe-active=true] .experience-dock { visibility: hidden; }
.people-statement { min-block-size: 42rem; }
.people-statement .statement-shade { background: linear-gradient(90deg,rgb(5 23 18 / .83),rgb(5 23 18 / .38) 55%,rgb(5 23 18 / .06)); }
.people-statement .statement-image img { object-position: 65% center; }
.people-statement h2 { max-inline-size: 15ch; }
.markets-home { background: #e0e8e6; box-shadow: 0 0 0 100vmax #e0e8e6; clip-path: inset(0 -100vmax); }
.awards-section { border-block-start: 0; }
.award-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.award-proof { display: grid; grid-template-rows: 20rem auto; background: #e8e1d3; border-radius: 1.2rem; overflow: hidden; }
.award-image { background: #ffffff; display: flex; align-items: center; justify-content: center; padding: 1.7rem; }
.oishi-award img { max-inline-size: 100%; block-size: 100%; inline-size: auto; object-fit: contain; }
.export-award { background: rgb(4 36 69); padding: 0; }
.export-award img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.award-copy { padding: 2.3rem; }
.award-copy h3 { font-size: clamp(1.75rem,2.7vw,2.6rem); line-height: 1.1; margin-block: 1rem 1.2rem; }
.award-copy .caption { margin-block-start: 1rem; }
.award-copy .text-link { margin-block-start: 1.5rem; }
.cta-section { background: var(--forest); color: var(--paper); }
.cta h2,.cta .lead,.cta .eyebrow { color: var(--paper); }
.cta .eyebrow { color: var(--gold); }
.cta .button { color: var(--forest); background: var(--paper); border-color: var(--paper); }
.cta > div { min-inline-size: 0; }
.site-footer { background: var(--stone); }
.page-about main { background: #ecece2; }
.page-team main { background: var(--sage); }
.page-programs main,.page-crown-angus main { background: #e6ebe1; }
.page-quality main { background: #edeae2; }
.page-markets main,.page-singapore main { background: #e0e8e6; }
.page-whitetide main { background: var(--sage); }
.page-pet-food main,.page-gold-paw main { background: #eee7d9; }
.page-contact main { background: var(--stone); }
.page-hero { padding-block-start: 12rem; }
.page-hero h1 { max-inline-size: 16ch; font-size: clamp(3.1rem,6.2vw,6.2rem); }
.art-hero { background: var(--forest); }
.art-hero-oishi .art-hero-shade { background: linear-gradient(90deg,rgb(4 21 16 / .93),rgb(4 21 16 / .7) 35%,rgb(4 21 16 / .12) 75%); }
.art-hero-content { padding-block-start: 10rem; }
.art-hero-oishi .oishi-signature { inline-size: 190px; block-size: 190px; }
.art-hero-oishi .oishi-signature { mix-blend-mode: screen; }
.art-hero-image { object-position: 65% center; }
.art-hero-note { color: rgb(243 239 230 / .85); }
.art-hero h1,.art-hero .lead { color: var(--paper); }
.page-oishi-wagyu .art-hero h1 { font-size: clamp(3rem,5.2vw,5.4rem); }
.page-oishi-wagyu .art-hero .eyebrow { color: var(--gold); }
.page-singapore .art-hero h1 { font-size: clamp(2.8rem,4.8vw,5rem); }
.company-feature img,.supply-campaign img { object-fit: cover; border-radius: 1rem; }
.photo-credits { font-size: .85rem; }
.photo-credits h2 { font-size: 2rem; margin-block: 1rem 2rem; }
.photo-credits p { max-inline-size: 80ch; margin-block: 1rem; }
.team-review-notice { padding-block: 1.5rem; border-block: 1px solid var(--secondary); font-size: .875rem; }
.team-review-notice strong { display: block; margin-block-end: .3rem; }
.dairy-editorial { padding-block: 6rem; background: var(--forest); color: var(--paper); }
.dairy-editorial h2 { color: var(--paper); font-size: clamp(3.5rem,8vw,8rem); margin-block: 2rem; }
.dairy-editorial .eyebrow { color: var(--gold); }
.dog-editorial { padding-block: 7rem; background: #d8d1bf; }
.dog-editorial h2 { font-size: clamp(3rem,7vw,7rem); max-inline-size: 16ch; margin-block-start: 2rem; }
.qa-item { background: transparent; }
.score-controls .tab-indicator { background: var(--paper); }
.marble-visual { background: #e3e9dd; border-radius: 1rem; }

@media (max-width: 1100px) {
  .global-journey { gap: 3rem; }
  .global-journey .journey-sticky { top: 8.6rem; }
  .oishi-banner { gap: 2rem; }
  .angus-editorial { gap: 2rem; }
  .company-ribbon .wrap { padding-inline: 1.5rem; }
}
@media (max-width: 900px) {
  .food-company-hero .hero-copy-bottom { flex-direction: column; align-items: start; gap: 1.8rem; }
  .food-company-hero .hero-copy-bottom .actions { gap: 1.5rem; }
  .food-category { padding: 2rem; }
  .header-inner { margin-block-start: .6rem; }
  .company-ribbon { font-size: .8125rem; }
  .company-ribbon a { font-size: .75rem; }
  .site-header .nav { background: var(--paper); }
  .global-journey { gap: 2rem; }
  .global-journey h2 { font-size: 2.7rem; }
  .global-journey h3 { font-size: 2.6rem; }
  .globe-caption { flex-wrap: wrap; gap: .2rem; }
  .globe-caption > span:last-child { font-size: .65rem; }
  .art-hero-content { padding-block-start: 10rem; }
  .angus-editorial img { block-size: 22rem; }
  .development-sg { min-block-size: 31rem; padding: 2rem; }
  .development-dairy { padding: 2rem; }
  .development-dog { padding: 2rem; }
}
@media (max-width: 600px) {
  .food-company-hero .hero-title { font-size: clamp(2.65rem,10.8vw,3.8rem); max-inline-size: 100%; }
  .food-company-hero .hero-content { padding-block-start: 10rem; }
  .food-company-hero .hero-copy-bottom { margin-block-start: 1.8rem; gap: 1.5rem; }
  .food-company-hero .hero-copy-bottom > p { font-size: 1.1rem; }
  .food-company-hero .hero-copy-bottom .actions { gap: 1.3rem; }
  .food-company-hero .hero-media img { object-position: 62% center; }
  .food-company-origin .origin-title h2 { font-size: clamp(2.8rem,12vw,4rem); }
  .food-portfolio { padding-block: 4rem; }
  .food-category-grid { grid-template-columns: 1fr; }
  .food-category { min-block-size: 23rem; padding: 2rem; }
  .food-category h3 { font-size: 3rem; margin-block-start: 2rem; }
  .food-grower-statement .statement-image img { object-position: 65% center; }
  .company-ribbon .wrap { gap: .5rem; flex-wrap: wrap; justify-content: center; padding: .45rem .6rem; }
  .company-ribbon { font-size: .8125rem; }
  .company-ribbon a { display: none; }
  .header-inner { margin-block-start: .55rem; }
  .site-header .nav { font-size: .95rem; }
  .cinema-hero .hero-content { padding-block-start: 11rem; }
  .hero-content h1 { font-size: clamp(3.5rem,14.5vw,5.4rem); max-inline-size: 8ch; }
  .cinema-hero .hero-media img { object-position: 67% center; }
  .cinema-hero .hero-shade { background: linear-gradient(90deg,rgb(7 24 20 / .65),rgb(7 24 20 / .15)),linear-gradient(0deg,rgb(7 24 20 / .8),transparent 75%); }
  .hero-content .eyebrow,.hero-footnote { font-size: .7rem; }
  .hero-copy-bottom p { font-size: 1.2rem; }
  .origin-title h2 { font-size: 2.75rem; }
  .portfolio-section { padding-block: 4rem; }
  .oishi-banner { grid-template-columns: 1fr; gap: 1rem; padding: 2rem; border-radius: 1rem; }
  .oishi-banner-logo img { inline-size: 195px; block-size: 195px; margin-inline: 0; }
  .oishi-banner h3 { font-size: 2.8rem; }
  .oishi-banner-copy .eyebrow { font-size: .65rem; }
  .angus-editorial { grid-template-columns: 1fr; gap: 2rem; margin-block-start: 2rem; }
  .angus-editorial img { block-size: 19rem; }
  .angus-editorial h3 { font-size: 2.25rem; }
  .development-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .development-sg { min-block-size: 29rem; }
  .development-dairy { min-block-size: 30rem; }
  .development-monogram { font-size: 5rem; }
  .development-dog { grid-column: auto; display: flex; flex-direction: column; gap: 1.3rem; }
  .development-dog h3 { font-size: 2.6rem; }
  .global-journey { grid-template-columns: 1fr; gap: 1rem; padding-block: 4rem; }
  .global-journey .journey-sticky { position: static; }
  .global-journey h2 { font-size: 3rem; }
  .global-journey .journey-step { min-block-size: 0; padding-block: 3rem; }
  .global-journey h3 { font-size: 2.5rem; }
  .global-journey .journey-step .lead { font-size: 1.05rem; }
  .globe-card { max-inline-size: none; }
  .globe-caption { flex-wrap: nowrap; }
  .globe-stage-controls button { font-size: .75rem; min-block-size: 2.7rem; }
  .globe-disclaimer { font-size: .75rem; max-inline-size: none; margin-block-end: 2rem; }
  .people-statement { min-block-size: 41rem; }
  .people-statement .statement-image img { object-position: 38% center; }
  .people-statement .statement-shade { background: linear-gradient(0deg,rgb(5 23 18 / .9),rgb(5 23 18 / .3) 90%); }
  .people-statement h2 { font-size: 3rem; }
  .award-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .award-proof { grid-template-rows: 19rem auto; }
  .award-copy { padding: 1.8rem; }
  .award-copy h3 { font-size: 2rem; }
  .page-hero { padding-block-start: 10rem; }
  .page-hero h1 { font-size: 3.1rem; max-inline-size: 100%; }
  .art-hero-content { padding-block-start: 9rem; min-block-size: 41rem; }
  .art-hero-oishi .art-hero-content { padding-block-start: 9rem; }
  .page-oishi-wagyu .art-hero h1 { font-size: 2.8rem; }
  .art-hero-oishi .oishi-signature { inline-size: 155px; block-size: 155px; }
  .art-hero-image { object-position: 67% center; }
  .art-hero-note { padding-block: 1rem; }
  .page-singapore .art-hero h1 { font-size: 2.8rem; }
  .photo-credits h2 { font-size: 2rem; }
  .photo-credits { font-size: .8rem; }
  .team-review-notice { inline-size: calc(100% - 2 * var(--gutter)); }
  .cta h2 { font-size: clamp(2.25rem,10.5vw,2.9rem); overflow-wrap: break-word; }
  .art-hero-oishi .art-hero-image { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; z-index: -3; }
  .art-hero-oishi .art-hero-shade { display: block; background: linear-gradient(90deg,rgb(4 21 16 / .94),rgb(4 21 16 / .66)); }
}
@media (prefers-reduced-motion: reduce) {
  .globe-viewport canvas { transition: none; }
}
@media (forced-colors: active) {
  .global-journey,.oishi-banner,.dairy-editorial,.dog-editorial { background: Canvas; color: CanvasText; box-shadow: none; }
  .global-journey h2,.global-journey h3,.global-journey .journey-step .lead { color: CanvasText; }
  .globe-stage-controls button { color: ButtonText; border-color: ButtonText; }
}
@media print {
  .company-ribbon { display: none; }
  .global-journey { color: #18352d; background: #ffffff; box-shadow: none; clip-path: none; display: block; }
  .global-journey h2,.global-journey h3,.global-journey .journey-step .lead,.global-journey .text-link { color: #18352d; }
  .globe-card { display: none; }
  .global-journey .journey-step { min-block-size: 0; }
}
