.page-faq{
  --faq-card-bg:#FFFDF7;
  background:var(--bg);
  color:var(--dark);
  font-family:var(--font-sans);
  overflow-x:clip;
}
.page-faq .faq-context{
  padding-top:7.5rem;
}
.page-faq .breadcrumb{
  padding:.75rem 0;
  border-bottom:1px solid var(--gold-line);
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.04em;
  color:var(--gray);
}
.page-faq .breadcrumb a{
  color:var(--royal);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.page-faq .breadcrumb a:hover{
  border-bottom-color:var(--gold);
}
.page-faq .faq-hero{
  display:grid;
  gap:2rem;
  padding:1.5rem 0 3.5rem;
  position:relative;
}
.page-faq .faq-hero__index{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 1rem;
}
.page-faq .faq-hero h1{
  font-family:var(--font-serif);
  font-size:clamp(2.5rem,8vw,5.4rem);
  font-weight:600;
  line-height:1.1;
  letter-spacing:.01em;
  color:var(--royal);
  margin:0 0 1.25rem;
  max-width:10ch;
}
.page-faq .faq-hero__lead{
  font-size:1rem;
  line-height:1.9;
  color:var(--gray);
  margin:0 0 1.75rem;
  max-width:52ch;
}
.page-faq .faq-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1.75rem;
  padding-top:1.5rem;
  border-top:1px solid var(--gold-line);
}
.page-faq .faq-hero__meta span{
  font-family:var(--font-mono);
  font-size:.76rem;
  color:var(--gray);
  white-space:nowrap;
}
.page-faq .faq-hero__meta strong{
  font-size:1.2rem;
  color:var(--royal);
  margin-right:.3rem;
}
.page-faq .faq-hero__grid{
  display:none;
}
@media (min-width:1024px){
  .page-faq .faq-context{
    padding-top:8.5rem;
  }
  .page-faq .faq-hero{
    grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);
    align-items:start;
    padding:3rem 0 5rem;
  }
  .page-faq .faq-hero__grid{
    display:block;
    position:relative;
    min-height:280px;
    margin-top:1rem;
    background-image:
      linear-gradient(var(--gold-line) 1px,transparent 1px),
      linear-gradient(90deg,var(--gold-line) 1px,transparent 1px);
    background-size:34px 34px;
    border-left:1px solid var(--gold-line);
    border-bottom:1px solid var(--gold-line);
  }
  .page-faq .faq-hero__grid::before{
    content:"";
    position:absolute;
    top:2rem;
    right:1rem;
    width:54px;
    height:54px;
    border:2px solid var(--gold);
    transform:rotate(45deg);
  }
  .page-faq .faq-hero__grid::after{
    content:"FAQ / 7";
    position:absolute;
    left:1.25rem;
    bottom:1.25rem;
    font-family:var(--font-mono);
    font-size:.7rem;
    letter-spacing:.18em;
    color:var(--gold);
  }
}
.page-faq .faq-search{
  background:linear-gradient(135deg,var(--royal) 0%,var(--royal-deep) 100%);
  color:var(--bg);
  padding:3.25rem 0 3.75rem;
  position:relative;
  overflow:hidden;
}
.page-faq .faq-search::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(241,223,180,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(241,223,180,.07) 1px,transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}
.page-faq .faq-search__inner{
  position:relative;
  z-index:1;
}
.page-faq .section-head--on-dark{
  margin-bottom:1.75rem;
}
.page-faq .faq-search .section-title,
.page-faq .faq-support .section-title{
  color:var(--bg);
}
.page-faq .faq-search .section-index,
.page-faq .faq-support .section-index{
  color:var(--gold);
  border-color:rgba(201,160,99,.55);
}
.page-faq .faq-search .section-note,
.page-faq .faq-support .section-note{
  color:rgba(247,242,231,.72);
}
.page-faq .faq-search__label{
  display:block;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.12em;
  color:var(--gold-light);
  margin-bottom:.7rem;
}
.page-faq .faq-search__field{
  display:flex;
  align-items:center;
  gap:.75rem;
  background:var(--bg);
  padding-left:1rem;
  max-width:52rem;
  transition:box-shadow .3s ease;
}
.page-faq .faq-search__field:focus-within{
  box-shadow:0 0 0 3px rgba(241,223,180,.35);
}
.page-faq .faq-search__icon{
  color:var(--royal);
  flex:0 0 auto;
}
.page-faq .faq-search__input{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  padding:1rem .5rem 1rem 0;
  font-family:var(--font-sans);
  font-size:1rem;
  color:var(--dark);
  outline:none;
}
.page-faq .faq-search__input::placeholder{
  color:var(--gray);
}
.page-faq .faq-search__input:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:-2px;
}
.page-faq .faq-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
  margin-top:1.25rem;
}
.page-faq .faq-tags__label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--gold);
  margin-right:.2rem;
}
.page-faq .faq-tags .tag{
  color:var(--gold-light);
  border:1px solid rgba(241,223,180,.4);
  background:transparent;
  transition:background .25s ease,color .25s ease;
}
.page-faq .faq-tags .tag:hover{
  background:var(--gold-light);
  color:var(--royal-deep);
}
.page-faq .faq-map-wrap{
  padding:2.75rem 0 1.5rem;
  text-align:center;
}
.page-faq .faq-map{
  display:block;
  width:100%;
  max-width:900px;
  height:auto;
  aspect-ratio:3/1;
  object-fit:cover;
  border:1px solid var(--gold-line);
  margin:0 auto;
}
.page-faq .faq-map__caption{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.04em;
  color:var(--gray);
  margin:0;
  padding-top:.7rem;
}
.page-faq .faq-wall-section{
  padding:4rem 0 4.25rem;
  border-top:1px solid var(--gold-line);
}
.page-faq .faq-wall-section--alt{
  background:rgba(201,160,99,.06);
  border-bottom:1px solid var(--gold-line);
}
.page-faq .faq-wall-section__head{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:1.1rem;
  align-items:baseline;
  margin-bottom:2.25rem;
}
.page-faq .faq-wall-section__head .section-index,
.page-faq .faq-support__head .section-index,
.page-faq .faq-search__head .section-index{
  font-family:var(--font-mono);
  font-size:.8rem;
  font-weight:400;
  padding:.35rem .55rem;
  border:1px solid var(--gold-line);
  color:var(--royal);
}
.page-faq .faq-wall-section__head .section-title,
.page-faq .faq-support__head .section-title,
.page-faq .faq-search__head .section-title{
  margin:0;
}
.page-faq .faq-wall-section__head .section-note,
.page-faq .faq-support__head .section-note,
.page-faq .faq-search__head .section-note{
  grid-column:1 / -1;
  margin:.75rem 0 0;
  font-size:.9rem;
  color:var(--gray);
}
.page-faq .faq-wall{
  column-count:1;
  column-gap:1.5rem;
}
@media (min-width:720px){
  .page-faq .faq-wall{
    column-count:2;
  }
}
.page-faq .faq-card,
.page-faq .faq-wall__guide{
  break-inside:avoid;
  margin:0 0 1.5rem;
}
.page-faq .faq-card{
  background:var(--faq-card-bg);
  border:1px solid var(--gold-line);
  border-top:3px solid var(--gold);
  box-shadow:0 6px 24px rgba(10,36,99,.05);
}
.page-faq .faq-card--note{
  background:transparent;
  border-top-color:var(--gray);
  box-shadow:none;
}
.page-faq .faq-card summary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding:1.35rem 1.35rem 1.1rem;
  cursor:pointer;
  border:none;
}
.page-faq .faq-card summary::-webkit-details-marker{
  display:none;
}
.page-faq .faq-card summary:hover{
  background:rgba(201,160,99,.07);
}
.page-faq .faq-card summary:focus-visible{
  outline:2px solid var(--royal);
  outline-offset:-2px;
}
.page-faq .faq-card summary::after{
  content:"+";
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:1.1rem;
  line-height:1;
  color:var(--gold);
}
.page-faq .faq-card[open] summary::after{
  content:"−";
}
.page-faq .faq-card__num{
  font-family:var(--font-mono);
  font-size:.74rem;
  color:var(--royal);
  border:1px solid var(--gold-line);
  width:2.4rem;
  height:2.4rem;
  flex:0 0 2.4rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .35s ease,background .35s ease,color .35s ease,border-color .35s ease;
}
.page-faq .faq-card[open] .faq-card__num{
  transform:rotate(90deg);
  background:var(--royal);
  border-color:var(--royal);
  color:var(--gold-light);
}
.page-faq .faq-card__title{
  font-family:var(--font-serif);
  font-size:1.1rem;
  font-weight:600;
  line-height:1.5;
  color:var(--royal);
  padding-top:.2rem;
}
.page-faq .faq-card--note .faq-card__title{
  color:var(--dark);
}
.page-faq .faq-card__body{
  padding:0 1.35rem 1.5rem 3.75rem;
  font-size:.95rem;
  line-height:1.85;
  color:var(--gray);
}
.page-faq .faq-card__body p{
  margin:0 0 .7rem;
}
.page-faq .faq-card__body p:last-child{
  margin-bottom:0;
}
.page-faq .faq-card__link a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid rgba(200,69,27,.4);
}
.page-faq .faq-card__link a:hover{
  border-bottom-color:var(--accent);
}
.page-faq .faq-wall__guide{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.5rem 1.35rem;
  background:linear-gradient(135deg,var(--royal) 0%,var(--royal-deep) 100%);
  color:var(--bg);
  text-decoration:none;
  position:relative;
  min-height:116px;
  transition:box-shadow .3s ease;
}
.page-faq .faq-wall__guide:hover{
  box-shadow:0 12px 36px rgba(10,36,99,.18);
}
.page-faq .faq-wall__guide::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(241,223,180,.35);
  pointer-events:none;
  transition:border-color .3s ease;
}
.page-faq .faq-wall__guide:hover::before{
  border-color:var(--gold);
}
.page-faq .faq-wall__guide-index{
  position:relative;
  font-family:var(--font-mono);
  font-size:.72rem;
  color:var(--gold);
  border:1px solid rgba(241,223,180,.5);
  padding:.35rem .5rem;
}
.page-faq .faq-wall__guide-text{
  position:relative;
  flex:1;
  font-family:var(--font-serif);
  font-size:1rem;
  font-weight:600;
  line-height:1.55;
}
.page-faq .faq-wall__guide-arrow{
  position:relative;
  font-size:1.5rem;
  line-height:1;
  color:var(--gold);
  transition:transform .3s ease;
}
.page-faq .faq-wall__guide:hover .faq-wall__guide-arrow{
  transform:translateX(6px);
}
.page-faq .faq-support{
  background:var(--royal-deep);
  color:var(--bg);
  padding:4rem 0 4.5rem;
  position:relative;
  overflow:hidden;
}
.page-faq .faq-support::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,var(--gold) 0%,transparent 70%);
}
.page-faq .faq-support__head{
  margin-bottom:2.5rem;
}
.page-faq .faq-support__grid{
  display:grid;
  gap:2.25rem;
}
@media (min-width:1024px){
  .page-faq .faq-support__grid{
    grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
    align-items:start;
  }
}
.page-faq .faq-support__table{
  border-top:1px solid rgba(201,160,99,.5);
}
.page-faq .faq-support__row{
  display:grid;
  grid-template-columns:1fr;
  gap:.4rem 1.5rem;
  padding:1.1rem 0;
  border-bottom:1px solid rgba(201,160,99,.2);
}
.page-faq .faq-support__row:last-child{
  border-bottom:0;
}
.page-faq .faq-support__row--head{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  padding-bottom:.55rem;
}
.page-faq .faq-support__cell{
  font-size:.95rem;
  line-height:1.7;
  color:rgba(247,242,231,.92);
  word-break:break-word;
}
.page-faq .faq-support__row > .faq-support__cell:first-child{
  color:var(--gold-light);
  font-weight:600;
}
.page-faq .faq-support__cell a{
  color:var(--bg);
  text-decoration:none;
  border-bottom:1px solid var(--gold);
}
.page-faq .faq-support__cell a:hover{
  color:var(--gold-light);
}
@media (min-width:768px){
  .page-faq .faq-support__row{
    grid-template-columns:110px minmax(0,1.15fr) minmax(0,1fr);
    align-items:baseline;
    padding:1.2rem 0;
  }
  .page-faq .faq-support__row > .faq-support__cell + .faq-support__cell{
    border-left:1px solid rgba(201,160,99,.35);
    padding-left:1.5rem;
  }
}
.page-faq .faq-support__figure{
  margin:0;
}
.page-faq .faq-support__img{
  display:block;
  width:100%;
  max-width:500px;
  height:auto;
  aspect-ratio:5/3;
  object-fit:cover;
  border:1px solid rgba(201,160,99,.5);
}
.page-faq .faq-support__figure figcaption{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.04em;
  color:rgba(241,223,180,.75);
  margin-top:.65rem;
}
.page-faq .faq-support__note{
  margin-top:2.5rem;
  max-width:60ch;
  font-size:.95rem;
  line-height:1.9;
  color:rgba(241,223,180,.85);
  border-left:3px solid var(--gold);
  padding-left:1.25rem;
}
.page-faq .faq-support__more{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1.75rem;
  color:var(--gold-light);
  text-decoration:none;
  border:1px solid rgba(201,160,99,.5);
  padding:.75rem 1.15rem;
  font-family:var(--font-mono);
  font-size:.8rem;
  letter-spacing:.06em;
  transition:background .25s ease,border-color .25s ease;
}
.page-faq .faq-support__more:hover{
  background:rgba(201,160,99,.12);
  border-color:var(--gold);
}
