.page-faq{
  --faq-sidebar-width:280px;
  --faq-radius:6px;
  --faq-border:rgba(11,31,58,.16);
  --faq-border-strong:rgba(11,31,58,.3);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.75;
}

.page-faq .faq-hero{
  background:var(--deep-blue);
  color:var(--text-inverse);
  border-bottom:4px solid var(--gold);
}

.page-faq .faq-hero__inner{
  max-width:1240px;
  margin:0 auto;
  padding:2.5rem 1.25rem 2rem;
}

.page-faq .breadcrumb{
  margin-bottom:1.25rem;
}

.page-faq .breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  list-style:none;
  margin:0;
  padding:0;
}

.page-faq .breadcrumb__item{
  font-family:var(--font-data);
  font-size:.75rem;
  letter-spacing:.05em;
  color:rgba(245,240,230,.6);
}

.page-faq .breadcrumb__item + .breadcrumb__item::before{
  content:"/";
  margin-right:.5rem;
  color:rgba(245,240,230,.4);
}

.page-faq .breadcrumb__item a{
  color:var(--gold);
  text-decoration:none;
  transition:color .2s;
}

.page-faq .breadcrumb__item a:hover{
  color:var(--coconut);
}

.page-faq .faq-hero__title{
  font-family:var(--font-head);
  font-size:2rem;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.2;
  margin:0 0 .75rem;
}

.page-faq .faq-hero__desc{
  font-size:.95rem;
  color:rgba(245,240,230,.85);
  max-width:52em;
  margin:0;
}

.page-faq .faq-hero .leaf-divider{
  margin-top:1.75rem;
}

.page-faq .faq-search-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:2rem 1.25rem 1.5rem;
  position:relative;
  z-index:2;
}

.page-faq .faq-search{
  display:flex;
  align-items:center;
  gap:.65rem;
  background:var(--white);
  border:2px solid var(--deep-blue);
  border-radius:var(--faq-radius);
  padding:.75rem 1rem;
  box-shadow:var(--shadow-card);
  transition:border-color .2s, box-shadow .2s;
}

.page-faq .faq-search:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,39,.22);
}

.page-faq .faq-search__icon{
  font-family:var(--font-data);
  font-size:1.15rem;
  font-weight:700;
  color:var(--deep-blue);
  line-height:1;
}

.page-faq .faq-search__input{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  font-family:var(--font-body);
  font-size:1rem;
  color:var(--ink);
  outline:none;
}

.page-faq .faq-search__input::placeholder{
  color:rgba(11,31,58,.45);
}

.page-faq .faq-search__hint{
  font-family:var(--font-data);
  font-size:.7rem;
  letter-spacing:.08em;
  color:var(--deep-blue);
  opacity:.6;
  white-space:nowrap;
}

.page-faq .faq-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  max-width:1240px;
  margin:0 auto;
  padding:0 1.25rem 2.5rem;
  align-items:start;
}

.page-faq .faq-sidebar{
  background:
    radial-gradient(circle at 20% 30%,rgba(201,162,39,.06) 0,transparent 60%),
    linear-gradient(160deg,rgba(255,255,255,.4) 0%,transparent 30%),
    var(--paper);
  border:1px solid var(--faq-border);
  border-top:4px solid var(--gold);
  border-radius:var(--faq-radius);
  padding:1.4rem 1.25rem;
}

.page-faq .faq-index__label{
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
  margin:0 0 .85rem;
}

.page-faq .faq-index__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.page-faq .faq-index__list li{
  margin:0;
}

.page-faq .faq-index__list a{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-head);
  font-size:.88rem;
  font-weight:700;
  color:var(--deep-blue);
  text-decoration:none;
  border:1px solid var(--faq-border);
  background:var(--white);
  padding:.45rem .65rem;
  border-radius:var(--faq-radius);
  transition:border-color .2s, background .2s, color .2s;
}

.page-faq .faq-index__list a span{
  font-family:var(--font-data);
  font-size:.68rem;
  color:var(--gold);
}

.page-faq .faq-index__list a em{
  font-style:normal;
  font-family:var(--font-data);
  font-size:.65rem;
  color:rgba(11,31,58,.5);
  background:var(--light-gray);
  border-radius:10px;
  padding:.05rem .4rem;
}

.page-faq .faq-index__list a:hover,
.page-faq .faq-index__list a:focus-visible{
  border-color:var(--gold);
  color:var(--red);
}

.page-faq .faq-sidebar__img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border-radius:var(--faq-radius);
  border:1px solid var(--faq-border);
  margin-top:1.5rem;
}

.page-faq .faq-sidebar__note{
  margin-top:1.25rem;
  padding:.85rem 1rem;
  background:rgba(46,139,87,.08);
  border-left:4px solid var(--coconut);
  border-radius:var(--faq-radius);
  font-size:.82rem;
  line-height:1.65;
  color:var(--deep-blue);
}

.page-faq .faq-sidebar__note p{
  margin:0;
}

.page-faq .faq-sidebar__note p + p{
  margin-top:.4rem;
  padding-top:.4rem;
  border-top:1px dashed rgba(46,139,87,.25);
}

.page-faq .faq-sidebar__help{
  margin-top:1.25rem;
  border-top:1px solid var(--faq-border);
  padding-top:1rem;
  text-align:center;
}

.page-faq .faq-sidebar__help-label{
  font-family:var(--font-head);
  font-size:.85rem;
  font-weight:700;
  color:var(--deep-blue);
  margin:0 0 .65rem;
}

.page-faq .btn--outline{
  border-color:var(--deep-blue);
  color:var(--deep-blue);
}

.page-faq .btn--outline:hover{
  background:var(--deep-blue);
  color:var(--paper);
}

.page-faq .faq-main{
  min-width:0;
}

.page-faq .faq-section{
  margin-bottom:2.2rem;
  scroll-margin-top:calc(var(--header-height) + 1rem);
}

.page-faq .faq-section__title{
  font-family:var(--font-head);
  font-size:1.25rem;
  font-weight:800;
  color:var(--deep-blue);
  margin:0 0 1rem;
  padding-bottom:.5rem;
  border-bottom:2px solid var(--gold);
}

.page-faq .faq-list{
  display:flex;
  flex-direction:column;
  gap:.8rem;
}

.page-faq .faq-item{
  background:var(--white);
  border:1px solid var(--faq-border);
  border-left:4px solid var(--deep-blue);
  border-radius:var(--faq-radius);
  transition:border-color .2s, box-shadow .2s;
}

.page-faq .faq-item[data-open],
.page-faq .faq-item:has(.faq-item__btn[aria-expanded="true"]){
  border-left-color:var(--gold);
  box-shadow:var(--shadow-card);
}

.page-faq .faq-item__q{
  margin:0;
}

.page-faq .faq-item__btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:.75rem;
  background:transparent;
  border:0;
  padding:1rem 1.1rem;
  font-family:var(--font-head);
  font-size:1rem;
  font-weight:700;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  border-radius:var(--faq-radius);
  transition:color .2s;
}

.page-faq .faq-item__btn:hover{
  color:var(--deep-blue);
}

.page-faq .faq-item__btn::before{
  content:"+";
  font-family:var(--font-data);
  font-size:1.35rem;
  font-weight:400;
  color:var(--gold);
  line-height:1;
  flex-shrink:0;
  width:1.2rem;
  text-align:center;
  transition:transform .2s, color .2s;
}

.page-faq .faq-item[data-open] .faq-item__btn::before,
.page-faq .faq-item:has(.faq-item__btn[aria-expanded="true"]) .faq-item__btn::before{
  content:"−";
  color:var(--red);
}

.page-faq .faq-item__a{
  display:none;
  border-top:1px dashed var(--faq-border);
  padding:.9rem 1rem 1rem;
  font-size:.92rem;
  line-height:1.75;
  color:var(--ink);
}

.page-faq .faq-item[data-open] .faq-item__a,
.page-faq .faq-item:has(.faq-item__btn[aria-expanded="true"]) .faq-item__a{
  display:block;
}

.page-faq .faq-item__a p{
  margin:0;
}

.page-faq .faq-item__a p + p{
  margin-top:.6rem;
}

.page-faq .faq-item__link-more{
  margin-top:.7rem;
  font-family:var(--font-head);
  font-size:.85rem;
}

.page-faq .faq-item__link-more a{
  color:var(--deep-blue);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 2px 0 var(--gold);
  transition:color .2s, box-shadow .2s;
}

.page-faq .faq-item__link-more a:hover{
  color:var(--red);
  box-shadow:0 2px 0 var(--red);
}

.page-faq .faq-bottom-note{
  margin-top:2rem;
  padding:1rem 1.25rem;
  background:rgba(46,139,87,.08);
  border-left:4px solid var(--coconut);
  border-radius:var(--faq-radius);
  font-size:.9rem;
}

.page-faq .faq-bottom-note p{
  margin:0;
}

.page-faq .faq-bottom-note a{
  color:var(--deep-blue);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 1px 0 var(--gold);
  transition:color .2s, box-shadow .2s;
}

.page-faq .faq-bottom-note a:hover{
  color:var(--red);
  box-shadow:0 1px 0 var(--red);
}

.page-faq .faq-contact-cta{
  background:var(--deep-blue);
  color:var(--text-inverse);
  border-top:4px solid var(--gold);
}

.page-faq .faq-contact-cta__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  max-width:1240px;
  margin:0 auto;
  padding:2.5rem 1.25rem;
  align-items:center;
}

.page-faq .faq-contact-cta__media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border-radius:var(--faq-radius);
  border:1px solid rgba(245,240,230,.2);
}

.page-faq .faq-contact-cta__title{
  font-family:var(--font-head);
  font-size:1.5rem;
  font-weight:800;
  margin:0 0 .75rem;
  color:var(--white);
}

.page-faq .faq-contact-cta__desc{
  color:rgba(245,240,230,.8);
  font-size:.95rem;
  line-height:1.7;
  margin:0 0 1.4rem;
}

.page-faq .faq-contact-list{
  list-style:none;
  margin:0;
  padding:0;
}

.page-faq .faq-contact-list li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem 1rem;
  padding:.65rem 0;
  border-top:1px solid rgba(245,240,230,.15);
  font-size:.9rem;
}

.page-faq .faq-contact-list li:last-child{
  border-bottom:1px solid rgba(245,240,230,.15);
}

.page-faq .faq-contact-list__label{
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--gold);
  min-width:3.5em;
}

.page-faq .faq-contact-list a{
  color:var(--white);
  text-decoration:none;
  border-bottom:1px dashed rgba(255,255,255,.4);
  transition:color .2s, border-bottom-style .2s;
}

.page-faq .faq-contact-list a:hover{
  color:var(--gold);
  border-bottom-style:solid;
}

@media (min-width:600px){
  .page-faq .faq-hero__inner{
    padding:3.5rem 2rem 2.75rem;
  }

  .page-faq .faq-hero__title{
    font-size:2.4rem;
  }

  .page-faq .faq-hero__desc{
    font-size:1rem;
  }

  .page-faq .faq-search-wrap{
    padding:2.5rem 2rem 2rem;
  }

  .page-faq .faq-layout{
    padding-left:2rem;
    padding-right:2rem;
    gap:2rem;
  }

  .page-faq .faq-item__a{
    padding:1rem 1.25rem 1.2rem 2.9rem;
  }

  .page-faq .faq-contact-cta__inner{
    padding:3rem 2rem;
  }
}

@media (min-width:920px){
  .page-faq .faq-layout{
    grid-template-columns:var(--faq-sidebar-width) minmax(0,1fr);
    gap:2.75rem;
    align-items:start;
  }

  .page-faq .faq-sidebar{
    position:sticky;
    top:calc(var(--header-height) + 1.5rem);
  }

  .page-faq .faq-index__list{
    flex-direction:column;
    gap:.4rem;
  }

  .page-faq .faq-index__list a{
    width:100%;
    justify-content:flex-start;
  }

  .page-faq .faq-sidebar__img{
    margin-top:1.75rem;
  }

  .page-faq .faq-section__title{
    font-size:1.4rem;
  }

  .page-faq .faq-item__btn{
    font-size:1.05rem;
    padding:1.1rem 1.25rem;
  }

  .page-faq .faq-item__a{
    font-size:.95rem;
    padding-left:3rem;
  }

  .page-faq .faq-contact-cta__inner{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:3rem;
  }

  .page-faq .faq-contact-cta__title{
    font-size:1.8rem;
  }
}
