.home-story {
  --section-space: clamp(4.5rem, 7vw, 7rem);
  --device-ratio: 430 / 932;
  --heading-section: clamp(2.5rem, 4.6vw, 4.65rem);
  --heading-hero: clamp(3.25rem, 5.8vw, 5.8rem);
  --cookavoli-green: #49f21d;
  --cookavoli-dark: #062719;
  --cookavoli-ink: #061b14;
  --cookavoli-muted: #60676d;
  background: #fbfcf8;
}

.home-story h1,
.home-story h2,
.home-story h3,
.home-story p,
.home-story figure {
  margin: 0;
}

.home-story h1,
.home-story h2 {
  max-width: 18ch;
  margin-right: 0;
  margin-left: 0;
  color: var(--cookavoli-ink);
  font-weight: 850;
  letter-spacing: -0.055em;
  line-height: 0.98;
  text-wrap: balance;
}

.home-story h1 {
  font-size: var(--heading-hero);
}

.home-story h2 {
  font-size: var(--heading-section);
}

.home-story h3 {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.08;
}

.home-section {
  position: relative;
  width: 100%;
  padding: var(--section-space) max(1.25rem, calc((100vw - 1180px) / 2));
}

.home-section > * {
  min-width: 0;
}

.home-section[data-heading-align="center"] > header,
.home-section[data-heading-align="center"] > .beta-invitation__copy {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.home-section[data-heading-align="center"] > header h2,
.home-section[data-heading-align="center"] > .beta-invitation__copy h2 {
  margin-right: auto;
  margin-left: auto;
}

.home-section[data-heading-align="right"] > header,
.home-section[data-heading-align="right"] > .week-panorama__copy,
.home-section[data-heading-align="right"] > .safety-ledger__copy {
  margin-left: auto;
  text-align: right;
}

.home-section[data-heading-align="right"] > header h2,
.home-section[data-heading-align="right"] > .week-panorama__copy h2,
.home-section[data-heading-align="right"] > .safety-ledger__copy h2 {
  margin-left: auto;
}

.device {
  position: relative;
  isolation: isolate;
  width: min(100%, 23rem);
  max-height: min(43rem, 74svh);
  aspect-ratio: var(--device-ratio);
  padding: 0.48rem;
  border: 1px solid rgb(234 239 236 / 74%);
  border-radius: clamp(1.7rem, 3vw, 2.8rem);
  background: linear-gradient(132deg, #e8ece9 0%, #777f7a 15%, #161b18 34%, #030604 68%, #9aa19d 88%, #f5f7f5 100%);
  box-shadow: 0 2px 1px rgb(255 255 255 / 58%) inset, 0 -2px 3px rgb(0 0 0 / 85%) inset, 0 28px 70px rgb(3 27 17 / 28%), 0 8px 18px rgb(3 27 17 / 18%);
  filter: drop-shadow(0 18px 18px rgb(3 27 17 / 16%));
  overflow: visible;
}

.device::before {
  position: absolute;
  z-index: 2;
  top: 0.72rem;
  left: 50%;
  width: 29%;
  height: 1.08rem;
  border: 1px solid #151a17;
  border-radius: 999px;
  background: radial-gradient(circle at 78% 50%, #152b23 0 7%, #020403 8% 100%);
  box-shadow: 0 1px 1px rgb(255 255 255 / 13%) inset, 0 2px 7px rgb(0 0 0 / 75%);
  content: "";
  translate: -50% 0;
}

.device::after {
  position: absolute;
  z-index: -1;
  top: 20%;
  left: -0.27rem;
  width: 0.22rem;
  height: 3.25rem;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(90deg, #515955, #d3d8d5);
  box-shadow: 0 4.2rem 0 #87908b, calc(100% + 0.32rem) 2.2rem 0 #8e9691;
  content: "";
}

.device img {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #050806;
  border-radius: calc(clamp(1.7rem, 3vw, 2.8rem) - 0.38rem);
  background: #020604;
  box-shadow: 0 0 0 1px rgb(255 255 255 / 8%) inset;
  object-fit: contain;
}

.home-story button,
.home-story a {
  font: inherit;
}

.hero {
  display: grid;
  min-height: min(50rem, calc(100svh - 4.8rem));
  padding-top: clamp(3rem, 6vw, 5.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
  align-items: center;
  grid-template-columns: minmax(0, 0.86fr) minmax(31rem, 1.14fr);
  gap: clamp(2rem, 5vw, 5rem);
  background: #fbfcf8;
  overflow: hidden;
}

.hero::before,
.hero::after {
  position: absolute;
  width: 12rem;
  aspect-ratio: 1;
  border-radius: 80% 20% 70% 30%;
  background: radial-gradient(circle at 35% 35%, #86e650, #277728 70%);
  content: "";
  filter: blur(8px);
  opacity: 0.16;
}

.hero::before {
  bottom: -6rem;
  left: -5rem;
  rotate: -30deg;
}

.hero::after {
  right: -6rem;
  bottom: 4rem;
  rotate: 25deg;
}

.hero__copy {
  position: relative;
  z-index: 3;
  max-width: 41rem;
}

.hero h1 {
  max-width: 11ch;
}

.hero__lead {
  max-width: 31rem;
  margin-top: 1.5rem !important;
  color: var(--cookavoli-muted);
  font-size: clamp(1.08rem, 1.6vw, 1.38rem);
  line-height: 1.45;
}

.hero__actions {
  display: flex;
  margin-top: 2rem;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.hero__actions .button,
.platform-line__action,
.beta-invitation .button,
.safety-ledger__link,
.faq-stack .button {
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  box-shadow: 0 12px 28px rgb(73 242 29 / 22%);
  color: #05120b;
}

.hero__actions .button > .ph,
.beta-invitation .button > .ph,
.safety-ledger__link > .ph,
.faq-stack .button > .ph {
  margin-left: 1rem;
}

.hero__secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--cookavoli-ink);
  font-weight: 760;
  text-underline-offset: 0.4rem;
}

.hero__secondary span {
  display: grid;
  width: 2.65rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.72rem;
}

.hero__signals {
  display: flex;
  margin: 2.6rem 0 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  color: var(--cookavoli-muted);
  font-size: 0.9rem;
  list-style: none;
}

.hero__signals li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.hero__signals strong {
  color: var(--cookavoli-dark);
  font-size: 0.72rem;
}

.hero-stage {
  position: relative;
  z-index: 2;
  height: min(39rem, 68svh);
}

.device--hero {
  position: absolute;
  width: min(18.5rem, 47%);
}

.device--front {
  bottom: 0;
  left: 7%;
  z-index: 2;
  rotate: -1.5deg;
}

.device--back {
  top: 1.6rem;
  right: 4%;
  rotate: 4deg;
}

.availability {
  background: #f7fbf5;
}

.availability__intro {
  max-width: 62rem;
}

.availability__intro h2 {
  max-width: 18ch;
}

.availability__intro p {
  max-width: 43rem;
  margin: 1.2rem auto 0;
  color: var(--cookavoli-muted);
  font-size: 1.12rem;
}

.platform-lines {
  display: grid;
  max-width: 68rem;
  margin: 3rem auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.platform-line {
  display: grid;
  min-height: 20rem;
  padding: 2rem;
  border: 1px solid #dfe8e1;
  border-radius: 2rem;
  background: rgb(255 255 255 / 78%);
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.3rem;
  box-shadow: 0 20px 55px rgb(14 57 32 / 6%);
}

.platform-line__symbol {
  display: grid;
  width: 5.2rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 1.5rem;
  background: #eef6ef;
  color: var(--cookavoli-dark);
  font-size: 1.6rem;
}

.platform-line > div {
  align-self: center;
}

.platform-line p {
  color: var(--cookavoli-muted);
}

.platform-line__name {
  color: var(--cookavoli-ink) !important;
  font-size: 1.8rem;
  font-weight: 820;
}

.status-pill {
  display: inline-flex;
  margin-top: 0.8rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: #dffbd7;
  color: #0b551e;
  font-size: 0.78rem;
  font-weight: 780;
}

.status-pill--quiet {
  background: #fff3cd;
  color: #6d5200;
}

.platform-line__action {
  display: flex;
  min-height: 3.5rem;
  padding: 0.8rem 1.2rem;
  align-items: center;
  grid-column: 1 / -1;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}

.platform-line__action .ph {
  margin-left: 1rem;
}

.availability__trial {
  max-width: 48rem;
  margin: 1.5rem auto 0 !important;
  color: var(--cookavoli-muted);
  text-align: center;
}

.decision {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 1.1fr);
  gap: clamp(3rem, 7vw, 7rem);
  background: #fff;
}

.decision__copy > p,
.week-panorama__copy > p,
.group-planning__copy > p,
.safety-ledger__copy > p {
  max-width: 38rem;
  margin-top: 1.35rem !important;
  color: var(--cookavoli-muted);
  font-size: 1.08rem;
}

.choice-ribbon {
  display: grid;
  margin-top: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.choice-ribbon button {
  display: flex;
  min-height: 5.4rem;
  padding: 1rem;
  border: 1px solid #dbe5dd;
  border-radius: 1.35rem;
  align-items: center;
  background: #fbfdf9;
  color: var(--cookavoli-ink);
  font-weight: 780;
  text-align: left;
  cursor: pointer;
  gap: 0.8rem;
}

.choice-ribbon button > span {
  display: grid;
  width: 2.6rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: #eff7ef;
}

.choice-ribbon button[aria-pressed="true"] {
  border-color: var(--cookavoli-green);
  background: #f1ffed;
  box-shadow: inset 0 0 0 1px var(--cookavoli-green);
}

.decision__visual {
  position: relative;
  display: grid;
  min-height: 43rem;
  place-items: center;
  border-radius: 3rem;
  background: radial-gradient(circle, #e6f9e3, #fbfcf8 67%);
}

.device--single {
  width: min(22rem, 70%);
}

.decision__floating-choice {
  position: absolute;
  right: 2rem;
  bottom: 5rem;
  display: inline-flex;
  padding: 0.85rem 1.1rem;
  align-items: center;
  border: 1px solid var(--cookavoli-green);
  border-radius: 999px;
  background: var(--cookavoli-dark);
  color: white;
  font-weight: 760;
  gap: 0.5rem;
}

.decision__floating-choice > .ph {
  color: var(--cookavoli-green);
}

.journey {
  background: #f7faf4;
}

.journey__header,
.screen-story__header,
.possibilities__header,
.feature-constellation__header {
  max-width: 68rem;
}

.journey__header p,
.screen-story__header p,
.possibilities__header p,
.feature-constellation__header p,
.detail-inspector__header p,
.story-tabs__header p,
.faq-stack__header > p:not(.eyebrow) {
  max-width: 47rem;
  margin-top: 1.15rem !important;
  color: var(--cookavoli-muted);
  font-size: 1.08rem;
  line-height: 1.5;
}

.journey__header p,
.screen-story__header p,
.possibilities__header p,
.feature-constellation__header p {
  margin-right: auto !important;
  margin-left: auto !important;
}

.journey-steps {
  position: relative;
  display: grid;
  margin-top: 3rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.journey-steps::before {
  position: absolute;
  top: 1.55rem;
  right: 8%;
  left: 8%;
  height: 2px;
  background: #c9d9ca;
  content: "";
}

.journey-steps button {
  position: relative;
  z-index: 1;
  display: grid;
  padding: 0;
  border: 0;
  justify-items: center;
  background: transparent;
  color: var(--cookavoli-ink);
  cursor: pointer;
  gap: 0.65rem;
}

.journey-steps button span {
  display: grid;
  width: 3.2rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #c9d9ca;
  border-radius: 50%;
  background: #f7faf4;
  font-weight: 800;
}

.journey-steps button[aria-selected="true"] span {
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  box-shadow: 0 0 0 0.45rem rgb(73 242 29 / 12%);
}

.journey-panel {
  display: grid;
  max-width: 62rem;
  min-height: 32rem;
  margin: 2rem auto 0;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.8fr);
  gap: 4rem;
}

.journey-panel[hidden] {
  display: none;
}

.journey-panel > div > p:first-child {
  color: #23c900;
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.journey-panel > div > p:last-child {
  max-width: 30rem;
  margin-top: 1rem !important;
  color: var(--cookavoli-muted);
}

.journey-path__screen {
  width: min(18rem, 100%);
  max-height: 31rem;
  justify-self: center;
}

.screen-story {
  --drag-x: 0px;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: #fff;
  overflow: hidden;
}

.screen-story__header h2 {
  max-width: 19ch;
}

.screen-slider {
  position: relative;
  margin-top: 1.5rem;
}

.screen-slider__viewport {
  position: relative;
  height: min(31rem, 55svh);
  perspective: 1200px;
  overflow-x: hidden;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  touch-action: pan-y;
  cursor: grab;
}

.screen-slider[data-dragging="true"] .screen-slider__viewport {
  cursor: grabbing;
}

.screen-slider__track {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

.screen-slider__slide {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(17rem, 34vw);
  height: min(29rem, 52svh);
  margin: 0;
  opacity: calc(1 - var(--flow-depth) * 0.16);
  scroll-snap-align: center;
  transform: translate(calc(-50% + var(--flow-index) * 14rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -8rem)) rotateY(calc(var(--flow-index) * -10deg)) scale(calc(1 - var(--flow-depth) * 0.07));
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1), opacity 420ms ease;
  cursor: pointer;
}

.screen-slider[data-dragging="true"] .screen-slider__slide {
  transition: none;
}

.device--slider {
  width: 100%;
  max-height: 100%;
}

.screen-slider__arrow {
  position: absolute;
  z-index: 9;
  top: 50%;
  display: grid;
  width: 3.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #d1dfd3;
  border-radius: 50%;
  background: rgb(255 255 255 / 88%);
  color: var(--cookavoli-ink);
  font-size: 1.35rem;
  cursor: pointer;
  translate: 0 -50%;
  backdrop-filter: blur(8px);
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.screen-slider__arrow .ph {
  transition: transform 180ms ease;
}

.screen-slider__arrow--previous {
  left: 0;
}

.screen-slider__arrow--next {
  right: 0;
}

.screen-slider__steps {
  display: grid;
  max-width: 54rem;
  margin: 0.75rem auto 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.screen-slider__steps button {
  position: relative;
  display: grid;
  padding: 0.55rem 0.35rem;
  border: 0;
  border-top: 2px solid #dbe3db;
  background: transparent;
  color: #7a8084;
  cursor: pointer;
  gap: 0.2rem;
}

.screen-slider__steps button[aria-selected="true"] {
  border-color: var(--cookavoli-green);
  color: var(--cookavoli-ink);
}

.screen-slider__steps span {
  font-size: 0.78rem;
  font-weight: 800;
}

.screen-slider__status {
  position: absolute;
  right: 0;
  bottom: 0;
  color: var(--cookavoli-muted);
  font-size: 0.85rem;
}

.detail-inspector {
  background: #f8fbf6;
}

.detail-inspector__header {
  max-width: 54rem;
}

.detail-inspector__header h2 {
  max-width: 16ch;
}

.detail-inspector__header p {
  margin-left: auto !important;
}

.detail-inspector__stage {
  display: grid;
  margin-top: 2.5rem;
  align-items: center;
  grid-template-columns: minmax(24rem, 1.05fr) minmax(22rem, 0.95fr);
  gap: clamp(3rem, 7vw, 6rem);
}

.detail-inspector__visual {
  display: grid;
  min-height: 37rem;
  place-items: center;
  border-radius: 3rem;
  background: radial-gradient(circle, #e0f8db, transparent 67%);
}

.device--detail {
  width: min(21rem, 66%);
}

.detail-ledger {
  display: grid;
  gap: 0.8rem;
}

.detail-ledger button,
.safety-points button {
  display: grid;
  width: 100%;
  min-height: 6rem;
  padding: 1rem 1.2rem;
  border: 1px solid #dce5dd;
  border-radius: 1.4rem;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  background: white;
  color: var(--cookavoli-ink);
  text-align: left;
  cursor: pointer;
  gap: 1rem;
}

.detail-ledger button > span:first-child,
.safety-points button > span {
  display: grid;
  width: 3rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: #ebf8e9;
  font-size: 1.25rem;
}

.detail-ledger button > span:nth-child(2) {
  display: grid;
}

.detail-ledger small {
  color: var(--cookavoli-muted);
  font-size: 0.95rem;
}

.detail-ledger button[aria-selected="true"],
.safety-points button[aria-selected="true"] {
  border-color: var(--cookavoli-green);
  background: #f4fff1;
  box-shadow: inset 0 0 0 1px var(--cookavoli-green);
}

.detail-panels {
  max-width: 38rem;
  margin: 1rem 0 0 auto;
  color: var(--cookavoli-muted);
  text-align: right;
}

.detail-panels [hidden],
.possibility-panels [hidden],
.story-tabs__panel[hidden],
.feature-orbit__panels [hidden],
.safety-panels [hidden] {
  display: none;
}

.possibilities {
  background: var(--cookavoli-dark);
  color: white;
}

.possibilities h2,
.story-tabs h2,
.beta-invitation h2 {
  color: white;
}

.possibilities__header p,
.story-tabs__header p {
  color: #bdc9c0;
}

.possibility-stage {
  display: grid;
  min-height: 38rem;
  margin-top: 2.5rem;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
  grid-template-columns: minmax(20rem, 0.85fr) minmax(24rem, 1.15fr);
  gap: clamp(2rem, 6vw, 6rem);
  border-radius: 2.5rem;
  background: #082e1e;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 7%);
}

.possibility-tabs {
  display: grid;
  gap: 0.7rem;
}

.possibility-tabs button {
  display: grid;
  min-height: 6rem;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: 1.4rem;
  align-items: center;
  grid-template-columns: auto 1fr;
  background: transparent;
  color: #d9e1db;
  text-align: left;
  cursor: pointer;
  gap: 1rem;
}

.possibility-tabs button > span:first-child {
  display: grid;
  width: 3.7rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #557263;
  border-radius: 50%;
  font-size: 1.3rem;
}

.possibility-tabs button > span:last-child {
  display: grid;
}

.possibility-tabs small,
.story-tabs__list small {
  color: #9db0a2;
}

.possibility-tabs button[aria-selected="true"] {
  border-color: #2f6545;
  background: #123e2a;
  color: white;
}

.possibility-tabs button[aria-selected="true"] > span:first-child {
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  color: #061b14;
}

.possibility-panels {
  display: grid;
  min-height: 35rem;
  place-items: center;
}

.device--possibility {
  width: min(21rem, 70%);
}

.week-panorama {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(24rem, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(3rem, 7vw, 7rem);
  background: #fbfcf8;
}

.week-panorama__visual {
  display: grid;
  min-height: 41rem;
  place-items: center;
  border-radius: 3rem;
  background: radial-gradient(circle, #e5f8e1, transparent 68%);
}

.device--calendar {
  width: min(22rem, 72%);
}

.check-list {
  display: grid;
  margin: 2rem 0 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  gap: 0.8rem;
}

.check-list li {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  font-size: 0.9rem;
  font-weight: 720;
  text-align: left;
  gap: 0.6rem;
}

.check-list span {
  display: grid;
  width: 2.5rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: #e8f8e5;
}

.week-strip {
  display: grid;
  margin-top: 2rem;
  padding: 0.7rem;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border: 1px solid #e0e9e1;
  border-radius: 1.5rem;
  background: white;
  box-shadow: 0 18px 45px rgb(14 57 32 / 8%);
  gap: 0.35rem;
}

.week-strip button {
  display: grid;
  min-height: 4.5rem;
  padding: 0.45rem;
  border: 0;
  border-radius: 1rem;
  place-items: center;
  background: #f6f9f5;
  color: var(--cookavoli-ink);
  cursor: pointer;
}

.week-strip span {
  color: var(--cookavoli-muted);
  font-size: 0.7rem;
}

.week-strip button[aria-pressed="true"] {
  background: var(--cookavoli-dark);
  color: white;
  box-shadow: inset 0 0 0 2px var(--cookavoli-green);
}

.week-strip button[aria-pressed="true"] span {
  color: white;
}

.group-planning {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.05fr) minmax(24rem, 0.95fr);
  gap: clamp(3rem, 7vw, 7rem);
  background: #f7fbf5;
}

.serving-composer {
  display: grid;
  margin-top: 2rem;
  padding: 1.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #dce7dd;
  border-radius: 2rem;
  background: white;
  box-shadow: 0 20px 55px rgb(14 57 32 / 7%);
  gap: 1rem;
}

.serving-composer__dial {
  padding: 1rem;
  border-right: 1px solid #e1e8e2;
}

.serving-composer__dial:nth-child(2) {
  border-right: 0;
}

.serving-composer__dial > span {
  display: block;
  margin-bottom: 0.8rem;
  font-weight: 800;
}

.serving-composer__dial > div {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  gap: 0.7rem;
}

.serving-composer__dial button {
  display: grid;
  width: 3rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #d8e4da;
  border-radius: 50%;
  background: #edf7ec;
  color: var(--cookavoli-ink);
  font-size: 1.5rem;
  cursor: pointer;
}

.serving-composer__dial button:last-child {
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
}

.serving-composer__dial strong {
  min-width: 4rem;
  padding: 0.45rem;
  border: 1px solid #dce5dd;
  border-radius: 0.9rem;
  font-size: 2rem;
  text-align: center;
}

.serving-composer__summary {
  display: flex;
  padding: 1rem;
  align-items: center;
  grid-column: 1 / -1;
  border-radius: 1.2rem;
  background: #eff8ee;
  color: var(--cookavoli-muted);
  gap: 0.7rem;
}

.serving-composer__summary strong {
  color: var(--cookavoli-dark);
}

.group-planning__visual {
  display: grid;
  min-height: 41rem;
  place-items: center;
  background: radial-gradient(circle, #e4f8e0, transparent 68%);
}

.device--serving {
  width: min(22rem, 75%);
}

.story-tabs {
  background: var(--cookavoli-dark);
  color: white;
}

.story-tabs__header {
  max-width: 54rem;
}

.story-tabs__stage {
  display: grid;
  min-height: 38rem;
  margin-top: 2rem;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(24rem, 0.9fr);
  gap: clamp(3rem, 7vw, 7rem);
}

.story-tabs__list {
  display: flex;
  align-self: start;
  border: 1px solid #31513e;
  border-radius: 999px;
  overflow: hidden;
}

.story-tabs__list button {
  display: grid;
  min-width: 0;
  min-height: 5.2rem;
  padding: 0.8rem 1rem;
  border: 0;
  flex: 1;
  background: transparent;
  color: white;
  text-align: left;
  cursor: pointer;
}

.story-tabs__list button[aria-selected="true"] {
  border-radius: 999px;
  background: var(--cookavoli-green);
  color: var(--cookavoli-ink);
}

.story-tabs__list span,
.story-tabs__list strong,
.story-tabs__list small {
  display: block;
}

.story-tabs__list small {
  display: none;
}

.story-tabs__panels {
  display: grid;
  min-height: 36rem;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(73 242 29 / 23%), transparent 65%);
}

.device--tab {
  width: min(21rem, 70%);
}

.feature-constellation {
  background: #fbfcf8;
}

.feature-orbit {
  position: relative;
  display: grid;
  max-width: 68rem;
  min-height: 38rem;
  margin: 2.5rem auto 0;
  place-items: center;
}

.feature-orbit::before {
  position: absolute;
  width: min(34rem, 72%);
  aspect-ratio: 1;
  border: 2px solid #d9f2d5;
  border-radius: 50%;
  content: "";
}

.feature-orbit__tabs {
  position: absolute;
  z-index: 2;
  inset: 0;
}

.feature-orbit__tabs button {
  position: absolute;
  display: grid;
  width: 13rem;
  padding: 0.7rem;
  border: 0;
  align-items: center;
  grid-template-columns: auto 1fr;
  background: transparent;
  color: var(--cookavoli-ink);
  text-align: left;
  cursor: pointer;
  gap: 0.7rem;
}

.feature-orbit__tabs button:nth-child(1) { top: 12%; left: 0; }
.feature-orbit__tabs button:nth-child(2) { top: 12%; right: 0; }
.feature-orbit__tabs button:nth-child(3) { bottom: 12%; left: 0; }
.feature-orbit__tabs button:nth-child(4) { right: 0; bottom: 12%; }

.feature-orbit__tabs button > span {
  display: grid;
  width: 4.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #d6e5d8;
  border-radius: 50%;
  background: #eff8ed;
  font-size: 1.6rem;
}

.feature-orbit__tabs button > strong,
.feature-orbit__tabs button > small {
  grid-column: 2;
}

.feature-orbit__tabs button[aria-selected="true"] > span {
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  box-shadow: 0 0 0 0.45rem rgb(73 242 29 / 12%);
}

.feature-orbit__panels {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 36rem;
  place-items: center;
}

.device--orbit {
  width: min(18rem, 45%);
}

.safety-ledger {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(24rem, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(3rem, 7vw, 7rem);
  background: #f7fbf5;
}

.safety-ledger__visual {
  display: grid;
  min-height: 42rem;
  place-items: center;
  background: radial-gradient(circle, #e2f7df, transparent 68%);
}

.device--safety {
  width: min(21rem, 68%);
}

.safety-ledger__copy h2 {
  max-width: 13ch;
}

.safety-ledger__copy > p {
  margin-left: auto !important;
}

.safety-points {
  display: grid;
  margin-top: 2rem;
  gap: 0.7rem;
}

.safety-points button {
  text-align: left;
}

.safety-panels {
  max-width: 38rem;
  min-height: 3rem;
  margin: 1rem 0 0 auto;
  color: var(--cookavoli-muted);
}

.safety-ledger__link {
  margin-top: 1rem;
}

.faq-stack {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(18rem, 0.7fr) minmax(28rem, 1.3fr);
  gap: clamp(3rem, 7vw, 7rem);
  background: #fff;
}

.faq-stack__header {
  position: sticky;
  top: 8rem;
}

.faq-stack__header h2 {
  max-width: 10ch;
}

.faq-stack__header .button {
  margin-top: 2rem;
}

.faq-stack__questions {
  border-top: 1px solid #dce5dd;
}

.faq-stack details {
  border-bottom: 1px solid #dce5dd;
}

.faq-stack details[open] {
  border: 1px solid var(--cookavoli-green);
  border-radius: 1.4rem;
  background: #f8fff6;
}

.faq-stack summary {
  display: grid;
  min-height: 5.6rem;
  padding: 1.2rem;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  font-size: 1.1rem;
  font-weight: 800;
  cursor: pointer;
  gap: 1rem;
}

.faq-stack summary::marker {
  content: "";
}

.faq-stack summary > span:first-child {
  color: #28c80a;
  font-size: 0.8rem;
}

.faq-stack__toggle {
  display: grid;
  width: 2.8rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: #eff5ee;
}

.faq-stack__toggle .ph {
  grid-area: 1 / 1;
  font-size: 1.25rem;
}

.faq-stack__toggle .ph-minus,
.faq-stack details[open] .faq-stack__toggle .ph-plus {
  display: none;
}

.faq-stack details[open] .faq-stack__toggle {
  background: var(--cookavoli-green);
}

.faq-stack details[open] .faq-stack__toggle .ph-minus {
  display: inline-block;
}

.faq-stack details > div {
  padding: 0 4.6rem 1.4rem 3.5rem;
  color: var(--cookavoli-muted);
}

.beta-invitation {
  display: grid;
  min-height: 40rem;
  place-items: center;
  background: radial-gradient(circle at 50% 10%, #174d31, var(--cookavoli-dark) 60%);
  color: white;
  overflow: hidden;
}

.beta-invitation__icon {
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 1.8rem;
  object-fit: cover;
}

.beta-invitation__copy {
  max-width: 58rem;
}

.beta-invitation__copy p {
  margin-top: 1rem !important;
  color: #c6d3ca;
  font-size: 1.15rem;
}

.beta-invitation__copy .button {
  margin-top: 1.6rem;
}

.beta-invitation__routes {
  display: grid;
  width: min(46rem, 100%);
  margin-top: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.beta-invitation__routes a {
  display: grid;
  min-height: 5rem;
  padding: 1rem 1.2rem;
  border: 1px solid #42604d;
  border-radius: 1.25rem;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  color: #d4ded7;
  text-decoration: none;
  gap: 0.9rem;
}

.beta-invitation__routes a.is-active {
  border-color: var(--cookavoli-green);
  color: white;
  box-shadow: inset 0 0 0 1px var(--cookavoli-green);
}

.beta-invitation__routes a > span:nth-child(2) {
  display: grid;
}

.beta-invitation__routes small {
  color: #9fb0a4;
}

.beta-invitation__routes .is-active > .ph-check-circle {
  color: var(--cookavoli-green);
}

/* Visual fidelity layer: depth and section staging. */
.home-story [data-ui-icon] {
  flex: 0 0 auto;
}

.home-story .ph {
  line-height: 1;
}

.hero::before,
.hero::after {
  width: clamp(17rem, 28vw, 28rem);
  aspect-ratio: 3 / 2;
  border-radius: 0;
  background: url("/assets/media/basil-atmosphere.png") center / contain no-repeat;
  filter: none;
  opacity: 0.2;
}

.hero::before {
  bottom: -8rem;
  left: -9rem;
  rotate: -10deg;
}

.hero::after {
  top: 2rem;
  right: -11rem;
  bottom: auto;
  rotate: 152deg;
}

.hero-stage::before {
  position: absolute;
  inset: 10% 2% 2% 5%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 55%, rgb(116 242 79 / 32%), rgb(218 247 209 / 18%) 42%, transparent 72%);
  content: "";
  filter: blur(2px);
}

.device--front {
  transform: perspective(1100px) rotateY(5deg) rotateX(1deg);
}

.device--back {
  transform: perspective(1100px) rotateY(-10deg) rotateX(2deg);
}

.availability {
  background-color: #f8fbf6;
  background-image: radial-gradient(circle at 50% 42%, #fff 0 22%, #f4faef 72%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.platform-line {
  position: relative;
  border-color: rgb(15 61 39 / 10%);
  background: rgb(255 255 255 / 86%);
  box-shadow: 0 30px 65px rgb(14 57 32 / 8%), 0 1px 0 white inset;
  backdrop-filter: blur(12px);
}

.platform-line--active {
  border-color: rgb(73 242 29 / 52%);
}

.platform-line__symbol {
  border: 1px solid rgb(6 39 25 / 6%);
  font-size: 2rem;
  box-shadow: 0 10px 26px rgb(8 55 28 / 8%);
}

.decision {
  background-color: #fff;
}

.decision__visual,
.detail-inspector__visual,
.week-panorama__visual,
.group-planning__visual,
.safety-ledger__visual {
  overflow: visible;
  background: radial-gradient(circle at 50% 52%, rgb(182 243 161 / 62%), rgb(237 251 232 / 72%) 38%, transparent 70%);
}

.device--single-primary {
  z-index: 2;
  translate: -10% 1%;
  transform: perspective(1200px) rotateY(7deg) rotateZ(-1.5deg);
}

.device--single-secondary {
  position: absolute;
  z-index: 1;
  right: 3%;
  bottom: 10%;
  width: min(14rem, 42%);
  max-height: 29rem;
  transform: perspective(1200px) rotateY(-13deg) rotateZ(6deg);
  filter: saturate(0.88) drop-shadow(0 16px 24px rgb(3 27 17 / 15%));
}

.choice-ribbon button,
.detail-ledger button,
.safety-points button {
  box-shadow: 0 12px 30px rgb(14 57 32 / 5%);
}

.journey {
  background-color: #f7faf4;
  background-image: linear-gradient(180deg, #fbfdf9, #f4f9f0);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.journey-stage {
  position: relative;
  max-width: 72rem;
  margin: 0 auto;
  border: 1px solid rgb(16 66 38 / 7%);
  border-radius: 2.6rem;
  background: rgb(255 255 255 / 68%);
  box-shadow: 0 30px 80px rgb(14 57 32 / 7%);
  backdrop-filter: blur(10px);
}

.screen-story {
  background-color: #fff;
}

.screen-slider__viewport {
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.screen-slider__slide[aria-hidden="false"] .device {
  box-shadow: 0 2px 1px rgb(255 255 255 / 58%) inset, 0 -2px 3px rgb(0 0 0 / 85%) inset, 0 34px 78px rgb(3 27 17 / 33%), 0 0 0 0.45rem rgb(73 242 29 / 8%);
}

.detail-inspector {
  background-color: #f8fbf6;
}

.device--detail-primary {
  z-index: 2;
  translate: 12% 2%;
  transform: perspective(1200px) rotateY(-8deg) rotateZ(1deg);
}

.device--detail-secondary {
  position: absolute;
  z-index: 1;
  left: 4%;
  bottom: 13%;
  width: min(16rem, 47%);
  max-height: 32rem;
  transform: perspective(1200px) rotateY(10deg) rotateZ(-5deg);
  filter: saturate(0.86) drop-shadow(0 16px 24px rgb(3 27 17 / 15%));
}

.possibilities {
  background-color: #042417;
  background-image: radial-gradient(circle at 18% 45%, rgb(73 242 29 / 13%), transparent 31%), linear-gradient(145deg, #073421, #031b11 72%);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover, cover;
}

.possibility-stage {
  position: relative;
  border-color: rgb(255 255 255 / 9%);
  background: linear-gradient(125deg, rgb(15 69 43 / 94%), rgb(5 35 22 / 96%));
  box-shadow: 0 34px 90px rgb(0 0 0 / 27%), 0 1px 0 rgb(255 255 255 / 7%) inset;
  overflow: hidden;
}

.possibility-stage::after {
  position: absolute;
  right: -15%;
  bottom: -27%;
  width: 58%;
  aspect-ratio: 1;
  border: 5rem solid rgb(73 242 29 / 7%);
  border-radius: 50%;
  content: "";
}

.possibility-tabs,
.possibility-panels {
  position: relative;
  z-index: 1;
}

.device--possibility {
  transform: perspective(1200px) rotateY(-7deg) rotateZ(3deg);
}

.week-panorama {
  background-color: #fbfcf8;
}

.device--calendar {
  transform: perspective(1200px) rotateY(8deg) rotateZ(-2deg);
}

.check-list li {
  padding: 0.7rem;
  border: 1px solid rgb(14 57 32 / 7%);
  border-radius: 1rem;
  background: rgb(255 255 255 / 74%);
}

.group-planning {
  background-color: #f7fbf5;
}

.device--serving {
  transform: perspective(1200px) rotateY(-8deg) rotateZ(2deg);
}

.story-tabs {
  background-color: #042417;
  background-image: radial-gradient(circle at 72% 48%, rgb(73 242 29 / 15%), transparent 30%), linear-gradient(135deg, #073622, #031b11 72%);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover, cover;
}

.story-tabs__panels {
  border: 1px solid rgb(255 255 255 / 6%);
  background: radial-gradient(circle, rgb(73 242 29 / 25%), rgb(10 64 38 / 52%) 35%, transparent 68%);
}

.device--tab {
  transform: perspective(1200px) rotateY(-5deg) rotateZ(2deg);
}

.feature-constellation {
  background-color: #fbfcf8;
}

.feature-orbit::after {
  position: absolute;
  width: min(26rem, 58%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(73 242 29 / 21%), rgb(228 248 220 / 35%) 48%, transparent 72%);
  content: "";
  filter: blur(3px);
}

.feature-orbit__tabs,
.feature-orbit__panels {
  z-index: 2;
}

.device--orbit {
  transform: perspective(1200px) rotateY(4deg) rotateZ(-1deg);
}

.safety-ledger {
  background-color: #f7fbf5;
}

.device--safety {
  transform: perspective(1200px) rotateY(8deg) rotateZ(-2deg);
}

.faq-stack {
  background-color: #fff;
}

.faq-stack details[open] {
  box-shadow: 0 18px 48px rgb(14 57 32 / 8%);
}

.beta-invitation {
  isolation: isolate;
  background-color: #042417;
  background-image: radial-gradient(circle at 50% 0%, rgb(62 139 89 / 38%), transparent 42%), linear-gradient(145deg, #073421, #031b11 72%);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover, cover;
}

.beta-invitation__icon {
  border: 1px solid rgb(255 255 255 / 52%);
  box-shadow: 0 22px 60px rgb(0 0 0 / 32%), 0 0 0 0.55rem rgb(255 255 255 / 5%);
}

.beta-invitation__routes {
  padding: 0.5rem;
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 1.6rem;
  background: rgb(0 14 8 / 22%);
  backdrop-filter: blur(14px);
}

@media (hover: hover) and (pointer: fine) {
  .home-story button:not(.screen-slider__arrow):hover,
  .platform-line__action:hover,
  .beta-invitation__routes a:hover {
    translate: 0 -2px;
  }

  .screen-slider__arrow:hover {
    translate: 0 -50%;
    background: var(--cookavoli-dark);
    border-color: var(--cookavoli-dark);
    color: var(--cookavoli-green);
    box-shadow: 0 14px 30px rgb(3 27 17 / 18%);
  }

  .screen-slider__arrow:hover .ph {
    transform: translateY(-2px);
  }
}

@media (max-width: 1050px) {
  .hero {
    grid-template-columns: minmax(0, 0.9fr) minmax(25rem, 1.1fr);
  }

  .home-story h2 {
    font-size: clamp(2.45rem, 5.5vw, 4.1rem);
  }

  .screen-slider__slide {
    transform: translate(calc(-50% + var(--flow-index) * 11rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -7rem)) rotateY(calc(var(--flow-index) * -9deg)) scale(calc(1 - var(--flow-depth) * 0.08));
  }
}

@media (max-width: 900px) {
  .hero,
  .decision,
  .week-panorama,
  .group-planning,
  .safety-ledger,
  .faq-stack,
  .detail-inspector__stage,
  .possibility-stage,
  .story-tabs__stage {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: auto;
  }

  .hero__copy {
    max-width: 46rem;
  }

  .hero-stage {
    width: min(42rem, 100%);
    height: 37rem;
    margin: 0 auto;
  }

  .platform-lines {
    grid-template-columns: 1fr;
  }

  .platform-line {
    min-height: 0;
  }

  .journey-panel {
    grid-template-columns: 1fr 0.8fr;
  }

  .screen-slider__slide {
    width: min(16rem, 42vw);
    transform: translate(calc(-50% + var(--flow-index) * 9rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -6rem)) rotateY(calc(var(--flow-index) * -8deg)) scale(calc(1 - var(--flow-depth) * 0.09));
  }

  .detail-inspector__header,
  .detail-panels {
    text-align: left;
  }

  .detail-inspector__header h2,
  .detail-inspector__header p,
  .detail-panels {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .detail-inspector__visual,
  .week-panorama__visual,
  .group-planning__visual,
  .safety-ledger__visual {
    min-height: 36rem;
  }

  .possibility-stage {
    min-height: 0;
  }

  .possibility-panels {
    min-height: 34rem;
  }

  .week-panorama__copy {
    grid-row: 1;
  }

  .week-panorama__visual {
    grid-row: 2;
  }

  .week-strip {
    position: relative;
    right: 0.5rem;
    width: calc(100% + 0.5rem);
  }

  .story-tabs__list {
    align-self: auto;
  }

  .story-tabs__panels {
    min-height: 34rem;
  }

  .feature-orbit {
    min-height: 36rem;
  }

  .feature-orbit__tabs button {
    width: 11rem;
  }

  .faq-stack__header {
    position: static;
  }
}

@media (max-width: 640px) {
  .home-story {
    --section-space: 4rem;
    --heading-section: clamp(2.25rem, 11vw, 3.35rem);
    --heading-hero: clamp(3rem, 13vw, 4.25rem);
  }

  .home-section {
    padding-right: 1.1rem;
    padding-left: 1.1rem;
  }

  .home-section[data-heading-align="right"] > header,
  .home-section[data-heading-align="right"] > .week-panorama__copy,
  .home-section[data-heading-align="right"] > .safety-ledger__copy {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    text-align: right;
  }

  .home-section[data-heading-align="right"] > header h2,
  .home-section[data-heading-align="right"] > .week-panorama__copy h2,
  .home-section[data-heading-align="right"] > .safety-ledger__copy h2,
  .home-section[data-heading-align="right"] > .week-panorama__copy > p,
  .home-section[data-heading-align="right"] > .safety-ledger__copy > p {
    margin-right: 0 !important;
    margin-left: auto !important;
  }

  .hero {
    padding-top: 3rem;
  }

  .hero h1 {
    max-width: 10ch;
  }

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

  .hero-stage {
    height: 30rem;
  }

  .device--hero {
    width: 55%;
  }

  .device--front {
    left: 0;
  }

  .device--back {
    right: 0;
  }

  .platform-line {
    padding: 1.25rem;
  }

  .platform-line__symbol {
    width: 4rem;
  }

  .choice-ribbon,
  .serving-composer,
  .beta-invitation__routes {
    grid-template-columns: 1fr;
  }

  .decision__visual,
  .detail-inspector__visual,
  .week-panorama__visual,
  .group-planning__visual,
  .safety-ledger__visual {
    min-height: 31rem;
  }

  .decision__floating-choice {
    right: 0.8rem;
    bottom: 2rem;
  }

  .journey-steps {
    margin-right: -1.1rem;
    margin-left: -1.1rem;
    padding: 0 1.1rem 0.8rem;
    overflow-x: auto;
    grid-template-columns: repeat(4, minmax(9rem, 1fr));
  }

  .journey-steps::before {
    display: none;
  }

  .journey-steps button {
    justify-items: start;
    text-align: left;
  }

  .journey-panel {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .journey-path__screen {
    width: min(16rem, 70vw);
  }

  .screen-story {
    padding-top: 2.8rem;
    padding-bottom: 2.8rem;
  }

  .screen-slider__viewport {
    height: min(28rem, 59svh);
    margin-right: -1.1rem;
    margin-left: -1.1rem;
  }

  .screen-slider__slide {
    width: min(14.5rem, 61vw);
    height: min(26rem, 56svh);
    transform: translate(calc(-50% + var(--flow-index) * 7.2rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -5rem)) rotateY(calc(var(--flow-index) * -7deg)) scale(calc(1 - var(--flow-depth) * 0.1));
  }

  .screen-slider__arrow {
    width: 3rem;
  }

  .screen-slider__arrow--previous { left: 0.7rem; }
  .screen-slider__arrow--next { right: 0.7rem; }

  .screen-slider__steps {
    margin-right: -0.4rem;
    margin-left: -0.4rem;
    overflow-x: auto;
    grid-template-columns: repeat(5, minmax(6.5rem, 1fr));
  }

  .screen-slider__status {
    display: none;
  }

  .detail-inspector__stage {
    gap: 2rem;
  }

  .detail-ledger button,
  .safety-points button {
    min-height: 5.2rem;
    padding: 0.8rem;
  }

  .possibility-stage {
    padding: 1rem;
    border-radius: 1.6rem;
  }

  .possibility-tabs button {
    min-height: 5.2rem;
  }

  .possibility-panels {
    min-height: 31rem;
  }

  .possibility-panels > div:not([hidden]) {
    min-height: 31rem;
  }

  .check-list {
    grid-template-columns: 1fr;
  }

  .week-strip {
    margin-right: -0.5rem;
    padding-bottom: 0.8rem;
    overflow-x: auto;
    grid-template-columns: repeat(7, minmax(4.2rem, 1fr));
  }

  .serving-composer__dial {
    border-right: 0;
    border-bottom: 1px solid #e1e8e2;
  }

  .serving-composer__dial:nth-child(2) {
    border-bottom: 0;
  }

  .story-tabs__stage {
    min-height: 0;
  }

  .story-tabs__list {
    border-radius: 1.4rem;
    flex-direction: column;
  }

  .story-tabs__list button[aria-selected="true"] {
    border-radius: 1.2rem;
  }

  .story-tabs__list small {
    display: block;
  }

  .story-tabs__panels {
    min-height: 31rem;
  }

  .feature-orbit {
    display: grid;
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .feature-orbit::before {
    display: none;
  }

  .feature-orbit__tabs {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }

  .feature-orbit__tabs button,
  .feature-orbit__tabs button:nth-child(n) {
    position: static;
    width: 100%;
    padding: 0.5rem;
  }

  .feature-orbit__tabs button > span {
    width: 3rem;
  }

  .feature-orbit__tabs small {
    display: none;
  }

  .feature-orbit__panels {
    min-height: 31rem;
  }

  .feature-orbit__panels > div:not([hidden]) {
    min-height: 31rem;
  }

  .faq-stack details > div {
    padding: 0 1.2rem 1.2rem;
  }

  .beta-invitation {
    min-height: 38rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-story *,
  .home-story *::before,
  .home-story *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .screen-slider__slide {
    transform: translate(calc(-50% + var(--flow-index) * 14rem), -50%) scale(calc(1 - var(--flow-depth) * 0.07));
  }
}

/* Reference fidelity pass: exact section anatomy, scale and staging. */
.home-story {
  --section-space: clamp(4.25rem, 6vw, 6.5rem);
  --reference-width: 1500px;
}

.home-section {
  padding-right: max(1.5rem, calc((100vw - var(--reference-width)) / 2));
  padding-left: max(1.5rem, calc((100vw - var(--reference-width)) / 2));
}

.availability {
  display: grid;
  min-height: 47rem;
  align-content: center;
}

.availability__intro h2 {
  max-width: 21ch;
}

.platform-lines {
  width: min(84rem, 100%);
  max-width: none;
  margin-top: 3.2rem;
  gap: 2.2rem;
}

.platform-line {
  min-height: 22rem;
  padding: 2.5rem;
  border-radius: 2.2rem;
  grid-template-columns: auto minmax(0, 1fr);
}

.platform-line__symbol {
  width: 7.8rem;
  border-radius: 2rem;
  font-size: 4rem;
}

.platform-line__name {
  font-size: 2.2rem;
}

.platform-line__action {
  min-height: 4.8rem;
  font-size: 1.2rem;
}

.decision {
  min-height: 56rem;
  padding-top: 5rem;
  padding-bottom: 4rem;
  grid-template-columns: minmax(31rem, 0.82fr) minmax(42rem, 1.18fr);
  gap: clamp(2rem, 4vw, 5rem);
  overflow: clip;
}

.decision__copy {
  z-index: 3;
  max-width: 47rem;
}

.decision__copy h2,
.group-planning__copy h2 {
  max-width: 15ch;
  font-size: clamp(3.5rem, 4.6vw, 5.2rem);
}

.decision__copy > p {
  max-width: 34rem;
  font-size: 1.45rem;
  line-height: 1.4;
}

.choice-ribbon {
  max-width: 38rem;
  margin-top: 2.25rem;
  gap: 0.8rem;
}

.choice-ribbon .choice-card {
  position: relative;
  display: grid;
  min-height: 11rem;
  padding: 0;
  align-content: end;
  border-radius: 1.35rem;
  grid-template-columns: 1fr;
  overflow: hidden;
  gap: 0;
}

.choice-ribbon .choice-card > .choice-card__image {
  position: relative;
  display: block;
  width: 100%;
  height: 7.7rem;
  aspect-ratio: auto;
  place-items: initial;
  border: 0;
  border-radius: 1.25rem 1.25rem 0 0;
  background: #eef6eb;
  overflow: hidden;
}

.choice-card__image img {
  position: absolute;
  width: 200%;
  max-width: none;
  height: auto;
  top: -14rem;
  left: 0;
}

.choice-card--2 .choice-card__image img,
.choice-card--4 .choice-card__image img {
  left: -100%;
}

.choice-card--3 .choice-card__image img,
.choice-card--4 .choice-card__image img {
  top: -35rem;
}

.choice-card > strong {
  padding: 0.8rem 1rem 0.9rem;
  font-size: 1.05rem;
  text-align: center;
}

.choice-card > .ph-check {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  display: none;
  width: 2.25rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: var(--cookavoli-green);
  font-size: 1.2rem;
}

.choice-card[aria-pressed="true"] > .ph-check {
  display: grid;
}

.decision__cta {
  min-width: 20rem;
  min-height: 4.8rem;
  margin-top: 1.5rem;
  justify-content: center;
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  color: var(--cookavoli-ink);
  font-size: 1.15rem;
}

.decision__cta .ph,
.story-tabs__content .button .ph {
  margin-left: 1rem;
}

.decision__visual {
  min-height: 48rem;
  border-radius: 0;
  background: radial-gradient(circle at 48% 55%, rgb(186 246 166 / 58%), rgb(241 251 237 / 50%) 42%, transparent 68%);
}

.device--single-primary {
  position: absolute;
  z-index: 3;
  bottom: 1rem;
  left: 7%;
  width: min(24rem, 48%);
  translate: 0;
  transform: perspective(1200px) rotateY(5deg) rotateZ(-1.5deg);
}

.device--single-secondary {
  display: none;
}

.decision__floating-choice {
  display: none;
}

.decision__recipe-card {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 8.5rem;
  display: grid;
  width: min(19rem, 39%);
  padding: 0.95rem;
  border: 1px solid #2d4637;
  border-radius: 1.45rem;
  background: #061c12;
  box-shadow: 0 28px 58px rgb(3 27 17 / 23%);
  color: white;
  rotate: 2deg;
  gap: 0.55rem;
}

.decision__recipe-card > span {
  justify-self: start;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--cookavoli-green);
  border-radius: 999px;
  color: var(--cookavoli-green);
  font-size: 0.72rem;
  font-weight: 820;
  text-transform: uppercase;
}

.decision__recipe-photo {
  position: relative;
  height: 9rem;
  border-radius: 1rem;
  overflow: hidden;
}

.decision__recipe-photo img {
  position: absolute;
  top: -6.8rem;
  left: 0;
  width: 100%;
  height: auto;
}

.decision__recipe-card > strong {
  font-size: 1.12rem;
}

.decision__recipe-card > p {
  color: #ced9d2;
  font-size: 0.76rem;
  line-height: 1.35;
}

.decision__recipe-card > div:last-child {
  display: grid;
  min-height: 2.8rem;
  padding: 0.65rem;
  align-items: center;
  border-radius: 0.8rem;
  grid-template-columns: auto 1fr auto;
  background: var(--cookavoli-green);
  color: var(--cookavoli-ink);
  gap: 0.65rem;
}

.decision__recipe-card > div:last-child span {
  overflow: hidden;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision__route {
  position: absolute;
  z-index: 5;
  top: 35%;
  right: 20%;
  color: var(--cookavoli-green);
  font-size: 5.4rem;
  rotate: -20deg;
}

.journey {
  min-height: 58rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-position: center;
  overflow: clip;
}

.journey__header h2 {
  max-width: 20ch;
}

.journey-steps {
  max-width: 88rem;
  margin: 2.5rem auto 0;
  gap: 1.5rem;
}

.journey-steps::before {
  top: 1.8rem;
  right: 7%;
  left: 7%;
  height: 1.4rem;
  border-top: 4px solid #c9d9ca;
  border-radius: 50%;
  background: transparent;
}

.journey-steps button {
  min-height: 7.2rem;
  margin-top: 1.35rem;
  padding: 3rem 1rem 0.8rem;
  border-radius: 1.5rem;
  background: #eff6ef;
  font-size: 1rem;
  line-height: 1.05;
}

.journey-steps button span {
  position: absolute;
  top: -1.35rem;
  width: 3.7rem;
  background: #f7faf4;
}

.journey-steps button strong {
  max-width: 10ch;
}

.journey-steps button[aria-selected="true"] {
  background: var(--cookavoli-green);
  box-shadow: 0 18px 42px rgb(73 242 29 / 22%);
}

.journey-steps button[aria-selected="true"] span {
  background: var(--cookavoli-green);
}

.journey-stage {
  max-width: 92rem;
  min-height: 36rem;
  margin-top: 1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.journey-panel {
  max-width: none;
  min-height: 36rem;
  margin: 0;
  padding-right: 18rem;
  grid-template-columns: minmax(23rem, 0.95fr) minmax(20rem, 1.05fr);
  gap: clamp(2rem, 5vw, 6rem);
}

.journey-panel__copy > p:first-child {
  color: #20c800;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.journey-panel__copy h3 {
  margin-top: 0.8rem;
  font-size: clamp(2.25rem, 3vw, 3.35rem);
}

.journey-panel__copy > p:nth-child(3) {
  max-width: 31rem;
  margin-top: 1rem !important;
  color: var(--cookavoli-muted);
  font-size: 1.15rem;
  line-height: 1.45;
}

.journey-panel__points {
  display: grid;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  gap: 0.75rem;
}

.journey-panel__points li {
  display: flex;
  align-items: center;
  color: #59625e;
  gap: 0.85rem;
}

.journey-panel__points span {
  display: grid;
  width: 2.7rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 0.75rem;
  background: #eaf8e8;
  color: var(--cookavoli-dark);
}

.journey-panel__cta {
  min-width: 18rem;
  margin-top: 1.75rem;
  justify-content: center;
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  color: var(--cookavoli-ink);
}

.journey-panel__cta .ph {
  margin-left: 1rem;
}

.journey-panel__visual {
  position: relative;
  display: grid;
  min-height: 34rem;
  place-items: center;
}

.journey-panel__visual::before,
.journey-panel__visual::after {
  position: absolute;
  width: 29rem;
  aspect-ratio: 1;
  border: 3rem solid rgb(152 226 134 / 18%);
  border-radius: 50%;
  content: "";
}

.journey-panel__visual::after {
  width: 21rem;
  border-width: 2.2rem;
}

.journey-path__screen {
  z-index: 2;
  width: min(22rem, 76%);
  max-height: 37rem;
}

.journey-panel__controls {
  position: absolute;
  right: 0;
  bottom: 6rem;
  z-index: 5;
  display: grid;
  width: 16rem;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  text-align: center;
  gap: 0.75rem;
}

.journey-panel__controls button,
.story-tabs__controls button,
.feature-orbit__controls > button {
  display: grid;
  width: 4.2rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #cfe0d0;
  border-radius: 50%;
  background: #f1f8ef;
  color: var(--cookavoli-ink);
  font-size: 1.3rem;
  cursor: pointer;
}

.journey-panel__controls button:last-of-type {
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
}

.journey-panel__controls p {
  grid-column: 1 / -1;
  color: var(--cookavoli-muted);
  font-size: 0.92rem;
  line-height: 1.35;
}

.screen-story {
  min-height: 61rem;
  padding-top: 4.25rem;
  padding-bottom: 3rem;
}

.screen-story__header h2 {
  max-width: 22ch;
}

.screen-story__header p {
  font-size: 1.35rem;
}

.screen-slider {
  margin-top: 1rem;
}

.screen-slider__viewport {
  width: min(100%, 94rem);
  height: 40rem;
  margin: 0 auto;
  mask-image: none;
  overflow: visible;
  scroll-snap-type: none;
}

.screen-slider__slide {
  width: 19.5rem;
  height: 37rem;
  opacity: calc(1 - var(--flow-depth) * 0.08);
  transform: translate(calc(-50% + var(--flow-index) * 18.2rem - 3rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -3rem)) rotateY(calc(var(--flow-index) * -4deg)) rotateZ(calc(var(--flow-index) * 0.9deg)) scale(calc(1 - var(--flow-depth) * 0.08));
}

.screen-slider__slide[data-flow-position="2"] {
  opacity: 0;
  pointer-events: none;
}

.screen-slider__slide[aria-hidden="false"] {
  width: 21rem;
}

.screen-slider__arrow {
  width: 4.5rem;
  background: #f1f8ef;
}

.screen-slider__arrow--previous {
  left: 1rem;
}

.screen-slider__arrow--next {
  right: 1rem;
}

.screen-slider__steps {
  width: min(62rem, 82%);
  max-width: none;
  margin-top: 0;
  gap: 0;
}

.screen-slider__steps button {
  position: relative;
  min-height: 5rem;
  padding: 0;
  border: 0;
  justify-items: center;
  background: transparent;
  gap: 0.55rem;
}

.screen-slider__steps button::after {
  position: absolute;
  z-index: -1;
  top: 1.35rem;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #d9e1da;
  content: "";
}

.screen-slider__steps button:last-child::after {
  display: none;
}

.screen-slider__steps span {
  display: grid;
  width: 3rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: #eceeed;
  color: #6c7377;
  font-size: 0.9rem;
}

.screen-slider__steps strong {
  font-size: 0.95rem;
}

.screen-slider__steps button[aria-selected="true"] span {
  background: var(--cookavoli-green);
  color: var(--cookavoli-ink);
}

.screen-slider__status {
  display: none;
}

.detail-inspector {
  min-height: 56rem;
  padding-top: 4rem;
  padding-bottom: 3rem;
  overflow: clip;
}

.detail-inspector__header {
  width: 47%;
  max-width: 45rem;
}

.detail-inspector__header h2 {
  max-width: 12ch;
}

.detail-inspector__header p {
  max-width: 41rem;
  font-size: 1.35rem;
}

.detail-inspector__stage {
  margin-top: 0;
  grid-template-columns: minmax(38rem, 1.1fr) minmax(27rem, 0.9fr);
  gap: clamp(2rem, 5vw, 5rem);
}

.detail-inspector__visual {
  position: relative;
  min-height: 42rem;
  background: radial-gradient(circle at 46% 58%, rgb(182 243 161 / 55%), transparent 65%);
}

.device--detail-primary {
  position: absolute;
  z-index: 3;
  right: 8%;
  bottom: 0;
  width: min(24rem, 48%);
  translate: 0;
  transform: perspective(1200px) rotateY(-5deg) rotateZ(1deg);
}

.device--detail-secondary {
  left: 3%;
  bottom: 1rem;
  width: min(21rem, 44%);
  max-height: 37rem;
  transform: perspective(1200px) rotateY(7deg) rotateZ(-3deg);
}

.detail-inspector__connector,
.safety-ledger__connector {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 74%;
  width: clamp(14rem, 24vw, 26rem);
  height: 3.2rem;
  border-top: 2px solid var(--cookavoli-green);
  border-right: 2px solid var(--cookavoli-green);
  border-radius: 0 1.5rem 0 0;
}

.detail-inspector__connector:has(svg),
.safety-ledger__connector:has(svg) {
  border: 0;
  border-radius: 0;
}

.detail-inspector__connector svg,
.safety-ledger__connector svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.detail-inspector__connector path,
.safety-ledger__connector path {
  fill: none;
  stroke: var(--cookavoli-green);
  stroke-linecap: round;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.detail-inspector__connector circle,
.safety-ledger__connector circle {
  fill: var(--cookavoli-green);
  filter: drop-shadow(0 0 5px rgb(73 242 29 / 42%));
}

.detail-inspector__connector::before,
.detail-inspector__connector::after,
.safety-ledger__connector::before,
.safety-ledger__connector::after {
  position: absolute;
  width: 0.85rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cookavoli-green);
  content: "";
}

.detail-inspector__connector:has(svg)::before,
.detail-inspector__connector:has(svg)::after,
.safety-ledger__connector:has(svg)::before,
.safety-ledger__connector:has(svg)::after {
  display: none;
}

.detail-inspector__connector::before,
.safety-ledger__connector::before {
  top: -0.5rem;
  left: -0.4rem;
  box-shadow: 0 0 0 0.35rem rgb(73 242 29 / 16%);
}

.detail-inspector__connector::after,
.safety-ledger__connector::after {
  right: -0.5rem;
  bottom: -0.45rem;
}

.detail-ledger {
  z-index: 7;
  gap: 0.9rem;
}

.detail-ledger button {
  min-height: 6.5rem;
  padding: 1rem 1.35rem;
  border-radius: 1.25rem;
  font-size: 1.05rem;
}

.possibilities {
  min-height: 58rem;
  padding-top: 4.25rem;
  padding-bottom: 3rem;
  background-color: #fbfcf8;
  background-image: none;
  color: var(--cookavoli-ink);
}

.possibilities h2 {
  max-width: 22ch;
  color: var(--cookavoli-ink);
}

.possibilities__header p {
  color: var(--cookavoli-muted);
  font-size: 1.25rem;
}

.possibility-stage {
  min-height: 39rem;
  margin-top: 3rem;
  padding: 3.5rem 4.5rem;
  grid-template-columns: minmax(25rem, 0.9fr) minmax(29rem, 1.1fr);
  gap: clamp(2rem, 5vw, 5rem);
  border-radius: 2.2rem;
  background: radial-gradient(circle at 72% 44%, rgb(40 133 76 / 34%), transparent 35%), linear-gradient(135deg, #061f14, #00170d 72%);
  box-shadow: 0 34px 90px rgb(0 0 0 / 18%);
  overflow: visible;
}

.possibility-stage::after {
  right: 14%;
  bottom: -18%;
  width: 35rem;
  border: 4.5rem solid rgb(73 242 29 / 10%);
}

.possibility-tabs {
  max-width: 38rem;
  gap: 0.85rem;
}

.possibility-tabs button {
  min-height: 7rem;
  padding: 1rem 1.15rem;
  border-radius: 999px;
  font-size: 1.1rem;
}

.possibility-tabs button > span:first-child {
  width: 5.2rem;
  border-color: #789183;
  font-size: 2rem;
  overflow: hidden;
}

.possibility-tabs .possibility-tab__dish {
  position: relative;
}

.possibility-tab__dish img {
  position: absolute;
  top: -2.6rem;
  left: -0.1rem;
  width: 5.4rem;
  max-width: none;
  height: auto;
}

.possibility-tabs strong {
  font-size: 1.5rem;
}

.possibility-tabs small {
  margin-top: 0.25rem;
  font-size: 1rem;
}

.possibility-tabs button[aria-selected="true"] {
  border-color: #2c7045;
  background: linear-gradient(90deg, rgb(55 148 75 / 47%), rgb(25 76 46 / 60%));
}

.possibility-tabs button[aria-selected="true"] > span:first-child {
  box-shadow: 0 0 0 0.6rem rgb(73 242 29 / 12%), 0 0 2rem rgb(73 242 29 / 25%);
}

.possibility-panels {
  width: 100%;
  min-height: 37rem;
  place-items: end center;
}

.possibility-panels > div:not([hidden]) {
  display: grid;
  width: 100%;
  min-height: 37rem;
  place-items: end center;
}

.device--possibility {
  z-index: 4;
  width: min(24rem, 68%);
  transform: perspective(1200px) rotateY(-5deg) rotateZ(2deg);
}

.possibility-note {
  position: absolute;
  z-index: 5;
  right: 3rem;
  bottom: 7rem;
  display: grid;
  width: 13rem;
  color: var(--cookavoli-green);
  font-family: "Bradley Hand", "Segoe Print", cursive;
  font-size: 1.7rem;
  line-height: 1.15;
  rotate: -6deg;
}

.possibility-note .ph {
  font-size: 4.5rem;
}

.week-panorama {
  min-height: 57rem;
  padding-top: 4rem;
  padding-bottom: 3rem;
  grid-template-columns: minmax(25rem, 0.7fr) minmax(42rem, 1.3fr);
  gap: clamp(2rem, 4vw, 5rem);
  overflow: clip;
}

.week-panorama__visual {
  min-height: 47rem;
  align-items: end;
  border-radius: 0;
  background: radial-gradient(circle at 50% 55%, rgb(182 243 161 / 52%), transparent 67%);
}

.device--calendar {
  width: min(25rem, 78%);
  transform: perspective(1200px) rotateY(5deg) rotateZ(-1.5deg);
}

.week-panorama__copy {
  align-self: center;
  text-align: left !important;
}

.week-panorama__copy h2 {
  max-width: 12ch;
  margin-left: 0 !important;
  font-size: clamp(3.5rem, 4.8vw, 5rem);
}

.week-panorama__copy > p {
  max-width: 44rem;
  margin-left: 0 !important;
  font-size: 1.45rem;
  line-height: 1.4;
}

.check-list {
  margin-top: 2rem;
  gap: 1.4rem;
}

.check-list li {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.95rem;
}

.check-list span {
  width: 4rem;
  font-size: 1.55rem;
}

.week-plan-board {
  container-type: inline-size;
  margin-top: 2rem;
  padding: 1.5rem;
  border-radius: 1.75rem;
  background: rgb(238 247 234 / 88%);
}

.week-plan-board__header,
.week-plan-board__recipes-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.week-plan-board__header > strong {
  font-size: 1.25rem;
}

.week-plan-board__header > span,
.week-plan-board__recipes-head > span {
  display: inline-flex;
  align-items: center;
  color: #176b24;
  font-size: 0.85rem;
  font-weight: 780;
  text-decoration: underline;
  gap: 0.45rem;
}

.week-strip {
  margin-top: 1rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: 0.65rem;
}

.week-strip button {
  min-height: 4.8rem;
  border: 1px solid #e0e9e1;
  background: rgb(255 255 255 / 72%);
}

.week-strip button[aria-pressed="true"] {
  background: var(--cookavoli-dark);
  box-shadow: inset 0 0 0 2px var(--cookavoli-green);
}

.week-plan-board__recipes {
  margin-top: 1.35rem;
}

.week-plan-board__recipes-head {
  margin-bottom: 0.8rem;
}

.week-plan-board__recipes-head > strong {
  font-size: 0.98rem;
}

.week-plan-board__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.week-recipe-card {
  display: grid;
  min-height: 6.5rem;
  padding: 0.45rem;
  align-items: center;
  grid-template-columns: 8rem minmax(0, 1fr) auto;
  border: 1px solid #e2e9e2;
  border-radius: 1rem;
  background: white;
  gap: 0.8rem;
}

.week-recipe-card__media {
  position: relative;
  display: block;
  height: 5.6rem;
  border-radius: 0.75rem;
  overflow: hidden;
}

.week-recipe-card__media img {
  position: absolute;
  width: 100%;
  height: auto;
}

.week-recipe-card--steak img {
  top: -3.5rem;
}

.week-recipe-card--risotto img {
  top: -7.5rem;
}

.week-recipe-card > div {
  display: grid;
  min-width: 0;
  overflow-wrap: break-word;
  gap: 0.35rem;
}

.week-recipe-card small {
  color: var(--cookavoli-muted);
}

.group-planning {
  min-height: 55rem;
  padding-top: 4rem;
  padding-bottom: 3rem;
  grid-template-columns: minmax(36rem, 1.1fr) minmax(29rem, 0.9fr);
  gap: clamp(3rem, 6vw, 7rem);
  overflow: clip;
}

.group-planning__copy > p {
  max-width: 47rem;
  font-size: 1.45rem;
  line-height: 1.4;
}

.serving-composer {
  max-width: 52rem;
  margin-top: 2.5rem;
  padding: 2rem;
  border-radius: 2rem;
}

.serving-composer__dial {
  padding: 1.2rem;
}

.serving-composer__dial > span {
  font-size: 1.35rem;
}

.serving-composer__dial button {
  width: 4.3rem;
  font-size: 1.8rem;
}

.serving-composer__dial strong {
  min-width: 7rem;
  padding: 0.65rem;
  font-size: 2.4rem;
}

.serving-composer__summary {
  min-height: 6.2rem;
  padding: 1.25rem 1.5rem;
  font-size: 1.12rem;
}

.serving-composer__summary > span {
  font-size: 2rem;
}

.group-planning__visual {
  min-height: 47rem;
  align-items: end;
}

.device--serving {
  width: min(25rem, 78%);
  transform: perspective(1200px) rotateY(-6deg) rotateZ(1.5deg);
}

.story-tabs {
  min-height: 55rem;
  padding-top: 3.75rem;
  padding-bottom: 2.5rem;
  background-image: radial-gradient(circle at 68% 52%, rgb(73 242 29 / 14%), transparent 30%), linear-gradient(135deg, #042a1a, #00170d 72%);
  background-position: center, center;
  overflow: clip;
}

.story-tabs__header {
  max-width: 49rem;
}

.story-tabs__header .eyebrow {
  margin-bottom: 1.2rem !important;
  color: var(--cookavoli-green);
  font-size: 0.9rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.story-tabs__header .eyebrow::after {
  display: block;
  width: 2.6rem;
  height: 0.22rem;
  margin-top: 0.65rem;
  border-radius: 999px;
  background: var(--cookavoli-green);
  content: "";
}

.story-tabs__header h2 {
  max-width: 10ch;
  font-size: clamp(3.7rem, 4.7vw, 5rem);
}

.story-tabs__header p:last-child {
  max-width: 43rem;
  color: #bdc9c0;
  font-size: 1.22rem;
  line-height: 1.45;
}

.story-tabs__list {
  width: min(50rem, 58%);
  margin-top: 1.75rem;
  border-radius: 1.5rem;
}

.story-tabs__list button {
  min-height: 4.9rem;
  padding: 0.9rem 1.2rem;
  grid-template-columns: auto 1fr;
  align-content: center;
  gap: 0.25rem 0.8rem;
}

.story-tabs__list span {
  grid-row: 1 / span 2;
  align-self: center;
}

.story-tabs__list strong,
.story-tabs__list small {
  grid-column: 2;
}

.story-tabs__list small {
  display: none;
}

.story-tabs__stage {
  position: static;
  display: block;
  min-height: 0;
  margin-top: 0.75rem;
}

.story-tabs__panels {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.story-tabs__panel {
  display: grid;
  min-height: 32rem;
  align-items: center;
  grid-template-columns: minmax(30rem, 1fr) minmax(28rem, 0.9fr);
  gap: clamp(3rem, 6vw, 7rem);
}

.story-tabs__content {
  display: grid;
  max-width: 41rem;
  grid-template-columns: auto 1fr;
  color: white;
  gap: 1rem 1.4rem;
}

.story-tabs__content > span {
  display: grid;
  width: 4.8rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #2d5b40;
  border-radius: 1.2rem;
  background: #0f4028;
  color: var(--cookavoli-green);
  font-size: 2rem;
}

.story-tabs__content h3 {
  max-width: 15ch;
  font-size: 2.35rem;
}

.story-tabs__content p {
  max-width: 34rem;
  margin-top: 0.8rem !important;
  color: #bdc9c0;
  font-size: 1.15rem;
  line-height: 1.45;
}

.story-tabs__content .button {
  min-width: 19rem;
  margin-top: 1.8rem;
  justify-content: center;
  grid-column: 1 / -1;
  justify-self: start;
  border-color: var(--cookavoli-green);
  background: var(--cookavoli-green);
  color: var(--cookavoli-ink);
}

.story-tabs__visual {
  position: relative;
  display: grid;
  min-height: 32rem;
  place-items: center;
}

.story-tabs__visual::before,
.story-tabs__visual::after {
  position: absolute;
  width: 36rem;
  aspect-ratio: 1;
  border: 5.5rem solid rgb(73 242 29 / 12%);
  border-radius: 50%;
  content: "";
}

.story-tabs__visual::after {
  width: 25rem;
  border-width: 3.6rem;
}

.device--tab {
  z-index: 3;
  width: min(22rem, 70%);
  transform: perspective(1200px) rotateY(-4deg) rotateZ(1deg);
}

.story-tabs__controls {
  position: absolute;
  bottom: 6.5rem;
  left: max(1.5rem, calc((100vw - var(--reference-width)) / 2 + 26rem));
  z-index: 8;
  display: flex;
  gap: 1rem;
}

.story-tabs__controls button {
  border-color: #315d43;
  background: transparent;
  color: white;
}

.story-tabs__note {
  position: absolute;
  z-index: 7;
  top: 10rem;
  right: max(1.5rem, calc((100vw - var(--reference-width)) / 2));
  display: grid;
  width: 13rem;
  color: var(--cookavoli-green);
  font-family: "Bradley Hand", "Segoe Print", cursive;
  font-size: 1.5rem;
  line-height: 1.18;
  rotate: -5deg;
}

.story-tabs__note .ph {
  font-size: 4.5rem;
}

.feature-constellation {
  min-height: 61rem;
  padding-top: 4rem;
  padding-bottom: 3rem;
  overflow: clip;
}

.feature-constellation__header h2 {
  max-width: 23ch;
}

.feature-constellation__header p {
  font-size: 1.2rem;
}

.feature-orbit {
  max-width: 84rem;
  min-height: 44rem;
  margin-top: 1.5rem;
}

.feature-orbit::before {
  width: min(45rem, 68%);
  border-color: #ccefc5;
}

.feature-orbit::after {
  width: min(36rem, 54%);
}

.feature-orbit__tabs button {
  width: 19rem;
  padding: 0.7rem;
  gap: 1rem;
}

.feature-orbit__tabs button:nth-child(1) { top: 15%; left: 0; }
.feature-orbit__tabs button:nth-child(2) { top: 15%; right: 0; }
.feature-orbit__tabs button:nth-child(3) { bottom: 18%; left: 0; }
.feature-orbit__tabs button:nth-child(4) { right: 0; bottom: 18%; }

.feature-orbit__tabs button > span {
  width: 6.4rem;
  font-size: 2.2rem;
}

.feature-orbit__tabs button > strong {
  font-size: 1.55rem;
}

.feature-orbit__tabs button > small {
  color: var(--cookavoli-muted);
  font-size: 1rem;
}

.feature-orbit__tabs button[aria-selected="true"]::after {
  position: absolute;
  bottom: 0.35rem;
  left: 7.5rem;
  width: 4.2rem;
  height: 0.3rem;
  border-radius: 999px;
  background: var(--cookavoli-green);
  content: "";
}

.feature-orbit__panels {
  width: 100%;
  min-height: 41rem;
}

.feature-orbit__panels > div:not([hidden]) {
  display: grid;
  width: 100%;
  min-height: 41rem;
  place-items: center;
}

.device--orbit {
  width: min(23rem, 48%);
}

.feature-orbit__controls {
  position: absolute;
  z-index: 8;
  bottom: -0.5rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  transform: translateX(-50%);
}

.feature-orbit__controls > button {
  width: 3.6rem;
}

.feature-orbit__dots {
  display: flex;
  gap: 0.65rem;
}

.feature-orbit__dots span {
  width: 0.9rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #d1dcd2;
}

.feature-orbit__dots span.is-active {
  background: var(--cookavoli-green);
}

.safety-ledger {
  min-height: 56rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  grid-template-columns: minmax(34rem, 0.9fr) minmax(32rem, 1.1fr);
  gap: clamp(3rem, 6vw, 7rem);
  overflow: clip;
}

.safety-ledger__visual {
  position: relative;
  min-height: 49rem;
  align-items: end;
}

.device--safety {
  z-index: 3;
  width: min(21rem, 68%);
  max-height: 47rem;
  transform: perspective(1200px) rotateY(5deg) rotateZ(-1deg);
}

.safety-ledger__connector {
  top: 43%;
  left: 72%;
  width: clamp(20rem, 30vw, 30rem);
}

.safety-ledger__copy {
  z-index: 7;
  text-align: right;
}

.safety-ledger__copy h2 {
  max-width: 15ch;
  font-size: clamp(3.6rem, 4.8vw, 5.1rem);
}

.safety-ledger__copy > p {
  max-width: 38rem;
  font-size: 1.35rem;
  line-height: 1.4;
}

.safety-points button {
  min-height: 7rem;
  border-radius: 1.35rem;
  font-size: 1.1rem;
}

.safety-points button > span {
  width: 4.2rem;
  font-size: 1.7rem;
}

.safety-panels {
  min-height: 2rem;
}

.safety-ledger__link {
  min-width: 22rem;
  min-height: 4.8rem;
  justify-content: center;
}

.faq-stack {
  min-height: 50rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  align-items: center;
  grid-template-columns: minmax(25rem, 0.68fr) minmax(40rem, 1.32fr);
  gap: clamp(3rem, 6vw, 7rem);
}

.faq-stack__header {
  position: static;
}

.faq-stack__header .eyebrow {
  margin-bottom: 1.5rem !important;
  color: #29d20e;
  font-weight: 820;
  letter-spacing: 0.08em;
}

.faq-stack__header h2 {
  max-width: 8ch;
  font-size: clamp(4rem, 5vw, 5.4rem);
}

.faq-stack__header > p:not(.eyebrow) {
  max-width: 33rem;
  font-size: 1.5rem;
}

.faq-stack__header .button {
  min-width: 20rem;
  min-height: 4.8rem;
  justify-content: center;
}

.faq-stack__questions {
  border-top: 0;
}

.faq-stack details {
  margin-bottom: 1.1rem;
  border: 1px solid #dce5dd;
  border-radius: 1.2rem;
  background: rgb(255 255 255 / 82%);
}

.faq-stack details[open] {
  border-color: var(--cookavoli-green);
}

.faq-stack summary {
  min-height: 6.3rem;
  padding: 1.35rem 1.6rem;
  grid-template-columns: 1fr auto;
  font-size: 1.35rem;
}

.faq-stack summary > span:first-child {
  display: none;
}

.faq-stack details > div {
  padding: 0 5rem 1.8rem 1.6rem;
  font-size: 1.08rem;
  line-height: 1.45;
}

.beta-invitation {
  min-height: 52rem;
  padding-top: 4.5rem;
  padding-bottom: 3rem;
  grid-template-rows: auto auto auto;
  align-content: center;
  gap: 1.3rem;
}

.beta-invitation__icon {
  width: 10.5rem;
  height: 10.5rem;
  border-radius: 2.4rem;
}

.beta-invitation__copy h2 {
  max-width: 20ch;
  font-size: clamp(3.8rem, 5vw, 5.35rem);
}

.beta-invitation__copy p {
  font-size: 1.55rem;
}

.beta-invitation__copy .button {
  min-width: 26rem;
  min-height: 5.3rem;
  justify-content: center;
  font-size: 1.25rem;
}

.beta-invitation__routes {
  width: min(50rem, 100%);
  padding: 0;
  border: 0;
  background: transparent;
  gap: 1.5rem;
}

.beta-invitation__routes a {
  min-height: 6.5rem;
  border-width: 2px;
  font-size: 1.1rem;
}

.beta-invitation__dock {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 7.2rem;
  border-radius: 4.5rem 4.5rem 0 0;
  background: #fbfcf8;
}

.beta-invitation__dock span {
  position: absolute;
  top: 3.2rem;
  left: 50%;
  width: 4.8rem;
  height: 0.45rem;
  border-radius: 999px;
  background: #9df47e;
  translate: -50% 0;
}

@media (max-width: 1200px) {
  .faq-stack {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 3rem);
  }

  .decision,
  .detail-inspector__stage,
  .week-panorama,
  .group-planning,
  .safety-ledger,
  .story-tabs__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .journey-panel {
    padding-right: 14rem;
  }

  .journey-panel__controls {
    width: 13rem;
  }

  .feature-orbit__tabs button {
    width: 16rem;
  }

  .screen-slider__slide {
    transform: translate(calc(-50% + var(--flow-index) * 15.6rem - 2rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -3rem)) rotateY(calc(var(--flow-index) * -4deg)) rotateZ(calc(var(--flow-index) * 0.9deg)) scale(calc(1 - var(--flow-depth) * 0.09));
  }
}

@media (max-width: 900px) {
  .home-section {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .decision,
  .detail-inspector__stage,
  .possibility-stage,
  .week-panorama,
  .group-planning,
  .safety-ledger,
  .faq-stack,
  .story-tabs__panel {
    grid-template-columns: 1fr;
  }

  .availability,
  .decision,
  .journey,
  .screen-story,
  .detail-inspector,
  .possibilities,
  .week-panorama,
  .group-planning,
  .story-tabs,
  .feature-constellation,
  .safety-ledger,
  .faq-stack,
  .beta-invitation {
    min-height: 0;
  }

  .platform-line__symbol {
    width: 6rem;
    font-size: 3rem;
  }

  .decision {
    gap: 2rem;
  }

  .decision__copy {
    max-width: 46rem;
  }

  .decision__visual {
    min-height: 43rem;
  }

  .device--single-primary {
    left: 12%;
  }

  .decision__recipe-card {
    right: 8%;
  }

  .journey-steps {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    padding: 0.5rem 1.5rem 1rem;
    overflow-x: auto;
    grid-template-columns: repeat(4, minmax(11rem, 1fr));
  }

  .journey-steps::before {
    display: none;
  }

  .journey-panel {
    min-height: 0;
    padding: 2rem 0 0;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.8fr);
    gap: 2rem;
  }

  .journey-panel__controls {
    position: static;
    width: min(22rem, 100%);
    margin: 1rem 0 0 auto;
  }

  .screen-slider__viewport {
    width: calc(100% + 3rem);
    height: 35rem;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    overflow: hidden;
  }

  .screen-slider__slide {
    width: 16.5rem;
    height: 32rem;
    transform: translate(calc(-50% + var(--flow-index) * 11rem - 1rem + var(--drag-x)), -50%) translateZ(calc(var(--flow-depth) * -2rem)) rotateY(calc(var(--flow-index) * -3deg)) rotateZ(calc(var(--flow-index) * 0.7deg)) scale(calc(1 - var(--flow-depth) * 0.1));
  }

  .screen-slider__slide[aria-hidden="false"] {
    width: 18rem;
  }

  .screen-slider__slide[data-flow-position="2"],
  .screen-slider__slide[data-flow-position="-2"] {
    opacity: 0;
    pointer-events: none;
  }

  .screen-slider__steps {
    width: 100%;
  }

  .detail-inspector__header {
    width: 100%;
    max-width: 46rem;
    margin-left: 0;
    text-align: left;
  }

  .detail-inspector__header h2,
  .detail-inspector__header p {
    margin-left: 0 !important;
  }

  .detail-inspector__visual {
    min-height: 40rem;
  }

  .detail-inspector__connector,
  .safety-ledger__connector {
    display: none;
  }

  .possibility-stage {
    min-height: 0;
    padding: 2rem;
    overflow: hidden;
  }

  .possibility-tabs {
    max-width: none;
  }

  .possibility-panels {
    min-height: 39rem;
  }

  .possibility-note,
  .story-tabs__note {
    display: none;
  }

  .week-panorama__copy {
    grid-row: 1;
  }

  .week-panorama__visual {
    min-height: 43rem;
    grid-row: 2;
  }

  .week-panorama__copy h2,
  .week-panorama__copy > p {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .group-planning__visual {
    min-height: 43rem;
  }

  .story-tabs__list {
    width: 100%;
  }

  .story-tabs__panel {
    min-height: 0;
    gap: 2rem;
  }

  .story-tabs__visual {
    min-height: 40rem;
  }

  .story-tabs__controls {
    position: static;
    margin-top: 1rem;
  }

  .feature-orbit {
    min-height: 41rem;
  }

  .feature-orbit__tabs button {
    width: 13rem;
  }

  .feature-orbit__tabs button > span {
    width: 4.7rem;
  }

  .safety-ledger__copy {
    grid-row: 1;
  }

  .safety-ledger__visual {
    min-height: 44rem;
    grid-row: 2;
  }

  .faq-stack {
    gap: 3rem;
  }
}

@media (max-width: 640px) {
  .home-section {
    padding-right: 1.1rem;
    padding-left: 1.1rem;
  }

  .home-story h2,
  .decision__copy h2,
  .week-panorama__copy h2,
  .group-planning__copy h2,
  .story-tabs__header h2,
  .safety-ledger__copy h2,
  .faq-stack__header h2,
  .beta-invitation__copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.35rem);
  }

  .platform-line {
    min-height: 0;
    padding: 1.25rem;
  }

  .platform-line__symbol {
    width: 4.2rem;
    font-size: 2rem;
  }

  .choice-ribbon {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .choice-ribbon .choice-card {
    min-height: 9.5rem;
  }

  .choice-ribbon .choice-card > .choice-card__image {
    height: 6rem;
  }

  .choice-card__image img {
    top: -9rem;
  }

  .choice-card--3 .choice-card__image img,
  .choice-card--4 .choice-card__image img {
    top: -21rem;
  }

  .decision__cta {
    width: 100%;
    min-width: 0;
  }

  .decision__visual {
    min-height: 33rem;
  }

  .device--single-primary {
    left: 2%;
    width: 58%;
  }

  .decision__recipe-card {
    right: 0;
    bottom: 3.5rem;
    width: 48%;
  }

  .decision__recipe-photo {
    height: 5.5rem;
  }

  .decision__recipe-photo img {
    top: -3.8rem;
  }

  .decision__recipe-card > p,
  .decision__route {
    display: none;
  }

  .journey-steps {
    margin-right: -1.1rem;
    margin-left: -1.1rem;
    padding-right: 1.1rem;
    padding-left: 1.1rem;
  }

  .journey-panel {
    grid-template-columns: 1fr;
  }

  .journey-panel__visual {
    min-height: 31rem;
  }

  .journey-panel__visual::before {
    width: 25rem;
  }

  .journey-panel__visual::after {
    width: 18rem;
  }

  .journey-panel__controls {
    margin-right: auto;
  }

  .screen-slider__viewport {
    width: calc(100% + 2.2rem);
    height: 30rem;
    margin-right: -1.1rem;
    margin-left: -1.1rem;
  }

  .screen-slider__slide,
  .screen-slider__slide[aria-hidden="false"] {
    width: 13.5rem;
    height: 27rem;
    transform: translate(calc(-50% + var(--flow-index) * 8rem + var(--drag-x)), -50%) rotateY(calc(var(--flow-index) * -2deg)) scale(calc(1 - var(--flow-depth) * 0.11));
  }

  .screen-slider__arrow {
    width: 3.25rem;
  }

  .screen-slider__steps {
    width: calc(100% + 0.8rem);
    margin-right: -0.4rem;
    margin-left: -0.4rem;
    padding-bottom: 0.5rem;
    overflow-x: auto;
    grid-template-columns: repeat(5, minmax(5.8rem, 1fr));
  }

  .screen-slider__steps button::after {
    top: 1.18rem;
  }

  .screen-slider__steps span {
    width: 2.65rem;
  }

  .detail-inspector__visual {
    min-height: 31rem;
  }

  .device--detail-primary {
    right: 0;
    width: 56%;
  }

  .device--detail-secondary {
    left: 0;
    width: 48%;
  }

  .possibility-stage {
    padding: 1rem;
  }

  .possibility-tabs button {
    min-height: 5.5rem;
  }

  .possibility-tabs button > span:first-child {
    width: 3.7rem;
  }

  .possibility-tabs strong {
    font-size: 1.1rem;
  }

  .possibility-panels {
    min-height: 31rem;
  }

  .device--possibility {
    width: min(19rem, 72%);
  }

  .week-plan-board {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
    padding: 1rem;
  }

  .week-plan-board__header,
  .week-plan-board__recipes-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .week-strip {
    padding-bottom: 0.65rem;
    overflow-x: auto;
    grid-template-columns: repeat(7, minmax(4.2rem, 1fr));
  }

  .week-plan-board__cards {
    grid-template-columns: 1fr;
  }

  .week-recipe-card {
    grid-template-columns: 6rem minmax(0, 1fr) auto;
  }

  .check-list {
    grid-template-columns: 1fr;
  }

  .week-panorama__visual,
  .group-planning__visual,
  .safety-ledger__visual {
    min-height: 33rem;
  }

  .serving-composer {
    padding: 1rem;
    grid-template-columns: 1fr;
  }

  .serving-composer__dial {
    border-right: 0;
    border-bottom: 1px solid #e1e8e2;
  }

  .serving-composer__dial:nth-child(2) {
    border-bottom: 0;
  }

  .serving-composer__summary {
    font-size: 0.95rem;
  }

  .story-tabs__list {
    display: grid;
    margin-right: -1.1rem;
    margin-left: -1.1rem;
    padding: 0 1.1rem 0.6rem;
    border: 0;
    border-radius: 0;
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(10rem, 1fr));
    gap: 0.5rem;
  }

  .story-tabs__list button,
  .story-tabs__list button[aria-selected="true"] {
    border: 1px solid #31513e;
    border-radius: 999px;
  }

  .story-tabs__content {
    grid-template-columns: auto 1fr;
  }

  .story-tabs__content > span {
    width: 3.8rem;
  }

  .story-tabs__content h3 {
    font-size: 1.8rem;
  }

  .story-tabs__content .button {
    width: 100%;
    min-width: 0;
  }

  .story-tabs__visual {
    min-height: 31rem;
  }

  .story-tabs__visual::before {
    width: 28rem;
  }

  .story-tabs__visual::after {
    width: 20rem;
  }

  .device--tab {
    width: min(20rem, 74%);
  }

  .feature-orbit {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .feature-orbit::before {
    display: none;
  }

  .feature-orbit__tabs {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }

  .feature-orbit__tabs button,
  .feature-orbit__tabs button:nth-child(n) {
    position: static;
    width: 100%;
    padding: 0.5rem;
  }

  .feature-orbit__tabs button > span {
    width: 3.4rem;
  }

  .feature-orbit__tabs button > strong {
    font-size: 1rem;
  }

  .feature-orbit__tabs small,
  .feature-orbit__tabs button[aria-selected="true"]::after {
    display: none;
  }

  .feature-orbit__panels {
    min-height: 31rem;
  }

  .feature-orbit__controls {
    position: static;
    margin: 0.5rem auto 0;
    transform: none;
    translate: 0;
  }

  .safety-ledger__copy,
  .safety-ledger__copy > p {
    text-align: right;
  }

  .safety-points button {
    min-height: 5.5rem;
  }

  .safety-points button > span {
    width: 3.2rem;
  }

  .safety-ledger__link {
    width: 100%;
    min-width: 0;
  }

  .faq-stack details > div {
    padding-right: 1.2rem;
  }

  .beta-invitation {
    padding-bottom: 3rem;
  }

  .beta-invitation__icon {
    width: 7.5rem;
    height: 7.5rem;
  }

  .beta-invitation__copy .button {
    width: 100%;
    min-width: 0;
  }

  .beta-invitation__routes {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 901px) {
  .possibility-panels {
    position: relative;
    height: 35rem;
    min-height: 0;
  }

  .possibility-panels > div:not([hidden]) {
    position: absolute;
    inset: 0;
    min-height: 0;
  }

  .story-tabs__panel {
    display: block;
    width: 100%;
    min-height: 30rem;
  }

  .story-tabs__content {
    margin-top: 4.5rem;
  }

  .story-tabs__visual {
    position: absolute;
    top: 3.5rem;
    right: max(5.5rem, calc((100vw - var(--reference-width)) / 2 + 7rem));
    width: min(40rem, 43vw);
    min-height: 0;
    height: 50rem;
  }

  .device--tab {
    width: min(22rem, 55%);
  }

  .screen-slider__slide {
    width: 18rem;
    opacity: 1;
  }

  .screen-slider__slide[data-flow-position="0"] {
    width: 18.5rem;
    transform: translate(calc(-50% - 25rem + var(--drag-x)), -50%) rotateY(5deg) rotateZ(-2deg) scale(0.9);
  }

  .screen-slider__slide[data-flow-position="1"] {
    width: 21rem;
    transform: translate(calc(-50% - 7rem + var(--drag-x)), -50%) rotateY(1deg) scale(1);
  }

  .screen-slider__slide[data-flow-position="2"] {
    width: 18.8rem;
    opacity: 1;
    transform: translate(calc(-50% + 13rem + var(--drag-x)), -50%) rotateY(-4deg) rotateZ(1.5deg) scale(0.94);
    pointer-events: auto;
  }

  .screen-slider__slide[data-flow-position="-2"] {
    width: 17.2rem;
    transform: translate(calc(-50% + 30rem + var(--drag-x)), -50%) rotateY(-6deg) rotateZ(1.5deg) scale(0.88);
  }

  .screen-slider__slide[data-flow-position="-1"] {
    opacity: 0;
    transform: translate(calc(-50% + 43rem + var(--drag-x)), -50%) scale(0.8);
    pointer-events: none;
  }

  .screen-slider__slide[aria-hidden="false"] {
    width: 18.5rem;
  }
}

.detail-panels {
  max-width: 36rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #d9e2da;
  font-size: 1.05rem;
}

/* Desktop reference ratios and density. The supplied boards use distinct
   frame proportions; keeping those proportions makes the phones, copy and
   annotations read at the same visual scale instead of floating in tall
   generic sections. */
@media (min-width: 1201px) {
  .availability,
  .decision,
  .journey,
  .screen-story,
  .detail-inspector,
  .possibilities,
  .week-panorama,
  .group-planning,
  .story-tabs,
  .feature-constellation,
  .safety-ledger,
  .faq-stack,
  .beta-invitation {
    min-height: 0;
  }

  .availability {
    height: clamp(43rem, 48.56vw, 50rem);
  }

  .decision,
  .journey,
  .detail-inspector,
  .week-panorama,
  .group-planning {
    height: clamp(49rem, 55.68vw, 54rem);
  }

  .screen-story {
    height: clamp(55rem, 62.55vw, 61rem);
  }

  .possibilities,
  .story-tabs {
    height: clamp(51rem, 58.97vw, 56rem);
  }

  .feature-constellation {
    height: clamp(50rem, 57.01vw, 54rem);
  }

  .safety-ledger {
    height: clamp(49rem, 56.28vw, 54rem);
  }

  .faq-stack {
    height: clamp(43rem, 50vw, 47rem);
  }

  .beta-invitation {
    height: clamp(39rem, 45.1vw, 44rem);
  }

  .availability {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .platform-lines {
    margin-top: 2.35rem;
  }

  .platform-line {
    min-height: 17.5rem;
    padding: 2rem 2.25rem;
  }

  .decision {
    padding-top: 2.75rem;
    padding-bottom: 2.25rem;
    grid-template-columns: minmax(35rem, 0.94fr) minmax(39rem, 1.06fr);
  }

  .decision__copy {
    max-width: 51rem;
  }

  .decision__copy h2 {
    max-width: none;
    font-size: clamp(3.7rem, 4.35vw, 4.65rem);
    white-space: nowrap;
  }

  .choice-ribbon {
    max-width: 40rem;
    margin-top: 1.55rem;
  }

  .choice-ribbon .choice-card {
    min-height: 10.25rem;
    padding: 0.55rem 0.65rem 0.7rem;
    align-content: start;
    background: rgb(255 255 255 / 88%);
  }

  .choice-ribbon .choice-card > .choice-card__image {
    width: 7.8rem;
    height: 7.8rem;
    margin: 0 auto;
    border-radius: 50%;
    background: #f7faf4;
  }

  .choice-card__image img {
    width: 260%;
    top: -9.2rem;
    left: -0.15rem;
  }

  .choice-card--2 .choice-card__image img,
  .choice-card--4 .choice-card__image img {
    left: -130%;
  }

  .choice-card--3 .choice-card__image img,
  .choice-card--4 .choice-card__image img {
    top: -27.25rem;
  }

  .choice-card > strong {
    padding: 0.55rem 0 0;
  }

  .decision__cta {
    margin-top: 1rem;
  }

  .decision__visual {
    min-height: 43rem;
  }

  .journey {
    padding-top: 2.35rem;
    padding-bottom: 2rem;
  }

  .journey-steps {
    margin-top: 0.9rem;
  }

  .journey-steps button {
    min-height: 5.8rem;
    margin-top: 0.75rem;
    padding-top: 2.3rem;
  }

  .journey-stage,
  .journey-panel {
    min-height: 29.5rem;
  }

  .journey-stage {
    margin-top: -0.35rem;
  }

  .journey-panel {
    padding-right: 17rem;
  }

  .journey-panel__visual {
    min-height: 29rem;
  }

  .journey-path__screen {
    width: min(16.8rem, 68%);
    max-height: 29rem;
  }

  .journey-panel__controls {
    bottom: 3.5rem;
  }

  .screen-story {
    position: relative;
    padding-top: 2.75rem;
    padding-bottom: 2.2rem;
  }

  .screen-slider__viewport {
    height: 37rem;
  }

  .screen-slider__status {
    position: absolute;
    right: 2rem;
    bottom: 0;
    left: 2rem;
    z-index: 0;
    display: block;
    height: 2.4rem;
    margin: 0;
    border-radius: 2.4rem 2.4rem 0 0;
    background: #f1faee;
    color: transparent;
    font-size: 0;
  }

  .screen-slider__status::after {
    position: absolute;
    top: 1.35rem;
    left: 50%;
    width: 3.5rem;
    height: 0.35rem;
    border-radius: 999px;
    background: var(--cookavoli-green);
    content: "";
    translate: -50% 0;
  }

  .detail-inspector {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
  }

  .detail-inspector__header {
    position: absolute;
    z-index: 9;
    top: 4.75rem;
    right: max(1.5rem, calc((100vw - var(--reference-width)) / 2));
    width: min(42rem, 45%);
  }

  .detail-inspector__stage {
    height: 100%;
    margin-top: 0;
    align-items: center;
  }

  .detail-inspector__visual {
    min-height: 100%;
  }

  .device--detail-primary {
    bottom: 0.25rem;
    width: min(18.8rem, 42%);
  }

  .device--detail-secondary {
    bottom: 0.25rem;
    width: min(16.8rem, 38%);
    max-height: 32rem;
  }

  .detail-ledger {
    padding-top: 10rem;
  }

  .detail-ledger button {
    min-height: 5.45rem;
  }

  .detail-panels {
    margin-top: 1rem;
    padding-top: 1rem;
  }

  .possibilities {
    padding-top: 2.4rem;
    padding-bottom: 2rem;
    overflow: clip;
  }

  .possibility-stage {
    min-height: 33rem;
    margin-top: 2rem;
    padding: 2.5rem 3.75rem;
  }

  .possibility-panels,
  .possibility-panels > div:not([hidden]) {
    height: 31rem;
    min-height: 0;
  }

  .device--possibility {
    width: min(18rem, 60%);
    transform: perspective(1200px) rotateY(-5deg) rotateZ(2deg) translateY(-4rem);
  }

  .week-panorama {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .week-panorama__visual,
  .group-planning__visual {
    min-height: 44rem;
  }

  .device--calendar,
  .device--serving {
    width: min(23rem, 76%);
  }

  .week-panorama__copy h2 {
    font-size: clamp(3.5rem, 4.35vw, 4.65rem);
  }

  .check-list,
  .week-plan-board {
    margin-top: 1.35rem;
  }

  .week-plan-board {
    padding: 1.15rem;
  }

  .week-strip button {
    min-height: 4.2rem;
  }

  .week-plan-board__recipes {
    margin-top: 0.9rem;
  }

  .week-recipe-card {
    min-height: 5.6rem;
  }

  .group-planning {
    padding-top: 2.4rem;
    padding-bottom: 2rem;
  }

  .serving-composer {
    margin-top: 1.75rem;
    padding: 1.5rem;
  }

  .group-planning__visual {
    min-height: 43rem;
  }

  .story-tabs {
    padding-top: 2.7rem;
    padding-bottom: 2rem;
  }

  .story-tabs__header .eyebrow {
    margin-bottom: 0.8rem !important;
  }

  .story-tabs__header h2 {
    font-size: clamp(3.6rem, 4.3vw, 4.55rem);
  }

  .story-tabs__list {
    margin-top: 1.2rem;
  }

  .story-tabs__panel {
    min-height: 26rem;
  }

  .story-tabs__content {
    margin-top: 3.2rem;
  }

  .story-tabs__visual {
    top: 1.8rem;
    height: 43rem;
  }

  .device--tab {
    width: min(20.5rem, 53%);
  }

  .story-tabs__controls {
    bottom: 3rem;
  }

  .story-tabs__note {
    top: 8rem;
  }

  .feature-constellation {
    padding-top: 2.5rem;
    padding-bottom: 2rem;
  }

  .feature-orbit {
    min-height: 35.5rem;
    margin-top: 0.8rem;
  }

  .feature-orbit__panels,
  .feature-orbit__panels > div:not([hidden]) {
    min-height: 34rem;
  }

  .device--orbit {
    width: min(15.5rem, 38%);
  }

  .feature-orbit__tabs button:nth-child(1),
  .feature-orbit__tabs button:nth-child(2) {
    top: 13%;
  }

  .feature-orbit__tabs button:nth-child(3),
  .feature-orbit__tabs button:nth-child(4) {
    bottom: 13%;
  }

  .feature-orbit__tabs button > span {
    width: 5.5rem;
  }

  .safety-ledger {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  .safety-ledger__visual {
    min-height: 46rem;
  }

  .device--safety {
    width: min(23rem, 70%);
  }

  .safety-points button {
    min-height: 5.8rem;
  }

  .safety-ledger__link {
    min-height: 4.25rem;
  }

  .faq-stack {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .faq-stack__header h2 {
    font-size: clamp(3.7rem, 4.6vw, 4.8rem);
  }

  .faq-stack summary {
    min-height: 5.35rem;
  }

  .beta-invitation {
    padding-top: 2.75rem;
    padding-bottom: 3rem;
  }

  .beta-invitation__icon {
    width: 7.8rem;
    height: 7.8rem;
  }

  .beta-invitation__copy h2 {
    font-size: clamp(3.7rem, 4.6vw, 4.8rem);
  }

  .beta-invitation__copy p {
    font-size: 1.35rem;
  }

  .beta-invitation__copy .button {
    min-height: 4.6rem;
  }

  .beta-invitation__routes a {
    min-height: 5.4rem;
  }
}

/* Vorlage 1:1 – finaler Desktop-Abgleich für die sechs detailreichsten
   Kompositionen. Interaktionen bleiben erhalten; ausgeblendet werden nur
   Zusatzinformationen, die auf den gelieferten Boards nicht sichtbar sind. */
@media (min-width: 1201px) {
  .journey-steps {
    max-width: 68rem;
    margin-top: 1.65rem;
    gap: 0;
  }

  .journey-steps::before {
    top: 1.55rem;
    right: 2.2rem;
    left: 2.2rem;
    height: 2px;
    border: 0;
    background: #c9d9ca;
  }

  .journey-steps button,
  .journey-steps button[aria-selected="true"] {
    min-height: 6.15rem;
    margin-top: 0;
    padding: 4rem 0.5rem 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .journey-steps button span {
    top: 0;
    width: 3.2rem;
  }

  .journey-stage {
    max-width: 85rem;
    min-height: 35rem;
    margin: 0 auto;
    border: 1px solid #e3e9e3;
    border-radius: 2.6rem 2.6rem 0 0;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 24px 70px rgb(14 57 32 / 8%);
    overflow: hidden;
  }

  .journey-panel {
    min-height: 35rem;
    padding: 0 4rem 0 15rem;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 8rem;
    transform: translateY(7rem);
  }

  .journey-panel__points,
  .journey-panel__cta,
  .journey-panel__controls {
    display: none;
  }

  .journey-panel__visual {
    min-height: 35rem;
  }

  .journey-panel__visual::before,
  .journey-panel__visual::after {
    display: none;
  }

  .journey-path__screen {
    width: 19rem;
    max-height: 35rem;
  }

  .detail-inspector__visual {
    transform: translateY(-7rem);
  }

  .detail-ledger {
    padding-top: 2rem;
  }

  .possibility-stage {
    max-width: 74rem;
    margin-right: auto;
    margin-left: auto;
    padding-right: 3.25rem;
    padding-left: 3.25rem;
  }

  .possibility-tabs {
    max-width: 32rem;
  }

  .device--possibility {
    width: min(16rem, 58%);
    transform: perspective(1200px) rotateY(-5deg) rotateZ(2deg) translateY(3.5rem);
  }

  .week-panorama__visual {
    transform: translateX(9rem);
  }

  .device--calendar {
    width: min(21.5rem, 76%);
  }

  .week-panorama__copy {
    width: calc(100% - 13rem);
    transform: translateX(6rem);
  }

  .feature-orbit__tabs {
    z-index: 3;
  }

  .feature-orbit__panels {
    z-index: 1;
    pointer-events: none;
  }

  .check-list {
    gap: 1rem;
  }

  .check-list li {
    min-height: 6.7rem;
    padding: 1rem 1.15rem;
    border: 1px solid #dfe7df;
    border-radius: 1.1rem;
    background: rgb(255 255 255 / 92%);
  }

  .check-list span {
    width: 3.3rem;
  }

  .week-plan-board {
    padding: 0.75rem;
    border: 1px solid #dfe7df;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 18px 45px rgb(14 57 32 / 8%);
  }

  .week-plan-board__header,
  .week-plan-board__recipes {
    display: none;
  }

  .week-strip {
    margin-top: 0;
  }

  .story-tabs__header {
    max-width: 64rem;
    transform: translateX(13rem);
  }

  .story-tabs__header .eyebrow {
    display: none;
  }

  .story-tabs__header h2 {
    max-width: none;
    font-size: clamp(3.7rem, 4.45vw, 4.8rem);
    white-space: nowrap;
  }

  .story-tabs__header p:last-child {
    max-width: 54rem;
    margin-top: 1.05rem !important;
  }

  .story-tabs__list {
    width: 42rem;
    margin-top: 1.35rem;
    margin-left: 13rem;
  }

  .story-tabs__panel {
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.76fr);
  }

  .story-tabs__content,
  .story-tabs__controls,
  .story-tabs__note {
    display: none;
  }

  .story-tabs__visual {
    min-height: 35rem;
    transform: translate(12rem, 6.5rem);
  }

  .story-tabs__visual::before {
    width: 30rem;
    border-width: 4.4rem;
  }

  .story-tabs__visual::after {
    width: 22rem;
    border-width: 3rem;
  }

  .device--tab {
    width: min(17rem, 66%);
  }

  .feature-orbit {
    max-width: 68rem;
  }

  .feature-orbit::before {
    width: min(35rem, 64%);
  }

  .feature-orbit::after {
    width: min(28rem, 52%);
  }

  .feature-orbit__tabs button {
    width: 14.5rem;
  }

  .feature-orbit__tabs button > span {
    width: 4.5rem;
  }

  .feature-orbit__tabs button > strong {
    font-size: 1.2rem;
  }

  .feature-orbit__tabs button > small {
    font-size: 0.9rem;
  }

  .feature-orbit__tabs button[aria-selected="true"]::after {
    left: 5.9rem;
  }

  .feature-orbit__panels,
  .feature-orbit__panels > div:not([hidden]) {
    align-items: end;
    padding-bottom: 1.5rem;
  }

  .device--orbit {
    width: min(9rem, 31%);
  }

  .feature-orbit__controls {
    display: none;
  }

  .detail-inspector__stage:has(#detail-tab-3[aria-selected="true"]) .detail-inspector__connector {
    top: 76%;
  }
}

/* Vorlage 07: vollständige Journey-Komposition inklusive Kurven und Kreisen. */
@media (min-width: 1201px) {
  .journey {
    isolation: isolate;
    height: 54.7rem;
    padding-top: 3.3rem;
    padding-bottom: 0;
    background: linear-gradient(180deg, #fcfdf9, #f7fbf4);
    overflow: clip;
  }

  .journey__header h2 {
    max-width: none;
    font-size: 4.45rem;
    line-height: 0.94;
    white-space: nowrap;
  }

  .journey__header p {
    margin-top: 0.75rem !important;
    font-size: 1.08rem;
  }

  .journey-steps {
    max-width: 86rem;
    margin-top: 2.7rem;
    gap: 0;
  }

  .journey-steps::before { display: none; }

  .journey-steps__route {
    position: absolute;
    z-index: 0;
    top: -1.55rem;
    left: 0;
    width: 100%;
    height: 5.25rem;
    overflow: visible;
    pointer-events: none;
  }

  .journey-steps__route-segment {
    fill: none;
    stroke: #cad9ca;
    stroke-linecap: round;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
  }

  .journey-steps__route-segment--active {
    stroke: #49f21d;
    stroke-width: 4;
    filter: drop-shadow(0 0 8px rgb(73 242 29 / 40%));
  }

  .journey-steps button,
  .journey-steps button[aria-selected="true"] {
    z-index: 1;
    width: 13.8rem;
    min-height: 5.45rem;
    margin: 2rem auto 0;
    padding: 2.2rem 1rem 0.75rem;
    border-radius: 1.35rem;
    background: rgb(244 249 242 / 92%);
    box-shadow: none;
  }

  .journey-steps button span {
    top: -3.6rem;
    width: 3.55rem;
    background: #fbfcf8;
    box-shadow: 0 0 0 0.55rem rgb(255 255 255 / 72%);
  }

  .journey-steps button strong {
    max-width: 12ch;
    font-size: 0.95rem;
    line-height: 1.08;
  }

  .journey-steps button[aria-selected="true"] {
    background: var(--cookavoli-green);
    box-shadow: 0 12px 28px rgb(73 242 29 / 24%);
  }

  .journey-steps button[aria-selected="true"] span {
    background: var(--cookavoli-green);
    box-shadow: 0 0 0 0.55rem rgb(73 242 29 / 14%);
  }

  .journey-stage {
    max-width: 86rem;
    min-height: 34rem;
    margin: -1rem auto 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    overflow: visible;
  }

  .journey-panel {
    max-width: none;
    min-height: 34rem;
    padding: 0 24rem 0 0;
    align-items: center;
    grid-template-columns: 29rem 29rem;
    gap: 5rem;
    transform: none;
  }

  .journey-panel__points,
  .journey-panel__cta,
  .journey-panel__controls { display: grid; }

  .journey-panel__copy {
    align-self: start;
    padding-top: 5.65rem;
  }

  .journey-panel__copy > p:first-child { font-size: 0.78rem; }
  .journey-panel__copy h3 { margin-top: 0.55rem; font-size: 2.45rem; }

  .journey-panel__copy > p:nth-child(3) {
    max-width: 28rem;
    margin-top: 0.8rem !important;
    font-size: 1rem;
    line-height: 1.38;
  }

  .journey-panel__points { margin-top: 1rem; gap: 0.55rem; }
  .journey-panel__points li { font-size: 0.93rem; gap: 0.7rem; }
  .journey-panel__points span { width: 2.25rem; border-radius: 0.65rem; }

  .journey-panel__cta {
    display: inline-flex;
    min-width: 17.8rem;
    min-height: 3.7rem;
    margin-top: 1.05rem;
    justify-content: center;
    border-radius: 999px;
  }

  .journey-panel__visual {
    min-height: 34rem;
    transform: none;
  }

  .journey-panel__visual::before,
  .journey-panel__visual::after {
    display: block;
    width: 29rem;
    border-width: 3rem;
    border-color: rgb(139 225 119 / 13%);
  }

  .journey-panel__visual::after { width: 21rem; border-width: 2rem; }
  .journey-path__screen {
    width: 17.2rem;
    max-height: 35rem;
    aspect-ratio: 0.495;
  }

  .journey-panel__controls {
    right: 0.4rem;
    bottom: 13.25rem;
    width: 17rem;
  }

  .journey-panel__controls button { width: 4rem; background: rgb(248 251 246 / 94%); }
  .journey-panel__controls button:last-of-type { box-shadow: 0 10px 24px rgb(73 242 29 / 24%); }

  .journey-panel__controls p {
    max-width: 15rem;
    margin: 0.25rem auto 0;
    font-size: 0.86rem;
  }
}

/* Vorlage 10: links geführte Story, großes Gerät und vollständige Hinweise. */
@media (min-width: 1201px) {
  .story-tabs {
    height: 61rem;
    padding: 5.8rem 6.5rem 2.5rem;
    background-image: radial-gradient(circle at 68% 50%, rgb(73 242 29 / 12%), transparent 31%), linear-gradient(135deg, #042a1a, #00170d 72%);
    background-position: center, center;
  }

  .story-tabs__header {
    position: relative;
    z-index: 5;
    max-width: 42rem;
    transform: none;
  }

  .story-tabs__header .eyebrow {
    display: block;
    margin-bottom: 1.2rem !important;
  }

  .story-tabs__header h2 {
    max-width: 10ch;
    font-size: 4.1rem;
    line-height: 0.98;
    white-space: normal;
  }

  .story-tabs__header p:last-child {
    max-width: 39rem;
    margin-top: 1.15rem !important;
    font-size: 1.13rem;
  }

  .story-tabs__list {
    position: relative;
    z-index: 6;
    width: 52rem;
    margin-top: 2.5rem;
    margin-left: 0;
  }

  .story-tabs__list button,
  .story-tabs__list button[aria-selected="true"] {
    min-height: 4.65rem;
    padding: 0.85rem 1.15rem;
    border-radius: 1.25rem;
  }

  .story-tabs__stage,
  .story-tabs__panels,
  .story-tabs__panel {
    position: absolute;
    inset: 0;
    min-height: 61rem;
  }

  .story-tabs__panel { display: block; }
  .story-tabs__panel[hidden] { display: none; }

  .story-tabs__content {
    position: absolute;
    z-index: 6;
    top: 35rem;
    left: 6.5rem;
    display: grid;
    max-width: 40rem;
  }

  .story-tabs__content > span { width: 4.8rem; }
  .story-tabs__content h3 { font-size: 2.35rem; }

  .story-tabs__content .button {
    display: inline-flex;
    min-width: 23rem;
    min-height: 4.6rem;
  }

  .story-tabs__visual {
    position: absolute;
    z-index: 3;
    top: 2.6rem;
    left: 50.5%;
    width: 40rem;
    min-height: 56rem;
    transform: none;
  }

  .story-tabs__visual::before { width: 38rem; border-width: 5.2rem; }
  .story-tabs__visual::after { width: 27rem; border-width: 3.8rem; }

  .device--tab {
    width: 27.2rem;
    max-height: 55rem;
    aspect-ratio: 0.495;
    transform: perspective(1200px) rotateY(-2deg) rotateZ(0.5deg);
  }

  .story-tabs__controls {
    bottom: 4.8rem;
    left: 33rem;
    display: flex;
  }

  .story-tabs__note {
    top: 10.2rem;
    right: 7.2rem;
    display: grid;
    width: 12rem;
  }
}
