:root { --accent: #cc6600; --button-bg: #a74d00; }
h1, h2, h3, h4 { font-family: "Radio Canada Big", Arial, sans-serif; }
.home-hero { position: relative; }
.home-hero [data-slide] { position: relative; height: 45.6944vw; min-height: 480px; }
.slide-image { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.home-hero [data-slide]::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 35%, rgb(0 0 0 / 75%) 100%); pointer-events: none; }
.hero-caption { position: absolute; z-index: 1; left: 67%; right: 50px; top: 35%; }
.hero-caption h2 { font-size: 35px; line-height: 1.1; margin-bottom: 24px; }
.hero-caption p { font-size: 16px; line-height: 1.6; color: #fff; }
.hero-caption .button { margin-top: 18px; }
.features { padding: 70px 0 84px; background: #141414; }
.features-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6%; text-align: center; }
.features img { width: 120px; height: 120px; }
.features h3 { margin: 20px 0 24px; font-size: 20px; }
.feature-tag { background: #000; color: white; letter-spacing: 3px; text-transform: uppercase; font-weight: 600; }
.feature-tag p { line-height: 25px; margin: 0; }
.features article > p { margin: 15px 0 0; }
.section-label { color: #b8b8b9; text-transform: uppercase; letter-spacing: 5px; font-size: 24px; text-align: center; }
.commitment-top { background: #4c4c4c; padding-top: 70px; }
.commitment-top .section-label { margin-bottom: 60px; }
.commitment-images img { width: 100%; }
.stone { background: #141414 var(--stone) center top / cover no-repeat; }
.red-dark { background: #6d0c0b; } .red-mid { background: #92110f; }
.commitment-card { min-width: 0; color: #fff; }
.commitment-copy { padding: 75px 60px 42px; }
.commitment-copy h3 { font-size: 20px; letter-spacing: 3px; margin-bottom: 25px; }
.commitment-copy p { margin-bottom: 0; }
.commitment-copy .align-right { float: right; width: 146px; margin: 0 0 10px 15px; background: #fff; padding: 5px 5px 12px; }
.mobile-commitment-image { display: none; }
.customers { padding: 90px 0 70px; }
.customers .section-label { margin-bottom: 95px; }
.customer-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 35px 6%; align-items: center; justify-items: center; }
.customer-grid img { width: 180px; height: 65px; object-fit: contain; }
.product-intro { padding: 50px 0 70px; }
.product-intro h2 { margin-bottom: 5px; }
.product-intro > .container > p { color: #b8b8b9; text-transform: uppercase; font-weight: 600; letter-spacing: 4px; }
.product-intro .three-grid { margin-top: 40px; }
.product-card { background: #c51c0b; color: #fff; }
.product-card img { width: 100%; }
.product-copy { padding: 30px 35px; min-height: 155px; }
.product-copy h3 { margin-bottom: 15px; }
.product-copy p { line-height: 1.25; font-weight: 500; margin: 0; }
.tone-0 { background-color: #c51c0b; } .tone-1 { background-color: #92110f; } .tone-2 { background-color: #6d0c0b; } .tone-3 { background-color: #4f0000; }
.taste { padding: 90px 0 75px; background: #4a0900 var(--taste) center / cover; }
.taste h3 { display: inline-block; background: #000; padding: 5px; letter-spacing: 2px; }
.taste p { font-size: 20px; }
.packaging { padding: 70px 0 80px; text-align: center; }
.packaging h3, .channels > .container > h3 { color: #b8b8b9; letter-spacing: 3px; font-size: 24px; margin-bottom: 6px; }
.av-subheading { color: #b8b8b9; font-weight: 500; }
.packaging-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 3%; margin-top: 55px; }
.packaging-grid img { width: 200px; }
.packaging-grid p { margin-bottom: 10px; }
.channels { padding: 70px 0 90px; text-align: center; }
.channels .four-grid { margin-top: 55px; text-align: left; }
.channel { background: #000; }
.channel h3 { padding: 15px 25px; margin-bottom: 0; background: #c51c0b; text-transform: uppercase; letter-spacing: 3px; }
.channel.tone-1 h3 { background: #92110f; } .channel.tone-2 h3 { background: #6d0c0b; } .channel.tone-3 h3 { background: #4f0000; }
.channel ul { margin: 0; padding: 20px 25px 35px 48px; }
.channel li::marker { color: var(--accent); }
.story-intro { padding: 65px 0; }
.story-intro-grid { display: grid; grid-template-columns: 35% 1fr; gap: 7.5%; }
.story-intro h2 { font-size: 40px; color: #c51c0b; max-width: 460px; }
.story-prose p:first-child { font-size: 20px; line-height: 1.65; }
.story-prose p:last-child { margin: 20px 0 0; }
.vision-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.vision { padding: 60px 18% 55px; text-align: center; }
.vision img { width: 60px; height: 65px; object-fit: contain; margin-bottom: 20px; }
.vision h3 { letter-spacing: 3px; font-family: "Work Sans",Arial,sans-serif; }
.vision p { font-size: 18px; color: #fff; line-height: 1.6; }
.values { padding: 50px 0 70px; }
.values-intro img { width: 60px; height: 65px; object-fit: contain; margin-bottom: 25px; }
.values-intro h3 { color: #b8b8b9; font-size: 24px; letter-spacing: 3px; }
.values-intro p { color: var(--accent); font-size: 18px; line-height: 1.65; }
.values-grid { margin: 90px 20px 0; gap: 35px 4%; }
.value-card { background: #000; min-height: 200px; }
.value-card h3 { background: #4f0000; letter-spacing: 4px; text-transform: uppercase; padding: 10px 15px; }
.value-card p { padding: 0 15px 25px; }
.story-tail { height: 230px; }
.brands-page .site-header { position: relative; background: #252423; }
.brands-page .banner-caption { padding-top: 0; }
.brands-intro { padding: 50px 0 60px; }
.brands-intro h2 { margin-bottom: 24px; }
.brand-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6%; margin-top: 55px; }
.brand-package { width: 100%; margin-bottom: 30px; }
.brand-mark { width: 180px; height: 110px; object-fit: contain; margin-bottom: 10px; }
.brand-feature { padding: 50px 0; background: #252423; }
.brand-feature-0 { background-image: var(--brand-butchers); background-size: cover; background-position: center; }
.brand-feature-1 { background-image: var(--brand-carne); background-size: cover; background-position: center; color: #3f1914; }
.brand-feature-2 { background-image: var(--brand-wilmar); background-size: cover; background-position: center; }
.brand-feature-grid { display: grid; grid-template-columns: 47% 1fr; gap: 6%; align-items: center; }
.brand-feature-photo { width: 100%; }
.brand-feature-copy { max-width: 560px; padding: 20px 0; }
.brand-feature-copy h2 { margin: 45px 0 24px; }
.brand-feature-1 h2 { color: #351410; }
.brand-feature-1 .brand-feature-grid { grid-template-columns: 38% 1fr; }
.brand-feature-1 .brand-feature-copy { max-width: 370px; }
.brand-feature-1 strong { color: #18100d; }
.brand-tag { background: #92110f; color: #fff; text-transform: uppercase; letter-spacing: 4px; font-size: 13px; font-weight: 600; max-width: 250px; text-align: center; }
.brand-tag p { margin: 0; line-height: 32px; }
.brand-feature-1 .brand-tag { background: #39120e; }
.brand-feature-2 .brand-tag { background: #e26049; }
.brand-feature-copy .align-left { width: 500px; margin-top: 25px; }
.contact-section { padding: 70px 0 100px; }
.contact-grid { display: grid; grid-template-columns: 32% 1fr; gap: 8%; }
.contact-details h2 { font-size: 20px; letter-spacing: 2px; margin: 0 0 15px; }
.contact-details address, .contact-details p { margin-bottom: 45px; }
.contact-panel { padding: 40px; background: #252423; border-top: 4px solid var(--accent); }
.contact-panel h2 { font-size: 27px; }
.contact-panel h3 { margin-top: 35px; }
.contact-panel a { color: #e78016; overflow-wrap: anywhere; }
.legal-page .prose h2, .legal-page .prose h3 { letter-spacing: 3px; font-size: 18px; }
.legal-page .prose-grid { padding-bottom: 65px; }
@media (min-width: 768px) and (max-width: 989px) {
 .home-hero [data-slide] { min-height: 560px; }
 .hero-caption { left: 62%; right: 35px; top: 30%; }
 .hero-caption h2 { font-size: 28px; }
 .commitment-copy { padding: 35px 20px; }
 .features-grid { gap: 4%; }
 .features .feature-tag { font-size: 12px; letter-spacing: 1px; }
 .story-intro h2 { font-size: 30px; }
 .vision { padding-inline: 12%; }
 .brand-grid { gap: 3%; }
 .brand-mark { height: 75px; }
 .brand-feature-copy h2 { font-size: 24px; }
}
@media (max-width: 767px) {
 .page-banner { height: 27.6vw; min-height: 0; }
 .banner-caption { padding-top: 22px; }
 .banner-caption h1 { font-size: 20px; }
 .legal-page .page-banner { height: 19.8vw; min-height: 0; }
 .home-hero [data-slide] { height: 500px; min-height: 0; }
 .home-hero [data-slide]::after { background: linear-gradient(90deg, rgb(0 0 0 / 10%), rgb(0 0 0 / 80%)); }
 .hero-caption { left: 38%; right: 6%; top: 18%; }
 .hero-caption h2 { font-size: 26px; margin-bottom: 18px; }
 .hero-caption p { font-size: 16px; margin-bottom: 12px; }
 .hero-caption p br { display: none; }
 .hero-caption .button { padding-inline: 20px; font-size: 13px; }
 .features-grid { grid-template-columns: 1fr; gap: 48px; }
 .features h3 { margin-bottom: 24px; }
 .commitment-top { padding: 70px 0 55px; }
 .commitment-top .section-label { font-size: 21px; letter-spacing: 4px; margin: 0; }
 .commitment-images { display: none; }
 .mobile-commitment-image { display: block; width: 100%; }
 .commitment-copy { padding: 36px 24px; }
 .commitment-copy h3 { font-size: 20px; letter-spacing: 3px; }
 .commitment-copy .align-right { width: 146px; }
 .customers { padding: 60px 0; }
 .customers .section-label { font-size: 19.2px; margin-bottom: 45px; }
 .customer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
 .customer-grid img { width: 100%; max-width: 160px; height: 62px; }
 .product-intro { padding-top: 45px; }
 .product-intro .three-grid { gap: 80px; margin-inline: 20px; }
 .product-copy { padding-inline: 25px; }
 .taste { padding-block: 60px; }
 .taste p { font-size: 18px; }
 .taste br { display: none; }
 .packaging-grid { grid-template-columns: 1fr; gap: 48px; font-size: 16px; }
 .packaging-grid img { width: 200px; }
 .channels .four-grid { margin-inline: 20px; gap: 80px; }
 .channels { padding-block: 65px; }
 .story-intro-grid { display: block; }
 .story-intro h2 { font-size: 30px; margin-bottom: 35px; }
 .story-prose p:first-child { font-size: 20px; }
 .vision-grid { grid-template-columns: 1fr; gap: 40px; }
 .vision { padding: 55px 15%; }
 .values-grid { margin: 90px 20px 0; gap: 80px; }
 .values-intro p br { display: none; }
 .story-tail { height: 150px; }
 .brand-grid { grid-template-columns: 1fr; gap: 45px; margin-top: 45px; }
 .brand-grid article { max-width: 310px; margin: auto; }
 .brand-package { max-width: 310px; margin-bottom: 20px; }
 .brand-mark { display: block; margin: 0 auto 15px; }
 .brand-feature-grid, .brand-feature-1 .brand-feature-grid { grid-template-columns: 1fr; gap: 30px; }
 .brand-feature-1 { background: #391510; color: #efdfd7; }
 .brand-feature-1 h2, .brand-feature-1 strong { color: #fff; }
 .brand-feature-copy { padding: 0; }
 .brand-feature-copy h2 { margin-top: 30px; }
 .brand-feature { background-position: left; }
 .contact-grid { display: block; }
 .contact-panel { margin-top: 30px; padding: 30px 22px; }
 .contact-panel h2 { font-size: 23px; }
}
