.page-faq{
  --faq-radius:2px;
  --faq-answer:rgba(242,237,227,.86);
  background:var(--abyss);
  color:var(--cream);
}

.page-faq .faq-top{
  padding-top:clamp(20px,4vw,48px);
}

.page-faq .faq-hero{
  display:grid;
  gap:clamp(20px,3vw,32px);
  padding:clamp(18px,3.4vw,36px) 0 clamp(26px,4vw,44px);
}

.page-faq .faq-hero .label-en{
  color:var(--pulse);
  margin:0 0 10px;
}

.page-faq .faq-hero h1{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(30px,6vw,58px);
  line-height:1.02;
  letter-spacing:-.02em;
  max-width:15em;
}

.page-faq .faq-lede{
  margin:clamp(14px,2vw,20px) 0 0;
  max-width:36em;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.75;
  color:var(--stone);
}

.page-faq .faq-metrics{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}

.page-faq .faq-metrics li{
  background:var(--abyss);
  padding:14px 16px;
  display:grid;
  gap:4px;
}

.page-faq .faq-metrics b{
  font-family:var(--font-mono);
  font-size:clamp(20px,2.6vw,26px);
  font-weight:600;
  color:var(--lemon);
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}

.page-faq .faq-metrics span{
  font-size:12px;
  line-height:1.5;
  letter-spacing:.06em;
  color:var(--stone);
}

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

.page-faq .faq-banner img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:12/5;
  object-fit:cover;
  border:1px solid var(--line-soft);
}

.page-faq .faq-body{
  display:grid;
  gap:clamp(26px,4vw,48px);
  padding-bottom:clamp(48px,8vw,96px);
}

.page-faq .faq-catalog{
  border-top:1px solid var(--line);
  padding-top:18px;
}

.page-faq .faq-cat-title{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-size:15px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--mist);
}

.page-faq .faq-cat-note{
  margin:0 0 16px;
  font-size:13px;
  line-height:1.7;
  color:var(--stone);
}

.page-faq .faq-cat-list{
  list-style:none;
  margin:0;
  padding:0 0 0 14px;
  border-left:2px solid var(--line);
  display:grid;
  gap:2px;
}

.page-faq .faq-cat-list a{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 6px 9px 10px;
  color:var(--cream);
  text-decoration:none;
  font-size:14px;
  line-height:1.4;
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease);
}

.page-faq .faq-cat-list a::before{
  content:"";
  position:absolute;
  left:-19px;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--steel);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}

.page-faq .faq-cat-list a:hover,
.page-faq .faq-cat-list a:focus-visible{
  background:var(--harbor);
  color:var(--pulse);
  outline:none;
}

.page-faq .faq-cat-list a:hover::before,
.page-faq .faq-cat-list a:focus-visible::before{
  background:var(--coral);
  transform:scale(1.2);
}

.page-faq .faq-cat-idx{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--stone);
}

.page-faq .faq-cat-name{
  min-width:0;
}

.page-faq .faq-cat-count{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--pulse);
}

.page-faq .faq-cat-hot{
  display:inline-block;
  margin-top:14px;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--coral);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease);
}

.page-faq .faq-cat-hot:hover,
.page-faq .faq-cat-hot:focus-visible{
  border-bottom-color:var(--coral);
}

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

.page-faq .faq-section{
  padding-top:clamp(24px,3.6vw,40px);
  border-top:1px solid var(--line-soft);
  scroll-margin-top:calc(var(--quickbar-h) + 24px);
}

.page-faq .faq-section + .faq-section{
  margin-top:clamp(30px,4.6vw,54px);
}

.page-faq .faq-section h2{
  display:flex;
  gap:12px;
  align-items:baseline;
  margin:0 0 8px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(20px,2.8vw,28px);
  line-height:1.2;
  letter-spacing:-.01em;
}

.page-faq .faq-sec-num{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:500;
  color:var(--pulse);
  letter-spacing:.06em;
}

.page-faq .faq-sec-intro{
  margin:0 0 18px;
  max-width:40em;
  font-size:14px;
  line-height:1.75;
  color:var(--stone);
}

.page-faq .faq-q{
  border-bottom:1px solid var(--line-soft);
  transition:background var(--dur) var(--ease);
}

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

.page-faq .faq-q summary{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px 14px;
  cursor:pointer;
  list-style:none;
  font-size:clamp(15px,1.7vw,16px);
  font-weight:600;
  line-height:1.55;
  color:var(--cream);
  transition:color var(--dur) var(--ease);
}

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

.page-faq .faq-q summary:hover{
  color:var(--mist);
}

.page-faq .faq-q summary:focus-visible{
  outline:2px solid var(--pulse);
  outline-offset:-2px;
}

.page-faq .q-idx{
  flex:0 0 auto;
  min-width:24px;
  padding-top:4px;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--pulse);
}

.page-faq .q-text{
  flex:1 1 auto;
  min-width:0;
}

.page-faq .q-arrow{
  flex:0 0 auto;
  width:9px;
  height:9px;
  margin-top:6px;
  border-right:2px solid var(--stone);
  border-bottom:2px solid var(--stone);
  transform:rotate(45deg);
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.page-faq .faq-q[open] .q-arrow{
  transform:rotate(-135deg);
  border-color:var(--coral);
}

.page-faq .faq-a{
  padding:0 16px 18px 50px;
}

.page-faq .faq-a p{
  margin:10px 0 0;
  font-size:14px;
  line-height:1.75;
  color:var(--faq-answer);
}

.page-faq .faq-a a{
  color:var(--pulse);
  text-decoration:none;
  border-bottom:1px solid var(--line);
}

.page-faq .faq-a a:hover,
.page-faq .faq-a a:focus-visible{
  border-bottom-color:var(--coral);
  color:var(--coral);
}

.page-faq .faq-steps{
  list-style:none;
  counter-reset:step;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}

.page-faq .faq-steps li{
  counter-increment:step;
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:8px;
  font-size:14px;
  line-height:1.7;
  color:var(--faq-answer);
}

.page-faq .faq-steps li::before{
  content:counter(step,decimal-leading-zero);
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--lemon);
  padding-top:5px;
}

.page-faq .faq-check{
  margin:20px 0 24px;
  padding:clamp(18px,3vw,28px);
  border:1px solid var(--line);
  background:linear-gradient(155deg,rgba(13,42,66,.94),rgba(6,19,32,.94));
  display:grid;
  gap:20px;
}

.page-faq .faq-check h3{
  margin:0 0 12px;
  font-family:var(--font-display);
  font-size:16px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--mist);
}

.page-faq .faq-check figure{
  margin:0;
}

.page-faq .faq-check img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border:1px solid var(--line-soft);
}

.page-faq .faq-end{
  margin-top:clamp(34px,5.4vw,64px);
  padding:clamp(22px,4vw,40px);
  border:1px solid var(--steel);
  background:
    radial-gradient(120% 140% at 100% 0%,rgba(44,232,200,.16),transparent 62%),
    var(--harbor);
  scroll-margin-top:calc(var(--quickbar-h) + 24px);
}

.page-faq .faq-end h2{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(20px,3vw,30px);
  line-height:1.15;
  letter-spacing:-.01em;
}

.page-faq .faq-end .faq-sec-intro{
  margin-bottom:16px;
  max-width:38em;
  color:var(--mist);
}

.page-faq .faq-mail{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  margin:0 0 18px;
  font-family:var(--font-mono);
  font-size:clamp(13px,2.2vw,19px);
  color:var(--lemon);
  word-break:break-all;
}

.page-faq .copy-btn{
  appearance:none;
  border:1px solid var(--steel);
  background:transparent;
  color:var(--mist);
  font-family:var(--font-body);
  font-size:12px;
  letter-spacing:.08em;
  padding:7px 12px;
  border-radius:var(--faq-radius);
  cursor:pointer;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease);
}

.page-faq .copy-btn:hover,
.page-faq .copy-btn:focus-visible{
  border-color:var(--pulse);
  color:var(--pulse);
  outline:none;
}

.page-faq .copy-btn:focus-visible{
  outline:2px solid var(--pulse);
  outline-offset:2px;
}

.page-faq .copy-btn[data-copied="true"]{
  border-color:var(--coral);
  color:var(--coral);
}

.page-faq .faq-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:0;
}

.page-faq .faq-links a{
  font-size:13px;
  letter-spacing:.04em;
  color:var(--cream);
  text-decoration:none;
  border-bottom:1px solid var(--line);
  padding-bottom:2px;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.page-faq .faq-links a:hover,
.page-faq .faq-links a:focus-visible{
  color:var(--coral);
  border-bottom-color:var(--coral);
}

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

@media (min-width:800px){
  .page-faq .faq-check{
    grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
    align-items:center;
    gap:32px;
  }
}

@media (min-width:960px){
  .page-faq .faq-hero{
    grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
    align-items:end;
  }

  .page-faq .faq-body{
    grid-template-columns:240px minmax(0,1fr);
    align-items:start;
  }

  .page-faq .faq-catalog{
    position:sticky;
    top:calc(var(--quickbar-h) + 24px);
  }
}

@media (min-width:1180px){
  .page-faq .faq-body{
    grid-template-columns:264px minmax(0,1fr);
    gap:clamp(48px,5vw,80px);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-faq .faq-q,
  .page-faq .q-arrow,
  .page-faq .faq-cat-list a,
  .page-faq .faq-cat-list a::before,
  .page-faq .faq-q summary,
  .page-faq .copy-btn,
  .page-faq .faq-links a{
    transition:none;
  }
}
<<<END>>>
