/* 21st: Categorized FAQ (educalvolpz/faq-4) and Minimal Footer (efferd).
   Adapted to Aperture with native disclosures and ordinary topic links. */
.faq-hero{padding:64px var(--g) 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}
.faq-hero h1{font-size:clamp(3rem,5.5vw,5.25rem);line-height:1.06;margin:0;letter-spacing:-.04em}
.faq-hero h1 span{color:var(--sc-accent)}
.faq-hero>p{max-width:38ch;color:var(--sc-ink-soft);font-size:1.125rem}
.faq-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:8%;padding:16px var(--g) 100px}
.faq-index{align-self:start;position:sticky;top:32px}
.faq-index nav{display:grid;border-top:1px solid var(--tv-line,#cdd7e7)}
.faq-index nav a{display:flex;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--tv-line,#cdd7e7);font-size:.9375rem;font-weight:600}
.faq-index nav a:hover{color:var(--sc-accent)}
.faq-help{margin-top:36px;padding:24px;background:var(--sc-surface);border-radius:var(--tv-radius-panel)}
.faq-help h2{font-size:1.25rem;margin:0 0 12px}
.faq-help p{font-size:.875rem;color:var(--sc-ink-soft);margin:0 0 12px}
.faq-help .ap-link{font-size:.875rem}
.faq-group{scroll-margin-top:32px;margin-bottom:48px}
.faq-group h2{font-size:1.75rem;margin:0 0 24px}
.faq-questions{display:grid;gap:12px}
.faq-questions details{border:1px solid var(--tv-line,#cdd7e7);border-radius:var(--tv-radius-panel);background:var(--sc-canvas);overflow:hidden}
.faq-questions summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;min-height:64px;list-style:none;font-size:1rem;font-weight:600;cursor:pointer;line-height:1.5}
.faq-questions summary::-webkit-details-marker{display:none}
.faq-questions summary::after{content:'+';font-size:1.5rem;font-weight:400;flex-shrink:0;color:var(--sc-accent)}
.faq-questions details[open]{border-color:var(--sc-accent)}
.faq-questions details[open] summary::after{content:'−'}
.faq-questions details p{font-size:.9375rem;color:var(--sc-ink-soft);line-height:1.8;margin:0;padding:0 24px 22px;max-width:76ch}
.faq-questions details a{text-decoration:underline;text-underline-offset:3px}
.faq-questions summary:focus-visible{outline:3px solid var(--sc-accent);outline-offset:-4px}
.faq-signpost{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--tv-line,#cdd7e7);padding:36px 0;margin-top:36px}
.faq-signpost h2{font-size:1.5rem;margin:0}
.visibility-page .faq-signpost{margin-inline:var(--g)}
.structure-close .close-action{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
body .structure-footer{display:block;margin:0;padding:56px var(--g) 24px;border-top:1px solid var(--tv-line,#cdd7e7);background:var(--sc-canvas)}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:40px}
.footer-brand p{font-size:.9375rem;color:var(--sc-ink-soft);margin:22px 0 0}
.footer-wordmark{display:inline-flex;align-items:center;gap:14px}
body .structure-footer nav{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.structure-footer nav h2{font-size:.8125rem;font-weight:650;letter-spacing:0;margin:0 0 12px;color:var(--sc-ink-soft)}
.structure-footer nav a{display:flex;align-items:center;min-height:44px;font-size:.875rem}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--tv-line,#cdd7e7);padding-top:20px;color:var(--sc-ink-soft)}
.footer-bottom small{font-size:.75rem}.footer-bottom>a{font-size:.8125rem;min-height:44px;display:flex;align-items:center}
@media(max-width:760px){
 .faq-hero{display:block;padding:36px 24px}.faq-hero>p{font-size:1rem;margin-top:24px}
 .faq-layout{display:block;padding:0 24px 40px}.faq-index{position:static;margin-bottom:36px}
 .faq-index nav{grid-template-columns:1fr 1fr;column-gap:20px}.faq-index nav a{font-size:.8125rem}.faq-help{display:none}
 .faq-group h2{font-size:1.5rem}.faq-questions summary{padding:18px;font-size:.9375rem}.faq-questions details p{padding:0 18px 18px}
 .faq-signpost{display:block}.faq-signpost .ap-link{margin-top:16px}
 .footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}
 body .structure-footer{padding:40px 24px 20px}.footer-bottom{align-items:flex-start}.footer-bottom small{max-width:27ch;line-height:1.7}
}
@media screen and (prefers-color-scheme:dark){:root{--tv-line:#34455d}}

/* Text-only topic buttons: no diagonal arrow ornament. */
.faq-index nav{border:0;gap:10px;}
.faq-index nav a{justify-content:flex-start;padding:15px 18px;min-height:48px;border:1px solid var(--tv-line,#cdd7e7);border-radius:var(--tv-radius-control);background:var(--sc-canvas);}
.faq-index nav a:hover{background:var(--sc-surface);border-color:var(--sc-accent);}
.faq-index nav a:focus-visible,.ap-button-secondary:focus-visible{outline:3px solid var(--sc-accent);outline-offset:3px;}
body .ap-button-secondary{background:transparent;color:var(--sc-ink);border:1px solid var(--tv-line,#cdd7e7);box-shadow:none;}
body .ap-button-secondary:hover{background:var(--sc-surface);border-color:var(--sc-accent);}
