@font-face {
  font-family:Barlow Condensed;
  src:url('/assets/fonts/BarlowCondensed-700.woff2') format('woff2');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
:root {
  color-scheme:dark;
  --ground:#050807;
  --object:#0e1311;
  --object2:#151b18;
  --ink:#eff5ef;
  --muted:#98a49d;
  --quiet:#5f6b65;
  --aqua:#59c9b8;
  --coral:#d96a59;
  --blue:#72a8c8;
  --good:#8fd86a;
  --warn:#d9a24a;
  --rule:rgba(239,245,239,.1);
  --rule-strong:rgba(239,245,239,.18);
  --tap:120ms;
  --quick:240ms;
  --base:380ms;
  --glide:cubic-bezier(.2,.7,.2,1);
  --display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  --body:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  scroll-behavior:smooth;
  scroll-padding-top:112px;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font:16px/1.6 var(--body);
  -webkit-font-smoothing:antialiased;
}
body:before {
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:420px;
  background:radial-gradient(ellipse at 67% 0,rgba(89,201,184,.065),transparent 70%);
  pointer-events:none;
  z-index:-1;
}
button,input,select {
  font:inherit;
}
button,a,select,input {
  -webkit-tap-highlight-color:transparent;
}
button,a,select {
  touch-action:manipulation;
}
button {
  color:inherit;
  cursor:pointer;
}
button:disabled {
  cursor:default;
}
button,a,input,select,summary {
  outline-offset:5px;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--aqua);
}
button {
  border:0;
  background:none;
}
a {
  color:inherit;
  text-decoration:none;
}
a:hover {
  color:var(--aqua);
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
p,h1,h2,h3,figure,dl {
  margin:0;
}
h1,h2,h3 {
  font-weight:700;
  line-height:1.05;
}
h1,h2 {
  font-family:var(--display);
}
h3 {
  font-size:19px;
  line-height:1.3;
}
p {
  color:var(--muted);
}
[hidden] {
  display:none!important;
}
::selection {
  background:var(--aqua);
  color:var(--ground);
}
.wrap {
  width:min(1180px,calc(100% - 96px));
  margin-inline:auto;
}
.enhancement {
  display:none!important;
}
.js .enhancement {
  display:flex!important;
}
.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link {
  opacity: 0;
  pointer-events: none;
  position:fixed;
  top:-80px;
  left:24px;
  background:var(--ink);
  color:var(--ground);
  padding:12px 20px;
  z-index:50;
}
.skip-link:focus {
  opacity: 1;
  pointer-events: auto;
  top:16px;
}
/* Opal's capsule proportions with grouped product navigation. */
.site-header {
  position:sticky;
  top:20px;
  z-index:30;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  width:min(1120px,calc(100% - 48px));
  min-height:68px;
  margin:24px auto 16px;
  padding:8px 10px 8px 24px;
  border-radius:40px;
  background:rgba(14,19,17,.9);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}
.site-header>.brand { justify-self:start; }
.main-nav { display:flex; align-items:center; gap:4px; }
.nav-group summary,.nav-direct {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  border-radius:28px;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
  white-space:nowrap;
}
.nav-group summary { list-style:none; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary::after { content:none; }
.nav-group[open]>summary,.nav-group summary:hover,.nav-direct:hover { background:var(--object2); color:var(--ink); }
.nav-chevron { display:inline-block; font-size:16px; line-height:1; transform:translateY(-2px); }
.nav-group[open] .nav-chevron { transform:rotate(180deg) translateY(-2px); }
.nav-dropdown {
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  display:grid;
  padding:24px;
  gap:24px;
  border-radius:24px;
  background:var(--object);
}
.app-dropdown { grid-template-columns:repeat(3,minmax(0,1fr)); }
.people-dropdown { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nav-dropdown a { display:flex; flex-direction:column; justify-content:center; gap:7px; min-height:76px; padding:8px 16px; border-left:1px solid var(--rule-strong); }
.nav-dropdown a:first-child { border-left:0; }
.nav-dropdown strong { color:var(--ink); font-size:17px; font-weight:500; }
.nav-dropdown span { color:var(--muted); font-size:13px; line-height:1.5; }
.nav-dropdown a:hover strong { color:var(--aqua); }
.menu-toggle { display:none; }
.brand {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  flex-shrink:0;
}
.wordmark {
  width:118px;
  height:auto;
}
.hero {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:center;
  gap:72px;
  padding-top:16px;
  padding-bottom:48px;
  min-height:680px;
}
.hero-copy {
  padding-bottom:12px;
}
.eyebrow {
  font-size:13px;
  margin-bottom:22px;
  color:var(--aqua);
  font-weight:500;
}
.hero .eyebrow {
  color:var(--muted);
}
h1 {
  font-size:clamp(64px,6.6vw,88px);
  line-height:.98;
  letter-spacing:-.025em;
  margin-bottom:28px;
}
h1 span {
  color:var(--muted);
}
.hero-description {
  font-size:17px;
  line-height:1.65;
  color:var(--ink);
  max-width:490px;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:30px;
}
.hero-actions p {
  font-size:11px;
  line-height:1.65;
  color:var(--ink);
}
.hero-actions p span {
  color:var(--muted);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:48px;
  padding:12px 24px;
  border-radius:40px;
  line-height:1.3;
  font-size:14px;
  font-weight:600;
  transition:background var(--tap),transform var(--tap),opacity var(--tap);
  text-align:center;
}
.button:active:not(:disabled) {
  transform:scale(.985);
}
.primary {
  background:var(--aqua);
  color:var(--ground);
}
.primary:hover {
  background:var(--ink);
  color:var(--ground);
}
.button:disabled {
  background:var(--object2);
  color:var(--muted);
}
.hero-tabs {
  gap:28px;
  margin-top:38px;
  max-width:380px;
  border-bottom:1px solid var(--rule-strong);
}
.hero-tabs button {
  padding:12px 0;
  min-height:48px;
  font-size:13px;
  position:relative;
  color:var(--muted);
  white-space:nowrap;
}
.hero-tabs button[aria-selected=true] {
  color:var(--ink);
}
.hero-tabs button[aria-selected=true]:after {
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  height:2px;
  background:var(--aqua);
}
.hero-product {
  justify-self:center;
  width:282px;
  min-height:638px;
}
.screen-panel {
  margin:0;
  text-align:center;
}
.screen-panel img {
  width:282px;
  height:609px;
  object-fit:contain;
  border-radius:32px;
}
.screen-panel figcaption {
  margin-top:17px;
  font-size:12px;
  white-space:nowrap;
  color:var(--muted);
}
html:not(.js) .hero-product {
  display:flex;
  overflow-x:auto;
  gap:24px;
  width:100%;
  min-width:0;
  scroll-snap-type:x mandatory;
  padding-bottom:12px;
}
html:not(.js) .screen-panel {
  flex:0 0 282px;
  scroll-snap-align:center;
}
html:not(.js) .screen-panel figcaption {
  white-space:normal;
}
.screen-panel:not([hidden]) {
  animation:arrive var(--quick) var(--glide);
}
@keyframes arrive {
  from {
    opacity:.3;
  }
  to {
    opacity:1;
  }
}
.section {
  border-top:1px solid var(--rule-strong);
  padding-block:66px;
}
.food-section {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:96px;
  align-items:center;
}
h2 {
  font-size:56px;
  letter-spacing:-.015em;
  margin-bottom:24px;
}
.section-copy>p:not(.eyebrow) {
  max-width:470px;
  line-height:1.7;
}
.blue {
  color:var(--blue);
}
.flow-note {
  border-top:1px solid var(--rule);
  margin-top:30px;
  padding-top:20px;
  max-width:440px;
}
.small-label {
  font-size:12px;
  color:var(--muted);
}
.flow-note .small-label {
  color:var(--ink);
}
.flow-note p {
  font-size:13px;
  margin-top:8px;
  line-height:1.6;
}
.demo {
  min-width:0;
}
.demo-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:48px;
  border-bottom:1px solid var(--rule-strong);
  font-size:13px;
}
.text-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 0;
  font-size:12px;
  color:var(--muted);
}
.text-button:hover {
  color:var(--ink);
}
.meal-heading {
  padding-top:24px;
}
.meal-heading h3 {
  font-size:20px;
}
.meal-heading p {
  font-size:12px;
  margin-top:6px;
}
.portion-picker {
  gap:4px;
  padding:4px;
  background:var(--object);
  border-radius:40px;
  width:max-content;
  margin-top:18px;
}
.portion-picker button {
  min-width:82px;
  min-height:44px;
  padding:8px 12px;
  font-size:12px;
  border-radius:40px;
  transition:background var(--tap);
}
.portion-picker button[aria-pressed=true] {
  background:var(--blue);
  color:var(--ground);
}
.portion-picker button:disabled:not([aria-pressed=true]) {
  color:var(--quiet);
}
.meal-figures {
  display:flex;
  align-items:baseline;
  gap:56px;
  padding:22px 0;
}
.meal-figures p {
  display:flex;
  align-items:baseline;
  gap:8px;
}
.meal-figures strong {
  font-family:var(--display);
  font-size:50px;
  line-height:1;
  color:var(--ink);
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.meal-figures span {
  font-size:12px;
}
.food-button {
  background:var(--blue);
  color:var(--ground);
  width:100%;
  justify-content:center;
}
.food-button:hover:not(:disabled) {
  background:var(--ink);
}
.daily-totals {
  display:flex;
  align-items:center;
  gap:16px;
  border-top:1px solid var(--rule-strong);
  margin-top:24px;
  padding-top:20px;
  font-size:13px;
}
.daily-totals>span {
  margin-right:auto;
  color:var(--ink);
}
.daily-totals strong {
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  font-weight:500;
}
.demo-status {
  font-size:12px;
  margin-top:12px;
  min-height:20px;
  color:var(--muted);
}
.demo-caption {
  font-size:11px;
  line-height:1.6;
  color:var(--muted);
  margin-top:14px;
}
.food-demo .demo-caption {
  text-align:right;
}
.people-intro {
  margin-bottom:22px;
}
.people-intro h2 {
  margin-bottom:0;
}
.people-tabs {
  width:max-content;
  gap:4px;
  padding:4px;
  border-radius:40px;
  background:var(--object);
  margin-bottom:24px;
}
.people-tabs button {
  min-height:44px;
  padding:10px 24px;
  border-radius:40px;
  color:var(--muted);
  font-size:14px;
}
.people-tabs button[aria-selected=true] {
  background:var(--aqua);
  color:var(--ground);
  font-weight:600;
}
.people-panel {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:96px;
  align-items:start;
}
.panel-summary {
  font-size:15px;
  max-width:450px;
  line-height:1.7;
}
.step-list {
  list-style:none;
  padding:0;
  margin:28px 0 22px;
}
.step-list li {
  display:flex;
  gap:20px;
  padding:15px 0;
}
.step-list li>span {
  font-family:var(--display);
  font-size:24px;
  color:var(--aqua);
  line-height:1.3;
}
.step-list h3 {
  font-size:16px;
  font-weight:500;
}
.step-list p {
  font-size:13px;
  line-height:1.6;
  margin-top:4px;
  max-width:345px;
}
.fine-print {
  font-size:12px;
  line-height:1.65;
}
.people-footer {
  border-top:1px solid var(--rule);
  margin-top:38px;
  padding-top:22px;
  font-size:13px;
}
.arc-demo .demo-topline {
  font-size:12px;
}
.arc-demo select {
  color:var(--ink);
  background:var(--ground);
  border:0;
  min-height:44px;
  padding:8px 20px 8px 8px;
  font-size:12px;
  border-radius:0;
  cursor:pointer;
}
.arc-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:124px;
  padding:16px 0;
}
.arc-heading h3 {
  font-family:var(--display);
  font-size:34px;
}
.arc-heading p {
  font-size:12px;
  margin-top:5px;
}
.arc-heading img {
  width:142px;
  height:90px;
  object-fit:contain;
}
.arc-tabs {
  gap:22px;
  border-bottom:1px solid var(--rule-strong);
}
.arc-tabs button {
  min-width: 44px;
  min-height:44px;
  padding:8px 0;
  font-size:12px;
  color:var(--muted);
  border-bottom:2px solid transparent;
}
.arc-tabs button[aria-selected=true] {
  color:var(--ink);
  border-color:var(--blue);
}
.arc-pane {
  min-height:205px;
  padding-top:10px;
}
.arc-person {
  display:grid;
  grid-template-columns:28px 1fr 1.35fr 1.45fr;
  align-items:center;
  gap:10px;
  min-height:59px;
  border-bottom:1px solid var(--rule);
  font-size:11px;
  color:var(--muted);
}
.arc-person strong {
  font-size:12px;
  color:var(--ink);
  font-weight:500;
}
.initial {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  border-radius:50%;
  background:var(--coral);
  color:var(--ground);
  font:700 16px/1 var(--display);
  flex-shrink:0;
}
.initial.friend {
  background:var(--blue);
}
.arc-together {
  display:flex;
  gap:8px;
  align-items:baseline;
  padding:19px 0 8px;
  font-size:12px;
  color:var(--muted);
}
.arc-together>span:first-child {
  color:var(--ink);
  margin-right:auto;
}
.arc-together strong {
  color:var(--ink);
  font-family:var(--display);
  font-size:24px;
  font-weight:700;
}
.arc-food-progress {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:var(--muted);
}
.arc-food-progress strong {
  font-weight:400;
  color:var(--blue);
}
.ruled-list>div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--rule);
  padding:16px 0;
  font-size:13px;
}
.ruled-list dt {
  color:var(--ink);
}
.ruled-list dd {
  margin:0;
  color:var(--muted);
  text-align:right;
}
.arc-pane>.fine-print {
  margin-top:15px;
}
.person-row {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:70px;
  border-bottom:1px solid var(--rule);
}
.person-row strong {
  font-size:14px;
  font-weight:500;
}
.person-row p {
  font-size:12px;
  margin-top:3px;
}
.switch-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  border-bottom:1px solid var(--rule);
  font-size:12px;
  position:relative;
  cursor:pointer;
}
.switch-row>span:first-child {
  margin-right:auto;
}
.switch-row input {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
}
.switch-visual {
  display:block;
  position:relative;
  width:40px;
  height:24px;
  flex-shrink:0;
  border-radius:12px;
  background:var(--rule-strong);
  pointer-events:none;
  transition:background var(--tap);
}
.switch-visual::after {
  content:'';
  position:absolute;
  top:2px;
  left:2px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--ink);
  transition:transform var(--tap) var(--glide);
}
.switch-row input:checked + .switch-visual {
  background:var(--aqua);
}
.switch-row input:checked + .switch-visual::after {
  transform:translateX(16px);
}
.switch-row input:focus-visible + .switch-visual {
  outline:2px solid var(--aqua);
  outline-offset:4px;
}
.sharing-line {
  font-size:11px;
  margin-top:14px;
  line-height:1.6;
  min-height:18px;
}
.sharing-line strong {
  color:var(--muted);
  font-weight:400;
}
.sharing-controls {
  flex-direction:column;
}
.sharing-controls .switch-row {
  width:100%;
}
.coach-totals {
  display:flex;
  gap:48px;
  padding:24px 0;
  border-bottom:1px solid var(--rule);
}
.coach-totals p {
  display:flex;
  flex-direction:column;
}
.coach-totals strong {
  font:700 40px/1.1 var(--display);
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.coach-totals span {
  font-size:11px;
  margin-top:6px;
}
.coach-target-row {
  display:flex;
  justify-content:space-between;
  font-size:12px;
  padding:18px 0;
  gap:16px;
}
.coach-target-row>span {
  color:var(--muted);
}
.coach-target-row strong {
  font-variant-numeric:tabular-nums;
  font-weight:500;
}
.shared-meals {
  padding:16px 0;
  border-bottom:1px solid var(--rule);
}
.shared-meals p {
  color:var(--ink);
  font-size:13px;
  margin-top:6px;
}
.proposal {
  padding:20px;
  background:var(--object);
  border-radius:20px;
}
.proposal-heading {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.proposal-heading h3 {
  font-size:14px;
  font-weight:500;
}
.proposal>p:not(.fine-print):not(.demo-status) {
  font-size:14px;
  line-height:1.6;
  color:var(--ink);
  margin-bottom:8px;
}
.proposal-actions {
  gap:18px;
  margin-top:16px;
}
.proposal-actions .button {
  font-size:12px;
  min-height:44px;
  padding-inline:20px;
}
.proposal #reset-proposal {
  margin-bottom:-8px;
}
.coach-demo #coach-private-note {
  padding:20px 0;
}
.people-panel:not([hidden]) {
  animation:arrive var(--quick) var(--glide);
}
html:not(.js) #people-coach {
  margin-top:50px;
}
html:not(.js) #coach-private-note,html:not(.js) #coach-meals {
  display:none;
}
.faq-section {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:96px;
}
.faq-intro h2 {
  font-size:42px;
}
.faq-intro p:not(.eyebrow) {
  font-size:13px;
  line-height:1.8;
}
.faq-list details {
  border-bottom:1px solid var(--rule-strong);
}
.faq-list details:first-child {
  border-top:1px solid var(--rule-strong);
}
.faq-list summary {
  position:relative;
  list-style:none;
  padding:19px 30px 19px 0;
  cursor:pointer;
  font-size:14px;
  min-height:58px;
}
.faq-list summary::-webkit-details-marker {
  display:none;
}
.faq-list summary:after {
  content:'+';
  position:absolute;
  right:3px;
  top:16px;
  font-size:20px;
  font-weight:300;
  color:var(--muted);
}
.faq-list details[open] summary:after {
  content:'−';
}
.faq-list details>p {
  font-size:13px;
  line-height:1.75;
  padding:0 24px 24px 0;
}
.site-footer {
  display:flex;
  align-items:center;
  gap:26px;
  padding-block:24px 36px;
  border-top:1px solid var(--rule-strong);
  font-size:11px;
  color:var(--muted);
}
.site-footer .wordmark {
  width:98px;
}
.site-footer nav {
  display:flex;
  gap:20px;
  margin-left:auto;
}
.site-footer>a,.site-footer nav a {
  min-width: 44px;
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.legal-shell {
  max-width:760px;
  width:calc(100% - 48px);
  margin:0 auto;
  padding:34px 0 80px;
}
.legal-shell h1 {
  font-size:64px;
  margin-top:48px;
}
.legal-shell h2 {
  font-size:30px;
  margin:32px 0 12px;
}
.legal-shell p {
  margin:16px 0;
  line-height:1.8;
}
.legal-shell a:not(.brand) {
  color:var(--aqua);
  text-decoration:underline;
  text-underline-offset:4px;
}
.legal-shell .wordmark {
  width:120px;
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.legal-shell .button {
  color:var(--ground)!important;
  text-decoration:none!important;
}
.legal-shell .fine-print {
  font-size:12px;
}
.noscript-note {
  font-size:12px;
  padding-bottom:32px;
}
/* A brief entrance for the original brand paths, then complete stillness. */
.header-wordmark { width:134px; overflow:visible; }
.brand-entrance .brand-symbol { animation:brand-symbol-arrive 900ms var(--glide) both; transform-origin:0 100px; }
.brand-entrance .brand-letters { animation:brand-letters-arrive 650ms 380ms var(--glide) both; }
@keyframes brand-symbol-arrive {
  from { clip-path:inset(0 100% 0 0); transform:translateY(8px); }
  to { clip-path:inset(0); transform:translateY(0); }
}
@keyframes brand-letters-arrive {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}
.header-notify { justify-self:end; display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 24px; border-radius:40px; background:var(--ink); color:var(--ground); font-size:14px; font-weight:600; white-space:nowrap; }
.header-notify:hover { background:var(--aqua); color:var(--ground); }
.launch-button { background:var(--ink); color:var(--ground); }
.launch-button:hover:not(:disabled) { background:var(--aqua); color:var(--ground); }
.explore-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:13px; white-space:nowrap; }
.launch-availability { font-size:12px; margin-top:14px; }
.product-facts { display:flex; gap:0; list-style:none; margin:24px 0 0; padding:0; max-width:420px; }
.product-facts li { flex:1; padding:0 16px; border-left:1px solid var(--rule-strong); color:var(--muted); font-size:11px; line-height:1.6; }
.product-facts li:first-child { padding-left:0; border-left:0; }
.launch-section { display:grid; grid-template-columns:1.1fr 1fr; gap:96px; align-items:center; padding-block:68px; }
.launch-copy h2 { font-size:56px; margin-bottom:18px; }
.launch-copy>p:last-child { max-width:390px; font-size:15px; }
.launch-form { position:relative; }
.launch-form>label { display:block; font-size:13px; margin-bottom:10px; color:var(--ink); }
.launch-fields { display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--rule-strong); }
.launch-fields:focus-within { border-color:var(--ink); }
.launch-fields input { width:100%; min-width:0; min-height:48px; background:transparent; color:var(--ink); border:0; border-radius:0; padding:8px 0; font-size:16px; }
.launch-fields input::placeholder { color:var(--muted); opacity:1; }
.launch-fields input:focus-visible { outline-offset:2px; }
.launch-fields .button { flex-shrink:0; min-width:115px; }
.launch-consent { font-size:11px; line-height:1.7; margin-top:16px; max-width:460px; }
.launch-consent a,.faq-list a { text-decoration:underline; text-underline-offset:3px; }
.launch-status { min-height:40px; font-size:13px; line-height:1.6; margin-top:14px; }
.launch-status[data-state=success] { color:var(--aqua); }
.launch-status[data-state=error] { color:var(--warn); }
.signup-trap { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1050px) {
  .launch-section { gap:48px; }
  .launch-copy h2 { font-size:48px; }
}
@media(max-width:760px) {
  .site-header .header-wordmark { width:112px; }
  .hero-actions { flex-wrap:wrap; gap:10px 20px; }
  .hero-actions .launch-button { padding-inline:22px; }
  .explore-link { font-size:12px; gap:8px; }
  .launch-availability { font-size:11px; margin-top:10px; }
  .product-facts { margin-top:22px; max-width:none; }
  .product-facts li { font-size:10px; padding-inline:12px; }
  .launch-section { grid-template-columns:1fr; gap:28px; padding-block:40px; }
  .launch-copy h2 { font-size:44px; }
  .launch-copy>p:last-child { font-size:14px; }
  .launch-fields { gap:10px; }
  .launch-fields .button { min-width:100px; padding-inline:18px; }
}
@media(min-width:761px) {
  .js .people-section {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    /* Taller permission previews must not stretch the heading or tab control. */
    grid-template-rows:min-content min-content 1fr auto;
    align-items:start;
    column-gap:96px;
  }
  .js .people-intro,.js .people-tabs {
    grid-column:1;
  }
  .js .people-panel {
    display:contents;
  }
  .js .people-explainer {
    grid-column:1;
    grid-row:3;
  }
  .js .arc-demo,.js .coach-demo {
    grid-column:2;
    grid-row:1 / span 3;
    align-self:start;
    margin-top:8px;
  }
  .js .people-footer {
    grid-column:1 / -1;
  }
}
@media(min-width:1500px) {
  .hero {
    gap:96px;
  }
  .hero-product {
    width:296px;
    min-height:666px;
  }
  .screen-panel img {
    width:296px;
    height:639px;
  }
}
@media(max-width:1050px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .hero {
    gap:32px;
    grid-template-columns:1.15fr 1fr;
    min-height:630px;
  }
  h1 {
    font-size:72px;
  }
  .hero-product {
    width:250px;
    min-height:569px;
  }
  .screen-panel img {
    width:250px;
    height:540px;
  }
  .hero-actions {
    gap:16px;
  }
  .hero-actions p {
    font-size:10px;
  }
  .hero-tabs {
    gap:20px;
  }
  .hero-tabs button {
    font-size:12px;
  }
  .food-section,.people-panel,.faq-section {
    gap:48px;
  }
  .js .people-section {
    column-gap:48px;
  }
  .meal-figures {
    gap:40px;
  }
  .daily-totals {
    gap:12px;
    font-size:12px;
  }
  .arc-person {
    gap:6px;
    font-size:10px;
    grid-template-columns:24px .6fr 1fr 1.3fr;
  }
  .initial {
    width:24px;
    height:24px;
  }
  .arc-tabs {
    gap:18px;
  }
  h2 {
    font-size:48px;
  }
}
@media(max-width:760px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .hero {
    grid-template-columns:1fr;
    gap:26px;
    padding-top:24px;
    padding-bottom:36px;
    min-height:0;
  }
  .hero-copy {
    padding:0;
  }
  .hero .eyebrow {
    font-size:12px;
    margin-bottom:18px;
  }
  h1 {
    font-size:64px;
    line-height:.98;
    margin-bottom:24px;
    letter-spacing:-.02em;
  }
  .hero-description {
    font-size:15px;
    max-width:480px;
  }
  .desktop-break {
    display:none;
  }
  .hero-actions {
    gap:20px;
    margin-top:24px;
  }
  .button {
    font-size:13px;
    padding:12px 21px;
  }
  .hero-actions p {
    font-size:10px;
  }
  .hero-tabs {
    margin-top:26px;
    gap:0;
    width:100%;
    max-width:none;
    justify-content:space-between;
  }
  .hero-tabs button {
    font-size:12px;
    flex:1;
    padding:12px 0;
    text-align:center;
  }
  .hero-tabs button[aria-selected=true]:after {
    left:10%;
    right:10%;
  }
  .hero-product {
    width:252px;
    min-height:576px;
    justify-self:center;
  }
  .screen-panel img {
    width:252px;
    height:544px;
  }
  .screen-panel figcaption {
    font-size:11px;
    white-space:normal;
    margin-top:12px;
  }
  .section {
    padding-block:40px;
  }
  .food-section,.people-panel,.faq-section {
    grid-template-columns:1fr;
    gap:32px;
  }
  h2 {
    font-size:44px;
    margin-bottom:20px;
  }
  .eyebrow {
    margin-bottom:16px;
    font-size:12px;
  }
  .section-copy>p:not(.eyebrow) {
    font-size:14px;
    max-width:none;
  }
  .flow-note {
    margin-top:22px;
    padding-top:16px;
  }
  .flow-note p {
    font-size:12px;
  }
  .food-demo {
    padding-top:4px;
  }
  .meal-heading {
    padding-top:20px;
  }
  .meal-heading h3 {
    font-size:18px;
  }
  .meal-figures strong {
    font-size:48px;
  }
  .meal-figures {
    gap:56px;
    padding:24px 0;
  }
  .portion-picker button {
    min-width:80px;
  }
  .daily-totals {
    font-size:12px;
    gap:16px;
  }
  .food-demo .demo-caption {
    text-align:left;
  }
  .people-intro {
    gap:18px;
    display:block;
    margin-bottom:22px;
  }
  .people-tabs {
    margin-bottom:28px;
  }
  .people-tabs button {
    padding:10px 23px;
    font-size:13px;
  }
  .panel-summary {
    font-size:14px;
    max-width:none;
  }
  .step-list {
    margin:18px 0;
  }
  .step-list li {
    padding:12px 0;
    gap:16px;
  }
  .step-list h3 {
    font-size:15px;
  }
  .step-list p {
    font-size:12px;
    max-width:none;
  }
  .step-list li>span {
    font-size:22px;
  }
  .people-explainer>.fine-print {
    font-size:11px;
  }
  .arc-heading h3 {
    font-size:34px;
  }
  .arc-person {
    grid-template-columns:27px .8fr 1.2fr 1.5fr;
    font-size:11px;
    gap:8px;
  }
  .arc-tabs {
    gap:28px;
  }
  .arc-pane {
    min-height:206px;
  }
  .switch-row {
    font-size:12px;
  }
  .people-footer {
    font-size:12px;
    margin-top:26px;
    padding-top:20px;
  }
  .faq-section {
    gap:24px;
  }
  .faq-intro h2 {
    font-size:40px;
  }
  .faq-intro .eyebrow {
    margin-bottom:12px;
  }
  .faq-intro p:not(.eyebrow) {
    font-size:12px;
  }
  .faq-list summary {
    font-size:13px;
  }
  .site-footer {
    flex-wrap:wrap;
    gap:10px 20px;
    padding-block:22px 28px;
  }
  .site-footer p {
    font-size:10px;
  }
  .site-footer nav {
    margin-left:0;
    order:4;
    width:auto;
  }
  .site-footer>span {
    order:5;
    margin-left:auto;
    font-size:10px;
  }
  .site-footer .wordmark {
    width:94px;
  }
  .legal-shell h1 {
    font-size:48px;
  }
  .legal-shell p {
    font-size:14px;
  }
  .proposal-actions {
    flex-wrap:wrap;
  }
  .proposal-actions .text-button {
    padding-inline:8px;
  }
}
@media(max-width:370px) {
  .wrap {
    width:calc(100% - 32px);
  }
  h1 {
    font-size:56px;
  }
  .hero-actions {
    gap:14px;
  }
  .hero-actions .button {
    padding-inline:17px;
  }
  .hero-actions p {
    font-size:9px;
  }
  .daily-totals {
    gap:10px;
    font-size:11px;
  }
  .arc-person {
    font-size:10px;
    gap:5px;
  }
  .meal-figures {
    gap:40px;
  }
  .site-footer {
    gap:8px 14px;
  }
}
@media(max-width:1050px) {
  .site-header { gap:12px; padding-left:20px; }
  .nav-group summary,.nav-direct { padding-inline:12px; font-size:13px; }
  .header-notify { padding-inline:20px; font-size:13px; }
  .site-header .header-wordmark { width:116px; }
}
@media(max-width:760px) {
  :root { scroll-padding-top:92px; }
  .site-header { top:12px; width:calc(100% - 24px); min-height:60px; margin:12px auto; padding:6px 8px 6px 18px; gap:8px; grid-template-columns:1fr auto auto; }
  .site-header .header-wordmark { width:104px; }
  .header-notify { min-height:44px; padding:10px 15px; font-size:12px; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:8px; color:var(--ink); font-size:12px; }
  .main-nav { position:absolute; top:calc(100% + 8px); left:0; right:0; flex-direction:column; align-items:stretch; padding:12px; border-radius:24px; background:var(--object); max-height:calc(100dvh - 100px); overflow-y:auto; }
  .nav-ready:not(.menu-open) .main-nav { display:none; }
  .nav-group summary,.nav-direct { justify-content:space-between; padding:14px 12px; font-size:15px; }
  .nav-dropdown { position:static; display:flex; flex-direction:column; gap:0; padding:0 12px 10px; border-radius:0; }
  .nav-dropdown a { border-left:0; border-top:1px solid var(--rule); padding:14px 0; min-height:64px; gap:4px; }
  .nav-dropdown a:first-child { border-top:0; }
  .nav-dropdown strong { font-size:14px; }
  .nav-dropdown span { font-size:12px; }
  .site-header:not(.nav-ready) { position:relative; grid-template-columns:1fr auto; }
  .site-header:not(.nav-ready) .main-nav { position:static; grid-column:1 / -1; grid-row:2; max-height:none; }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto;
  }
  .screen-panel:not([hidden]),.people-panel:not([hidden]) {
    animation:none;
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }
  .button:active:not(:disabled) {
    transform:none;
  }
}
