.sgo-faq { --faq-scroll-offset: 120px; }
.sgo-faq [id] { scroll-margin-top: var(--faq-scroll-offset); }
.faq-hero { background:linear-gradient(120deg,var(--brand-tint),var(--brand-blue)); }
.faq-hero-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:64px; align-items:center; }
.faq-hero h1 { font-size:clamp(2.4rem,4.6vw,4.3rem); line-height:1.08; letter-spacing:-.045em; }
.faq-hero-grid>div>p:not(.eyebrow) { max-width:660px; }
.faq-plan-art { margin:0; padding:26px; border:1px solid var(--brand-line); border-radius:var(--brand-radius); background:white; box-shadow:var(--brand-shadow); transform:rotate(1deg); }
.faq-art-top { display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:.72rem; color:var(--brand-muted); }
.faq-art-top .sgo-logo { width:62px; }
.faq-art-mission { display:flex; gap:16px; align-items:center; margin:24px 0; padding:20px; background:var(--brand-navy); border-radius:12px; color:white; }
.faq-art-mission .line-icon { color:var(--brand-mint); width:36px; flex-shrink:0; }
.faq-art-mission span { font-size:.85rem; }.faq-art-mission strong { display:block; font-size:1.1rem; }
.faq-plan-art ol { list-style:none; margin:0; padding:0; }.faq-plan-art li { display:flex; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--brand-line); }.faq-plan-art small { display:block; color:var(--brand-muted); margin-top:3px; }.faq-art-icon { padding:10px; background:var(--brand-tint); border-radius:50%; color:var(--brand-teal); }.faq-art-icon .line-icon { width:24px; height:24px; display:block; }
.faq-plan-art figcaption { margin-top:16px; color:var(--brand-muted); font-size:.7rem; }
.faq-program { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding-top:40px; padding-bottom:40px; border-bottom:1px solid var(--brand-line); }.faq-program h2 { font-size:1.4rem; margin:0 0 10px; }.faq-program p { margin:0; font-size:.92rem; color:var(--brand-muted); }
.faq-status-key { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 14px; }.faq-status-key li { padding:6px 10px; border:1px solid var(--brand-line); border-radius:5px; font-size:.72rem; font-weight:650; background:var(--brand-tint); }.faq-status-key .faq-pending { background:var(--status-warning-bg); border-color:var(--status-warning-line); color:var(--status-warning); }
.faq-library { padding-top:40px; padding-bottom:48px; }.faq-find { display:flex; flex-wrap:wrap; gap:14px; align-items:end; }.faq-find>div { flex:1; min-width:220px; }.faq-find label { display:block; font-weight:650; margin-bottom:8px; }.faq-find input { width:100%; padding:14px 16px; border:1px solid var(--brand-line); border-radius:8px; font:inherit; background:white; color:var(--brand-ink); box-sizing:border-box; }.faq-find>p { width:100%; font-size:.8rem; color:var(--brand-muted); margin:0 0 10px; }
.faq-category-nav { display:flex; overflow-x:auto; gap:6px; padding:14px 0; border-bottom:1px solid var(--brand-line); }.faq-category-nav a { white-space:nowrap; padding:10px 15px; border-radius:7px; color:var(--brand-ink); text-decoration:none; font-size:.85rem; font-weight:650; }.faq-category-nav a:hover,.faq-category-nav a:focus-visible { background:var(--brand-tint); color:var(--brand-teal-dark); }
.faq-category { padding:46px 0 12px; }.faq-category-heading { display:flex; align-items:flex-start; gap:18px; margin-bottom:24px; }.faq-category-icon { background:var(--brand-tint); color:var(--brand-teal); padding:14px; border-radius:12px; flex-shrink:0; }.faq-category-icon .line-icon { width:28px; height:28px; display:block; }.faq-category-heading .eyebrow { margin:0 0 5px; }.faq-category-heading h2 { font-size:1.9rem; margin:0 0 8px; }.faq-category-heading p:last-child { margin:0; color:var(--brand-muted); }
.faq-question-list { border:1px solid var(--brand-line); border-radius:14px; overflow:hidden; background:white; }.faq-question+.faq-question { border-top:1px solid var(--brand-line); }.faq-question>summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; padding:23px 28px; list-style:none; }.faq-question>summary::-webkit-details-marker { display:none; }.faq-question h3 { margin:0; font-size:1.06rem; line-height:1.55; font-weight:650; }.faq-question>summary:hover,.faq-question[open]>summary { background:var(--brand-tint); }.faq-toggle { flex-shrink:0; position:relative; width:24px; height:24px; border-radius:50%; background:var(--brand-blue); }.faq-toggle:before,.faq-toggle:after { content:""; position:absolute; background:var(--brand-teal-dark); left:6px; right:6px; height:2px; top:11px; }.faq-toggle:after { transform:rotate(90deg); transition:transform .15s ease; }.faq-question[open]>.faq-question-summary .faq-toggle:after,.faq-question[open]>summary .faq-toggle:after { transform:rotate(0); }
.faq-answer { padding:8px 28px 24px; max-width:960px; }.faq-answer p,.faq-answer li { font-size:1rem; line-height:1.75; }.faq-answer h4 { font-size:1rem; margin:16px 0 6px; }.faq-answer ul,.faq-answer ol { padding-left:24px; }.faq-answer li { margin:5px 0; }.faq-callout { background:var(--brand-tint); border-left:3px solid var(--brand-teal); padding:4px 20px; margin:22px 0; }.faq-callout h4 { color:var(--brand-teal-dark); }.faq-callout p { margin-top:8px; }.faq-answer-footer { border-top:1px solid var(--brand-line); padding-top:18px; margin-top:22px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:.82rem; }.faq-sources { max-width:100%; }.faq-sources>summary { cursor:pointer; color:var(--brand-teal-dark); font-weight:650; }.faq-sources li { font-size:.82rem; }.faq-sources ul { margin-bottom:0; }.faq-permalink { align-self:flex-start; }
.faq-flow-art { margin:0 0 24px; padding:24px; background:var(--brand-navy); color:white; border-radius:14px; }.faq-flow-art figcaption span,.faq-record-art figcaption span { display:block; font-size:.8rem; opacity:.85; margin-top:6px; }.faq-flow-art ol { list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; padding:0; margin:24px 0 0; }.faq-flow-art li { position:relative; display:grid; justify-items:center; gap:9px; text-align:center; font-size:.83rem; }.faq-flow-art .line-icon { width:32px; height:32px; color:var(--brand-mint); }.faq-flow-art li:not(:last-child):after { content:"→"; position:absolute; right:-12px; top:6px; color:var(--brand-mint); }
.faq-record-art { margin:0 0 24px; padding:24px; border:1px solid var(--brand-line); background:var(--brand-blue); border-radius:14px; }.faq-record-art>div { display:flex; gap:16px; align-items:center; }.faq-record-art .line-icon { width:44px; height:44px; flex-shrink:0; color:var(--brand-teal); }.faq-record-art ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; list-style:none; padding:0; margin:22px 0 0; }.faq-record-art li { background:white; padding:12px; border-radius:6px; border-left:3px solid var(--brand-teal); font-size:.83rem; }
.faq-related { padding:30px 0; margin-top:36px; border-top:1px solid var(--brand-line); }.faq-related h2 { font-size:1.4rem; }.faq-related>div { display:flex; gap:16px 30px; flex-wrap:wrap; }.faq-review-note { color:var(--brand-muted); font-size:.78rem; max-width:960px; }.faq-closing { background:var(--brand-tint); }.faq-closing .site-container>p,.faq-closing h2 { max-width:850px; }.faq-closing h2 { font-size:clamp(1.9rem,3.3vw,2.8rem); }.faq-closing .button-row { margin:26px 0; }.faq-cta-note { font-size:.78rem; color:var(--brand-muted); }.faq-empty { padding:32px; background:var(--brand-tint); border-radius:14px; margin-top:28px; }.faq-empty h2 { font-size:1.4rem; }
.sgo-faq [hidden] { display:none!important; }.faq-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.sgo-faq :focus-visible { outline:3px solid var(--brand-focus); outline-offset:4px; }.faq-question>summary:focus-visible { outline-offset:-4px; }.faq-question:target { box-shadow:inset 4px 0 var(--brand-teal); }
@media(max-width:1000px) { .faq-hero-grid { gap:30px; }.faq-program { gap:28px; } }
@media(max-width:760px) { .faq-hero-grid,.faq-program { grid-template-columns:1fr; }.faq-plan-art { max-width:480px; width:100%; box-sizing:border-box; transform:none; }.faq-category-heading h2 { font-size:1.55rem; }.faq-question>summary { padding:20px 16px; gap:14px; }.faq-answer { padding:4px 18px 22px; }.faq-category-heading { gap:12px; }.faq-category-icon { padding:10px; }.faq-record-art ul { grid-template-columns:repeat(2,minmax(0,1fr)); }.faq-flow-art { padding:20px 16px; }.faq-flow-art ol { grid-template-columns:1fr; gap:22px; }.faq-flow-art li { grid-template-columns:32px 1fr; justify-items:start; align-items:center; text-align:left; }.faq-flow-art li:not(:last-child):after { content:"↓"; top:30px; left:10px; right:auto; }.faq-flow-art figcaption { margin-bottom:28px; }.faq-find>div { min-width:100%; }.faq-category { padding-top:36px; }.faq-art-top { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .faq-toggle:after { transition:none; }.sgo-faq { scroll-behavior:auto; } }

.faq-start { padding-top:40px; padding-bottom:16px; }
.faq-start>p { max-width:850px; color:var(--brand-muted); }
.faq-start-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.faq-start-card { display:block; padding:24px; border:1px solid var(--brand-line); border-radius:14px; background:var(--brand-tint); color:var(--brand-ink); text-decoration:none; }
.faq-start-card:hover { border-color:var(--brand-teal); }
.faq-start-card h3 { font-size:1.12rem; margin:0 0 10px; }
.faq-start-card p { margin:0 0 16px; line-height:1.65; color:var(--brand-muted); }
@media(max-width:760px) { .faq-start-grid { grid-template-columns:1fr; } }
