/* Local adaptations of Claude Design DS4: FAQ 19, tools 28, editorial 08, glossary 32. */
.ri-page{color:var(--ds-text);background:var(--ds-bg);font-family:var(--ds-font-sans);padding-bottom:64px}
.ri-page .ri-wrap{max-width:1180px;margin-inline:auto;padding-inline:32px}
.ri-page .ri-hero{padding-block:64px 48px}
.ri-page .ri-eyebrow{font-family:var(--ds-font-mono);font-size: var(--ds-fs-1);text-transform:uppercase;letter-spacing:.09em;color:var(--ds-text-3);margin:0 0 20px}
.ri-page h1{font-size: var(--ds-fs-8);line-height:1.07;letter-spacing:-.04em;font-weight:600;margin:0 0 28px;text-wrap:balance}
.ri-page h2{font-size: var(--ds-fs-7);line-height:1.15;letter-spacing:-.03em;font-weight:600;margin:0 0 26px;text-wrap:balance}
.ri-page h1 em,.ri-page h2 em{font-family:var(--ds-font-serif);font-weight:400}
.ri-page h3{font-size: var(--ds-fs-5);font-weight:600;line-height:1.35;letter-spacing:-.025em;margin:0 0 12px}
.ri-page p{font-size: var(--ds-fs-3);line-height:1.7;color:var(--ds-text-2)}
.ri-page .ri-lead{max-width:760px;font-size: var(--ds-fs-3);line-height:1.75;margin:0 0 26px}
.ri-page .ri-note{font-size: var(--ds-fs-1);color:var(--ds-text-3);margin-block:24px}
.ri-page .ri-section{border-top:1px solid var(--ds-line);padding-block:48px}
.ri-page section[id]{scroll-margin-top:110px}
.ri-page .ri-bottom{border-top:1px solid var(--ds-line);padding-block:48px;margin-top:32px}
.ri-page .ri-bottom>a{margin:0 20px 12px 0;display:inline-flex}
.ri-page .ri-bottom>a:not(.btn){color:var(--ds-blue);text-decoration:underline;text-underline-offset:4px}
.ri-page a:focus-visible,.ri-page input:focus-visible{outline:3px solid var(--ds-blue);outline-offset:4px}
.ri-page [hidden]{display:none!important}
/* FAQ: practical search and a vertical topic rail. */
.fp-faq-index .ri-hero{max-width:980px}
.fp-faq-index .fi-search{display:block;font-size: var(--ds-fs-2);font-weight:500;max-width:740px;margin-top:32px}
.fp-faq-index .fi-search input{display:block;width:100%;min-height:54px;border:1px solid var(--ds-line-strong);border-radius:var(--ds-radius-md);padding:14px 18px;margin-top:10px;background:var(--ds-bg-soft);font:inherit;font-weight:400}
.fp-faq-index #faq-index-count{font-size: var(--ds-fs-1);color:var(--ds-text-3)}
.fp-faq-index .fi-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
.fp-faq-index .fi-nav{position:sticky;top:110px;border-top:1px solid var(--ds-line);padding-top:24px}
.fp-faq-index .fi-nav a{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ds-line);padding:14px 0;font-size: var(--ds-fs-2);line-height:1.5}
.fp-faq-index .fi-nav a:hover{color:var(--ds-blue)}
.fp-faq-index .fi-nav span{color:var(--ds-text-4);font-family:var(--ds-font-mono);font-size: var(--ds-fs-1)}
.fp-faq-index .fi-group{padding-block:32px;border-top:1px solid var(--ds-line)}
.fp-faq-index .fi-entry{display:block;border-top:1px solid var(--ds-line);padding:24px 0}
.fp-faq-index .fi-entry p{margin:0 0 12px;font-size: var(--ds-fs-2);color:var(--ds-text-3)}
.fp-faq-index .fi-entry>span{font-size: var(--ds-fs-1);color:var(--ds-blue)}
.fp-faq-index .fi-entry:hover h3{text-decoration:underline;text-underline-offset:4px}
/* Tools: action cards and compact document rows, not an article list. */
.fp-tool-index .ti-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;align-items:end}
.fp-tool-index .ti-hero nav{padding:26px;background:var(--ds-bg-soft);border:1px solid var(--ds-line);border-radius:var(--ds-radius-xl)}
.fp-tool-index .ti-hero nav a{display:block;padding:20px 0;border-bottom:1px solid var(--ds-line);font-size: var(--ds-fs-2)}
.fp-tool-index .ti-hero nav a:last-child{border-bottom:0}
.fp-tool-index .ti-hero strong{font-family:var(--ds-font-mono);font-size: var(--ds-fs-1);font-weight:400;color:var(--ds-text-4);margin-right:12px}
.fp-tool-index .ti-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fp-tool-index .ti-tools>a{display:flex;flex-direction:column;border:1px solid var(--ds-line);padding:28px;border-radius:var(--ds-radius-xl);background:var(--ds-bg-soft)}
.fp-tool-index .ti-tools>a:hover{border-color:var(--ds-blue)}
.fp-tool-index .ti-tools p{font-size: var(--ds-fs-2);margin:0 0 24px;color:var(--ds-text-3)}
.fp-tool-index .ti-tools>a>span:last-child{margin-top:auto;border-top:1px solid var(--ds-line);padding-top:18px;font-size: var(--ds-fs-1);color:var(--ds-blue)}
.fp-tool-index .ti-model-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;padding-top:28px;margin-top:28px;border-top:1px solid var(--ds-line)}
.fp-tool-index .ti-model-group ul{list-style:none;margin:0;padding:0}
.fp-tool-index .ti-model-group a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--ds-line);font-size: var(--ds-fs-3);line-height:1.55}
.fp-tool-index .ti-model-group a:hover{color:var(--ds-blue)}
/* Blog: newspaper-style lead, asymmetrical selection, editorial category columns. */
.fp-blog-index .bi-hero{border-bottom:3px solid var(--ds-text)}
.fp-blog-index .bi-hero>div{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;margin-top:36px}
.fp-blog-index .bi-hero nav{display:flex;flex-direction:column;gap:12px;font-size: var(--ds-fs-2)}
.fp-blog-index .bi-hero nav a{color:var(--ds-blue)}
.fp-blog-index .bi-selection{display:grid;grid-template-columns:1.4fr 1fr;gap:0 40px}
.fp-blog-index .bi-selection>a{display:flex;flex-direction:column;border-bottom:1px solid var(--ds-line);padding:26px 0}
.fp-blog-index .bi-selection>a:first-child{grid-row:span 2;border-right:1px solid var(--ds-line);padding-right:40px}
.fp-blog-index .bi-selection>a:first-child h3{font-size: var(--ds-fs-7);line-height:1.15}
.fp-blog-index .bi-selection p{font-size: var(--ds-fs-2);color:var(--ds-text-3);margin:0 0 24px}
.fp-blog-index .bi-selection>a>span:last-child{margin-top:auto;font-size: var(--ds-fs-1);color:var(--ds-blue)}
.fp-blog-index .bi-category{display:grid;grid-template-columns:1fr 2fr;gap:70px}
.fp-blog-index .bi-category header p{font-size: var(--ds-fs-2);color:var(--ds-text-3)}
.fp-blog-index .bi-category ul{list-style:none;padding:0;margin:0;columns:2;column-gap:32px}
.fp-blog-index .bi-category li{break-inside:avoid;border-top:1px solid var(--ds-line);padding:20px 0}
.fp-blog-index .bi-category h3{font-size: var(--ds-fs-3)}
.fp-blog-index .bi-category a>span{font-size: var(--ds-fs-1);color:var(--ds-blue)}
.fp-blog-index .bi-category a:hover h3{text-decoration:underline;text-underline-offset:4px}
/* Glossary: alphabet rail and dictionary definitions. */
.fp-glossary-index .gi-hero{max-width:980px}
.fp-glossary-index .gi-layout{display:grid;grid-template-columns:80px minmax(0,1fr);gap:64px}
.fp-glossary-index .gi-alphabet{display:flex;flex-wrap:wrap;align-content:start;gap:8px;position:sticky;top:110px;align-self:start}
.fp-glossary-index .gi-alphabet a{display:grid;place-items:center;min-width:34px;min-height:36px;border:1px solid var(--ds-line);font-family:var(--ds-font-mono);font-size: var(--ds-fs-1)}
.fp-glossary-index .gi-alphabet a:hover{color:var(--ds-blue);border-color:var(--ds-blue)}
.fp-glossary-index .gi-letter{display:grid;grid-template-columns:70px minmax(0,1fr);gap:32px;border-top:1px solid var(--ds-line);padding-block:32px}
.fp-glossary-index .gi-letter h2{font-family:var(--ds-font-serif);font-size: var(--ds-fs-7);font-weight:400}
.fp-glossary-index .gi-letter dl{margin:0}
.fp-glossary-index .gi-letter dl>div+div{border-top:1px solid var(--ds-line);margin-top:24px;padding-top:24px}
.fp-glossary-index .gi-letter dt{font-size: var(--ds-fs-5);line-height:1.4;font-weight:600}
.fp-glossary-index .gi-letter dt a>span{color:var(--ds-blue);font-size: var(--ds-fs-3)}
.fp-glossary-index .gi-letter dd{margin:12px 0 0;font-size: var(--ds-fs-3);line-height:1.75;color:var(--ds-text-3)}
@media(max-width:900px){.fp-faq-index .fi-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}.fp-tool-index .ti-hero{gap:32px}.fp-tool-index .ti-tools{grid-template-columns:1fr 1fr}.fp-blog-index .bi-category{grid-template-columns:1fr;gap:24px}}
@media(max-width:640px){.ri-page .ri-wrap{padding-inline:20px}.ri-page .ri-hero{padding-block:40px}.ri-page h1{font-size: var(--ds-fs-7)}.ri-page .ri-section{padding-block:32px}.ri-page .btn{white-space:normal}.fp-faq-index .fi-layout,.fp-tool-index .ti-hero,.fp-tool-index .ti-tools,.fp-tool-index .ti-model-group,.fp-blog-index .bi-hero>div,.fp-blog-index .bi-selection,.fp-glossary-index .gi-layout{grid-template-columns:1fr;gap:24px}.fp-faq-index .fi-nav{position:static}.fp-tool-index .ti-model-group{gap:8px}.fp-blog-index .bi-selection>a:first-child{grid-row:auto;border-right:0;padding-right:0}.fp-blog-index .bi-selection>a:first-child h3{font-size: var(--ds-fs-6)}.fp-blog-index .bi-category ul{columns:1}.fp-glossary-index .gi-alphabet{position:static}.fp-glossary-index .gi-letter{grid-template-columns:38px minmax(0,1fr);gap:18px}.fp-glossary-index .gi-letter h2{font-size: var(--ds-fs-7)}}
/* Resources: broad wayfinding panels; library: sober reading catalogue. */
.fp-resource-index .rh-hero{display:grid;grid-template-columns:1.8fr 1fr;gap:64px;align-items:end}
.fp-resource-index .rh-hero aside{padding:28px;background:var(--ds-bg-soft);border:1px solid var(--ds-line);border-radius:var(--ds-radius-xl)}
.fp-resource-index .rh-hero aside a{display:block;font-size: var(--ds-fs-2);padding:18px 0;border-top:1px solid var(--ds-line);color:var(--ds-blue)}
.fp-resource-index .rh-families{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}
.fp-resource-index .rh-families>a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:20px;border-top:1px solid var(--ds-line);padding:28px 0}
.fp-resource-index .rh-number{font-family:var(--ds-font-mono);font-size: var(--ds-fs-1);color:var(--ds-text-4);padding-top:3px}
.fp-resource-index .rh-families .ri-eyebrow{display:block}
.fp-resource-index .rh-families p{font-size: var(--ds-fs-2);color:var(--ds-text-3)}
.fp-resource-index .rh-open{color:var(--ds-blue);font-size: var(--ds-fs-1)}
.fp-resource-index .rh-families>a:hover h3{text-decoration:underline;text-underline-offset:4px}
.fp-resource-index .rh-paths{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
.fp-resource-index .rh-paths ol{list-style:decimal;padding-left:24px;margin:0}
.fp-resource-index .rh-paths li{padding:0 0 24px 8px;margin-bottom:24px;border-bottom:1px solid var(--ds-line)}
.fp-resource-index .rh-paths p{font-size: var(--ds-fs-2);margin-block:12px}
.fp-resource-index .rh-paths a{color:var(--ds-blue);font-size: var(--ds-fs-2);text-decoration:underline;text-underline-offset:4px}
.fp-library-index .li-hero{border-bottom:3px solid var(--ds-text)}
.fp-library-index .li-hero nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.fp-library-index .li-hero nav a{padding:12px 16px;border:1px solid var(--ds-line);border-radius:var(--ds-radius-md);font-size: var(--ds-fs-1)}
.fp-library-index .li-hero nav a:hover{color:var(--ds-blue);border-color:var(--ds-blue)}
.fp-library-index .li-category{display:grid;grid-template-columns:1fr 2fr;gap:64px}
.fp-library-index .li-category ul{list-style:none;margin:0;padding:0}
.fp-library-index .li-category li+li{border-top:1px solid var(--ds-line)}
.fp-library-index .li-category a{display:block;padding:24px 0}
.fp-library-index .li-category p{font-size: var(--ds-fs-2);color:var(--ds-text-3);margin:0 0 14px}
.fp-library-index .li-category a>span{font-size: var(--ds-fs-1);color:var(--ds-blue)}
.fp-library-index .li-category a:hover h3{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.fp-resource-index .rh-hero,.fp-resource-index .rh-paths,.fp-library-index .li-category{grid-template-columns:1fr;gap:24px}}
@media(max-width:640px){.fp-resource-index .rh-families{grid-template-columns:1fr;gap:8px}}
