main .faq-hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:start;
  gap:var(--space-5);
  padding-block:var(--hero-top) var(--space-5);
  background:#FCFBF7;
  color:#26232A;
}

.faq-hero-copy,
.faq-hero-copy h1,
.faq-hero-copy p{
  min-width:0;
  color:#26232A;
}

.faq-hero-copy .c-kicker{
  margin-bottom:var(--space-2);
}

.faq-hero-copy h1{
  max-width:18ch;
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(2.3rem,3.5vw,3.2rem);
  line-height:1.17;
  letter-spacing:-.045em;
}

.faq-hero-copy > p{
  max-width:38rem;
  margin:var(--space-3) 0 0;
  color:#5C5660;
  overflow-wrap:break-word;
}

.faq-hero-actions{
  justify-content:flex-start;
  margin-top:var(--space-3);
}

.faq-route{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-md);
  background:#E5F2ED;
  color:#203630;
  text-align:left;
}

.faq-route-label{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:.08em;
}

.faq-route h2{
  margin:var(--space-2) 0 0;
  color:#203630;
  font-family:var(--font-body);
  font-size:var(--text-card);
  line-height:1.25;
  letter-spacing:-.025em;
}

.faq-route > p{
  margin:var(--space-2) 0 0;
  color:#30473F;
}

.faq-route-list{
  margin-top:var(--space-3);
  border-top:1px solid color-mix(in srgb,#203630 16%,transparent);
}

.faq-route-row{
  display:grid;
  grid-template-columns:2.5rem minmax(7.5rem,11rem) minmax(0,1fr);
  gap:var(--space-3);
  align-items:start;
  padding-block:var(--space-3);
  border-bottom:1px solid color-mix(in srgb,#203630 16%,transparent);
}

.faq-route-row > *{
  min-width:0;
  overflow-wrap:break-word;
}

.faq-route-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:var(--radius-pill);
  background:#62319B;
  color:#FFFFFF;
  font:700 var(--text-xs)/1 var(--font-mono);
}

.faq-route-row strong{
  padding-top:.35rem;
  font-size:var(--text-sm);
  line-height:1.5;
}

.faq-route-row > span:last-child{
  padding-top:.25rem;
  font-size:var(--text-sm);
  line-height:1.6;
  color:#30473F;
}

.faq-section{
  background:#FCFBF7;
  color:#26232A;
}

.faq-section.is-tinted{
  background:#F4E9DD;
  color:#302821;
}

.faq-heading{
  max-width:44rem;
  margin-bottom:var(--space-4);
}

.faq-heading .c-kicker{
  margin-bottom:var(--space-2);
}

.faq-heading h2{
  margin:0;
  color:inherit;
  font-family:var(--font-body);
  font-size:clamp(1.75rem,2.7vw,2.55rem);
  line-height:1.2;
  letter-spacing:-.035em;
}

.faq-heading p{
  margin:var(--space-2) 0 0;
  color:#5C5660;
}

.faq-section.is-tinted .faq-heading p{
  color:#51453D;
}

.faq-list{
  max-width:56rem;
}

.faq-section .faq-list .c-faq{
  background:#FCFBF7;
  color:#26232A;
  border-color:color-mix(in srgb,#26232A 15%,transparent);
}

.faq-section.is-tinted .faq-list .c-faq{
  background:#F4E9DD;
  color:#302821;
  border-color:color-mix(in srgb,#302821 16%,transparent);
}

.faq-list .c-faq summary{
  min-width:0;
  font-size:var(--text-lg);
  line-height:1.45;
  overflow-wrap:break-word;
}

.faq-section .faq-list .c-faq .answer{
  padding:var(--space-2) var(--space-3) var(--space-3);
  border-top:1px solid color-mix(in srgb,#26232A 15%,transparent);
  color:#49434C;
}

.faq-section.is-tinted .faq-list .c-faq .answer{
  border-color:color-mix(in srgb,#302821 16%,transparent);
  color:#51453D;
}

.faq-list .answer p{
  max-width:49rem;
  overflow-wrap:break-word;
}

.faq-list .answer a:not(.c-btn){
  color:#62319B;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:.18em;
}

.faq-closing-section{
  background:#FCFBF7;
  color:#26232A;
}

.faq-closing{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(13rem,auto);
  align-items:center;
  gap:var(--space-4);
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:#26232A;
  color:#F5EFF5;
}

.faq-closing > *{
  min-width:0;
}

.faq-closing .c-kicker{
  color:#E9B8F3;
  margin-bottom:var(--space-2);
}

.faq-closing h2{
  max-width:22ch;
  margin:0;
  color:#FFFFFF;
  font-family:var(--font-body);
  font-size:clamp(1.75rem,2.8vw,2.7rem);
  line-height:1.2;
  letter-spacing:-.035em;
}

.faq-closing p{
  max-width:39rem;
  margin:var(--space-3) 0 0;
  color:#E0D6E1;
}

.faq-closing-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-2);
}

.faq-closing-actions .c-btn{
  min-width:0;
}

.faq-closing-actions .c-btn-ghost{
  color:#FFFFFF;
  border-color:color-mix(in srgb,#FFFFFF 45%,transparent);
}

@media(max-width:64rem){
  main .faq-hero{
    gap:var(--space-4);
    padding-top:var(--space-5);
  }

  .faq-route-row{
    grid-template-columns:2.5rem minmax(0,1fr);
  }

  .faq-route-row > :nth-child(3){
    grid-column:2;
  }
}

@media(max-width:42rem){
  main .faq-hero{
    grid-template-columns:minmax(0,1fr);
    padding-block:var(--space-4);
  }

  .faq-hero-copy h1{
    max-width:none;
  }

  .faq-route,
  .faq-closing{
    padding:var(--space-3);
  }

  .faq-route-row{
    grid-template-columns:2.25rem minmax(0,1fr);
    gap:var(--space-2);
  }

  .faq-route-number{
    width:2.25rem;
    height:2.25rem;
  }

  .faq-heading{
    margin-bottom:var(--space-3);
  }

  .faq-list .c-faq summary{
    font-size:var(--text-base);
  }

  .faq-section .faq-list .c-faq .answer{
    padding-inline:var(--space-2);
  }

  .faq-closing{
    grid-template-columns:minmax(0,1fr);
  }

  .faq-closing-actions .c-btn{
    width:100%;
    white-space:normal;
  }
}

@media(prefers-reduced-motion:reduce){
  .faq-closing-actions .c-btn{
    transition:none;
  }
}
