.page-faq{
  --faq-shadow-soft:5px 5px 0 rgba(11,29,58,.14);
  --faq-gap:clamp(1.25rem,2.4vw,2.5rem);
  background:var(--color-paper);
  color:var(--color-ink);
  scroll-behavior:smooth;
}

.page-faq .faq-hero{
  background:var(--color-navy);
  color:var(--color-white);
  position:relative;
  overflow:hidden;
  padding:2rem 0 0;
}

.page-faq .faq-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,transparent 64%,rgba(232,163,61,.12) 64.6%,rgba(232,163,61,.12) 65.6%,transparent 66.2%),
    linear-gradient(335deg,transparent 78%,rgba(245,242,235,.06) 78.6%,rgba(245,242,235,.06) 79.6%,transparent 80.2%);
  pointer-events:none;
}

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

.page-faq .faq-hero__text{
  max-width:46rem;
}

.page-faq .faq-hero .breadcrumb{
  margin-bottom:1.5rem;
  font-size:.82rem;
}

.page-faq .faq-hero .breadcrumb a,
.page-faq .faq-hero .breadcrumb span{
  color:var(--color-paper);
}

.page-faq .faq-hero .breadcrumb a:hover{
  color:var(--color-gold);
}

.page-faq .faq-hero__index{
  font-family:var(--font-mono);
  font-size:.82rem;
  letter-spacing:.18em;
  color:var(--color-gold);
  text-transform:uppercase;
  margin:0 0 1rem;
}

.page-faq .faq-hero h1{
  font-family:var(--font-head);
  font-size:2.4rem;
  line-height:1.12;
  margin:0 0 1rem;
  letter-spacing:.01em;
}

.page-faq .faq-hero h1 span{
  display:block;
  font-size:1rem;
  line-height:1.65;
  color:var(--color-stone);
  margin-top:.65rem;
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:.02em;
}

.page-faq .faq-hero__lead{
  font-family:var(--font-body);
  font-size:.98rem;
  line-height:1.9;
  color:rgba(245,242,235,.88);
  margin:0 0 1.6rem;
}

.page-faq .faq-hero__stats{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  margin-bottom:2rem;
}

.page-faq .faq-hero__stat{
  border:2px solid rgba(232,163,61,.48);
  background:rgba(11,29,58,.72);
  padding:.7rem .9rem;
  min-width:6.4rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}

.page-faq .faq-hero__stat-num{
  font-family:var(--font-mono);
  font-size:1.4rem;
  font-weight:700;
  color:var(--color-gold);
  line-height:1.1;
}

.page-faq .faq-hero__stat-label{
  font-family:var(--font-body);
  font-size:.78rem;
  color:var(--color-paper);
  letter-spacing:.06em;
}

.page-faq .faq-hero__media{
  position:relative;
  z-index:1;
  margin-top:1.5rem;
}

.page-faq .faq-hero__media .image-frame{
  margin:0;
  border:2px solid var(--color-gold);
  box-shadow:8px 8px 0 rgba(232,163,61,.22);
  background:var(--color-navy);
}

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

.page-faq .faq-hero__media .image-frame__label{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.14em;
  color:var(--color-gold);
  border-top:1px solid rgba(232,163,61,.35);
  padding:.55rem .8rem;
}

.page-faq .faq-jump{
  background:var(--color-paper);
  padding:2.2rem 0;
  border-bottom:2px solid var(--color-navy);
}

.page-faq .faq-jump__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}

.page-faq .faq-jump__card{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  border:2px solid var(--color-navy);
  background:var(--color-white);
  box-shadow:4px 4px 0 var(--color-navy);
  padding:1.25rem;
  text-decoration:none;
  color:var(--color-navy);
  transition:transform .2s ease,box-shadow .2s ease;
}

.page-faq .faq-jump__card:hover,
.page-faq .faq-jump__card:focus-visible{
  transform:translate(-2px,-2px);
  box-shadow:7px 7px 0 var(--color-navy);
  outline:none;
}

.page-faq .faq-jump__num{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.06em;
  color:var(--color-gold);
  background:var(--color-navy);
  align-self:flex-start;
  padding:.2rem .55rem;
}

.page-faq .faq-jump__name{
  font-family:var(--font-head);
  font-size:1.15rem;
  font-weight:700;
  line-height:1.3;
}

.page-faq .faq-jump__desc{
  font-size:.88rem;
  color:var(--color-stone);
  line-height:1.55;
}

.page-faq .faq-archive{
  background:var(--color-paper);
  padding:3rem 0 3.5rem;
  scroll-margin-top:4.5rem;
}

.page-faq .faq-archive__head{
  max-width:48rem;
  margin-bottom:2rem;
}

.page-faq .faq-archive__head h2{
  font-family:var(--font-head);
  font-size:1.8rem;
  line-height:1.28;
  color:var(--color-navy);
  margin:.55rem 0 .8rem;
}

.page-faq .faq-archive__head .section-copy{
  color:var(--color-stone);
  font-size:.95rem;
  line-height:1.75;
  margin:0;
}

.page-faq .faq-tabs{
  border:2px solid var(--color-navy);
  box-shadow:var(--shadow-hard);
  background:var(--color-white);
  margin-top:1.75rem;
}

.page-faq .faq-tabs .tab-list{
  display:flex;
  flex-wrap:wrap;
  border-bottom:2px solid var(--color-navy);
  background:var(--color-navy);
}

.page-faq .faq-tabs .tab-button{
  appearance:none;
  background:transparent;
  border:none;
  font-family:var(--font-mono);
  font-size:.86rem;
  letter-spacing:.04em;
  padding:.9rem 1.15rem;
  color:rgba(245,242,235,.75);
  cursor:pointer;
  border-bottom:3px solid transparent;
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease;
}

.page-faq .faq-tabs .tab-button:hover{
  color:var(--color-white);
}

.page-faq .faq-tabs .tab-button[aria-selected="true"]{
  color:var(--color-gold);
  border-bottom-color:var(--color-gold);
  background:rgba(232,163,61,.08);
}

.page-faq .faq-tabs .tab-button[id]{
  scroll-margin-top:5rem;
}

.page-faq .faq-tabs .tab-panel{
  padding:1.25rem;
  background:var(--color-white);
}

.page-faq .faq-tabs .tab-panel[hidden]{
  display:none;
}

.page-faq .faq-accordion{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}

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

.page-faq .faq-item[open]{
  border-left-color:var(--color-gold);
  box-shadow:var(--faq-shadow-soft);
}

.page-faq .faq-item summary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  cursor:pointer;
  padding:1.05rem 1rem;
}

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

.page-faq .faq-item summary::after{
  content:"+";
  font-family:var(--font-mono);
  font-size:1.05rem;
  line-height:1;
  color:var(--color-gold);
  border:1px solid var(--color-stone);
  padding:.28rem .32rem;
  margin-left:auto;
  flex-shrink:0;
  transition:color .2s ease,border-color .2s ease;
}

.page-faq .faq-item[open] summary::after{
  content:"−";
  color:var(--color-navy);
  border-color:var(--color-gold);
}

.page-faq .faq-item__no{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--color-white);
  background:var(--color-navy);
  padding:.2rem .5rem;
  flex-shrink:0;
  margin-top:.15rem;
}

.page-faq .faq-item__title{
  font-family:var(--font-head);
  font-weight:700;
  font-size:1rem;
  line-height:1.52;
  color:var(--color-navy);
}

.page-faq .faq-item__body{
  padding:0 1rem 1.15rem calc(1rem + 1.9rem);
  line-height:1.85;
  font-size:.93rem;
  color:var(--color-ink);
}

.page-faq .faq-item__body p{
  margin:.6rem 0 .85rem;
}

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

.page-faq .faq-item__body a{
  color:var(--color-clay);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:.18em;
  word-break:break-all;
}

.page-faq .faq-item__media{
  margin-top:1.1rem;
}

.page-faq .faq-item__media .image-frame{
  margin:0;
  border:1px solid var(--color-stone);
  background:var(--color-paper);
}

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

.page-faq .faq-item__media .image-frame__label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--color-stone);
  border-top:1px solid var(--color-stone);
  padding:.45rem .7rem;
}

.page-faq .faq-compare{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin-top:1.2rem;
  border:2px solid var(--color-navy);
}

.page-faq .faq-compare__col{
  padding:1.2rem 1.25rem;
  background:var(--color-paper);
}

.page-faq .faq-compare__col + .faq-compare__col{
  border-top:1px solid var(--color-navy);
}

.page-faq .faq-compare__col h4{
  font-family:var(--font-head);
  font-size:1.1rem;
  font-weight:700;
  margin:0 0 .35rem;
  color:var(--color-navy);
}

.page-faq .faq-compare__desc{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.05em;
  color:var(--color-gold);
  background:var(--color-navy);
  display:inline-block;
  padding:.22rem .5rem;
  margin-bottom:.75rem;
}

.page-faq .faq-compare__col ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.42rem;
}

.page-faq .faq-compare__col li{
  font-size:.9rem;
  line-height:1.55;
  color:var(--color-ink);
  padding-left:1.15rem;
  position:relative;
}

.page-faq .faq-compare__col li::before{
  content:"·";
  position:absolute;
  left:.15rem;
  color:var(--color-gold);
  font-family:var(--font-mono);
  font-weight:700;
  font-size:1.1rem;
  line-height:1.2;
}

.page-faq .faq-support{
  background:var(--color-navy);
  color:var(--color-white);
  padding:3rem 0;
  scroll-margin-top:4.5rem;
}

.page-faq .faq-support__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
}

.page-faq .faq-support .section-index{
  color:var(--color-gold);
}

.page-faq .faq-support h2{
  font-family:var(--font-head);
  font-size:1.8rem;
  line-height:1.28;
  margin:.5rem 0 .8rem;
}

.page-faq .faq-support__content > p{
  color:rgba(245,242,235,.82);
  font-size:.96rem;
  line-height:1.85;
  margin-bottom:1.75rem;
}

.page-faq .faq-support__actions{
  margin-bottom:1.4rem;
}

.page-faq .faq-support__privacy{
  font-size:.86rem;
  color:rgba(245,242,235,.62);
}

.page-faq .faq-support__privacy a{
  color:var(--color-gold);
  text-decoration:underline;
  text-underline-offset:.18em;
}

.page-faq .faq-support__cards{
  display:grid;
  grid-template-columns:1fr;
  gap:.9rem;
}

.page-faq .faq-support__card{
  border:1px solid rgba(232,163,61,.55);
  background:rgba(255,255,255,.06);
  padding:1rem 1.1rem;
  display:grid;
  gap:.3rem;
}

.page-faq .faq-support__label{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  color:var(--color-stone);
  text-transform:uppercase;
}

.page-faq .faq-support__value{
  font-size:1rem;
  font-weight:600;
  color:var(--color-white);
  word-break:break-word;
  line-height:1.45;
}

@media (min-width:640px){
  .page-faq .faq-jump__grid{
    grid-template-columns:repeat(3,1fr);
  }

  .page-faq .faq-support__cards{
    grid-template-columns:repeat(2,1fr);
  }

  .page-faq .faq-compare{
    grid-template-columns:1fr 1fr;
  }

  .page-faq .faq-compare__col + .faq-compare__col{
    border-top:none;
    border-left:1px solid var(--color-navy);
  }

  .page-faq .faq-tabs .tab-panel{
    padding:1.5rem;
  }
}

@media (min-width:900px){
  .page-faq .faq-hero{
    padding-top:2.6rem;
  }

  .page-faq .faq-hero__content{
    display:grid;
    grid-template-columns:7fr 4fr;
    gap:2.5rem;
    align-items:end;
  }

  .page-faq .faq-hero h1{
    font-size:3rem;
  }

  .page-faq .faq-hero h1 span{
    font-size:1.05rem;
  }

  .page-faq .faq-hero__media{
    margin-top:2.5rem;
  }

  .page-faq .faq-hero__media .image-frame{
    box-shadow:10px 10px 0 rgba(232,163,61,.22);
  }

  .page-faq .faq-archive{
    padding:3.5rem 0 4.5rem;
  }

  .page-faq .faq-tabs .tab-panel{
    padding:2rem 2.4rem;
  }

  .page-faq .faq-item summary{
    padding:1.15rem 1.3rem;
  }

  .page-faq .faq-item__body{
    padding-right:3.5rem;
  }

  .page-faq .faq-support__inner{
    grid-template-columns:5fr 7fr;
    gap:3rem;
    align-items:start;
  }

  .page-faq .faq-support__cards{
    gap:1rem;
  }
}
