/* Origin Research · native Ghost theme additions, no animation runtime. */
:root { --or-line: var(--color-border); --or-paper: var(--color-background-tone); }
body { -webkit-font-smoothing: antialiased; }
:lang(zh) body { line-height: 1.7; }
:lang(zh) h1, :lang(zh) h2, :lang(zh) h3 { line-height: 1.4; word-break: normal; overflow-wrap: anywhere; }
:lang(zh) .ghost-content { line-height: 1.95; overflow-wrap: anywhere; }
:lang(zh) .ghost-content :is(h2,h3,h4) { line-height: 1.5; margin-top: 2em; }
a, button, summary, input { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 5px; }
body > a.sr-only:focus { position: fixed; top: 10px; left: 10px; width: auto; height: auto; clip: auto; clip-path: none; padding: 12px 20px; background: var(--color-background); color: var(--color-typography); z-index: 9999; }
[data-header] > div { border-bottom: 1px solid var(--or-line); }
[data-header-brand] { min-width: 0; }
[data-header-brand] img { max-width: min(46vw, 260px); object-fit: contain; }
[data-hero] > div { margin-top: clamp(36px, 6vw, 76px); margin-bottom: clamp(40px, 6vw, 72px); }
[data-hero-headline] { max-width: 16em; font-size: clamp(2rem, 4.5vw, 3.65rem); line-height: 1.25 !important; letter-spacing: -.035em; }
[data-hero-subheading] { max-width: 40em; font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.85; text-wrap: pretty; }
.or-eyebrow { display: flex; gap: 14px; align-items: center; font-size: 11px; font-weight: 650; letter-spacing: .13em; color: var(--color-typography-tone); margin: 0 0 14px; }
.or-eyebrow::before { content: ''; width: 7px; height: 7px; background: var(--color-brand); border-radius: 50%; flex-shrink: 0; }
.or-eyebrow span { letter-spacing: .04em; padding-left: 14px; border-left: 1px solid var(--or-line); }
.or-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 12px; }
.or-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 10px 22px; border: 1px solid var(--or-line); border-radius: 6px; color: var(--color-typography); background: var(--color-background); font-size: 14px; font-weight: 600; text-decoration: none; transition: background-color .15s, border-color .15s; }
.or-button:hover { border-color: var(--color-typography-tone); background: var(--or-paper); }
.or-primary { background: var(--color-brand); border-color: var(--color-brand); color: var(--color-brand-contrast); }
.or-primary:hover { background: var(--color-brand); border-color: var(--color-typography); }
.or-section { padding: 0 24px; margin: 0 0 clamp(56px, 7vw, 88px); scroll-margin-top: 24px; }
.or-container { max-width: var(--container-width, 1080px); margin-inline: auto; }
.or-section-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; border-top: 1px solid var(--or-line); padding-top: 28px; margin-bottom: 26px; }
.or-section-head h2 { font-size: clamp(1.4rem, 2.5vw, 1.9rem); font-weight: 600; letter-spacing: -.025em; margin: 0; }
.or-section-head .or-eyebrow { margin-bottom: 8px; }
.or-text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: var(--color-typography); text-decoration: none; }
.or-text-link:hover { color: var(--color-brand); text-decoration: underline; text-underline-offset: 5px; }
.or-research-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.or-research-card { display: flex; flex-direction: column; min-width: 0; padding: 25px; background: var(--or-paper); border: 1px solid var(--or-line); border-radius: 8px; }
.or-card-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 11px; color: var(--color-typography-tone); margin-bottom: 20px; }
.or-card-meta span { color: var(--color-typography); }
.or-research-card h3 { font-size: 18px; line-height: 1.65; font-weight: 600; margin: 0 0 15px; }
.or-research-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.or-card-excerpt { color: var(--color-typography-tone); font-size: 13px; line-height: 1.9; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 22px; }
.or-research-card > .or-text-link { margin-top: auto; padding-top: 12px; }
.or-note { color: var(--color-typography-tone); }
.or-note a { text-decoration: underline; }
.or-membership-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.or-member-card { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(24px,4vw,40px); border: 1px solid var(--or-line); border-radius: 8px; gap: 16px; }
.or-member-accent { background: var(--or-paper); border-top: 3px solid var(--color-brand); }
.or-card-index { font-size: 11px; letter-spacing: .06em; color: var(--color-typography-tone); }
.or-member-card h3 { font-size: 23px; font-weight: 600; }
.or-member-card p { color: var(--color-typography-tone); font-size: 14px; line-height: 1.9; max-width: 30em; margin-bottom: 8px; }
.or-member-card .or-button { margin-top: auto; }
.or-faq { margin-top: 24px; border-top: 1px solid var(--or-line); }
.or-faq details { border-bottom: 1px solid var(--or-line); }
.or-faq summary { cursor: pointer; padding: 19px 4px; font-size: 14px; font-weight: 600; }
.or-faq details p { font-size: 14px; color: var(--color-typography-tone); line-height: 1.9; padding: 0 4px 22px; max-width: 55em; }
[data-latest-posts] { scroll-margin-top: 24px; }
[data-latest-posts] [data-feed-header] { font-size: 22px; text-transform: none; padding-bottom: 18px; }
[data-post-card-title] { line-height: 1.6 !important; }
[data-post-card-excerpt] { font-size: 14px; line-height: 1.8; }
[data-post-card-info] { line-height: 1.5; font-size: 12px; }
[data-form-subscribe] { min-width: 0; }
[data-members-email] { min-width: 0; min-height: 44px; }
[data-members-form] { gap: 8px; }
[data-portal-notice] { font-size: 12px; line-height: 1.7; color: var(--color-typography-tone); }
[data-post-card-content], [data-latest-posts] .flex-1 { min-width: 0; }
[data-footer-bg] { display: none; }
@media(max-width: 767px) {
 .or-section { padding-inline: 20px; }
 .or-research-grid, .or-membership-grid { grid-template-columns: 1fr; }
 .or-research-card { padding: 22px; }
 .or-card-meta { margin-bottom: 12px; }
 .or-research-card h3 { font-size: 18px; }
 .or-card-excerpt { -webkit-line-clamp: 2; }
 [data-hero] figure { max-height: 300px; overflow: hidden; }
 [data-hero] figure img { max-height: 300px; }
 [data-header] button { min-width: 40px; min-height: 40px; }
 [data-hero] .or-eyebrow { flex-wrap: wrap; font-size: 10px; gap: 10px; }
 [data-post-card] > a { gap: 14px; }
 [data-post-card] figure { flex: 0 0 26%; }
 [data-post-card-info] { gap: 6px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior: auto !important; }
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.or-index-heading { margin-top: 48px; margin-bottom: 32px; }
.or-index-heading h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 600; }

/* Resolve native controls and legacy inline emphasis consistently. */
:root { color-scheme: light; }
:root[data-color-scheme="dark"] { color-scheme: dark; --or-emphasis: #74ce88; }
:root[data-color-scheme="light"] { --or-emphasis: #157a36; }
@media(prefers-color-scheme:dark) {
 :root[data-color-scheme="system"] { color-scheme: dark; --or-emphasis: #74ce88; }
}
@media(prefers-color-scheme:light) {
 :root[data-color-scheme="system"] { --or-emphasis: #157a36; }
}
[data-hero-headline] span[style*="color"] { color: var(--or-emphasis) !important; }
.or-color-switch { display: inline-flex; align-items: center; padding: 3px; gap: 2px; border: 1px solid var(--or-line); border-radius: 8px; background: var(--or-paper); }
.or-color-switch button { cursor: pointer; display: flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 5px 8px; border-radius: 5px; font-size: 11px; color: var(--color-typography-tone); }
.or-color-switch button[aria-pressed="true"] { color: var(--color-typography); background: var(--color-background); box-shadow: 0 1px 3px #0002; }
[data-logo-list] { filter: none !important; background: #fff; border-radius: 8px; padding: 20px; }
.ghost-content :is(pre,table) { max-width: 100%; overflow-x: auto; }
.or-research-card { transition: border-color .18s, box-shadow .18s; }
.or-research-card:hover { border-color: var(--color-brand); box-shadow: 0 8px 24px #00000008; }

/* Editorial palette: warm paper by day, restrained graphite by night. */
:root[data-resolved-color-scheme="light"] {
 --color-background: #fbfcfa; --color-background-tone: #f3f5f1;
 --color-typography: #18251d; --color-typography-tone: #526056;
 --color-typography-content: #34463a; --color-border: #dfe6dc;
}
:root[data-resolved-color-scheme="dark"] {
 --color-background: #101713; --color-background-tone: #18221c;
 --color-typography: #e8f0e9; --color-typography-tone: #b1c2b5;
 --color-typography-content: #c4d2c7; --color-border: #304135;
 --color-background-reverse: #e8f0e9; --color-typography-reverse: #18251d;
}
.home-template [data-latest-posts] [data-post-card] figure { display: none; }
.home-template [data-latest-posts] [data-post-card-title] { font-size: clamp(17px,1.6vw,20px); }
.home-template [data-latest-posts] [data-post-card] > a { padding-block: 24px; }
[data-post-card-excerpt] { max-width: none; }
:lang(zh) [data-post-hero-content] h1 { line-height: 1.5 !important; }

.or-flagship-lead { border: 2px solid var(--color-brand); }
.or-flagship-lead h3 { font-size: 21px; }
.or-flagship-lead .or-card-meta > span { color: var(--or-emphasis); font-weight: 700; }
