.home-faq { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(32px,6vw,88px); align-items:start; }
.home-faq__intro h2 { margin:16px 0; font-family:"DM Serif Display",serif; font-weight:400; font-size:clamp(36px,4vw,58px); line-height:1.12; }
.home-faq__intro>p:not(.section-label) { color:var(--muted); line-height:1.8; margin-bottom:28px; }
.home-faq__questions { border:1px solid var(--line); border-radius:24px; overflow:hidden; background:var(--panel); }
.faq-preview { border-bottom:1px solid var(--line); }
.faq-preview:last-child { border-bottom:0; }
.faq-preview summary { padding:24px 28px; display:flex; align-items:center; gap:24px; justify-content:space-between; list-style:none; cursor:pointer; font-weight:800; line-height:1.6; }
.faq-preview summary::-webkit-details-marker { display:none; }
.faq-preview summary>span { color:var(--button-accent); font-size:25px; font-weight:400; }
.faq-preview[open] summary>span { transform:rotate(45deg); }
.faq-preview[open] { background:rgba(108,145,203,.07); }
.faq-preview>div { padding:0 28px 26px; color:var(--muted); line-height:1.85; }
.faq-preview p { margin:0 0 16px; }
.faq-preview a,.faq-related { color:#adcaf0; text-underline-offset:4px; }
.faq-preview summary:focus-visible,.faq-topics a:focus-visible { outline:2px solid var(--button-accent); outline-offset:-4px; }
.faq-shell { position:relative; max-width:1180px; margin:0 auto 80px; padding:140px 28px 0; }
.faq-hero h1 { font-family:"DM Serif Display",serif; font-size:clamp(46px,6vw,80px); font-weight:400; line-height:1.12; margin:20px 0; }
.faq-hero>p:not(.section-label) { font-size:18px; color:var(--muted); line-height:1.8; }
.faq-cover { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:24px; margin:32px 0 48px; }
.faq-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; align-items:start; }
.faq-topics { position:sticky; top:110px; border:1px solid var(--line); border-radius:20px; padding:22px 14px; background:var(--panel-strong); }
.faq-topics>p { padding:0 12px 10px; }
.faq-topics a { display:flex; justify-content:space-between; gap:14px; padding:13px 12px; border-radius:10px; color:var(--muted-strong); font-size:13px; line-height:1.6; text-decoration:none; }
.faq-topics a:hover { color:var(--text); background:rgba(148,183,233,.12); }
.faq-topics a>span:last-child { color:var(--button-accent); }
.faq-hero,.faq-group,.faq-question { scroll-margin-top:115px; }
.faq-group { margin-bottom:52px; }
.faq-group__heading { display:flex; align-items:center; gap:18px; margin-bottom:24px; }
.faq-group__heading>span { color:var(--button-accent); font-size:13px; font-weight:800; }
.faq-group h2 { margin:0; font-family:"DM Serif Display",serif; font-size:32px; font-weight:400; }
.faq-question { padding:28px; margin-bottom:16px; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.faq-question:target { border-color:#7595c3; }
.faq-question h3 { font-size:19px; line-height:1.6; margin:0 0 18px; }
.faq-question h3 a { color:var(--text); text-decoration:none; }
.faq-hash { color:#8daacd; font-weight:400; margin-left:6px; }
.faq-question p,.faq-question li { color:var(--muted); font-size:14px; line-height:1.85; }
.faq-question .faq-direct { color:var(--muted-strong); }
.faq-question h4 { font-size:13px; margin:22px 0 8px; color:var(--text); }
.faq-related { display:inline-block; font-size:13px; line-height:1.7; margin:8px 16px 4px 0; }
.faq-visual { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:start; gap:24px; border:1px solid var(--line); border-radius:16px; background:rgba(47,69,103,.2); padding:22px; margin-top:24px; }
.faq-visual img { display:block; width:100%; max-width:300px; height:auto; object-fit:contain; border:1px solid #40516a; border-radius:14px; }
.faq-visual h4 { font-size:18px; margin:8px 0 14px; }
.faq-visual ol { padding-left:20px; }
.faq-visual li { padding-left:4px; margin-bottom:10px; }
.faq-contact { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:52px; padding:32px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(120deg,#1b2d55,var(--panel-strong)); }
.faq-contact>div { flex:1 1 300px; }
.faq-contact h2 { margin:0 0 10px; font-size:28px; }
.faq-contact p { color:var(--muted); line-height:1.7; }
.faq-contact>a:last-child { flex-basis:100%; color:#adcaf0; font-size:14px; }
@media(max-width:900px) { .faq-shell { padding-top:44px; } .home-faq { grid-template-columns:1fr; } .faq-layout { grid-template-columns:1fr; gap:28px; } .faq-topics { position:static; display:flex; flex-wrap:wrap; gap:6px; } .faq-topics>p { flex-basis:100%; margin-bottom:0; } .faq-topics a { gap:16px; } }
@media(max-width:600px) { .faq-shell { padding:0 20px; margin-top:32px; } .faq-cover { margin:24px 0; border-radius:16px; } .faq-question { padding:22px 18px; } .faq-visual { grid-template-columns:1fr; padding:18px; } .faq-visual>a { width:100%; max-width:240px; justify-self:center; } .faq-group h2 { font-size:27px; } .faq-preview summary { padding:20px; font-size:14px; } .faq-preview>div { padding:0 20px 22px; font-size:14px; } .faq-contact { padding:24px; } }
