.ingredients{
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 85% 7%,#f6dfb86b,transparent 31%),#f7f5ed;
  color:#173c32;
}
.ingredients::before{
  content:"";
  position:absolute;
  top:-150px;
  left:-130px;
  width:390px;
  aspect-ratio:1;
  border:1px solid #d3b98480;
  border-radius:50%;
  box-shadow:0 0 0 50px #d9c28b16,0 0 0 51px #d3b98447;
  pointer-events:none;
}
.ingredient-intro{position:relative;z-index:1;max-width:860px;margin-bottom:42px}
.ingredient-intro h2{font-size:clamp(2.6rem,5.1vw,5.4rem);line-height:1.2;text-wrap:balance}
.ingredient-intro h2 span{display:block;color:#c96b32}
.ingredient-intro>p:not(.eyebrow){max-width:700px;margin-inline:auto;font-size:1.05rem;line-height:1.75}
.ingredient-showcase{
  --ingredient-accent:#e7bd80;
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  max-width:1370px;
  margin:auto;
  overflow:hidden;
  border:1px solid #c3ac79;
  border-radius:34px;
  background:#f9f8f2;
  box-shadow:0 34px 90px #18392a21,0 7px 20px #18392a0c;
}
.ingredient-stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:665px;
  overflow:hidden;
  isolation:isolate;
  background:radial-gradient(circle at 48% 43%,color-mix(in srgb,var(--ingredient-accent),transparent 58%),transparent 42%),radial-gradient(circle at 52% 54%,#28644c,#103e32 62%,#082820);
}
.ingredient-stage::before{
  content:"";
  position:absolute;
  inset:-55%;
  z-index:-1;
  background:conic-gradient(from 10deg,transparent 0 30%,color-mix(in srgb,var(--ingredient-accent),transparent 84%) 42%,transparent 52% 80%,#cda56d31 94%,transparent);
  animation:ingredient-ambient 21s linear infinite;
  animation-play-state:paused;
}
.ingredient-showcase.is-in-view .ingredient-stage::before{animation-play-state:running}
.ingredient-stage-grid{
  position:absolute;
  inset:0;
  opacity:.24;
  background-image:linear-gradient(45deg,transparent 48%,#dfc48936 49%,#dfc48936 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,#dfc48936 49%,#dfc48936 51%,transparent 52%);
  background-size:70px 70px;
  mask-image:radial-gradient(circle at center,transparent 26%,#000 86%);
}
.ingredient-orbit{position:absolute;left:50%;top:50%;aspect-ratio:1;border-radius:50%;translate:-50% -50%;pointer-events:none}
.ingredient-orbit-outer{width:min(89%,560px);border:1px dashed #e9d2a66b;animation:ingredient-orbit 44s linear infinite;animation-play-state:paused}
.ingredient-orbit-inner{width:min(74%,465px);border:1px solid #f4d9a952;box-shadow:0 0 0 22px #e9c8920b,0 0 0 23px #e9c89229;animation:ingredient-orbit 32s linear infinite reverse;animation-play-state:paused}
.ingredient-showcase.is-in-view .ingredient-orbit{animation-play-state:running}
.ingredient-orbit::before,.ingredient-orbit::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--ingredient-accent);box-shadow:0 0 18px var(--ingredient-accent)}
.ingredient-orbit::before{top:14%;left:15%}
.ingredient-orbit::after{right:9%;bottom:20%;width:5px;height:5px}
.ingredient-light{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,#fff9df20,transparent 65%);filter:blur(16px);pointer-events:none}
.ingredient-image-wrap{
  position:relative;
  z-index:2;
  width:min(61%,390px);
  aspect-ratio:1;
  padding:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 1px #f7d8a3,0 0 0 13px #ffffff15,0 33px 55px #001f1bac,0 0 60px color-mix(in srgb,var(--ingredient-accent),transparent 61%);
  animation:ingredient-float 5.5s ease-in-out infinite;
  animation-play-state:paused;
}
.ingredient-showcase.is-in-view .ingredient-image-wrap{animation-play-state:running}
.ingredient-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.ingredient-stage-mark,.ingredient-stage-corner{position:absolute;z-index:2;color:#f5e6c4;font:800 .7rem "DM Sans",sans-serif;letter-spacing:.18em}
.ingredient-stage-mark{left:31px;bottom:28px}
.ingredient-stage-corner{right:31px;top:28px}
.ingredient-stage-number{position:absolute;left:-24px;top:-55px;color:#ffffff0b;font:800 clamp(13rem,25vw,27rem)/1 "DM Sans",sans-serif;letter-spacing:-.12em;pointer-events:none;user-select:none}
.ingredient-panel{display:flex;flex-direction:column;min-width:0;padding:clamp(25px,3.2vw,51px);background:linear-gradient(145deg,#fffdf6,#f4f3e9)}
.ingredient-panel-meta{display:flex;justify-content:space-between;gap:12px;color:#b16b3e;font:800 .7rem "DM Sans",sans-serif;letter-spacing:.14em}
.ingredient-panel-meta span:last-child{white-space:nowrap}
.ingredient-panel-detail{min-height:150px;margin:24px 0 20px}
.ingredient-panel-detail h3{margin:0 0 8px;font-size:clamp(2.25rem,3.2vw,3.7rem);line-height:1.23;letter-spacing:-.06em;text-wrap:balance}
.ingredient-panel-detail p{margin:0;color:#52675a;font-size:1.06rem;line-height:1.7}
.ingredient-choices{display:grid;gap:8px;margin-top:auto}
.ingredient-choice{
  position:relative;
  display:grid;
  grid-template-columns:32px 52px minmax(0,1fr) 18px;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:68px;
  padding:7px 13px;
  overflow:hidden;
  border:1px solid #d8dfd3;
  border-radius:15px;
  background:#fff;
  color:#1a3e32;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
}
.ingredient-choice::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#d87b39;transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}
.ingredient-choice:hover{transform:translateX(4px);border-color:#a6bd9e;box-shadow:0 8px 20px #183d3017}
.ingredient-choice.is-active{border-color:#b5c9ad;background:#edf3e8;box-shadow:0 7px 18px #254b3420}
.ingredient-choice.is-active::before{transform:scaleY(1)}
.ingredient-choice:focus-visible{outline:3px solid #ea873e;outline-offset:3px}
.ingredient-choice-number{font:800 .76rem "DM Sans",sans-serif;letter-spacing:.04em;color:#bf6e38}
.ingredient-choice img{display:block;width:52px;height:52px;object-fit:cover;border-radius:50%;border:1px solid #e6e9df}
.ingredient-choice-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.ingredient-choice-copy strong{font-size:.97rem;line-height:1.35}
.ingredient-choice-copy small{font-size:.79rem;line-height:1.35;color:#607568}
.ingredient-choice-arrow{color:#a8774e;font:700 1rem "DM Sans",sans-serif;opacity:0;translate:-4px 4px;transition:opacity .28s,translate .28s}
.ingredient-choice:hover .ingredient-choice-arrow,.ingredient-choice.is-active .ingredient-choice-arrow{opacity:1;translate:0 0}
.ingredient-note{max-width:720px;margin:24px auto 0;font-size:.83rem;line-height:1.75;color:#607065}
.ingredient-showcase.is-in-view{animation:ingredient-showcase-in .85s cubic-bezier(.2,.8,.2,1) both}
@keyframes ingredient-ambient{to{transform:rotate(360deg)}}
@keyframes ingredient-orbit{to{rotate:360deg}}
@keyframes ingredient-float{50%{translate:0 -12px}}
@keyframes ingredient-showcase-in{from{opacity:.45;translate:0 24px}to{opacity:1;translate:0 0}}
@media(max-width:1000px){
  .ingredient-showcase{grid-template-columns:1fr}
  .ingredient-stage{min-height:490px}
  .ingredient-panel-detail{min-height:0;margin:18px 0 22px}
  .ingredient-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ingredient-choice:last-child{grid-column:1/-1}
}
@media(max-width:660px){
  .ingredients::before{width:250px;min-width:0;top:-100px;left:-150px}
  .ingredient-intro{text-align:left;margin-bottom:25px}
  .ingredient-intro h2{font-size:clamp(2.4rem,9vw,3.5rem);line-height:1.24}
  .ingredient-intro>p:not(.eyebrow){margin-inline:0;font-size:1rem}
  .ingredient-showcase{border-radius:23px}
  .ingredient-stage{min-height:350px}
  .ingredient-image-wrap{width:min(60%,245px);padding:6px}
  .ingredient-orbit-outer{width:82%}
  .ingredient-orbit-inner{width:68%}
  .ingredient-stage-number{top:-21px;left:-12px;font-size:14rem}
  .ingredient-stage-mark{left:18px;bottom:17px}
  .ingredient-stage-corner{right:17px;top:17px}
  .ingredient-panel{padding:22px 17px 20px}
  .ingredient-panel-detail h3{font-size:clamp(2.1rem,8vw,3rem)}
  .ingredient-panel-detail p{font-size:1rem}
  .ingredient-choices{grid-template-columns:1fr;gap:7px}
  .ingredient-choice:last-child{grid-column:auto}
  .ingredient-choice{min-height:64px;grid-template-columns:27px 44px minmax(0,1fr) 17px;gap:10px;padding:7px 10px}
  .ingredient-choice img{width:44px;height:44px}
  .ingredient-choice-copy strong{font-size:.93rem}
  .ingredient-choice-copy small{font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){
  .ingredient-showcase.is-in-view,.ingredient-stage::before,.ingredient-orbit,.ingredient-image-wrap{animation:none!important}
  .ingredient-choice,.ingredient-choice::before,.ingredient-choice-arrow{transition:none!important}
}
