.faq-hero{
  padding-block:var(--space-6);
  color:var(--c-ink);
  background:var(--c-surface)
}

.faq-hero-copy{
  display:grid;
  justify-items:center;
  gap:var(--space-3)
}

.faq-breadcrumb{
  width:fit-content;
  color:var(--c-muted)
}

.faq-breadcrumb ol{
  justify-content:center
}

.faq-hero-heading{
  display:grid;
  justify-items:center;
  gap:var(--space-2)
}

.faq-hero-heading .c-badge{
  width:fit-content;
  align-self:flex-start
}

.faq-hero-main{
  display:grid;
  justify-items:center;
  gap:var(--space-1)
}

.faq-hero-main h1{
  max-width:13ch
}

.faq-hero-main p{
  max-width:66ch;
  color:var(--c-ink-soft);
  font-size:var(--fs-3)
}

.faq-hero-copy .faq-hero-actions{
  justify-content:center
}

.faq-fact-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  margin-top:var(--space-2);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-white);
  box-shadow:var(--shadow-soft)
}

.faq-fact{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding:var(--space-3);
  text-align:left
}

.faq-fact + .faq-fact{
  border-left:1px solid var(--c-line)
}

.faq-fact strong{
  color:var(--c-primary);
  font-size:var(--fs-4);
  line-height:1.1
}

.faq-fact span{
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.faq-section .section-head{
  margin-bottom:var(--space-4)
}

.faq-section .section-head .eyebrow{
  margin-bottom:var(--space-1)
}

.faq-section .section-head p{
  max-width:46ch
}

.faq-list{
  color:var(--c-ink)
}

.faq-list details{
  color:var(--c-ink);
  background:transparent
}

.faq-list summary{
  color:var(--c-ink)
}

.faq-list .c-faq-body{
  padding-top:var(--space-2);
  border-top:1px solid var(--c-line);
  color:var(--c-ink-soft)
}

.faq-list .c-faq-body p{
  max-width:78ch;
  color:var(--c-ink-soft)
}

.faq-list .c-faq-body a:not(.c-btn){
  color:var(--c-primary);
  text-decoration:underline;
  text-decoration-color:var(--c-accent);
  text-underline-offset:.2em
}

.faq-list-after{
  margin-top:var(--space-4)
}

.faq-model-grid{
  align-items:start
}

.faq-model-card{
  display:grid;
  gap:var(--space-3);
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-white);
  box-shadow:var(--shadow-soft)
}

.faq-model-card-plus{
  color:#f4fbf0;
  background:var(--c-dark-2)
}

.faq-model-card .c-badge{
  width:fit-content;
  align-self:flex-start
}

.faq-model-card-plus .c-badge{
  color:var(--c-dark);
  background:var(--c-accent)
}

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

.faq-model-card h3{
  color:inherit
}

.faq-model-card p{
  color:var(--c-muted)
}

.faq-model-card-plus p{
  color:#b6c8ba
}

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

.faq-spec-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  min-width:0;
  padding-block:var(--space-1);
  border-bottom:1px solid var(--c-line)
}

.faq-model-card-plus .faq-spec-list div{
  border-color:var(--c-line-light)
}

.faq-spec-list dt{
  color:var(--c-muted)
}

.faq-model-card-plus .faq-spec-list dt{
  color:#b6c8ba
}

.faq-spec-list dd{
  overflow-wrap:anywhere;
  color:inherit
}

.faq-price-table{
  border:1px solid var(--c-line);
  background:var(--c-white)
}

.faq-price-table table{
  min-width:780px
}

.faq-price-table caption{
  padding:var(--space-2);
  color:var(--c-ink-soft);
  background:var(--c-white);
  font-size:var(--fs-1);
  text-align:left
}

.faq-price-table tbody th{
  color:var(--c-ink);
  background:var(--c-white)
}

.faq-region-grid{
  align-items:start
}

.faq-region-card{
  display:grid;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-white)
}

.faq-region-card svg{
  width:24px;
  height:24px;
  color:var(--c-primary)
}

.faq-region-card div{
  display:grid;
  gap:var(--space-1)
}

.faq-region-card h3{
  color:var(--c-ink);
  font-size:var(--fs-3)
}

.faq-region-card p{
  color:var(--c-muted);
  font-size:var(--fs-1)
}

.faq-availability-board{
  overflow:hidden;
  border-radius:var(--radius-lg);
  color:var(--c-ink);
  background:var(--c-surface)
}

.faq-availability-summary{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-4);
  color:#f4fbf0;
  background:var(--c-dark-2)
}

.faq-availability-summary > div{
  display:grid;
  gap:var(--space-2)
}

.faq-availability-summary .c-badge{
  width:fit-content;
  align-self:flex-start;
  color:var(--c-dark);
  background:var(--c-accent)
}

.faq-availability-summary h3{
  color:#f4fbf0
}

.faq-availability-summary > strong{
  color:var(--c-accent);
  font-family:var(--font-mono);
  font-size:var(--fs-3);
  text-align:right
}

.faq-availability-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
  padding:var(--space-4);
  color:var(--c-ink);
  background:var(--c-surface)
}

.faq-availability-grid div{
  display:grid;
  gap:var(--space-1);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-white)
}

.faq-availability-grid span{
  color:var(--c-muted)
}

.faq-availability-grid strong{
  color:var(--c-primary);
  font-family:var(--font-mono)
}

.faq-notice{
  display:flex;
  align-items:flex-start;
  gap:var(--space-1);
  margin-top:var(--space-3);
  color:var(--c-ink-soft);
  background:var(--c-surface)
}

.faq-notice strong{
  flex:0 0 auto;
  color:var(--c-ink)
}

.faq-access-grid{
  align-items:start
}

.faq-access-card{
  display:grid;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-white);
  box-shadow:var(--shadow-soft)
}

.faq-access-card svg{
  width:28px;
  height:28px;
  color:var(--c-primary)
}

.faq-access-card div{
  display:grid;
  gap:var(--space-1)
}

.faq-access-card h3{
  color:var(--c-ink)
}

.faq-access-card p{
  color:var(--c-muted)
}

.faq-payment-grid{
  align-items:start
}

.faq-payment-card{
  display:grid;
  gap:var(--space-3);
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-surface)
}

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

.faq-payment-card .c-badge{
  width:fit-content;
  align-self:flex-start;
  color:var(--c-primary-hover);
  background:var(--c-white)
}

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

.faq-payment-card h3{
  color:var(--c-ink)
}

.faq-payment-card p{
  color:var(--c-ink-soft)
}

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

.faq-responsibility article{
  display:grid;
  gap:var(--space-2);
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  color:var(--c-ink);
  background:var(--c-white)
}

.faq-step{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  color:#fff;
  background:var(--c-primary)
}

.faq-responsibility article > div{
  display:grid;
  gap:var(--space-1)
}

.faq-responsibility h3{
  color:var(--c-ink)
}

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

.faq-closing{
  color:#eef7ee;
  background:var(--c-dark)
}

.faq-closing > div:first-child{
  display:grid;
  gap:var(--space-1)
}

.faq-closing-kicker{
  width:fit-content;
  align-self:flex-start;
  color:var(--c-accent);
  font-size:var(--fs-1);
  font-weight:650
}

.faq-closing h2{
  max-width:20ch;
  color:#fff
}

.faq-closing p{
  max-width:68ch;
  color:#aac0b0
}

.faq-closing-actions{
  display:grid;
  gap:var(--space-1);
  min-width:max-content
}

.faq-closing-actions .c-btn{
  width:100%
}

.faq-closing-ghost{
  color:#eef7ee;
  background:transparent;
  border-color:var(--c-line-light)
}

.faq-closing-ghost:hover{
  color:#fff;
  background:var(--c-dark-2);
  border-color:var(--c-accent)
}

@media (max-width:980px){
  .faq-region-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

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

@media (max-width:680px){
  .faq-hero{
    padding-block:var(--space-5)
  }

  .faq-hero-main h1{
    max-width:none
  }

  .faq-hero-main p{
    font-size:var(--fs-2)
  }

  .faq-hero-actions{
    width:100%
  }

  .faq-hero-actions .c-btn{
    width:100%
  }

  .faq-fact-row{
    grid-template-columns:1fr
  }

  .faq-fact{
    text-align:center
  }

  .faq-fact + .faq-fact{
    border-top:1px solid var(--c-line);
    border-left:0
  }

  .faq-model-card,
  .faq-payment-card{
    padding:var(--space-3)
  }

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

  .faq-availability-summary{
    align-items:flex-start;
    flex-direction:column
  }

  .faq-availability-summary > strong{
    text-align:left
  }

  .faq-notice{
    display:grid
  }

  .faq-list summary{
    align-items:flex-start
  }

  .faq-list .c-faq-body{
    padding-right:.25rem
  }

  .faq-closing-actions{
    width:100%;
    min-width:0
  }
}

@media (max-width:390px){
  .faq-spec-list div{
    align-items:flex-start;
    flex-direction:column;
    gap:var(--space-1)
  }

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

  .faq-availability-grid{
    padding:var(--space-3)
  }

  .faq-availability-summary{
    padding:var(--space-3)
  }
}

.faq-hero{
  padding-top:var(--space-5)
}

.faq-breadcrumb{
  margin-bottom:1rem
}
