.page-faq{
  --faq-green:#0B3D2E;
  --faq-gold:#C9A227;
  --faq-gold-dark:#9C6B1E;
  --faq-red:#D6402A;
  --faq-yellow:#F2C14E;
  --faq-cream:#F7F3E8;
  --faq-green-light:#DCE8DF;
  --faq-gray:#5A6068;
  --faq-black:#1F1A17;
  background:
    linear-gradient(160deg,rgba(220,232,223,.5) 0%,rgba(220,232,223,0) 30%),
    var(--faq-cream);
  color:var(--faq-black);
}

.page-faq .faq-hero{
  padding:1.5rem 0 2rem;
  position:relative;
  overflow:hidden;
}

.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  top:-3rem;
  right:-5rem;
  width:18rem;
  height:18rem;
  background:var(--faq-gold);
  opacity:.1;
  transform:rotate(14deg);
  pointer-events:none;
}

.page-faq .faq-hero .container{
  position:relative;
  z-index:1;
}

.page-faq .breadcrumb{
  margin-bottom:1.5rem;
  font-size:.8125rem;
  color:var(--faq-gray);
  display:flex;
  flex-wrap:wrap;
  gap:.25rem;
}

.page-faq .breadcrumb a{
  color:var(--faq-green);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .2s;
}

.page-faq .breadcrumb a:hover,
.page-faq .breadcrumb a:focus-visible{
  border-color:var(--faq-gold);
  outline:none;
}

.page-faq .faq-hero-grid{
  display:grid;
  gap:1.5rem;
}

.page-faq .faq-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--faq-green);
  background:var(--faq-yellow);
  padding:.35rem .8rem;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  font-family:var(--font-body);
}

.page-faq .faq-hero-kicker svg{
  display:block;
  width:1rem;
  height:1rem;
}

.page-faq .faq-hero-title{
  font-family:var(--font-heading);
  font-size:clamp(1.75rem,4.5vw,3.05rem);
  line-height:1.12;
  color:var(--faq-green);
  margin:1rem 0 .75rem;
  max-width:35rem;
  text-wrap:balance;
}

.page-faq .faq-hero-lead{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.65;
  color:var(--faq-black);
  max-width:42rem;
  margin:0 0 1.25rem;
}

.page-faq .faq-hero-lead a{
  color:var(--faq-gold-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}

.page-faq .faq-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.page-faq .faq-hero-tags .tag{
  text-decoration:none;
  font-family:var(--font-body);
  transition:transform .2s,box-shadow .2s;
}

.page-faq .faq-hero-tags .tag:last-child{
  background:var(--faq-gold);
  color:var(--faq-green);
}

.page-faq .faq-hero-tags .tag:hover,
.page-faq .faq-hero-tags .tag:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(11,61,46,.14);
  outline:none;
}

.page-faq .faq-hero-media{
  margin-top:.5rem;
}

.page-faq .faq-hero-frame{
  position:relative;
  border:1px solid rgba(11,61,46,.15);
  background:var(--faq-green);
  overflow:hidden;
  aspect-ratio:12 / 5;
  padding:0;
}

.page-faq .faq-hero-frame::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(201,162,39,.2) 0%,rgba(201,162,39,0) 40%);
  z-index:1;
}

.page-faq .faq-hero-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  max-width:100%;
}

.page-faq .faq-body{
  padding:0 0 3rem;
  position:relative;
}

.page-faq .faq-body::before{
  content:"";
  position:absolute;
  top:4rem;
  left:-6rem;
  width:20rem;
  height:30rem;
  background:var(--faq-green-light);
  opacity:.5;
  transform:rotate(-9deg);
  pointer-events:none;
  z-index:0;
}

.page-faq .faq-body .container{
  position:relative;
  z-index:1;
}

.page-faq .faq-body-grid{
  display:grid;
  gap:1.25rem;
  align-items:start;
}

.page-faq .faq-index-box{
  background:var(--faq-green);
  color:var(--faq-cream);
  padding:1.25rem;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  box-shadow:8px 8px 0 rgba(201,162,39,.35);
}

.page-faq .faq-index-caption{
  font-family:var(--font-body);
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--faq-yellow);
  margin:0 0 .75rem;
}

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

.page-faq .faq-index-item{
  margin:0;
}

.page-faq .faq-index-link{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-body);
  font-size:.875rem;
  color:var(--faq-cream);
  text-decoration:none;
  padding:.4rem .6rem;
  border:1px solid rgba(255,255,255,.18);
  transition:background .2s,color .2s,border-color .2s;
}

.page-faq .faq-index-link:hover,
.page-faq .faq-index-link:focus-visible{
  background:var(--faq-gold);
  color:var(--faq-green);
  border-color:var(--faq-gold);
  outline:none;
}

.page-faq .faq-index-num{
  font-size:.8125rem;
  font-weight:700;
  color:var(--faq-gold);
}

.page-faq .faq-index-link:hover .faq-index-num,
.page-faq .faq-index-link:focus-visible .faq-index-num{
  color:var(--faq-green);
}

.page-faq .faq-index-cta{
  display:block;
  text-align:center;
  border-color:var(--faq-gold);
  color:var(--faq-gold);
}

.page-faq .faq-index-cta:hover,
.page-faq .faq-index-cta:focus-visible{
  background:var(--faq-gold);
  color:var(--faq-green);
}

.page-faq .faq-answers{
  display:grid;
  gap:1.5rem;
}

.page-faq .faq-section{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(11,61,46,.08);
  padding:1.25rem;
  position:relative;
  transition:box-shadow .25s;
}

.page-faq .faq-section:hover{
  box-shadow:0 6px 24px rgba(11,61,46,.07);
}

.page-faq .faq-section::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:linear-gradient(180deg,var(--faq-gold) 0%,var(--faq-gold) 3rem,rgba(201,162,39,.2) 3.5rem,rgba(201,162,39,.2) 100%);
}

.page-faq .faq-section-head{
  margin-bottom:1rem;
  padding-left:.75rem;
}

.page-faq .faq-section-num{
  display:inline-block;
  font-family:var(--font-heading);
  font-size:2.5rem;
  line-height:1;
  color:var(--faq-gold);
  margin-right:.5rem;
}

.page-faq .faq-section-title{
  display:inline;
  font-family:var(--font-heading);
  font-size:1.35rem;
  color:var(--faq-green);
  vertical-align:middle;
}

.page-faq .faq-section-desc{
  margin:.5rem 0 0;
  font-family:var(--font-body);
  font-size:.8125rem;
  color:var(--faq-gray);
  line-height:1.6;
}

.page-faq .faq-section-desc a{
  color:var(--faq-gold-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}

.page-faq .faq-item{
  border-top:1px solid rgba(11,61,46,.1);
  border-bottom:1px solid rgba(11,61,46,.1);
  margin-top:.5rem;
  background:rgba(255,255,255,.35);
}

.page-faq .faq-item + .faq-item{
  border-top:0;
}

.page-faq .faq-q{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:baseline;
  gap:.75rem;
  padding:1rem .75rem;
  font-family:var(--font-body);
  font-size:.9375rem;
  font-weight:700;
  color:var(--faq-green);
  transition:background .2s;
}

.page-faq .faq-q::-webkit-details-marker{
  display:none;
}

.page-faq .faq-q:hover{
  background:var(--faq-green-light);
}

.page-faq .faq-q-num{
  flex:0 0 auto;
  font-family:var(--font-heading);
  font-size:.875rem;
  color:var(--faq-gold-dark);
  background:rgba(242,193,78,.35);
  padding:.2rem .5rem;
  clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);
}

.page-faq .faq-q::after{
  content:"＋";
  margin-left:auto;
  font-size:1.1rem;
  color:var(--faq-gold-dark);
  transition:transform .2s;
}

.page-faq .faq-item[open] .faq-q::after{
  content:"－";
}

.page-faq .faq-item[open] .faq-q{
  background:var(--faq-green-light);
}

.page-faq .faq-a{
  padding:.25rem 1rem 1.25rem;
  font-family:var(--font-body);
  font-size:.875rem;
  line-height:1.7;
  color:var(--faq-black);
}

.page-faq .faq-a p{
  margin:0 0 .75rem;
}

.page-faq .faq-a p:last-child{
  margin-bottom:0;
}

.page-faq .faq-a a{
  color:var(--faq-gold-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}

.page-faq .faq-figure{
  margin:1rem 0 0;
  border-left:4px solid var(--faq-gold);
  background:var(--faq-green-light);
  padding:.5rem;
}

.page-faq .faq-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

.page-faq .faq-figure figcaption{
  padding:.5rem .25rem .25rem;
  font-family:var(--font-body);
  font-size:.75rem;
  color:var(--faq-gray);
}

.page-faq .faq-filter-tabs{
  display:inline-flex;
  flex-wrap:wrap;
  gap:.25rem;
  margin:.5rem 0 1rem;
  border:1px solid rgba(11,61,46,.15);
  background:rgba(255,255,255,.5);
  padding:.25rem;
}

.page-faq .faq-filter-tab{
  font-family:var(--font-body);
  font-size:.8125rem;
  color:var(--faq-green);
  padding:.4rem .8rem;
  cursor:default;
  transition:background .2s,color .2s;
}

.page-faq .faq-filter-tab.is-active{
  background:var(--faq-gold);
  color:var(--faq-green);
  font-weight:700;
}

.page-faq .faq-filter-tab:not(.is-active):hover{
  background:var(--faq-green-light);
}

.page-faq .faq-section-contact{
  background:rgba(255,255,255,.72);
  border-color:rgba(201,162,39,.35);
}

.page-faq .faq-contact-list{
  list-style:none;
  margin:0 0 1rem;
  padding:.5rem .75rem .5rem .75rem;
  border-left:3px solid var(--faq-gold);
  background:rgba(220,232,223,.4);
}

.page-faq .faq-contact-item{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  padding:.55rem 0;
  border-bottom:1px dashed rgba(11,61,46,.12);
}

.page-faq .faq-contact-item:last-child{
  border-bottom:0;
}

.page-faq .faq-contact-label{
  font-family:var(--font-body);
  font-size:.75rem;
  color:var(--faq-gray);
}

.page-faq .faq-contact-value{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.9375rem;
  color:var(--faq-green);
}

.page-faq .faq-contact-note{
  font-family:var(--font-body);
  font-size:.8125rem;
  color:var(--faq-gray);
  line-height:1.6;
  padding:0 .75rem;
  margin:.75rem 0 0;
}

.page-faq .faq-contact-note a{
  color:var(--faq-gold-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}

.page-faq .faq-more{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  padding:1.25rem;
  background:var(--faq-green);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
}

.page-faq .faq-more-text{
  flex-basis:100%;
  margin:0;
  font-family:var(--font-body);
  font-size:.9375rem;
  color:var(--faq-cream);
}

.page-faq .faq-more .btn{
  font-family:var(--font-body);
}

@media (min-width: 64rem){
  .page-faq .faq-hero{
    padding:2.5rem 0 3rem;
  }

  .page-faq .faq-hero-grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    gap:2.5rem;
    align-items:center;
  }

  .page-faq .faq-hero-title{
    font-size:3.05rem;
  }

  .page-faq .faq-body-grid{
    grid-template-columns:17rem minmax(0,1fr);
    gap:2rem;
  }

  .page-faq .faq-index{
    position:sticky;
    top:1.5rem;
  }

  .page-faq .faq-index-list{
    display:block;
  }

  .page-faq .faq-index-item + .faq-index-item{
    margin-top:.4rem;
  }

  .page-faq .faq-index-link{
    border:0;
    border-left:2px solid rgba(255,255,255,.2);
    padding:.5rem .75rem;
  }

  .page-faq .faq-section{
    padding:1.75rem;
  }

  .page-faq .faq-section-num{
    font-size:3rem;
  }

  .page-faq .faq-contact-item{
    flex-direction:row;
    justify-content:space-between;
    gap:1rem;
  }

  .page-faq .faq-more-text{
    flex-basis:auto;
    margin-right:auto;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-faq *,
  .page-faq *::before,
  .page-faq *::after{
    transition-duration:0.01ms!important;
    animation-duration:0.01ms!important;
  }
}
