.faq-main {
  max-width:1040px;
  margin:0 auto;
  padding:68px 40px 72px
}

.faq-return {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--accent-dark);
  font-size:13px;
  font-weight:650
}

.faq-return:hover { text-decoration:underline }

.faq-intro { max-width:720px }

.faq-intro .eyebrow { margin-bottom:19px }

.faq-intro h1 {
  font-size:clamp(38px,6vw,59px);
  line-height:1.08;
  letter-spacing:-.045em
}

.faq-lead {
  max-width:590px;
  margin-top:24px;
  color:var(--muted);
  font-size:17px;
  line-height:1.65
}

.faq-session-note {
  margin-top:24px;
  padding:13px 16px;
  border-left:3px solid var(--accent);
  background:var(--accent-soft);
  color:#4b487a;
  font-size:13px
}

.faq-topics {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:38px 0 48px
}

.faq-topics a {
  padding:9px 13px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:8px;
  font-size:12px;
  font-weight:600
}

.faq-topics a:hover {
  border-color:var(--accent);
  color:var(--accent-dark)
}

.faq-section {
  margin-top:42px;
  scroll-margin-top:24px
}

.faq-section-heading {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px
}

.faq-section-heading > span {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  color:var(--accent-dark);
  background:var(--accent-soft);
  font-size:12px;
  font-weight:750;
  flex:none
}

.faq-section h2 { font-size:23px }

.faq-section details {
  margin-top:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface)
}

.faq-section summary {
  position:relative;
  padding:20px 52px 20px 23px;
  cursor:pointer;
  font-size:15px;
  font-weight:650;
  list-style:none;
  border-radius:12px
}

.faq-section summary::-webkit-details-marker { display:none }

.faq-section summary::after {
  content:"+";
  position:absolute;
  top:17px;
  right:22px;
  color:var(--accent);
  font-size:23px;
  line-height:1.2;
  font-weight:400
}

.faq-section details[open] summary::after { content:"−" }

.faq-section summary:hover { color:var(--accent-dark) }

.faq-answer {
  max-width:850px;
  padding:0 23px 23px;
  color:#535f76;
  line-height:1.8
}

.faq-answer p + p { margin-top:13px }

.faq-answer strong { color:var(--ink); font-weight:650 }

.faq-answer a { color:var(--accent-dark); text-decoration:underline; text-underline-offset:3px }

.faq-answer ol { margin:0 0 14px; padding-left:22px }

.faq-answer li + li { margin-top:5px }

.faq-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:48px;
  padding:28px;
  background:var(--accent-soft);
  border-radius:14px
}

.faq-bottom p { font-size:17px; font-weight:650 }

.faq-bottom .button { display:inline-flex; width:auto }

@media (max-width:680px) {
  .faq-page .site-header { padding:20px; min-height:82px; gap:16px }
  .faq-page .brand { font-size:16px; gap:8px }
  .faq-page .brand-symbol { width:31px; height:31px }
  .faq-return { font-size:11px; gap:6px; max-width:110px }
  .faq-main { padding:40px 20px 48px }
  .faq-lead { font-size:15px; margin-top:20px }
  .faq-session-note { font-size:12px }
  .faq-topics { margin:28px 0 34px; gap:8px }
  .faq-topics a { font-size:11px; padding:9px 10px }
  .faq-section { margin-top:34px }
  .faq-section-heading { gap:10px }
  .faq-section h2 { font-size:20px }
  .faq-section summary { padding:18px 42px 18px 17px; font-size:14px }
  .faq-section summary::after { right:17px; top:15px }
  .faq-answer { padding:0 17px 20px; font-size:13px }
  .faq-bottom { align-items:flex-start; flex-direction:column; padding:23px }
  .faq-bottom .button { width:100%; justify-content:center }
  .faq-page .site-footer { gap:14px }
}

@media print {
  .faq-topics,.faq-bottom,.faq-return,.skip-link { display:none }
  .faq-main { max-width:none; padding:24px 0 }
  .faq-section details { break-inside:avoid }
  .faq-answer { color:#222 }
}

@media (pointer:coarse) {
  .faq-return,.faq-topics a { min-height:44px; align-items:center }
}

@media (max-width:760px) {
  .faq-page .site-header {
    padding-top:max(20px,env(safe-area-inset-top,0px));
    padding-left:max(20px,env(safe-area-inset-left,0px));
    padding-right:max(20px,env(safe-area-inset-right,0px))
  }
  .faq-main {
    padding-left:max(20px,env(safe-area-inset-left,0px));
    padding-right:max(20px,env(safe-area-inset-right,0px))
  }
}

.legal-updated {
  margin-top:20px;
  color:var(--muted);
  font-size:12px
}

.legal-section {
  margin-top:32px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  line-height:1.8
}

.legal-section > p { color:#535f76; font-size:14px }
.legal-section > p + p { margin-top:14px }
.legal-section strong { color:var(--ink); font-weight:650 }
.legal-section a { color:var(--accent-dark); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere }
.legal-details { display:grid; grid-template-columns:minmax(160px,230px) 1fr; gap:14px 24px; margin:24px 0 0; font-size:14px }
.legal-details dt { color:var(--muted); font-size:12px }
.legal-details dd { margin:0; color:var(--ink); overflow-wrap:anywhere }
.legal-section .legal-source { margin-top:22px; font-size:12px }

@media (max-width:680px) {
  .legal-section { padding:22px 18px }
  .legal-details { grid-template-columns:1fr; gap:3px; font-size:13px }
  .legal-details dt:not(:first-child) { margin-top:12px }
  .legal-section > p { font-size:13px }
}
