/* Panthia shared shell + content pages. Loaded after /research/research.css so the
   research library and the information pages share one header, menu and footer. */

/* ── Shell ─────────────────────────────────────────────── */
.topbar nav .shop-trigger span{color:#b89acd;margin-left:4px}
#menu nav{margin:52px 0 26px}
#menu nav a{padding:18px 0}
#menu nav a b{margin-left:auto;font-weight:400;font-size:19px;color:#a98cbf}
#menu nav a:hover{color:#f1e5fa}
#menu nav a[aria-current]{color:#fff}
#menu nav a[aria-current] span{color:#e0c9f4}
.menu-secondary{display:flex;gap:28px;margin:0 0 36px;font-size:14px;color:#c8bad4}
.menu-secondary a{min-height:44px;display:inline-flex;align-items:center}
.menu-secondary a:hover,.menu-secondary a[aria-current]{color:#fff}
.site-footer{flex-wrap:wrap;color:#94879f}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 26px}
.site-footer nav a{color:#a99bb4;min-height:32px;display:inline-flex;align-items:center;font-size:13px}
.site-footer nav a:hover,.site-footer nav a[aria-current]{color:#fff}
.footer-note{color:#94879f}
.footer-disclaimer{flex-basis:100%;max-width:940px;margin:10px 0 0;color:#a99bb4;font-size:13px;line-height:1.55}

/* Research library: reserve space while data loads (prevents layout shift) and
   give small inline controls a 24px+ target. */
#papers:empty{min-height:100vh}
.results-status button,.read-source,.paper-details>summary,.paper-links a,.source-footer a{display:inline-flex;align-items:center;min-height:32px}
.topbar .brand{min-height:44px}
.site-footer .footer-mark{display:inline-flex;align-items:center;min-height:32px}

/* ── Content pages ─────────────────────────────────────── */
.content-page .page-heading{margin-bottom:56px}
.content-page .page-heading h1{max-width:820px}
.content-page .intro{max-width:720px}
.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:28px;font-size:13px;color:#a193ad}

.pending{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;color:#e2c893;border:1px solid #9d816099;background:#9d816014;border-radius:100px;padding:4px 10px;white-space:nowrap;vertical-align:middle}
.pending::before{content:"";width:5px;height:5px;border-radius:50%;background:#d8b982;flex:none}
.pending-value{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.pending-value em{font-style:normal;color:#b9aec2}
.pending-note{border-left:1px solid #9d8160;padding:4px 0 4px 18px;margin:28px 0 0;font-size:14px;line-height:1.8;color:#c9b99b;max-width:680px}

.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.35fr);gap:32px;padding:38px 0;border-bottom:1px solid var(--line);align-items:start}
.row-num{font-size:12px;letter-spacing:.06em;color:#b394cc;padding-top:6px}
.row h2,.row .row-title{font-size:24px;font-weight:500;letter-spacing:-.035em;line-height:1.3;margin:0;color:#f0e8f6}
.row p,.doc-body p,.doc-body li,.contact-card p{font-size:16px;line-height:1.8;color:#b3aabb;margin:0 0 14px}
.row p:last-child,.doc-body p:last-child,.contact-card p:last-child{margin-bottom:0}
.row ul,.doc-body ul{margin:0 0 14px;padding-left:20px}
.row li::marker,.doc-body li::marker{color:#a886c7}
.prose a,.row a,.doc-body a,.contact-card a{color:#dcc6ef;text-decoration:underline;text-decoration-color:#ceb5e666;text-underline-offset:4px}
.prose a:hover,.row a:hover,.doc-body a:hover,.contact-card a:hover{color:#fff;text-decoration-color:currentColor}
.section-label{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#b49ac6;margin:84px 0 22px}
.section-label:first-child{margin-top:0}

.next-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:64px}
.pill-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:13px 23px;border:1px solid #c3a0e4;border-radius:100px;font-size:14px;font-weight:550;color:#efe5f7;transition:background .25s,transform .25s}
.pill-link:hover{background:#8e5ba32b;transform:translateY(-2px)}
.pill-link span{font-size:18px;line-height:.8;color:#cfb3e6}
.pill-link.primary{background:#fcfcfd;color:#151318;border-color:#fff}
.pill-link.primary span{color:#151318}
.pill-link.primary:hover{background:#e8daf4}

/* FAQ */
.faq-groups{display:grid;gap:72px}
.faq-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;align-items:start}
.faq-group>h2{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#b49ac6;margin:27px 0 0}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:44px;padding:23px 0;font-size:18px;line-height:1.5;letter-spacing:-.01em;color:#eee6f4}
.faq-list summary:hover{color:#fff}
.faq-list summary .disclosure-icon{font-size:24px;flex:none}
.faq-list details p{font-size:16px;line-height:1.85;color:#b3aabb;margin:0 0 24px;max-width:680px;padding-right:36px}
.faq-list details[open] summary{color:#fff}

/* Privacy / long documents */
.doc{display:grid;grid-template-columns:210px minmax(0,1fr);gap:72px;align-items:start}
.doc-toc{position:sticky;top:28px;font-size:13px}
.doc-toc p{font-size:11px;font-weight:600;letter-spacing:.2em;color:#b49ac6;margin:0 0 14px}
.doc-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.doc-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:1px solid transparent;color:#a99bb4;line-height:1.45}
.doc-toc a:hover{color:#fff;border-color:var(--accent)}
.doc-body{max-width:720px}
.doc-body section{padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.doc-body section:last-child{border-bottom:0;margin-bottom:0}
.doc-body h2{font-size:24px;font-weight:500;letter-spacing:-.035em;line-height:1.3;margin:0 0 18px;color:#f0e8f6}
.doc-body h2 span{font-size:12px;letter-spacing:.06em;color:#b394cc;margin-right:14px;font-weight:500}
.facts{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:16px 24px;margin:0 0 18px}
.facts dt{font-size:13px;color:#a193ad;padding-top:3px}
.facts dd{margin:0;font-size:16px;line-height:1.6;color:#e6dcee}

/* Contact */
.contact-primary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:72px}
.contact-card{border:1px solid #ffffff17;background:linear-gradient(140deg,#1b1721,#111015 68%);border-radius:15px;padding:30px 32px;display:grid;gap:14px;align-content:start}
.contact-card h2{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#b49ac6;margin:0}
.contact-card .contact-value{font-size:22px;letter-spacing:-.02em;color:#f3ebf8;margin:0;overflow-wrap:anywhere}
.contact-card .contact-value a{text-decoration:none;color:#f3ebf8}
.contact-card .contact-value a:hover{color:var(--accent)}

.contact-meta{display:grid;gap:8px;justify-items:start}
.contact-meta>span:first-child{font-size:12px;color:#a193ad}
.intro a{color:#dcc6ef;text-decoration:underline;text-decoration-color:#ceb5e666;text-underline-offset:4px}
.page-heading+.section-label{margin-top:0}

/* 404 */
.not-found main{min-height:calc(100dvh - 96px - 140px);display:flex;flex-direction:column;justify-content:center}
.not-found .code{font-size:12px;letter-spacing:.2em;color:#b49ac6;margin:0 0 20px}

@media(max-width:1000px){
 .doc{grid-template-columns:1fr;gap:40px}
 .doc-toc{position:static}
 .doc-toc ol{display:flex;flex-wrap:wrap;gap:4px 18px;border-left:0}
 .doc-toc a{padding:6px 0;border:0;margin:0}
 .faq-group{grid-template-columns:1fr;gap:18px}
 .faq-group>h2{margin:0}
}
@media(max-width:650px){
 .content-page .page-heading{margin-bottom:40px}
 .row{grid-template-columns:28px minmax(0,1fr);gap:10px 14px;padding:30px 0}
 .row>:last-child{grid-column:2}
 .row h2,.row .row-title{font-size:21px}
 .row p,.doc-body p,.doc-body li,.contact-card p{font-size:15px}
 .section-label{margin:60px 0 18px}
 .faq-groups{gap:52px}
 .faq-list summary{font-size:16px;padding:20px 0;gap:16px}
 .faq-list details p{font-size:15px;padding-right:0}
 .doc-body h2{font-size:21px}
 .doc-body section{padding-bottom:34px;margin-bottom:34px}
 .facts{grid-template-columns:1fr;gap:4px}
 .facts dd{margin-bottom:12px}
 .contact-primary{grid-template-columns:1fr;margin-bottom:56px}
 .contact-card{padding:24px 22px}
 .contact-card .contact-value{font-size:19px}
 .next-links{margin-top:48px}
 .pill-link{width:100%}
 #menu nav{margin:40px 0 20px}
 #menu nav a{font-size:21px;padding:16px 0}
 .site-footer nav{gap:4px 20px}
 .not-found main{min-height:0}
}
@media(prefers-reduced-motion:reduce){.pill-link:hover{transform:none}}
