@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@1,600&display=swap');

:root {
  --red:#c81920;
  --red-dark:#9f1016;
  --cream:#f3ecdf;
  --paper:#fbf8f2;
  --ink:#151414;
  --muted:#68625b;
  --line:rgba(21,20,20,.17);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'DM Sans',Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}
body.menu-open {
  overflow:hidden;
}
a {
  color:inherit;
  text-decoration:none;
}
img {
  display:block;
  max-width:100%;
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  line-height:1.05;
  letter-spacing:-.045em;
}
h1 {
  font-size:clamp(3.8rem,8.5vw,8.8rem);
  font-weight:500;
  margin-bottom:2rem;
}
h2 {
  font-size:clamp(2.3rem,4.4vw,4.8rem);
  font-weight:500;
}
em {
  color:var(--red);
  font-family:'Playfair Display',Georgia,serif;
  font-weight:600;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.site-header {
  height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5vw;
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:relative;
  z-index:20;
}
.brand img {
  width:220px;
  height:68px;
  object-fit:contain;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.brand:hover img {
  transform:scale(1.035) rotate(-1deg);
}
.site-nav {
  display:flex;
  align-items:center;
  flex:1;
  gap:2.2rem;
  margin-left:clamp(1.5rem,3vw,3rem);
  font-size:.87rem;
  font-weight:600;
}
.site-nav a:not(.nav-cta) {
  padding:.5rem 0;
  position:relative;
}
.site-nav a:not(.nav-cta)::after {
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:var(--red);
  transition:.25s;
}
.site-nav a:hover::after,.site-nav a.active::after {
  width:100%;
}
.nav-cta {
  color:white;
  background:var(--red);
  margin-left:auto;
  padding:.8rem 1.2rem;
  transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.nav-cta:hover {
  background:var(--red-dark);
  box-shadow:0 10px 25px rgba(159,16,22,.22);
  transform:translateY(-2px);
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  width:42px;
  height:42px;
  padding:9px;
}
.menu-toggle > span:not(.sr-only) {
  display:block;
  height:2px;
  background:var(--ink);
  margin:5px 0;
}
.hero {
  min-height:calc(100vh - 96px);
  display:flex;
  align-items:center;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.hero-copy {
  padding:clamp(4rem,8vw,8rem) 5vw;
  width:min(60%,900px);
  position:relative;
  z-index:3;
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  color:var(--red);
  font-weight:600;
  font-size:.7rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
}
.eyebrow::before {
  content:'';
  width:28px;
  height:2px;
  background:var(--red);
  flex:0 0 auto;
}
.eyebrow.light,.contact-hero .eyebrow {
  color:white;
}

.eyebrow.light::before,.contact-hero .eyebrow::before {
  background:#ff7676;
}
.hero-lead {
  max-width:570px;
  color:var(--muted);
  font-size:clamp(1.05rem,1.5vw,1.35rem);
  margin-bottom:2.5rem;
}
.home-title {
  font-size:clamp(3.5rem,6.35vw,7.1rem);
}
.home-title em {
  white-space:nowrap;
}
.button-row {
  display:flex;
  gap:2rem;
  align-items:center;
  flex-wrap:wrap;
}
.button {
  display:inline-flex;
  min-height:52px;
  padding:.85rem 1.4rem;
  align-items:center;
  justify-content:center;
  font-weight:600;
  font-size:.88rem;
  transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.button::after {
  content:'→';
  margin-left:.8rem;
  font-size:1.05rem;
  transition:transform .2s;
}

.button:hover::after {
  transform:translateX(4px);
}
.button-primary {
  color:white;
  background:var(--red);
}

.button-primary:hover {
  background:var(--red-dark);
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(159,16,22,.24);
}
.button-dark {
  background:var(--ink);
  color:white;
}

.button-light {
  background:var(--paper);
  color:var(--ink);
}

.button-light:hover,.button-dark:hover {
  transform:translateY(-2px);
}
.text-link {
  display:inline-flex;
  gap:.8rem;
  align-items:center;
  padding-bottom:.2rem;
  border-bottom:1px solid;
  font-weight:600;
  font-size:.9rem;
  transition:color .25s ease,border-color .25s ease;
}
.text-link span {
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.text-link:hover {
  color:var(--red);
}
.text-link:hover span {
  transform:translateX(6px);
}
.hero-art {
  background:var(--red);
  color:white;
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}
.hero-art::before {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:68%;
  z-index:1;
  background:linear-gradient(90deg,
    rgba(251,248,242,.98) 0%,
    rgba(251,248,242,.93) 44%,
    rgba(251,248,242,.68) 68%,
    rgba(251,248,242,0) 100%);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%);
}
.hero-art::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(15,8,7,0) 62%,rgba(15,8,7,.55) 100%);
}
.hero-photo {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  position:absolute;
  inset:0;
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1);
}
.hero-art:hover .hero-photo {
  transform:scale(1.045);
}
.art-caption {
  position:absolute;
  bottom:7%;
  right:5vw;
  font-size:.77rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0;
  z-index:2;
  text-align:right;
}
.section-pad {
  padding:clamp(5rem,9vw,9rem) 8vw;
}
.intro,.story-grid,.product-intro {
  display:grid;
  grid-template-columns:28% 1fr;
  gap:5vw;
}
.intro {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--ink);
  color:white;
}
.intro::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('assets/images/lefoko-steaks-portrait.jpg') center 48% / cover no-repeat;
  background-attachment:fixed;
  opacity:.16;
}
.intro .section-label span {
  color:#ff7676;
}
.intro .intro-copy > p {
  color:rgba(255,255,255,.72);
}
.intro .text-link {
  color:white;
}
.section-label {
  font-size:.76rem;
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.13em;
}

.section-label span {
  display:block;
  color:var(--red);
  margin-bottom:.7rem;
}
.intro-copy,.story-copy,.product-intro > div:last-child {
  max-width:800px;
}
.intro-copy > p,.story-copy > p,.product-intro > div:last-child > p {
  font-size:clamp(1.05rem,1.5vw,1.25rem);
  color:var(--muted);
  max-width:720px;
}
.home-feature {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:720px;
  background:var(--cream);
}
.home-feature-image {
  min-height:620px;
  overflow:hidden;
}
.home-feature-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.8,.2,1);
}
.home-feature-image:hover img {
  transform:scale(1.055);
}
.home-feature-copy {
  padding:clamp(4rem,8vw,8rem);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.home-feature-copy > p:not(.eyebrow) {
  color:var(--muted);
  font-size:1.08rem;
  max-width:590px;
}
.feature-list {
  list-style:none;
  width:100%;
  margin:1.5rem 0 2rem;
  padding:0;
}
.feature-list li {
  padding:.8rem 0;
  border-top:1px solid var(--line);
  font-weight:600;
  transition:padding-left .3s ease,color .3s ease;
}
.feature-list li:hover {
  padding-left:.65rem;
  color:var(--red);
}
.feature-list li::before {
  content:'—';
  color:var(--red);
  margin-right:.8rem;
}
.home-facts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:3rem 8vw;
  background:var(--red);
  color:white;
}
.home-facts > div {
  padding:1rem clamp(1rem,3vw,3rem);
  border-left:1px solid rgba(255,255,255,.3);
  display:flex;
  flex-direction:column;
  transition:transform .3s ease,background-color .3s ease;
}
.home-facts > div:hover {
  transform:translateY(-6px);
}
.home-facts > div:first-child {
  border-left:0;
  padding-left:0;
}
.home-facts strong {
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.05em;
}
.home-facts span {
  margin-top:.7rem;
  color:#ffd1d1;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.promise {
  background:var(--ink);
  color:white;
  display:grid;
  grid-template-columns:44% 1fr;
  gap:7vw;
}
.promise-list > div {
  border-top:1px solid rgba(255,255,255,.25);
  padding:1.7rem 0;
  display:grid;
  grid-template-columns:45px 1fr;
  column-gap:1rem;
  transition:padding-left .35s ease,border-color .35s ease;
}
.promise-list > div:hover {
  padding-left:1rem;
  border-color:var(--red);
}
.promise-list span {
  color:#f07676;
  font-size:.75rem;
}

.promise-list h3 {
  font-size:1.5rem;
  margin-bottom:.5rem;
}

.promise-list p {
  grid-column:2;
  color:#bdb7b0;
  max-width:480px;
  margin:0;
}
.community-story {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:clamp(4rem,8vw,9rem);
}
.community-copy {
  max-width:630px;
}
.community-copy > p:not(.eyebrow) {
  color:var(--muted);
  font-size:1.08rem;
}
.community-image {
  height:680px;
  position:relative;
  overflow:hidden;
}
.community-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.8,.2,1);
}
.community-image:hover img {
  transform:scale(1.055);
}
.community-image > p {
  position:absolute;
  right:0;
  bottom:0;
  margin:0;
  padding:1rem 1.3rem;
  background:var(--red);
  color:white;
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.visit-strip {
  background:var(--cream);
  padding:5rem 8vw;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:4rem;
}

.visit-strip h2 {
  max-width:670px;
  margin:0;
}

.visit-address {
  max-width:350px;
}

.visit-address p {
  margin-bottom:1.6rem;
}
.site-footer {
  background:var(--paper);
  padding:5rem 5vw 2rem;
  display:grid;
  grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(130px,1fr));
  align-items:start;
  gap:clamp(2rem,5vw,5rem);
  border-top:1px solid var(--line);
}

.footer-brand img {
  width:230px;
  height:65px;
  object-fit:contain;
}

.footer-brand p {
  color:var(--muted);
  font-size:.9rem;
  max-width:340px;
}

.footer-column {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.4rem;
}

.footer-column h3 {
  color:var(--red);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  margin:0 0 .8rem;
}

.footer-column a,.footer-column p {
  color:var(--muted);
  font-size:.86rem;
  margin:0;
}

.footer-column a:hover {
  color:var(--red);
  transform:translateX(4px);
}
.footer-column a {
  transition:color .25s ease,transform .25s ease;
}

.footer-bottom {
  grid-column:1/-1;
  border-top:1px solid var(--line);
  padding-top:1.5rem;
  margin-top:1rem;
  color:var(--muted);
  font-size:.75rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.footer-bottom p {
  margin:0;
}

.footer-bottom a {
  color:var(--ink);
  font-weight:600;
}

.footer-bottom a:hover {
  color:var(--red);
}
.wide-photo {
  height:clamp(430px,60vw,760px);
  margin:0;
  position:relative;
  overflow:hidden;
  background:var(--ink);
}

.wide-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.wide-photo:hover img {
  transform:scale(1.035);
}

.wide-photo figcaption {
  position:absolute;
  right:3vw;
  bottom:3vw;
  background:var(--paper);
  color:var(--ink);
  padding:.8rem 1rem;
  font-size:.72rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.product-photo img {
  object-position:center 58%;
}
.page-hero {
  padding:clamp(5rem,10vw,10rem) 8vw 6rem;
  background:var(--cream);
  min-height:70vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  isolation:isolate;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  color:white;
}

.page-hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,10,9,.82) 0%,rgba(12,10,9,.55) 48%,rgba(12,10,9,.12) 100%);
  z-index:-1;
}

.page-hero > * {
  position:relative;
}

.page-hero h1 {
  margin:0;
  max-width:1200px;
}

.about-hero {
  background-image:url('assets/images/lefoko-story-hero.png');
  background-position:center;
}

.products-hero {
  background-image:url('assets/images/lefoko-fresh-meat.jpg');
  background-position:center 55%;
}

.contact-hero {
  background-image:url('assets/images/lefoko-boerewors-portrait.jpg');
  background-position:center 48%;
}

.contact-hero::before {
  background:linear-gradient(90deg,rgba(127,7,12,.9) 0%,rgba(127,7,12,.6) 50%,rgba(10,8,7,.16) 100%);
}

.contact-hero em {
  color:#ffd5d2;
}
.story-copy p {
  margin-bottom:1.5rem;
}

.mission-vision {
  display:grid;
  grid-template-columns:1fr 1fr;
}

.mission-vision article {
  min-height:520px;
  padding:7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.mission-vision article:first-child {
  background:var(--red);
  color:white;
}

.mission-vision article:last-child {
  background:var(--cream);
}

.mission-vision article p:last-child {
  max-width:590px;
  font-size:1.1rem;
}

.mission-vision article:first-child p:last-child {
  color:#ffd8d5;
}
.values {
  display:grid;
  grid-template-columns:40% 1fr;
  gap:7vw;
}

.values-list {
  list-style:none;
  margin:0;
  padding:0;
}

.values-list li {
  border-top:1px solid var(--line);
  padding:1.2rem 0;
  font-size:clamp(1.15rem,2vw,1.6rem);
  display:flex;
  gap:1.5rem;
  transition:padding-left .3s ease,color .3s ease,border-color .3s ease;
}
.values-list li:hover {
  padding-left:1rem;
  color:var(--red);
  border-color:var(--red);
}

.values-list li span {
  color:var(--red);
  font-size:.72rem;
  padding-top:.35rem;
}
.cta-band {
  background:var(--red);
  color:white;
  padding:4rem 8vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}

.cta-band h2 {
  margin:0;
  font-size:clamp(2rem,4vw,4rem);
}

.cta-band p {
  margin:0 0 .5rem;
}
.product-intro {
  background:var(--cream);
}

.product-lines {
  padding:0 8vw;
}

.product-row {
  display:grid;
  grid-template-columns:8% 42% 1fr;
  gap:3vw;
  padding:3rem 0;
  border-top:1px solid var(--line);
  align-items:start;
  transition:transform .35s ease,border-color .35s ease;
}
.product-row:hover {
  transform:translateX(10px);
  border-color:var(--red);
}

.product-row > span {
  color:var(--red);
  font-size:.8rem;
}

.product-row h2 {
  font-size:clamp(1.7rem,3vw,3rem);
  margin:0;
}

.product-row p {
  color:var(--muted);
  margin:0;
  max-width:480px;
}
.why-us {
  background:var(--ink);
  color:white;
  display:grid;
  grid-template-columns:.85fr .9fr 1fr;
  gap:5vw;
  align-items:center;
  overflow:hidden;
}

.why-us ul {
  list-style:none;
  padding:0;
  margin:0;
}

.why-us li {
  border-top:1px solid rgba(255,255,255,.22);
  padding:1.15rem 0;
  font-size:1.05rem;
  transition:padding-left .3s ease,color .3s ease,border-color .3s ease;
}
.why-us li:hover {
  padding-left:.7rem;
  color:#ff8a8a;
  border-color:var(--red);
}

.why-us li::before {
  content:'✓';
  color:#f17474;
  margin-right:1rem;
}

.meat-collage {
  height:590px;
  position:relative;
  min-width:300px;
}

.meat-collage img {
  position:absolute;
  width:66%;
  height:76%;
  object-fit:cover;
  box-shadow:0 24px 55px rgba(0,0,0,.38);
}

.meat-collage img:first-child {
  left:0;
  top:0;
  transform:rotate(-3deg);
}

.meat-collage img:last-child {
  right:-8%;
  bottom:0;
  transform:rotate(4deg);
  border:8px solid var(--cream);
}
.contact-layout {
  display:grid;
  grid-template-columns:40% 1fr;
  gap:8vw;
}

.contact-lead p:last-child {
  color:var(--muted);
  max-width:460px;
}

.contact-details a {
  padding:1.7rem 0;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:90px 1fr auto;
  align-items:center;
  gap:1rem;
  transition:padding-left .3s ease,border-color .3s ease,color .3s ease;
}
.contact-details a:hover {
  padding-left:1rem;
  border-color:var(--red);
  color:var(--red);
}

.contact-details span {
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.13em;
  color:var(--muted);
}

.contact-details strong {
  font-size:clamp(1rem,2vw,1.45rem);
  word-break:break-word;
}

.contact-details b {
  color:var(--red);
}
.location-block {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:650px;
}

.map-frame {
  min-height:650px;
  background:var(--cream);
}

.map-frame iframe {
  width:100%;
  height:100%;
  min-height:650px;
  border:0;
  display:block;
  filter:saturate(.75) contrast(1.04);
}

.location-copy {
  background:var(--ink);
  color:white;
  padding:7vw;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.location-copy address {
  font-style:normal;
  color:#ccc3bb;
  font-size:1.15rem;
  margin:0 0 2rem;
}
.motion-ready .site-header {
  opacity:0;
  transform:translateY(-16px);
}
.motion-ready.page-ready .site-header {
  opacity:1;
  transform:none;
  transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1);
}
.reveal {
  opacity:0;
  filter:blur(4px);
  transform:translateY(38px) scale(.985);
  transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1),filter .75s ease;
  transition-delay:var(--reveal-delay,0ms);
}

.reveal.visible {
  opacity:1;
  filter:blur(0);
  transform:none;
}
.reveal-image {
  clip-path:inset(0 0 12% 0);
  transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease,clip-path 1s cubic-bezier(.2,.8,.2,1);
}
.reveal-image.visible {
  clip-path:inset(0);
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}

.motion-ready .site-header,.reveal,.reveal-image{opacity:1;filter:none;transform:none;clip-path:none;transition:none}

.hero-photo,.home-feature-image img,.community-image img,.wide-photo img{transition:none}

}
@media (max-width:900px){
  .intro::before,
  .page-hero {
  background-attachment:scroll;
}

  .site-header {
  height:82px;
  padding:0 5vw;
}

.brand img {
  width:180px;
  height:58px;
}

.menu-toggle {
  display:block;
  z-index:3;
}

.site-nav {
  position:fixed;
  inset:0;
  margin-left:0;
  background:var(--paper);
  flex-direction:column;
  justify-content:center;
  font-size:1.4rem;
  transform:translateY(-100%);
  transition:.3s;
}

.site-nav.open {
  transform:none;
}

.nav-cta {
  margin-left:0;
  margin-top:1rem;
}
  .hero {
  min-height:calc(100svh - 82px);
}

.hero-copy {
  width:min(82%,720px);
  min-height:calc(100svh - 82px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-art {
  min-height:0;
}

.hero-art::before {
  width:82%;
}

.hero-photo {
  object-position:62% center;
}

.intro,.story-grid,.product-intro,.promise,.values,.contact-layout,.home-feature,.community-story {
  grid-template-columns:1fr;
}

.home-feature-image {
  min-height:560px;
}

.community-image {
  height:560px;
}

.section-label {
  margin-bottom:2rem;
}

.promise {
  gap:3rem;
}

.visit-strip {
  align-items:flex-start;
  flex-direction:column;
}

.mission-vision,.location-block {
  grid-template-columns:1fr;
}

.mission-vision article {
  min-height:430px;
}

.product-row {
  grid-template-columns:50px 1fr;
}

.product-row p {
  grid-column:2;
}

.why-us {
  grid-template-columns:1fr 1fr;
}

.meat-collage {
  grid-column:1/-1;
  height:540px;
  max-width:620px;
  width:100%;
  margin:1rem auto 0;
}

.map-frame,.map-frame iframe {
  min-height:480px;
}

.location-copy {
  min-height:500px;
}

.site-footer {
  grid-template-columns:1.5fr 1fr 1fr;
}

.footer-brand {
  grid-column:1/-1;
}
}
@media (max-width:580px){
  h1 {
  font-size:clamp(3.1rem,15vw,5rem);
}

.home-title {
  font-size:clamp(3rem,13vw,4.8rem);
}

.hero-copy,.page-hero {
  padding-left:6vw;
  padding-right:6vw;
}

.section-pad {
  padding-left:6vw;
  padding-right:6vw;
}

.hero-copy {
  width:94%;
  min-height:620px;
}

.hero-art {
  min-height:0;
}

.hero-art::before {
  width:100%;
  background:linear-gradient(90deg,
    rgba(251,248,242,.97) 0%,
    rgba(251,248,242,.9) 48%,
    rgba(251,248,242,.48) 76%,
    rgba(251,248,242,.08) 100%);
  -webkit-mask-image:none;
  mask-image:none;
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}

.hero-photo {
  object-position:72% center;
}

.art-caption {
  right:6vw;
}

.home-feature-image {
  min-height:430px;
}

.home-feature-copy {
  padding:5rem 6vw;
}

.home-facts {
  grid-template-columns:1fr;
  padding:2rem 6vw;
}

.home-facts > div {
  border-left:0;
  border-top:1px solid rgba(255,255,255,.3);
  padding:1.5rem 0;
}

.home-facts > div:first-child {
  border-top:0;
}

.community-image {
  height:470px;
}

.visit-strip,.cta-band {
  padding-left:6vw;
  padding-right:6vw;
}

.cta-band {
  align-items:flex-start;
  flex-direction:column;
}

.site-footer {
  grid-template-columns:1fr 1fr;
}

.footer-brand {
  grid-column:1/-1;
}

.footer-column:last-of-type {
  grid-column:1/-1;
}

.footer-bottom {
  flex-direction:column;
  align-items:flex-start;
}

.mission-vision article {
  padding:5rem 6vw;
}

.product-lines {
  padding:0 6vw;
}

.product-row {
  grid-template-columns:35px 1fr;
}

.contact-details a {
  grid-template-columns:1fr auto;
}

.contact-details span {
  grid-column:1/-1;
}

.contact-details strong {
  grid-column:1;
}

.contact-details b {
  grid-column:2;
}

.button-row {
  align-items:flex-start;
  flex-direction:column;
  gap:1.4rem;
}

.wide-photo {
  height:430px;
}

.wide-photo img {
  object-position:center;
}

.why-us {
  grid-template-columns:1fr;
}

.meat-collage {
  height:430px;
}

.meat-collage img {
  width:70%;
  height:74%;
}

.page-hero {
  min-height:620px;
}
}
