/* ===== FONTS (embedded) ===== */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/fraunces.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/fraunces-italic.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter.woff2) format('woff2')}

:root{--pack:url("../images/pack-in-shell.webp");--pack-plain:url("../images/pack-plain.webp");--faq-img:url("../images/faq-half-pack.webp")}
.pack-img{background-image:var(--pack)}
.faq-img{background-image:var(--faq-img)}
.pack-plain{background-image:var(--pack-plain)}
.pack-img,.pack-plain,.faq-img{background-size:contain;
  background-repeat:no-repeat;background-position:center}

/* ===== BASE (unchanged from your design) ===== */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FBFAF6;color:#33391F;font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#33391F;text-decoration:none}
a:hover{color:#4E5F28}
img{display:block;max-width:100%}
h1,h2,h3{margin:0}
p{margin:0}
:focus-visible{outline:2.5px solid #9C7935;outline-offset:3px}
@keyframes stripScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.container{max-width:1180px;margin:0 auto;padding:0 32px}
.section{padding:110px 0}
.eyebrow{display:block;margin-bottom:14px;font-size:12.5px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:700;color:#9C7935}
.h2{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.01em;line-height:1.07;
  color:#33391F;font-size:clamp(30px,3.8vw,44px);margin:0 0 18px}
.lead{font-size:16.5px;line-height:1.75;color:#616362;margin:0}
.head-center{margin:0 auto 60px;max-width:620px;text-align:center}

/* ===== NAV ===== */
nav.site{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(251,250,246,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(51,57,31,.12)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:20px 32px;max-width:1180px;margin:0 auto}
.nav-logo img{height:44px;width:auto}
.nav-menu{display:flex;gap:38px;font-size:14.5px;font-weight:500;color:#33391F}
.nav-menu a{padding-bottom:4px;border-bottom:2px solid transparent}
.nav-menu a:hover{border-bottom-color:#6A8037}
.nav-cta{background:#6A8037;color:#fff;padding:11px 26px;font-size:13.5px;font-weight:600;
  letter-spacing:.02em;border-radius:24px;transition:all .25s ease}
.nav-cta:hover{background:#4E5F28;color:#fff;transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:#33391F;border-radius:2px;
  transition:transform .25s,opacity .2s}
.nav-toggle span+span{margin-top:5px}
nav.site[data-open="true"] .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.site[data-open="true"] .nav-toggle span:nth-child(2){opacity:0}
nav.site[data-open="true"] .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-panel{display:contents}

/* ===== HERO ===== */
header.hero{position:relative;background:linear-gradient(160deg,#E3EBD3 0%,#F1F5E9 45%,#FBFAF6 100%);
  min-height:100vh;display:flex;align-items:center;padding:140px 0 90px;overflow:hidden}
.hero-blob{position:absolute;top:-12%;right:-8%;width:560px;height:560px;background:#ADC28A;
  opacity:.35;border-radius:43% 57% 61% 39%/49% 42% 58% 51%}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center;
  position:relative;z-index:2}
.hero-tag{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.hero-tag i{width:34px;height:2px;background:#6A8037;display:block}
.hero-tag span{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:#9C7935}
.hero h1{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.01em;line-height:1.07;
  color:#33391F;font-size:clamp(46px,6vw,72px);margin:0 0 8px;
  transform:rotate(-2deg);transform-origin:left center}
.hero h1 span{display:block}
.hero-sig{font-family:'Fraunces',serif;font-style:italic;font-size:20px;color:#616362;
  margin:18px 0 24px}
.hero-copy{font-size:16.5px;line-height:1.75;color:#616362;max-width:440px;margin:0 0 38px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:50px}
.btn{padding:16px 32px;font-size:14px;font-weight:600;letter-spacing:.01em;
  border-radius:30px;transition:all .25s ease;display:inline-block}
.btn-solid{background:#6A8037;color:#fff}
.btn-solid:hover{background:#4E5F28;color:#fff;transform:translateY(-2px)}
.btn-line{border:1.5px solid #BF9445;color:#9C7935}
.btn-line:hover{background:#BF9445;color:#fff}
.hero-meta{display:flex;gap:34px;flex-wrap:wrap;padding-top:30px;
  border-top:1px solid rgba(51,57,31,.12)}
.hero-meta b{display:block;font-family:'Fraunces',serif;font-size:26px;color:#4E5F28;font-weight:600}
.hero-meta small{display:block;font-size:12px;color:#616362;letter-spacing:.03em;margin-top:2px}
.hero-pack{position:relative;display:flex;justify-content:center}
.hero-pack .pack-img{width:80%;max-width:400px;aspect-ratio:643/810}

/* ===== STRIP ===== */
.strip{background:#4E5F28;padding:16px 0;overflow:hidden;white-space:nowrap}
.strip-track{display:inline-flex;gap:42px;animation:stripScroll 36s linear infinite}
.strip:hover .strip-track{animation-play-state:paused}
.strip-track span{font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;
  color:rgba(255,255,255,.85);display:flex;align-items:center;gap:42px}
.strip-track i{color:#BF9445;font-style:normal}

/* ===== ABOUT ===== */
.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}
.about-fig{position:relative;aspect-ratio:.85/1;margin:0}
.about-fig>div{position:absolute;inset:0;border-radius:28px;overflow:hidden}
.about-fig img{width:100%;height:100%;object-fit:cover;object-position:top}
.about-badge{position:absolute;left:-28px;bottom:-28px;background:#fff;border-radius:24px;
  box-shadow:0 24px 50px -16px rgba(51,57,31,.28);display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;padding:26px 28px;width:200px}
.about-badge .mark{width:38px;height:38px;margin-bottom:14px;border-radius:50%;background:#F1F5E9;
  display:flex;align-items:center;justify-content:center;font-size:18px;color:#6A8037;
  font-family:'Fraunces',serif}
.about-badge b{font-family:'Fraunces',serif;font-size:21px;color:#4E5F28;font-weight:600}
.about-badge hr{width:30px;height:2px;background:#BF9445;border:0;margin:14px 0}
.about-badge em{font-family:'Fraunces',serif;font-style:italic;color:#616362;
  font-size:13.5px;line-height:1.4}
.features{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.features div{background:#F1F5E9;border-radius:16px;padding:20px 22px;display:flex;
  align-items:center;gap:12px;font-weight:600;font-size:14.5px;color:#33391F}
.features i{width:34px;height:34px;flex-shrink:0;background:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#6A8037;font-style:normal}

/* ===== PRODUCT ===== */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border-radius:24px;padding:40px 32px;
  transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -18px rgba(51,57,31,.18)}
.card .mark{width:46px;height:46px;border-radius:50%;background:#E3EBD3;display:flex;
  align-items:center;justify-content:center;margin-bottom:24px;font-family:'Fraunces',serif;
  color:#4E5F28;font-size:18px}
.card h3{font-family:'Fraunces',serif;font-weight:500;font-size:20px;color:#33391F;margin:0 0 12px}
.card p{color:#616362;font-size:14.5px;line-height:1.7;margin:0}

/* ===== INGREDIENTS ===== */
.ing{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ing-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 0;padding:0}
.ing-list li{list-style:none;display:flex;align-items:center;gap:12px;background:#F1F5E9;
  border-radius:16px;padding:16px 18px;font-family:'Fraunces',serif;font-size:15.5px;color:#33391F}
.ing-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:#BF9445;flex-shrink:0}
.ing-visual{aspect-ratio:1/1;position:relative;overflow:hidden}
.slot{width:100%;height:100%;border:2px dashed rgba(255,255,255,.65);border-radius:20px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  color:#33391F;text-align:center;padding:20px}
.slot b{font-family:'Fraunces',serif;font-size:17px;font-weight:600}
.slot span{font-size:13px;color:rgba(51,57,31,.72);max-width:22ch;line-height:1.5}

/* ===== FAQ ===== */
.faq{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.faq-fig{display:flex;justify-content:center}
.faq-fig .faq-img{height:540px;aspect-ratio:532/1580;max-width:100%}
.qa{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.qa div{background:#fff;border-radius:18px;padding:22px 26px}
.qa b{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:#33391F;
  margin-bottom:8px;display:flex;align-items:baseline;gap:10px}
.qa b i{color:#BF9445;font-style:italic}
.qa p{font-size:14.5px;line-height:1.65;color:#616362}

/* ===== LIFESTYLE ===== */
.life{background:#fff;border-radius:24px;overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease}
.life:hover{transform:translateY(-5px);box-shadow:0 22px 46px -18px rgba(51,57,31,.16)}
.life-img{height:240px;background:#E3EBD3;position:relative;overflow:hidden}
.life-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.life-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(77,95,40,.05) 0%,rgba(46,58,24,.55) 100%)}
.life--own .life-img::after{background:linear-gradient(180deg,
  rgba(77,95,40,.02) 0%,rgba(46,58,24,.20) 100%)}
.life-body{padding:28px 26px}
.life-body .eyebrow{font-size:11px;margin-bottom:8px}
.life-body h3{font-family:'Fraunces',serif;font-weight:500;font-size:19px;color:#33391F;margin:0 0 10px}
.life-body p{font-size:14.5px;line-height:1.7;color:#616362;margin:0}

/* ===== BUSINESS ===== */
.biz{background:#4E5F28;color:#fff}
.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.biz .eyebrow{color:#BF9445;margin-bottom:0}
.biz h2{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.01em;line-height:1.07;
  color:#fff;font-size:clamp(28px,3.6vw,40px);margin:16px 0 22px}
.biz p.lead{color:rgba(255,255,255,.75);font-size:16px;line-height:1.8;margin:0 0 34px}
.biz ul{margin:0;padding:0}
.biz li{list-style:none;display:flex;align-items:center;gap:16px;padding:18px 0;
  border-top:1px solid rgba(255,255,255,.14);font-size:15.5px;color:rgba(255,255,255,.92);font-weight:500}
.biz li::before{content:"";width:8px;height:8px;border-radius:50%;background:#BF9445;flex-shrink:0}
.biz-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.biz-stats div{background:rgba(255,255,255,.08);border-radius:20px;padding:32px 26px}
.biz-stats b{display:block;font-family:'Fraunces',serif;font-size:36px;color:#BF9445;font-weight:600}
.biz-stats span{display:block;font-size:12.5px;color:rgba(255,255,255,.65);margin-top:8px}

/* ===== CONTACT ===== */
.contact-card{background:#fff;border:1px solid rgba(51,57,31,.12);border-radius:28px;
  padding:64px 56px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.contact-card .mark{width:44px;height:44px;border-radius:50%;background:#F1F5E9;display:flex;
  align-items:center;justify-content:center;margin-bottom:18px;color:#4E5F28;font-size:19px}
.contact-card .main{font-family:'Fraunces',serif;font-size:19px;color:#33391F;margin-bottom:6px;
  display:block}
.contact-card .sub{font-size:13.5px;color:#616362}

/* ===== FOOTER ===== */
footer.site{background:#33391F;color:rgba(255,255,255,.55);padding:56px 0 32px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:36px;
  border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:26px;flex-wrap:wrap;gap:24px}
.foot-mark{display:inline-flex;align-items:center}
.foot-mark img{height:48px;width:auto;filter:brightness(0) invert(1)}
.foot-links{display:flex;gap:32px;font-size:13.5px;flex-wrap:wrap}
.foot-links a{color:rgba(255,255,255,.55)}
.foot-links a:hover{color:#fff}
.foot-base{display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:12px}


/* ===== INGREDIENTS ARC CAROUSEL (inside the green panel) ===== */
.arc{--iw:88px;--ih:58px}
.arc-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.arc-line path{fill:none;stroke:rgba(51,57,31,.18);stroke-width:1.5;
  vector-effect:non-scaling-stroke}
.arc-items{position:absolute;inset:0}
.arc-item{display:flex;flex-direction:column;align-items:center;width:94px;
  text-align:center;pointer-events:none}
.arc-item .arc-ico{width:var(--iw);height:var(--ih);display:block}
.arc-item .arc-ico img{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block}
.arc-dot{width:9px;height:9px;border-radius:50%;background:#BF9445;
  margin:10px 0 8px;display:block}
.arc-label{font-size:11.5px;font-weight:500;color:#616362;letter-spacing:.02em;line-height:1.35}
.arc-pack{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:3;
  height:70%;aspect-ratio:377/1047;background-position:bottom center}
.arc-pack::before{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);
  width:190%;height:26px;border-radius:50%;z-index:-1;
  background:radial-gradient(ellipse at center,rgba(51,57,31,.22) 0%,rgba(51,57,31,0) 70%)}
.arc-nav{position:absolute;top:calc(20% - 16px);z-index:4;width:32px;height:32px;
  border-radius:50%;border:1.5px solid rgba(51,57,31,.16);background:#FFFFFF;
  color:#4E5F28;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,color .2s}
.arc-nav svg{width:17px;height:17px}
.arc-nav:hover{background:#6A8037;border-color:#6A8037;color:#FFFFFF}
.arc-prev{left:12px}
.arc-next{right:12px}
/* Before JS runs (or with JS off) the items just sit in a grid. */
.arc:not(.is-live){aspect-ratio:auto;padding:28px 22px}
.arc:not(.is-live) .arc-items{position:static;display:flex;flex-wrap:wrap;
  justify-content:center;gap:18px}
.arc:not(.is-live) .arc-line,.arc:not(.is-live) .arc-nav,
.arc:not(.is-live) .arc-pack{display:none}
.arc.is-live .arc-item{position:absolute;left:0;top:0;will-change:transform,opacity}

/* =====================================================================
   RESPONSIVE — this is the only addition to your design.
   Nothing above 980px changes; the desktop layout is exactly as you had it.
   ===================================================================== */
@media (max-width:980px){
  .section{padding:72px 0}
  .container,.nav-in{padding-left:24px;padding-right:24px}
  .nav-panel{display:none}
  .nav-toggle{display:block}
  nav.site[data-open="true"] .nav-panel{display:block;position:absolute;top:100%;left:0;right:0;
    background:#FBFAF6;border-bottom:1px solid rgba(51,57,31,.12);padding:4px 24px 24px;
    max-height:calc(100dvh - 5.5rem);overflow-y:auto}
  nav.site[data-open="true"] .nav-menu{flex-direction:column;gap:0;font-size:16px}
  nav.site[data-open="true"] .nav-menu a{padding:14px 0;border-bottom:1px solid rgba(51,57,31,.09)}
  nav.site[data-open="true"] .nav-cta{display:inline-block;margin-top:20px}
  header.hero{min-height:0;padding:120px 0 72px}
  .hero-blob{width:340px;height:340px;top:-6%;right:-18%}
  .hero-grid,.about,.ing,.faq,.biz-grid{grid-template-columns:1fr;gap:40px}
  .hero h1{transform:none}
  .hero-pack{order:-1}
  .hero-pack img{width:62%;max-width:300px}
  .hero-btns{margin-bottom:36px}
  .about-fig{order:-1;aspect-ratio:1.15/1;max-width:520px}
  .about-badge{left:auto;right:16px;bottom:-24px}
  .cards3{grid-template-columns:1fr;gap:16px}
  .card{padding:32px 26px}
  .ing-visual{max-width:520px}
  .arc{--iw:80px;--ih:54px}
  .arc-item{width:88px}
  .faq-fig{order:-1}
  .faq-fig .faq-img{height:400px}
  .contact-card{grid-template-columns:1fr;gap:32px;padding:40px 32px}
  .foot-top{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .container,.nav-in{padding-left:20px;padding-right:20px}
  .section{padding:60px 0}
  .head-center{margin-bottom:40px}
  .features,.biz-stats{grid-template-columns:1fr}
  .ing-list{grid-template-columns:1fr 1fr;gap:10px}
  .ing-list li{font-size:14px;padding:13px 14px}
  .arc{--iw:68px;--ih:46px}
  .arc-item{width:76px}
  .arc-label{font-size:11px}
  .hero-meta{gap:24px}
  .about-badge{width:170px;padding:20px 22px;right:8px}
  .biz-stats{grid-template-columns:1fr 1fr}
  .contact-card{padding:32px 24px}
  .btn{padding:14px 26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .strip-track{animation:none}
}
