.home-heading{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.home-heading>*{
  margin-bottom:0;
}

.home-hero-fact{
  margin:1.25rem 0 0;
  color:var(--color-muted);
  font-size:var(--text-sm);
  font-variant-numeric:tabular-nums;
}

.home-tasks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-3);
  align-items:start;
}

.task{
  display:grid;
  gap:.5rem;
  transition:transform var(--transition-fast),box-shadow var(--transition-fast);
}

.task:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-float);
}

.task>h3,
.task>p{
  margin-bottom:0;
}

.task-visual{
  position:relative;
  height:11rem;
  max-width:100%;
  overflow:hidden;
}

.task-orbit{
  position:absolute;
  left:50%;
  top:50%;
  width:10rem;
  height:10rem;
  border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.task-orbit::after{
  position:absolute;
  inset:1.5rem;
  border-radius:50%;
  background:var(--color-primary-soft);
  content:"";
}

.task-core{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  display:grid;
  width:4.8rem;
  height:4.8rem;
  place-items:center;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--color-primary);
  color:var(--color-surface);
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  font-weight:800;
  box-shadow:0 0 0 7px var(--color-surface),0 0 0 9px color-mix(in srgb,var(--color-primary) 20%,transparent);
}

.task:nth-child(2) .task-core{
  background:var(--color-accent);
  color:var(--color-ink);
}

.task:nth-child(3) .task-core{
  background:var(--color-gold);
  color:var(--color-ink);
}

.task-spark{
  position:absolute;
  z-index:3;
  max-width:45%;
  overflow:hidden;
  padding:.45rem .55rem;
  border-radius:var(--radius-sm);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-card);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.task-spark--start{
  left:12%;
  top:12%;
}

.task-spark--end{
  right:12%;
  bottom:10%;
}

.task-link{
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  align-items:center;
  gap:.5rem;
  color:var(--color-primary);
  font-weight:750;
  overflow-wrap:anywhere;
}

.task-link svg{
  width:1rem;
  height:1rem;
  flex:0 0 auto;
  transition:transform var(--transition-fast);
}

.task-link:hover svg{
  transform:translateX(3px);
}

.boundary-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:var(--space-5);
  align-items:center;
}

.boundary-copy{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.boundary-copy>p,
.boundary-copy>.c-price__list,
.boundary-copy>.c-notice{
  margin-bottom:0;
}

.boundary-board{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-dark);
  color:var(--color-surface);
}

.boundary-label{
  display:block;
  color:color-mix(in srgb,var(--color-surface) 72%,var(--color-dark));
  font-family:var(--font-mono);
  font-size:var(--text-xs);
}

.boundary-cards{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:var(--space-2);
  align-items:center;
  margin-top:var(--space-3);
}

.machine-card{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding:var(--space-3);
  border:1px solid color-mix(in srgb,var(--color-surface) 18%,transparent);
  border-radius:var(--radius-md);
  background:color-mix(in srgb,var(--color-surface) 7%,var(--color-dark));
  color:var(--color-surface);
}

.machine-card p{
  margin-bottom:0;
  color:color-mix(in srgb,var(--color-surface) 72%,var(--color-dark));
  font-size:var(--text-sm);
}

.machine-card.is-active{
  background:var(--color-surface);
  color:var(--color-ink);
}

.machine-card.is-active p{
  color:var(--color-muted);
}

.machine{
  position:relative;
  width:7rem;
  max-width:100%;
  height:4.25rem;
  margin:var(--space-2) auto;
  border:1px solid var(--color-line);
  border-radius:var(--radius-md);
  background:var(--color-line);
  color:var(--color-ink);
  box-shadow:0 .65rem 0 color-mix(in srgb,var(--color-muted) 35%,var(--color-surface));
}

.machine::after{
  position:absolute;
  right:.8rem;
  bottom:.55rem;
  width:.4rem;
  height:.4rem;
  border-radius:50%;
  background:var(--color-accent);
  content:"";
}

.boundary-arrow{
  color:color-mix(in srgb,var(--color-surface) 72%,var(--color-dark));
}

.boundary-arrow svg{
  width:1.8rem;
  height:1.8rem;
}

.boundary-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-2);
  margin:var(--space-3) 0 0;
  padding-top:var(--space-3);
  border-top:1px solid color-mix(in srgb,var(--color-surface) 14%,transparent);
}

.boundary-facts div{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.boundary-facts dt{
  color:color-mix(in srgb,var(--color-surface) 65%,var(--color-dark));
  font-size:var(--text-xs);
}

.boundary-facts dd{
  margin:0;
  color:var(--color-surface);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  overflow-wrap:anywhere;
}

.home-price{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.home-price>.c-badge{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
}

.home-price__title{
  display:grid;
  gap:.5rem;
  margin-top:var(--space-2);
}

.home-price__title>*{
  margin-bottom:0;
}

.home-price .c-actions{
  margin-top:auto;
}

.home-plan-notice{
  margin-top:var(--space-3);
}

.node-layout{
  display:grid;
  grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr);
  gap:var(--space-5);
  align-items:start;
}

.node-copy{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.node-copy>p,
.node-copy>.node-checks{
  margin-bottom:0;
}

.node-copy>.c-btn{
  width:fit-content;
  max-width:100%;
  margin-top:var(--space-2);
}

.node-checks{
  display:grid;
  gap:.5rem;
  padding-left:1.2rem;
  color:var(--color-muted);
}

.nodes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2);
  align-items:start;
}

.node{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-card);
}

.node h3,
.node p{
  margin-bottom:0;
}

.node p{
  color:var(--color-muted);
}

.node-top{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
}

.node-code{
  min-width:0;
  color:#5f5663;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  overflow-wrap:anywhere;
}

.node-note{
  color:var(--color-primary);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
}

.flow{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  align-items:start;
}

.flow::before{
  position:absolute;
  left:2rem;
  right:2rem;
  top:2rem;
  height:1px;
  background:var(--color-line);
  content:"";
}

.flow-step{
  position:relative;
  display:grid;
  gap:.5rem;
  min-width:0;
}

.flow-step h3,
.flow-step p{
  margin-bottom:0;
}

.flow-step p{
  color:var(--color-muted);
}

.flow-num{
  position:relative;
  z-index:2;
  display:grid;
  width:4rem;
  height:4rem;
  place-items:center;
  margin-bottom:var(--space-2);
  border:1px solid var(--color-line);
  border-radius:50%;
  background:var(--color-surface);
  color:var(--color-primary);
  font-family:var(--font-mono);
  font-weight:800;
}

.pipeline{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  margin-top:var(--space-4);
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-dark);
  color:var(--color-surface);
  box-shadow:var(--shadow-float);
}

.pipeline-code{
  display:grid;
  gap:.5rem;
  min-width:0;
  padding:var(--space-4);
  color:color-mix(in srgb,var(--color-surface) 88%,var(--color-dark));
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  line-height:1.6;
  overflow-x:auto;
}

.pipeline-code span{
  min-width:max-content;
}

.pipeline-code b{
  color:color-mix(in srgb,var(--color-accent) 75%,var(--color-surface));
}

.pipeline-jobs{
  min-width:0;
  padding:var(--space-4);
  border-left:1px solid color-mix(in srgb,var(--color-surface) 12%,transparent);
  background:color-mix(in srgb,var(--color-primary) 14%,var(--color-dark));
  color:var(--color-surface);
}

.pipeline-jobs>p{
  color:color-mix(in srgb,var(--color-surface) 72%,var(--color-dark));
  font-family:var(--font-mono);
  font-size:var(--text-xs);
}

.job{
  display:flex;
  min-width:0;
  justify-content:space-between;
  gap:var(--space-2);
  margin-bottom:.6rem;
  padding:.8rem 1rem;
  border-radius:var(--radius-sm);
  background:color-mix(in srgb,var(--color-surface) 7%,transparent);
  color:var(--color-surface);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
}

.job span{
  min-width:0;
  overflow-wrap:anywhere;
}

.job b{
  color:color-mix(in srgb,var(--color-accent) 75%,var(--color-surface));
}

.flow-foot{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--space-3);
  align-items:start;
  margin-top:var(--space-3);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-primary-soft);
  color:var(--color-ink);
}

.flow-foot strong{
  color:var(--color-primary-dark);
}

.flow-foot p{
  margin-bottom:0;
  color:var(--color-muted);
}

.quote{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  min-height:34rem;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-card);
}

.quote-art{
  position:relative;
  display:grid;
  min-width:0;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,var(--color-gold),var(--color-primary-soft) 55%,color-mix(in srgb,var(--color-accent) 28%,var(--color-surface)));
  color:var(--color-ink);
}

.quote-art::before{
  position:absolute;
  width:27rem;
  max-width:90%;
  aspect-ratio:1;
  border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent);
  border-radius:50%;
  content:"";
}

.quote-scene{
  position:relative;
  width:min(24rem,82%);
  height:23rem;
}

.quote-desk{
  position:absolute;
  left:0;
  right:0;
  bottom:3rem;
  height:1.3rem;
  border-radius:var(--radius-md);
  background:var(--color-dark);
  color:var(--color-surface);
}

.quote-person{
  position:absolute;
  left:18%;
  bottom:4.2rem;
  width:8rem;
  height:13rem;
  border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-sm);
  background:var(--color-primary);
  color:var(--color-surface);
}

.quote-person::before{
  position:absolute;
  left:1.6rem;
  top:-4.5rem;
  width:4.8rem;
  height:5.5rem;
  border-radius:50%;
  background:var(--color-gold);
  content:"";
}

.quote-person::after{
  position:absolute;
  left:1.2rem;
  top:-5.1rem;
  width:5.6rem;
  height:2.8rem;
  border-radius:50% 50% 20% 20%;
  background:var(--color-dark);
  content:"";
}

.quote-node{
  position:absolute;
  right:8%;
  bottom:4.3rem;
  width:9rem;
  height:5.5rem;
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:0 .8rem 0 var(--color-line),var(--shadow-card);
}

.quote-node::after{
  position:absolute;
  right:1rem;
  bottom:.8rem;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--color-accent);
  content:"";
}

.quote-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:var(--space-5);
  padding-bottom:8rem;
}

.quote-copy blockquote{
  margin-bottom:var(--space-3);
  color:var(--color-ink);
  font-family:var(--font-heading);
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.2;
}

.quote-copy p{
  color:var(--color-muted);
}

.quote-rule{
  margin-top:.5rem;
  color:var(--color-primary);
  font-size:var(--text-xs);
}

.support-pill{
  position:absolute;
  left:50%;
  bottom:var(--space-3);
  display:flex;
  width:min(50rem,calc(100% - var(--space-4)));
  max-width:calc(100% - var(--space-4));
  min-width:0;
  align-items:center;
  gap:var(--space-2);
  padding:.75rem 1rem;
  border-radius:999px;
  transform:translateX(-50%);
  background:color-mix(in srgb,var(--color-dark) 96%,transparent);
  color:var(--color-surface);
}

.support-pill p{
  min-width:0;
  flex:1;
  margin:0;
  color:color-mix(in srgb,var(--color-surface) 80%,var(--color-dark));
  font-size:var(--text-sm);
}

.support-pill .c-btn{
  flex:0 0 auto;
}

.faces{
  display:flex;
  flex:0 0 auto;
  padding-left:.35rem;
}

.face{
  display:grid;
  width:2rem;
  height:2rem;
  place-items:center;
  margin-left:-.35rem;
  border:2px solid var(--color-dark);
  border-radius:50%;
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  font-size:.6rem;
  font-weight:800;
}

.face:nth-child(2){
  background:color-mix(in srgb,var(--color-accent) 32%,var(--color-surface));
  color:var(--color-ink);
}

.face:nth-child(3){
  background:color-mix(in srgb,var(--color-gold) 48%,var(--color-surface));
  color:var(--color-ink);
}

.home-faq-layout{
  align-items:stretch;
}

.faq-intro{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
}

.faq-intro>p{
  margin-bottom:0;
  color:var(--color-muted);
}

.faq-intro__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:auto;
  padding-top:var(--space-3);
}

.home-faq{
  min-width:0;
  color:var(--color-ink);
}

.home-faq .c-faq__body{
  padding-top:1rem;
  border-top:1px solid var(--color-line);
  color:var(--color-muted);
}

.home-faq .c-faq__body p{
  margin-bottom:0;
}

.home-end-copy{
  display:grid;
  gap:.5rem;
  min-width:0;
}

.home-end-copy>.page-kicker{
  width:fit-content;
  max-width:100%;
  align-self:start;
  padding:.5rem .9rem;
  border-radius:var(--radius-sm);
  background:color-mix(in srgb,var(--color-surface) 12%,transparent);
  color:var(--color-surface);
}

.home-end-copy h2,
.home-end-copy p{
  margin-bottom:0;
}

.home-end-copy p{
  color:color-mix(in srgb,var(--color-surface) 76%,var(--color-dark));
}

.payment{
  padding-top:var(--space-2);
  color:color-mix(in srgb,var(--color-surface) 72%,var(--color-dark));
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  font-variant-numeric:tabular-nums;
}

.home-end-actions{
  display:grid;
  gap:.75rem;
  min-width:min(16rem,100%);
}

.home-end-actions .c-btn{
  width:100%;
}

@media(max-width:900px){
  .home-tasks,
  .boundary-grid,
  .node-layout,
  .quote{
    grid-template-columns:1fr;
  }

  .boundary-grid,
  .node-layout{
    gap:var(--space-4);
  }

  .quote-art{
    min-height:25rem;
  }

  .quote-copy{
    padding-bottom:9rem;
  }
}

@media(max-width:640px){
  .boundary-cards,
  .boundary-facts,
  .nodes,
  .flow,
  .pipeline{
    grid-template-columns:1fr;
  }

  .boundary-board{
    padding:var(--space-3);
  }

  .boundary-arrow{
    display:grid;
    place-items:center;
    transform:rotate(90deg);
  }

  .flow::before{
    display:none;
  }

  .flow-num{
    margin-bottom:var(--space-1);
  }

  .pipeline-jobs{
    border-top:1px solid color-mix(in srgb,var(--color-surface) 12%,transparent);
    border-left:0;
  }

  .flow-foot{
    grid-template-columns:1fr;
    gap:.5rem;
  }

  .quote{
    min-height:0;
  }

  .quote-copy{
    padding:var(--space-3);
  }

  .quote-copy blockquote{
    font-size:var(--text-2xl);
  }

  .support-pill{
    position:relative;
    left:auto;
    bottom:auto;
    display:grid;
    width:auto;
    max-width:none;
    margin:0 var(--space-2) var(--space-2);
    border-radius:var(--radius-md);
    transform:none;
  }

  .support-pill .c-btn{
    width:100%;
  }

  .faq-intro__actions{
    width:100%;
  }

  .faq-intro__actions .c-btn{
    width:100%;
  }

  .home-end-actions{
    width:100%;
    min-width:0;
  }
}

@media(max-width:390px){
  .task-spark--start{
    left:4%;
  }

  .task-spark--end{
    right:4%;
  }

  .boundary-board,
  .pipeline-code,
  .pipeline-jobs{
    padding:var(--space-2);
  }

  .node-top{
    align-items:flex-start;
    flex-direction:column;
    gap:.5rem;
  }

  .quote-art{
    min-height:21rem;
  }

  .quote-scene{
    height:19rem;
  }

  .quote-person{
    left:10%;
  }

  .quote-node{
    right:2%;
  }
}
