.featured-section{
  min-width:0;
  overflow-x:clip;
  overflow-y:visible;
}
.featured-section .section-head,
.featured-section .section-head > div,
.featured-section .section-head p{
  min-width:0;
  max-width:100%;
}
.featured-section[hidden]{display:none !important}
.featured-carousel,
.featured-shell,
.featured-viewport,
.featured-track,
.featured-slide,
.featured-card,
.featured-copy{
  min-width:0;
  max-width:100%;
}
.featured-shell{position:relative;display:grid;gap:16px}
.featured-viewport{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line, #d8cebb);
  border-radius:var(--radius-xl, 34px);
  background:var(--paper-3, #fffaf0);
  box-shadow:var(--shadow-soft, 0 14px 34px rgba(21,20,15,.08));
  outline:0;
  touch-action:pan-y;
}
html:not(.is-pointer) .featured-viewport:focus-visible{
  box-shadow:0 0 0 3px rgba(83,107,70,.28), var(--shadow-soft, 0 14px 34px rgba(21,20,15,.08));
}
.featured-track{
  display:flex;
  width:100%;
  transform:translate3d(0,0,0);
  transition:transform .68s cubic-bezier(.2,.8,.2,1);
}
.featured-slide{
  flex:0 0 100%;
  width:100%;
}
.featured-card{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
}
.featured-media{
  position:relative;
  display:block;
  min-width:0;
  aspect-ratio:1;
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  background:linear-gradient(145deg,#f7f4ec,#ece4d4);
}
.featured-media img{
  width:100%;
  height:100%;
  padding:clamp(16px,3vw,28px);
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 16px 24px rgba(21,20,15,.08));
}
.featured-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:12px;
  padding:clamp(22px,4vw,42px);
  overflow:visible;
}
.featured-promo{
  display:inline-flex;
  max-width:100%;
  align-items:center;
  min-height:32px;
  padding:6px 12px;
  overflow:hidden;
  border:1px solid rgba(83,107,70,.18);
  border-radius:999px;
  background:var(--olive-soft, #e1ead8);
  color:var(--olive-dark, #26351f);
  font-family:"Sora","Nunito Sans",system-ui,sans-serif !important;
  font-size:.72rem !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.featured-card h3{
  max-width:100%;
  margin:0 !important;
  color:var(--ink, #15140f) !important;
  font-size:clamp(1.9rem,4.4vw,3.35rem) !important;
  font-weight:760 !important;
  line-height:1.02 !important;
  letter-spacing:-.05em !important;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.featured-card h3 a{
  color:inherit;
  text-decoration:none;
}
.featured-blurb{
  max-width:38ch;
  margin:0 !important;
  color:var(--muted, #706b5e) !important;
  font-size:clamp(.92rem,1.4vw,1.05rem) !important;
  font-weight:650 !important;
  line-height:1.5 !important;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.featured-price{
  display:block;
  max-width:100%;
  margin:4px 0 6px;
  color:var(--ink, #15140f) !important;
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-size:clamp(1.85rem,4vw,3.1rem);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.055em;
  overflow-wrap:anywhere;
  white-space:normal;
}
.featured-copy .btn{
  width:auto;
  max-width:100%;
  min-height:48px;
  margin-top:4px;
  flex:0 0 auto;
  white-space:normal;
}
.featured-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
}
.featured-controls[hidden]{display:none !important}
.featured-arrow{
  display:grid;
  place-items:center;
  flex:0 0 46px;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid var(--line, #d8cebb);
  border-radius:50%;
  background:rgba(255,253,248,.88);
  color:var(--ink, #15140f);
  font-size:1.7rem;
  line-height:1;
  box-shadow:0 8px 22px rgba(21,20,15,.08);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.featured-arrow,.featured-dots button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.featured-arrow:active{transform:scale(.96)}
.featured-dots{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  min-width:0;
}
.featured-dots button{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.featured-dots button span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(21,20,15,.22);
  transition:width .22s ease, background .22s ease;
}
.featured-dots button.is-active span{
  width:22px;
  background:var(--olive-dark, #26351f);
}
.featured-status{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media(hover:hover){
  .featured-arrow:hover{
    background:#fff;
    box-shadow:0 12px 28px rgba(21,20,15,.12);
    transform:translateY(-1px);
  }
}

@media(max-width:860px){
  .featured-card{grid-template-columns:1fr}
  .featured-media{aspect-ratio:4/3}
  .featured-copy{padding:22px 20px 24px}
  .featured-card h3{max-width:none}
}

@media(max-width:700px){
  .featured-viewport{border-radius:24px}
  .featured-media{aspect-ratio:1}
  .featured-media img{padding:14px}
  .featured-copy{padding:18px 16px 20px;gap:10px}
  .featured-copy .btn{width:100% !important}
  .featured-arrow{width:44px;height:44px;flex-basis:44px}
  .featured-dots button{width:44px;height:44px}
}

@media(max-width:420px){
  .featured-price{font-size:clamp(1.9rem,11vw,2.55rem)}
}

@media(prefers-reduced-motion:reduce){
  .featured-track{transition:none}
  .featured-arrow,.featured-dots button span{transition:none}
}
