.faq-hero{
  background:var(--color-light);
  color:var(--color-ink)
}

.faq-hero__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-3)
}

.faq-hero__intro{
  display:grid;
  max-width:43rem;
  gap:var(--space-1)
}

.faq-hero__intro p{
  max-width:40rem;
  color:var(--color-muted)
}

.faq-hero__facts{
  display:grid;
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-block:1px solid var(--color-line)
}

.faq-hero__facts div{
  min-width:0;
  padding:var(--space-2)
}

.faq-hero__facts div+div{
  border-left:1px solid var(--color-line)
}

.faq-hero__facts strong,
.faq-hero__facts span{
  display:block;
  overflow-wrap:anywhere
}

.faq-hero__facts strong{
  color:var(--color-primary-deep);
  font-size:var(--fs-4);
  line-height:1.25
}

.faq-hero__facts span{
  margin-top:var(--space-1);
  color:var(--color-muted);
  font-size:var(--fs-1);
  line-height:1.45
}

.faq-ticket{
  display:flex;
  min-width:0;
  height:auto;
  min-height:clamp(29rem,45vw,36rem);
  flex-direction:column;
  align-self:center;
  overflow:visible;
  border:1px solid var(--color-line-dark);
  border-radius:var(--radius-md);
  background:var(--color-terminal);
  color:#effff9;
  text-align:left;
  box-shadow:var(--shadow-soft)
}

.faq-ticket__head{
  display:flex;
  min-width:0;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:var(--color-accent);
  color:var(--color-ink)
}

.faq-ticket__head div{
  display:grid;
  min-width:0;
  gap:var(--space-1)
}

.faq-ticket__head span{
  font-family:var(--font-mono);
  font-size:var(--fs-0);
  font-weight:800;
  letter-spacing:.08em
}

.faq-ticket__head strong{
  font-family:var(--font-heading);
  font-size:var(--fs-4);
  line-height:1.3
}

.faq-ticket__body{
  display:grid;
  flex:1;
  align-content:center;
  padding:var(--space-2) var(--space-3)
}

.faq-ticket__body a{
  display:grid;
  min-width:0;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--space-2);
  padding:var(--space-2) 0;
  border-bottom:1px solid var(--color-line-dark)
}

.faq-ticket__body a:last-child{
  border-bottom:0
}

.faq-ticket__body a>span{
  display:inline-flex;
  width:2rem;
  height:2rem;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  color:var(--color-ink);
  font-size:var(--fs-0);
  font-weight:800
}

.faq-ticket__body a div{
  display:grid;
  min-width:0;
  gap:var(--space-1)
}

.faq-ticket__body strong{
  color:#effff9;
  font-family:var(--font-heading);
  font-size:var(--fs-2);
  line-height:1.35
}

.faq-ticket__body small{
  color:#a7bcb6
}

.faq-ticket__body b{
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:var(--fs-0);
  line-height:1.3
}

.faq-ticket__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-2) var(--space-3);
  border-top:1px solid var(--color-line-dark);
  color:#a7bcb6;
  font-size:var(--fs-1)
}

.faq-ticket__foot a{
  color:var(--color-accent);
  font-weight:800
}

.faq-layout{
  display:grid;
  gap:var(--space-4)
}

.faq-section__head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-3);
  max-width:62rem
}

.faq-section__head>div{
  display:grid;
  min-width:0;
  gap:var(--space-1)
}

.faq-section__head p{
  max-width:49rem;
  color:var(--color-muted)
}

.faq-section__number{
  display:inline-flex;
  width:2.75rem;
  height:2.75rem;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-pill);
  background:var(--color-accent-soft);
  color:var(--color-primary-deep);
  font-size:var(--fs-1);
  font-weight:800
}

.faq-list{
  min-width:0
}

.faq-answer{
  padding-top:14px;
  border-top:1px solid var(--color-line);
  color:var(--color-muted)
}

.faq-answer a:not(.c-btn){
  color:var(--color-primary-deep);
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em
}

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

.faq-plan{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:var(--space-3);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink);
  box-shadow:var(--shadow-soft)
}

.faq-plan--strong{
  background:var(--color-accent-soft);
  color:var(--color-ink)
}

.faq-plan__top{
  display:grid;
  gap:var(--space-1)
}

.faq-plan__top p{
  color:var(--color-muted)
}

.faq-plan dl{
  display:grid;
  margin:0
}

.faq-plan dl div{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(7rem,.7fr) minmax(0,1fr);
  gap:var(--space-2);
  padding:.75rem 0;
  border-bottom:1px solid var(--color-line)
}

.faq-plan dt,
.faq-plan dd{
  min-width:0;
  overflow-wrap:anywhere
}

.faq-plan dt{
  color:var(--color-muted)
}

.faq-plan dd{
  color:var(--color-ink);
  font-weight:800
}

.faq-plan .c-btn{
  margin-top:var(--space-3)
}

.faq-price-table{
  min-width:48rem
}

.faq-price-table caption{
  padding:0 0 var(--space-2);
  color:var(--color-muted);
  font-size:var(--fs-2);
  text-align:left
}

.faq-price-table td:first-child{
  min-width:14rem
}

.faq-price-table td strong,
.faq-price-table td small{
  display:block
}

.faq-price-table td small{
  margin-top:var(--space-1);
  color:var(--color-muted);
  font-family:var(--font-mono)
}

.faq-section--dark{
  background:var(--color-ink);
  color:#effff9
}

.faq-section--dark .faq-section__head h2{
  color:#effff9
}

.faq-section--dark .faq-section__head p{
  color:#a7bcb6
}

.faq-section--dark .faq-section__number{
  background:var(--color-accent);
  color:var(--color-ink)
}

.faq-section--dark .page-kicker{
  color:var(--color-accent)
}

.faq-region-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));
  align-items:start;
  gap:var(--space-2)
}

.faq-region-grid article{
  display:grid;
  min-width:0;
  gap:var(--space-1);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#effff9;
  color:var(--color-ink)
}

.faq-region-grid article>span{
  color:var(--color-primary-deep);
  font-size:var(--fs-1);
  font-weight:800
}

.faq-region-grid h3{
  color:var(--color-ink);
  font-size:var(--fs-4)
}

.faq-region-grid p{
  color:var(--color-muted);
  font-size:var(--fs-2)
}

.faq-list--dark{
  border-color:var(--color-line-dark)
}

.faq-list--dark details{
  border-radius:0;
  border-color:var(--color-line-dark);
  background:var(--color-ink);
  color:#effff9
}

.faq-list--dark summary{
  color:#effff9
}

.faq-list--dark .faq-answer{
  border-color:var(--color-line-dark);
  color:#a7bcb6
}

.faq-list--dark .faq-answer a:not(.c-btn){
  color:var(--color-accent)
}

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

.faq-payment-card{
  display:grid;
  min-width:0;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-light);
  color:var(--color-ink)
}

.faq-payment-card--accent{
  background:var(--color-accent);
  color:var(--color-ink)
}

.faq-payment-card svg{
  width:2rem;
  height:2rem;
  color:var(--color-primary-deep)
}

.faq-payment-card div{
  display:grid;
  min-width:0;
  gap:var(--space-1)
}

.faq-payment-card h3{
  color:var(--color-ink);
  font-size:var(--fs-4)
}

.faq-payment-card p{
  color:var(--color-muted)
}
.faq-payment-card--accent p{
  color:#071b19
}

.faq-access-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));
  align-items:start;
  gap:var(--space-3)
}

.faq-access-grid article{
  display:grid;
  min-width:0;
  gap:var(--space-1);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-ink)
}

.faq-access-grid__icon{
  display:inline-flex;
  width:2.5rem;
  height:2.5rem;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  border-radius:var(--radius-sm);
  background:var(--color-accent-soft);
  color:var(--color-primary-deep)
}

.faq-access-grid__icon svg{
  width:1.35rem;
  height:1.35rem
}

.faq-access-grid h3{
  margin-top:var(--space-1);
  color:var(--color-ink);
  font-size:var(--fs-4)
}

.faq-access-grid p{
  color:var(--color-muted);
  font-size:var(--fs-2)
}

.faq-exit-path{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));
  align-items:start;
  gap:var(--space-3)
}

.faq-exit-path article{
  display:grid;
  min-width:0;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:var(--color-light);
  color:var(--color-ink)
}

.faq-exit-path article>span{
  display:inline-flex;
  width:2.25rem;
  height:2.25rem;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-pill);
  background:var(--color-ink);
  color:#fff;
  font-size:var(--fs-0);
  font-weight:800
}

.faq-exit-path article>div{
  display:grid;
  min-width:0;
  gap:var(--space-1)
}

.faq-exit-path h3{
  color:var(--color-ink);
  font-size:var(--fs-3)
}

.faq-exit-path p{
  color:var(--color-muted);
  font-size:var(--fs-2)
}

.faq-endcap{
  color:#effff9
}

.faq-endcap__copy{
  display:grid;
  min-width:0;
  max-width:48rem;
  gap:var(--space-1)
}

.faq-endcap__copy h2{
  color:#effff9
}

.faq-endcap__copy p{
  color:#a7bcb6
}

.faq-endcap__copy .page-kicker{
  color:var(--color-accent)
}

.faq-endcap__actions{
  display:flex;
  min-width:min(100%,15rem);
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-1)
}

.faq-endcap__actions .c-btn{
  width:100%
}

.faq-endcap__actions .c-btn--secondary{
  background:var(--color-accent);
  border-color:var(--color-accent);
  color:var(--color-ink)
}

.faq-endcap__actions .c-btn--ghost{
  border-color:color-mix(in srgb,#effff9 42%,transparent);
  color:#effff9
}

@media (max-width:64rem){
  .faq-ticket{
    width:100%;
    height:auto;
    min-height:29rem
  }

  .faq-region-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media (max-width:48rem){
  .faq-hero__facts,
  .faq-plan-grid,
  .faq-payment-grid{
    grid-template-columns:1fr
  }

  .faq-hero__facts div+div{
    border-left:0;
    border-top:1px solid var(--color-line)
  }

  .faq-section__head{
    grid-template-columns:1fr
  }

  .faq-region-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (max-width:30rem){
  .faq-ticket__head,
  .faq-ticket__foot{
    align-items:flex-start;
    flex-direction:column
  }

  .faq-ticket__body a{
    grid-template-columns:auto minmax(0,1fr)
  }

  .faq-ticket__body b{
    grid-column:2
  }

  .faq-plan dl div{
    grid-template-columns:1fr;
    gap:var(--space-1)
  }

  .faq-region-grid{
    grid-template-columns:1fr
  }

  .faq-payment-card,
  .faq-exit-path article{
    grid-template-columns:1fr
  }
}
