.page-faq{
  --faq-hair:rgba(140,109,24,.24);
  --faq-gold-soft:rgba(201,162,39,.18);
  --faq-soft:#4a4238;
  background:var(--paper);
  color:var(--ink);
}

.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  padding:1.1rem 0 2.75rem;
  border-radius:0 0 var(--r-xl) var(--r-xl);
  background:
    radial-gradient(760px 360px at 86% -18%, rgba(201,162,39,.34), transparent 64%),
    linear-gradient(158deg, var(--ink-green) 0%, var(--ink-green-deep) 100%);
  color:var(--paper);
}

.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:repeating-linear-gradient(115deg, rgba(227,199,102,.055) 0 1px, transparent 1px 24px);
}

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

.page-faq .faq-crumb{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
  font-size:.8rem;
  letter-spacing:.02em;
  color:rgba(243,235,221,.6);
}

.page-faq .faq-crumb a{
  color:rgba(243,235,221,.86);
  text-decoration:none;
  border-bottom:1px solid rgba(227,199,102,.42);
}

.page-faq .faq-crumb a:hover{
  color:var(--gold-light);
}

.page-faq .faq-crumb [aria-current="page"]{
  color:var(--gold-light);
}

.page-faq .faq-hero__kicker{
  margin:0 0 .8rem;
  font-family:var(--font-serif);
  font-size:.76rem;
  letter-spacing:.42em;
  color:var(--gold-light);
}

.page-faq .faq-hero__title{
  margin:0 0 1rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(2rem, 7.6vw, 3.5rem);
  line-height:1.08;
  letter-spacing:-.01em;
  color:#FBF6EC;
  text-shadow:0 2px 0 rgba(140,109,24,.35), 0 18px 42px rgba(0,0,0,.34);
}

.page-faq .faq-hero__lede{
  max-width:46ch;
  margin:0;
  font-size:.98rem;
  line-height:1.8;
  color:rgba(243,235,221,.82);
}

.page-faq .faq-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.75rem;
}

.page-faq .faq-tabs .pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:40px;
  padding:.4rem 1rem;
  font-size:.86rem;
  border-radius:var(--r-pill);
  border:1px solid rgba(227,199,102,.5);
  background:rgba(243,235,221,.92);
  color:var(--ink);
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease;
}

.page-faq .faq-tabs .pill:hover{
  background:#fff;
}

.page-faq .faq-tabs .pill.is-active{
  background:var(--cinnabar);
  border-color:var(--cinnabar);
  color:#fff;
}

.page-faq .faq-tabs__num{
  font-family:var(--font-mono);
  font-size:.78rem;
  opacity:.72;
}

.page-faq .faq-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.75rem;
  padding-top:2.25rem;
  padding-bottom:4rem;
}

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

.page-faq .faq-side{
  padding:.95rem 1rem;
  border-radius:var(--r-lg);
  background:rgba(217,205,184,.38);
  border:1px solid var(--faq-hair);
}

.page-faq .faq-side__title{
  margin:0 0 .65rem;
  font-family:var(--font-serif);
  font-size:.76rem;
  letter-spacing:.3em;
  color:var(--gold-deep);
}

.page-faq .faq-side__nav{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}

.page-faq .faq-side__nav a{
  display:inline-block;
  padding:.3rem .75rem;
  font-size:.82rem;
  line-height:1.5;
  border-radius:var(--r-pill);
  border:1px solid var(--faq-hair);
  background:var(--paper);
  color:var(--ink);
  text-decoration:none;
  transition:border-color .18s ease, color .18s ease;
}

.page-faq .faq-side__nav a:hover,
.page-faq .faq-side__nav a:focus-visible{
  border-color:var(--sand-gold);
  color:var(--gold-deep);
}

.page-faq .faq-side__note{
  margin:.8rem 0 0;
  font-size:.76rem;
  line-height:1.7;
  color:var(--sage);
}

.page-faq .faq-block{
  scroll-margin-top:96px;
}

.page-faq .faq-block + .faq-block{
  margin-top:2.75rem;
  padding-top:2.25rem;
  border-top:1px solid var(--faq-hair);
}

.page-faq .faq-block__title{
  margin:.35rem 0 .75rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.35rem, 4.2vw, 1.9rem);
  line-height:1.26;
  color:var(--ink);
}

.page-faq .faq-block__lede{
  max-width:62ch;
  margin:0;
  font-size:.94rem;
  line-height:1.82;
  color:var(--faq-soft);
}

.page-faq .faq-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.7rem;
  margin-top:1.4rem;
}

.page-faq .faq-item{
  position:relative;
  overflow:hidden;
  border:1px solid var(--faq-hair);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg, #FBF6EC 0%, #F3EBDD 100%);
  transition:border-color .18s ease, box-shadow .18s ease;
}

.page-faq .faq-item:hover{
  border-color:rgba(201,162,39,.55);
}

.page-faq .faq-item[open]{
  border-color:rgba(201,162,39,.7);
  box-shadow:var(--shadow-soft);
}

.page-faq .faq-item[open]::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--cinnabar);
}

.page-faq .faq-item__head{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  padding:.95rem 1.05rem;
  cursor:pointer;
  list-style:none;
}

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

.page-faq .faq-item__q{
  flex:1 1 auto;
  font-size:.93rem;
  font-weight:600;
  line-height:1.55;
  color:var(--ink);
}

.page-faq .faq-item__q::before{
  content:"＋";
  margin-right:.35rem;
  font-family:var(--font-mono);
  font-weight:400;
  color:var(--gold-deep);
}

.page-faq .faq-item[open] .faq-item__q::before{
  content:"－";
  color:var(--cinnabar);
}

.page-faq .faq-item__tag{
  flex:0 0 auto;
  margin-top:.14rem;
  padding:.14rem .5rem;
  font-family:var(--font-mono);
  font-size:.66rem;
  line-height:1.4;
  white-space:nowrap;
  border-radius:var(--r-pill);
  border:1px solid rgba(140,109,24,.32);
  background:transparent;
  color:var(--gold-deep);
}

.page-faq .faq-item__body{
  padding:0 1.05rem 1.05rem;
  font-size:.9rem;
  line-height:1.85;
  color:var(--faq-soft);
}

.page-faq .faq-item__body p{
  margin:0;
  padding-left:.85rem;
  border-left:1px solid var(--faq-gold-soft);
}

.page-faq .faq-device{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.5rem;
  margin-top:1.4rem;
}

.page-faq .faq-flow{
  display:block;
  width:100%;
  max-width:400px;
  height:auto;
  margin:0 auto;
}

.page-faq .faq-tier-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.6rem;
  align-content:start;
}

.page-faq .faq-tier{
  padding:.85rem .95rem;
  border-radius:var(--r-md);
  border:1px solid var(--faq-hair);
  background:rgba(251,246,236,.86);
}

.page-faq .faq-tier__code{
  display:block;
  margin-bottom:.22rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--gold-deep);
}

.page-faq .faq-tier h3{
  margin:0 0 .32rem;
  font-family:var(--font-display);
  font-size:.98rem;
  line-height:1.4;
  color:var(--ink);
}

.page-faq .faq-tier p{
  margin:0;
  font-size:.84rem;
  line-height:1.72;
  color:var(--faq-soft);
}

.page-faq .faq-steps{
  list-style:none;
  margin:1.4rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.7rem;
  counter-reset:faqstep;
}

.page-faq .faq-steps li{
  counter-increment:faqstep;
  position:relative;
  padding:.9rem 1rem .9rem 3.1rem;
  border-radius:var(--r-md);
  border:1px solid var(--faq-hair);
  background:rgba(217,205,184,.3);
  font-size:.9rem;
  line-height:1.78;
  color:var(--faq-soft);
}

.page-faq .faq-steps li::before{
  content:counter(faqstep, decimal-leading-zero);
  position:absolute;
  left:.9rem;
  top:.95rem;
  font-family:var(--font-mono);
  font-size:.84rem;
  color:var(--gold-deep);
}

.page-faq .faq-split{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.4rem;
  margin-top:1.3rem;
}

.page-faq .faq-split .media{
  margin:0;
}

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

.page-faq .faq-gift-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.7rem;
  margin-top:1.3rem;
}

.page-faq .faq-gift{
  padding:1rem 1.05rem;
  border-radius:var(--r-lg);
  border:1px solid rgba(201,162,39,.42);
  background:linear-gradient(165deg, rgba(227,199,102,.24), rgba(243,235,221,.92) 62%);
}

.page-faq .faq-gift h3{
  margin:0 0 .35rem;
  font-family:var(--font-display);
  font-size:1rem;
  color:var(--ink);
}

.page-faq .faq-gift p{
  margin:0;
  font-size:.85rem;
  line-height:1.75;
  color:var(--faq-soft);
}

.page-faq .note{
  margin-top:1.2rem;
  font-size:.86rem;
  line-height:1.8;
  color:var(--faq-soft);
}

.page-faq .faq-contact-box{
  padding:1.05rem 1.1rem;
  border-radius:var(--r-lg);
  border:1px solid var(--faq-hair);
  background:rgba(11,36,28,.94);
  color:var(--paper);
}

.page-faq .faq-contact-box__k{
  margin:0;
  font-family:var(--font-serif);
  font-size:.72rem;
  letter-spacing:.24em;
  color:var(--gold-light);
}

.page-faq .faq-contact-box__v{
  margin:.2rem 0 .85rem;
  font-family:var(--font-mono);
  font-size:.86rem;
  line-height:1.6;
  word-break:break-all;
  color:#FBF6EC;
}

.page-faq .faq-contact-box__v:last-child{
  margin-bottom:0;
}

.page-faq .faq-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin:1.2rem 0 0;
}

@media (min-width:560px){
  .page-faq .faq-tier-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (min-width:760px){
  .page-faq .faq-list{
    grid-template-columns:repeat(2, minmax(0,1fr));
    align-items:start;
  }
  .page-faq .faq-steps{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .page-faq .faq-gift-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .page-faq .faq-split{
    grid-template-columns:260px minmax(0,1fr);
    align-items:center;
  }
}

@media (min-width:900px){
  .page-faq .faq-layout{
    grid-template-columns:210px minmax(0,1fr);
    gap:3rem;
    padding-top:2.75rem;
  }
  .page-faq .faq-side{
    position:sticky;
    top:96px;
    align-self:start;
    padding:1.1rem 0 1.1rem 1.1rem;
    border:0;
    border-left:2px solid var(--faq-gold-soft);
    border-radius:0;
    background:transparent;
  }
  .page-faq .faq-side__nav{
    flex-direction:column;
    flex-wrap:nowrap;
    gap:.15rem;
  }
  .page-faq .faq-side__nav a{
    display:block;
    padding:.42rem 0;
    border:0;
    border-radius:0;
    background:transparent;
    font-size:.86rem;
    color:var(--faq-soft);
  }
  .page-faq .faq-side__nav a:hover,
  .page-faq .faq-side__nav a:focus-visible{
    color:var(--gold-deep);
    padding-left:.35rem;
  }
  .page-faq .faq-device{
    grid-template-columns:300px minmax(0,1fr);
    align-items:start;
    gap:1.8rem;
  }
  .page-faq .faq-flow{
    margin:0;
  }
  .page-faq .faq-block + .faq-block{
    margin-top:3.25rem;
    padding-top:2.6rem;
  }
}
<<<END>>>
