:root {
  --ink: #17221e;
  --deep: #173c31;
  --green: #1e604c;
  --mint: #d9eee3;
  --lime: #c6db54;
  --cream: #f7f5ed;
  --orange: #e97b46;
  --muted: #62716a;
  --line: rgba(23, 34, 30, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: "DM Sans", sans-serif; }
a { color: inherit; text-decoration: none; }
.site-shell { overflow: hidden; }
.site-header { align-items: center; display: flex; justify-content: space-between; max-width: 1240px; margin: auto; padding: 27px 44px; }
.brand, .footer-brand { align-items: center; display: flex; gap: 10px; }
.brand-mark { align-items: center; background: var(--lime); color: var(--deep); display: inline-flex; font: 700 22px/1 "Space Grotesk", sans-serif; height: 38px; justify-content: center; transform: rotate(-9deg); width: 38px; }
.brand-name { font: 700 14px/1 "Space Grotesk", sans-serif; letter-spacing: .07em; }
.brand-name b { color: var(--green); font-weight: 500; }
.desktop-nav { align-items: center; display: flex; gap: 33px; font-size: 13px; font-weight: 600; }
.desktop-nav a:not(.nav-cta) { color: var(--muted); }
.nav-cta { border: 1px solid var(--line); border-radius: 20px; padding: 11px 17px; }
.nav-cta span, .button span { font-size: 17px; margin-left: 9px; }
.menu-toggle, .mobile-nav { display: none; }
.hero { align-items: center; display: grid; gap: 35px; grid-template-columns: .86fr 1.14fr; margin: 23px auto 0; max-width: 1240px; padding: 55px 44px 95px; }
.eyebrow, .section-label { color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow { align-items: center; display: flex; gap: 10px; }
.eyebrow span { background: var(--orange); border-radius: 50%; display: inline-block; height: 7px; width: 7px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "Space Grotesk", sans-serif; letter-spacing: -.06em; }
h1 { font-size: clamp(3.6rem, 6vw, 6.25rem); line-height: .94; margin: 24px 0 29px; max-width: 640px; }
h1 em, h2 em { color: var(--green); font-style: normal; }
.hero-intro { color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 410px; }
.hero-actions { align-items: center; display: flex; gap: 29px; margin-top: 34px; }
.button { border: 0; cursor: pointer; display: inline-flex; align-items: center; font: 600 13px "DM Sans", sans-serif; justify-content: center; padding: 15px 20px; }
.button-primary { background: var(--green); color: white; }
.button-dark { background: var(--ink); color: white; }
.text-link { border-bottom: 1px solid var(--ink); font-size: 13px; font-weight: 600; padding-bottom: 4px; }
.text-link span { font-size: 16px; margin-left: 8px; }
.hero-art { min-height: 515px; position: relative; }
.hero-image { background: linear-gradient(115deg, rgba(21,55,43,.08), rgba(21,55,43,.1)), url("https://images.unsplash.com/photo-1604503468506-a8da13d82791?auto=format&fit=crop&w=1200&q=85") center/cover; height: 476px; margin: 20px 0 0 57px; width: calc(100% - 57px); }
.accent-block { background: var(--lime); bottom: 0; height: 126px; left: 0; position: absolute; width: 135px; z-index: -1; }
.image-note { align-items: center; background: var(--cream); bottom: 36px; display: flex; font-size: 11px; gap: 10px; left: 19px; line-height: 1.45; padding: 13px 17px; position: absolute; }
.image-note strong { font-size: 12px; }
.note-dot { background: var(--orange); border-radius: 50%; height: 8px; width: 8px; }
.circle-stamp { align-items: center; background: var(--orange); border-radius: 50%; color: white; display: flex; flex-direction: column; font: 700 10px/1.25 "Space Grotesk", sans-serif; height: 98px; justify-content: center; letter-spacing: .1em; position: absolute; right: -20px; text-align: center; top: 0; transform: rotate(12deg); width: 98px; }
.circle-stamp span { color: var(--lime); }
.trust-strip { align-items: center; background: var(--lime); display: flex; font: 600 12px "Space Grotesk", sans-serif; gap: 26px; justify-content: center; letter-spacing: .08em; padding: 17px; text-transform: uppercase; }
.trust-strip i { background: var(--deep); border-radius: 50%; display: block; height: 4px; width: 4px; }
.about-section { margin: auto; max-width: 1240px; padding: 115px 44px 125px; }
.about-content { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin: 45px 0 0 18%; }
h2 { font-size: clamp(2.7rem, 4.3vw, 4.55rem); line-height: .98; margin-bottom: 0; }
.about-copy { border-left: 1px solid var(--line); padding-left: 37px; max-width: 430px; }
.about-copy p { color: var(--muted); font-size: 15px; line-height: 1.7; }
.supply-section { background: var(--deep); color: white; padding: 92px max(44px, calc((100vw - 1152px) / 2)) 105px; }
.light-label { color: var(--lime); }
.supply-heading { align-items: end; display: flex; justify-content: space-between; }
.supply-heading h2 { margin-top: 37px; }
.supply-heading h2 em { color: var(--lime); }
.product-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; margin-top: 65px; }
.product-card { min-height: 300px; overflow: hidden; padding: 26px 27px; position: relative; }
.chicken-card { background: var(--orange); }
.beef-card { background: var(--green); }
.card-number { font: 700 12px "Space Grotesk", sans-serif; opacity: .7; }
.product-info { bottom: 25px; left: 27px; max-width: 230px; position: absolute; }
.product-info h3 { font: 600 28px "Space Grotesk", sans-serif; letter-spacing: -.04em; margin-bottom: 8px; }
.product-info p { font-size: 12px; line-height: 1.5; margin-bottom: 0; opacity: .82; }
.card-arrow { font-size: 29px; position: absolute; right: 26px; top: 19px; }
.product-illustration { opacity: .8; position: absolute; right: 12%; top: 5%; }
.chicken-shape { background: rgba(255,255,255,.78); border-radius: 56% 44% 48% 52%; height: 150px; transform: rotate(-29deg); width: 187px; }
.chicken-shape:after { background: rgba(255,255,255,.78); border-radius: 50%; content: ""; height: 50px; left: -23px; position: absolute; top: 69px; width: 54px; }
.beef-shape { background: #e59279; border-radius: 54% 46% 40% 60%; height: 151px; transform: rotate(27deg); width: 190px; }
.beef-shape:after { border: 15px solid rgba(255,224,191,.7); border-radius: 50%; content: ""; height: 42px; position: absolute; right: 27px; top: 49px; width: 42px; }
.contact-section { align-items: center; background: var(--mint); display: grid; gap: 60px; grid-template-columns: 115px 1fr 1fr; padding: 94px max(44px, calc((100vw - 1152px) / 2)); }
.contact-mark { align-items: center; background: var(--lime); color: var(--deep); display: flex; font: 700 75px/1 "Space Grotesk", sans-serif; height: 115px; justify-content: center; transform: rotate(-9deg); width: 115px; }
.contact-section h2 { font-size: clamp(2.2rem, 3.5vw, 3.75rem); margin: 31px 0 17px; }
.contact-section p { color: var(--muted); font-size: 13px; line-height: 1.55; max-width: 390px; }
.contact-email { border-bottom: 1px solid var(--green); color: var(--green); display: inline-block; font-size: 13px; font-weight: 700; margin-top: 5px; padding-bottom: 4px; }
.contact-email span { font-size: 16px; margin-left: 6px; }
.signup-form { align-self: end; display: flex; flex-wrap: wrap; gap: 8px; }
.signup-form input { background: transparent; border: 1px solid rgba(23,34,30,.35); border-radius: 0; color: var(--ink); flex: 1; font: 13px "DM Sans", sans-serif; min-width: 180px; padding: 15px; }
.signup-form input::placeholder { color: var(--muted); }
.form-message { flex-basis: 100%; color: var(--green) !important; display: none; font-weight: 600; margin: 5px 0 0; }
.site-footer { align-items: center; background: var(--ink); color: white; display: flex; font-size: 10px; justify-content: space-between; padding: 29px max(44px, calc((100vw - 1152px) / 2)); }
.site-footer .brand-mark { background: var(--orange); color: white; height: 28px; width: 28px; }
.site-footer .brand-name { font-size: 11px; }
.site-footer p { color: rgba(255,255,255,.56); margin: 0; }
.site-footer strong { color: white; font-weight: 600; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; }

@media (max-width: 760px) {
  .site-header { padding: 21px 22px; }
  .desktop-nav { display: none; }
  .menu-toggle { background: transparent; border: 1px solid var(--line); display: block; font: 600 12px "DM Sans", sans-serif; padding: 9px 14px; }
  .mobile-nav { background: var(--mint); display: none; flex-direction: column; gap: 1px; padding: 0 22px 18px; }
  .mobile-nav.is-open { display: flex; }
  .mobile-nav a { border-bottom: 1px solid var(--line); font-size: 14px; padding: 13px 0; }
  .hero { display: block; margin-top: 0; padding: 53px 22px 64px; }
  h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .hero-intro { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .hero-art { margin-top: 52px; min-height: 375px; }
  .hero-image { height: 340px; margin-left: 29px; width: calc(100% - 29px); }
  .accent-block { height: 88px; width: 78px; }
  .circle-stamp { height: 78px; right: -6px; width: 78px; }
  .circle-stamp { font-size: 8px; }
  .image-note { bottom: 16px; left: 0; }
  .trust-strip { flex-wrap: wrap; gap: 11px 16px; justify-content: flex-start; padding: 17px 22px; }
  .trust-strip i { display: none; }
  .about-section { padding: 75px 22px 80px; }
  .about-content { display: block; margin: 32px 0 0; }
  .about-copy { border-left: 0; border-top: 1px solid var(--line); margin-top: 31px; padding: 25px 0 0; }
  .supply-section { padding: 69px 22px 75px; }
  .supply-heading { display: block; }
  .product-grid { display: block; margin-top: 38px; }
  .product-card + .product-card { margin-top: 14px; }
  .product-illustration { right: 5%; }
  .contact-section { display: block; padding: 72px 22px; }
  .contact-mark { height: 75px; margin-bottom: 41px; width: 75px; font-size: 50px; }
  .signup-form { margin-top: 30px; }
  .signup-form input { min-width: 0; width: 100%; }
  .signup-form .button { width: 100%; }
  .site-footer { align-items: flex-start; flex-direction: column; gap: 15px; padding: 27px 22px; }
}