/* Editorial pages use the existing directory palette and readable line lengths. */
.editorial-hero { margin: 1.5rem 0 2rem; max-width: 56rem; }
.editorial-hero h1 { font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.08; margin: .5rem 0 1rem; }
.editorial-hero > p, .editorial-intro { color: var(--muted, #aebcc2); line-height: 1.75; max-width: 52rem; }
.topic-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin:1.5rem 0 2rem; }
.topic-nav a { padding:.6rem .9rem; border:1px solid var(--line,#293940); border-radius:.4rem; text-decoration:none; }
.guide-group { margin:2.5rem 0; scroll-margin-top:1rem; }
.guide-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.guide-card { border:1px solid var(--line,#293940); border-radius:.6rem; padding:1.35rem; background:#0e1518; }
.guide-card h3 { font-size:1.1rem; line-height:1.45; margin:0 0 .65rem; }
.guide-card p { color:var(--muted,#aebcc2); line-height:1.65; margin:0; }
.guide-card a { text-underline-offset:.2em; }
.category-advice { max-width:58rem; margin:3rem auto; padding-top:1.5rem; border-top:1px solid var(--line,#293940); }
.category-advice section { margin-bottom:1.75rem; }
.category-advice h2 { font-size:1.3rem; line-height:1.4; }
.category-advice p { color:var(--muted,#aebcc2); line-height:1.8; }
.guide-article blockquote { border-left:3px solid #78d7d2; margin:1rem 0; padding:.25rem 1.2rem; color:#dce9ed; background:#101b20; }
.guide-related, .guide-sources { border-top:1px solid var(--line,#293940); margin-top:2rem; padding-top:1rem; }
.guide-sources p { font-size:.9rem; }
.hub-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:1rem 0; }
.hub-links a { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; padding:.75rem; border:1px solid var(--line,#293940); border-radius:.35rem; text-decoration:none; }
.hub-links span { font-size:.85rem; color:var(--muted,#aebcc2); }
.faq-topic { margin:2.25rem 0; scroll-margin-top:1rem; }
.faq-topic > h2 { margin-bottom:1rem; }
.faq-answer { border-bottom:1px solid var(--line,#293940); padding:1rem 0; }
.faq-answer summary { cursor:pointer; font-size:1.05rem; font-weight:600; line-height:1.5; }
.faq-answer p { max-width:65ch; color:var(--muted,#aebcc2); line-height:1.75; margin:.85rem 0 .25rem; }
.badge-tool { max-width:52rem; margin-bottom:2rem; }
.badge-tool label { display:block; font-weight:600; margin:1.3rem 0 .6rem; }
.badge-tool select, .badge-tool textarea { display:block; width:100%; min-width:0; padding:.8rem; color:#e0ecef; background:#071017; border:1px solid #344951; border-radius:.35rem; font:inherit; }
.badge-tool textarea { font: .85rem/1.6 ui-monospace, monospace; resize:vertical; overflow-wrap:anywhere; white-space:pre-wrap; }
.badge-tool button { margin-top:.6rem; }
.badge-tool img { max-width:100%; height:auto; }
.badge-tool code { overflow-wrap:anywhere; }
.guide-shell, .guide-card, .content-shell, .content-panel { min-width:0; }
.breadcrumbs { flex-wrap:wrap; overflow-wrap:anywhere; }
:where(.topic-nav a,.faq-answer summary,.guide-card a,.badge-tool select,.badge-tool textarea):focus-visible { outline:2px solid #78d7d2; outline-offset:4px; }
@media(max-width:650px) { .guide-card-grid,.hub-links { grid-template-columns:1fr; } .guide-shell { padding-inline:1rem; } .category-advice { margin-top:2rem; } .topic-nav a { flex-grow:1; text-align:center; } }
.guide-shell { width:min(calc(100% - 2rem),76rem); }
.guide-article > header { margin-bottom:2rem; padding-bottom:2rem; }
.guide-article > header h1 { font-size:clamp(2.25rem,4.8vw,4rem); line-height:1.08; max-width:24ch; text-transform:none; letter-spacing:-.025em; }
.guide-article h2 { font-size:clamp(1.4rem,2.5vw,1.9rem); line-height:1.25; }
.faq-search { padding:1.2rem; border:1px solid var(--line,#293940); border-radius:.6rem; background:#0e1518; }
.faq-search label { display:block; font-weight:600; margin-bottom:.6rem; }
.faq-search-row { display:flex; gap:.65rem; margin-bottom:1rem; }
.faq-search input,.faq-search select,.faq-search button { font:inherit; color:#e0ecef; background:#071017; border:1px solid #41565f; border-radius:.35rem; padding:.75rem; min-height:44px; }
.faq-search input { flex:1; min-width:0; }
.faq-search select { width:100%; max-width:30rem; }
.faq-search button { cursor:pointer; }
.faq-search input::placeholder { color:#aebcc2; opacity:1; }
.faq-search [role=status],.faq-review { color:#aebcc2; font-size:.9rem; line-height:1.6; }
.faq-answer { scroll-margin-top:1.5rem; }
.faq-answer:target { border-left:3px solid #78d7d2; padding-left:1rem; }
.faq-answer-body p { max-width:75ch; }
.faq-permalink { display:inline-block; font-size:.85rem; padding:.75rem 0; text-underline-offset:.2em; }
#faq-empty { padding:1rem; border:1px solid #41565f; border-radius:.35rem; line-height:1.7; }
.faq-topic[hidden],.faq-answer[hidden],.faq-search[hidden],#faq-empty[hidden] { display:none; }
:where(.faq-search input,.faq-search select,.faq-search button,.faq-permalink):focus-visible { outline:2px solid #78d7d2; outline-offset:3px; }
@media(max-width:450px) { .faq-search-row { flex-direction:column; } .faq-search-row button { align-self:flex-start; } }
.faq-shell { max-width:68rem; padding-top:2.25rem; }
.faq-shell .content-hero { grid-template-columns:1fr; gap:1rem; padding-bottom:1.5rem; border:0; }
.faq-shell .content-hero h1 { max-width:28ch; font-size:clamp(2.1rem,4.4vw,3.4rem); line-height:1.12; letter-spacing:-.03em; }
.faq-shell .content-hero > p { max-width:65ch; font-size:1rem; }
.faq-shell .topic-nav { gap:.45rem; margin:1rem 0; }
.faq-shell .topic-nav a { font-size:.85rem; padding:.6rem; }
@media(min-width:700px) { .faq-search { display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,.5fr); column-gap:1rem; } .faq-search label[for=faq-search] { grid-area:1/1; } .faq-search-row { grid-area:2/1; margin:0; } .faq-search label[for=faq-topic-filter] { grid-area:1/2; } #faq-topic-filter { grid-area:2/2; } #faq-count { grid-column:1/-1; margin-bottom:0; } }

.faq-shell[data-search-ready] .topic-nav { display:none; }
