/* REALITAS styles. Colors are semantic tokens: dark is the default theme; :root[data-theme="light"] restores the light palette. */
:root{color-scheme:dark;
--paper:#151311;--soft:#1e1b18;--hover:#25221e;--footer-bg:#100e0c;--input-bg:#1e1b18;
--ink:#ede7dc;--text:#d6cfc4;--muted:#a9a196;--faint:#8f877c;
--line:#34302a;--line-strong:#4d463e;
--accent:#e0674b;--accent-fill:#b8412a;--on-accent:#fff;--focus:#e0674b;
--button-bg:#ede7dc;--button-text:#151311;
--inverse-bg:#231f1b;--inverse-text:#ede7dc;--inverse-muted:#b8afa3;--inverse-line:#3b3630;--inverse-accent:#e8a58b;--inverse-num:#d4b196;--inverse-focus:#e8a58b;--inverse-border:#3b3630;
--gauge-track:#3d3731;--gauge-fill:#e0674b;--gauge-tick:#625a50;--bar-track:#3d3731;
--shadow:0 12px 30px #0006;
--header-h:68px;--control-h:36px;--control-radius:3px;
--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
:root[data-theme="light"]{color-scheme:light;
--paper:#f7f7f3;--soft:#efefe7;--hover:#edeee7;--footer-bg:#efefe8;--input-bg:#fff;
--ink:#1e2422;--text:#414a43;--muted:#5e655f;--faint:#686d66;
--line:#d9dcd4;--line-strong:#c4c9bf;
--accent:#b73925;--accent-fill:#b73925;--on-accent:#fff;--focus:#b73925;
--button-bg:#1e2422;--button-text:#fff;
--inverse-bg:#1e2422;--inverse-text:#f7f7f3;--inverse-muted:#bfc6bd;--inverse-line:#4a524c;--inverse-accent:#e6baa6;--inverse-num:#caa992;--inverse-focus:#e6baa6;--inverse-border:#1e2422;
--gauge-track:#d3d6ca;--gauge-fill:#b73925;--gauge-tick:#aab1a4;--bar-track:#d8ddd2;
--shadow:0 12px 30px #1e242214}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,summary{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
button:disabled{cursor:not-allowed}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
button{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.08}
h1,h2{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(3rem,5.6vw,5.2rem);letter-spacing:-.055em}
h2{font-size:clamp(1.85rem,3vw,2.6rem);letter-spacing:-.035em}
h3{font-size:1.15rem}
em{font-weight:400}
p+p{margin-top:.9rem}
.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.narrow{max-width:1000px}
.accent{color:var(--accent)}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.5;margin-bottom:12px}
.micro{font-size:.8rem;color:var(--muted);line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:fixed;top:10px;left:10px;padding:12px 20px;background:var(--ink);color:var(--paper);z-index:100;transform:translateY(-180%)}
.skip:focus{transform:none}
/* Header */
/* Sticky header: always visible, in normal flow (so content starts below it without offsets). */
.site-header{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--line)}
.header-row{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:var(--header-h)}
/* Official horizontal logo (image asset). Light theme: original colours; dark theme: reversed variant of the same artwork. */
.site-logo{display:inline-flex;align-items:center;flex-shrink:0;order:1;line-height:0;padding:4px 0}
.site-logo-img{display:block;height:38px;width:auto}
.site-logo-on-light{display:none}
:root[data-theme="light"] .site-logo-on-light{display:block}
:root[data-theme="light"] .site-logo-on-dark{display:none}
.site-logo:focus-visible{outline-offset:3px}
.brand{font-weight:800;letter-spacing:.1em;font-size:1.4rem;display:inline-flex;align-items:center;gap:11px;line-height:1}
.brand-mark{border:1px solid var(--ink);width:34px;height:36px;display:grid;place-items:center;font-family:var(--serif);font-size:27px;letter-spacing:-.08em;position:relative}
.brand-mark span{position:absolute;right:3px;bottom:0;color:var(--accent)}
nav{display:flex;align-items:center;gap:22px;font-size:.875rem;order:3}
nav>a{padding:10px 0}
nav>a.active,.religion-menu.active>summary{color:var(--accent)}
.header-tools{display:flex;align-items:center;gap:8px;order:4}
/* Stable-dimension labels: every locale's text for the control is stacked in one grid cell (hidden copies size it),
   so switching language changes the text, never the control's width. Generated in the HTML and refreshed by app.js. */
.stable-label{display:inline-grid;align-items:center;justify-items:center;vertical-align:middle}
.stable-label>*{grid-area:1/1;white-space:nowrap}
.stable-label.start{justify-items:start}
.stable-label.end{justify-items:end}
.stable-label.wrap>*{white-space:normal}
.stable-sizer{visibility:hidden;pointer-events:none;user-select:none}
/* Header button system: Home, theme, and Menu share height, padding, radius, icon size, hover, pressed, and focus. */
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--control-h);padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:transparent;color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.hbtn:hover{border-color:var(--ink);background:var(--hover);color:var(--ink)}
.hbtn:active,.hbtn[aria-expanded="true"]{background:var(--soft);border-color:var(--ink)}
.hbtn[aria-current="page"]{color:var(--accent);border-color:var(--accent)}
.hbtn:focus-visible{outline-offset:3px}
.hbtn-icon{display:block;width:15px;height:15px;flex-shrink:0}
.home-button{order:2;margin-left:auto}
.menu-icon-close{display:none}
.menu-toggle[aria-expanded="true"] .menu-icon-open{display:none}
.menu-toggle[aria-expanded="true"] .menu-icon-close{display:block}
.nav-extra{display:none}
/* Language selector: EN | PT | ES. Selection is shown by filled background and bold text, not color alone. */
.lang-switch{display:inline-flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--control-radius);overflow:hidden}
.lang-switch button{width:36px;height:calc(var(--control-h) - 2px);padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.lang-switch button+button{border-left:1px solid var(--line-strong)}
.lang-switch button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lang-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.lang-switch button:focus-visible{outline-offset:2px;position:relative;z-index:1}
.theme-icon{display:block;flex-shrink:0}
.theme-label-light{display:none}
:root[data-theme="light"] .theme-label-light{display:inline}
:root[data-theme="light"] .theme-label-dark{display:none}
.religion-menu{position:relative}
.religion-menu summary{list-style:none;padding:10px 0}
.religion-menu summary::-webkit-details-marker{display:none}
.religion-menu summary>span[aria-hidden]{margin-left:5px}
.religion-dropdown{position:absolute;left:-22px;top:calc(100% + 10px);z-index:20;width:320px;padding:10px 22px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.religion-dropdown .religion-item{min-height:38px;padding:7px 0;font-size:.875rem}
.menu-toggle{display:none}
.edition-line{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font-size:.68rem;letter-spacing:.13em;color:var(--muted);font-weight:700}
/* Home hero */
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;padding:18px 0 34px;align-items:center}
.hero .eyebrow{display:flex;align-items:center;gap:10px}
.mini-rule{height:2px;width:25px;background:var(--accent)}
.hero h1{font-size:clamp(3.4rem,6vw,5.8rem);line-height:.99;letter-spacing:-.065em}
.hero h1 em{color:var(--accent)}
.hero-description{font-size:1.0625rem;color:var(--muted);line-height:1.7;margin-top:18px}
.button-row{display:flex;align-items:center;gap:24px;margin-top:20px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;min-height:46px;padding:12px 20px;font-size:.875rem;font-weight:700;border:1px solid var(--ink);transition:background .15s}
.primary{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}
.primary:hover{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}
.text-link{font-size:.875rem;font-weight:700;display:inline-flex;align-items:center;gap:16px;min-height:44px}
.hero-score{background:var(--soft);padding:22px 28px 20px;border:1px solid var(--line);position:relative}
.score-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.68rem;font-weight:700;letter-spacing:.1em}
.outline-tag{border:1px solid var(--line-strong);padding:3px 7px;font-size:.625rem;letter-spacing:.08em}
.score-question{font-family:var(--serif);font-size:2.1rem;line-height:1.1;margin-top:14px;letter-spacing:-.03em}
/* Score meter: dimensions unchanged; colors come from gauge tokens */
.meter{position:relative;max-width:380px;margin:10px auto 0}
.meter svg{width:100%;display:block;overflow:visible}
.meter .gauge-track{stroke:var(--gauge-track)}
.meter .gauge-fill{stroke:var(--gauge-fill)}
.meter .gauge-tick{stroke:var(--gauge-tick)}
.meter-center{position:absolute;bottom:12px;left:0;right:0;text-align:center}
.meter-number{font-size:5rem;font-weight:500;line-height:1;letter-spacing:-.075em;font-variant-numeric:tabular-nums}
.meter-number small{font-size:1rem;color:var(--muted);letter-spacing:0;margin-left:5px}
.meter-verdict{font-size:.7rem;letter-spacing:.12em;font-weight:700;color:var(--accent);margin-top:10px}
.score-caption{display:flex;justify-content:space-between;font-size:.625rem;color:var(--muted);letter-spacing:.08em;margin-top:4px}
.score-explanation{border-top:1px solid var(--line-strong);padding-top:12px;margin-top:12px;font-size:.95rem;line-height:1.55}
.hero-score .text-link{margin-top:4px}
.hero-score .micro{margin-top:2px;font-size:.75rem}
.prototype-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;display:flex;align-items:center;gap:16px;font-size:.8rem;color:var(--muted)}
.note-label{font-size:.625rem;font-weight:700;letter-spacing:.1em;color:var(--accent);white-space:nowrap}
/* Language fallback / draft-translation notice */
.locale-notice{border:1px solid var(--line-strong);background:var(--soft);padding:10px 14px;display:flex;align-items:center;gap:16px;font-size:.85rem;color:var(--ink);margin:0 0 12px}
.lang-badge{font-weight:700;color:var(--ink)}
.excerpt{margin:10px 0 2px;padding-left:14px;border-left:2px solid var(--line-strong);font-family:var(--serif)}
/* Avoid showing untranslated text while a non-English page is being localized (removed by app.js; 3 s safety timeout in <head>). */
html.i18n-pending body{visibility:hidden}
/* Investigation grids */
.investigation-section{padding:34px 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}
.section-heading .eyebrow{margin-bottom:8px}
.section-heading>p{font-size:.875rem;color:var(--muted)}
.investigation-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.investigation-card{grid-column:span 2;padding:20px 22px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:background .15s}
.investigation-card:nth-child(-n+2){grid-column:span 3}
.investigation-card:hover{background:var(--hover)}
.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:12px}
.index-number{font-family:var(--serif);font-size:1rem;letter-spacing:0}
.investigation-card h3{font-family:var(--serif);font-weight:400;font-size:1.75rem;letter-spacing:-.025em;margin-top:12px;line-height:1.13}
.investigation-card:nth-child(-n+2) h3{font-size:2.15rem;max-width:420px}
.investigation-card p{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:10px;max-width:400px}
.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:auto;padding-top:16px}
.compact-score{display:flex;align-items:center;gap:13px}
.score-num{font-size:2.2rem;letter-spacing:-.06em;line-height:1;border-left:3px solid var(--accent);padding-left:10px;font-variant-numeric:tabular-nums}
.compact-score .score-label{display:block;font-size:.62rem;letter-spacing:.07em;color:var(--muted);font-weight:700}
.compact-score .verdict{display:block;font-size:.7rem;margin-top:3px}
.card-arrow{border:1px solid var(--line-strong);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}
.card-warning{font-size:.65rem;letter-spacing:.025em;color:var(--muted);margin-top:10px}
/* Home: contemporary areas panel sits in the grid beside the sample card */
.area-panel{grid-column:span 3;padding:20px 22px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.area-panel h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;letter-spacing:-.02em}
.area-panel p{font-size:.875rem;color:var(--muted);margin-top:8px}
.area-panel .topic-list{margin-top:14px}
/* Method strip and dark panels use the inverse tokens */
.method-strip{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;background:var(--inverse-bg);color:var(--inverse-text);border:1px solid var(--inverse-border);padding:34px 40px;margin-top:4px}
.method-strip .eyebrow{color:var(--inverse-muted)}
.method-strip .text-link{margin-top:12px;color:var(--inverse-accent)}
.method-strip a:focus-visible{outline-color:var(--inverse-focus)}
.method-strip ol{list-style:none;padding:0;margin:0}
.method-strip li{display:flex;gap:24px;padding:14px 0;border-bottom:1px solid var(--inverse-line)}
.method-strip li:first-child{padding-top:0}
.method-strip li:last-child{border:0;padding-bottom:0}
.method-strip li>span{font-family:var(--serif);font-size:1.25rem;color:var(--inverse-num)}
.method-strip h3{font-family:var(--serif);font-size:1.5rem;font-weight:400}
.method-strip li p{font-size:.875rem;color:var(--inverse-muted);margin-top:4px}
.religions-section{padding:36px 0 16px}
.religion-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:35px}
.religion-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.religion-item[aria-disabled=true]{color:var(--faint)}
.religion-item small{font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.religion-item.available{font-weight:700;color:var(--ink)}
.religion-item.available small{color:var(--accent)}
.community-block{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;border-top:1px solid var(--line);padding:28px 0;margin-top:24px}
.community-block p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin-top:12px}
.community-actions{padding-top:4px}
.soon-label{font-size:.65rem;letter-spacing:.12em;color:var(--accent);font-weight:700}
.community-actions>div{display:flex;align-items:center;gap:20px;min-height:48px;border-bottom:1px solid var(--line);font-size:.9375rem}
.community-actions>div span:first-child{font-size:.75rem;color:var(--muted)}
.community-actions>div span:nth-child(2){min-width:0}
.community-actions>div span:last-child{margin-left:auto;color:var(--muted)}
.advertisement{margin:16px 0 34px;min-height:76px;border:1px dashed var(--line-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;color:var(--muted)}
.advertisement span:first-child{font-size:.65rem;letter-spacing:.18em}
.advertisement span:last-child{font-size:.75rem}
/* Footer */
.site-footer{margin-top:24px;border-top:1px solid var(--line);background:var(--footer-bg)}
.footer-top{display:flex;justify-content:space-between;gap:50px;padding:26px 0}
.footer-top p{font-family:var(--serif);font-size:1rem;margin-top:10px;color:var(--muted)}
.footer-links{display:grid;grid-template-columns:repeat(3,auto);gap:8px 30px;font-size:.8rem}
.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:12px 0;font-size:.7rem;color:var(--muted)}
/* Archive pages */
.page-intro{padding:26px 0 24px}
.page-intro h1{margin-bottom:14px}
.page-intro>p:not(.eyebrow){font-size:1.125rem;color:var(--muted)}
.page-intro h1 em{color:var(--accent)}
.archive-meta{display:flex;gap:30px;margin-top:16px;font-size:.65rem;letter-spacing:.1em;color:var(--muted)}
.discovery{display:flex;gap:22px;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.filters{display:flex;gap:5px;flex-wrap:wrap}
.filters button{border:1px solid transparent;padding:9px 15px;background:none;font-size:.875rem;min-height:44px}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.filters button:hover{border-color:var(--ink)}
.search-box{display:flex;align-items:center;border-bottom:1px solid var(--ink);gap:10px;min-height:44px}
.search-box>span{font-size:1.7rem}
.search-box input{width:220px;border:0;background:transparent;padding:10px 0;font-size:.875rem;color:var(--ink)}
.search-box input::placeholder{color:var(--muted);opacity:1}
.archive-list{border-top:1px solid var(--line)}
.archive-row{display:grid;grid-template-columns:45px 1fr 180px 35px;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.archive-row:hover{background:var(--soft)}
.archive-row .index-number{align-self:start;color:var(--muted)}
.archive-row h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;margin:4px 0}
.archive-row p{font-size:.875rem;color:var(--muted)}
.archive-row .card-meta{justify-content:start}
.future-topics{padding:12px 0}
.topic-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.topic-list>span{border:1px solid var(--line);padding:8px 14px;font-size:.875rem;color:var(--muted)}
.topic-list>span.topic-active{color:var(--ink);border-color:var(--line-strong)}
.topic-list small{margin-left:12px;font-size:.65rem;text-transform:uppercase}
.topic-list .topic-active small{color:var(--accent)}
/* Article */
.breadcrumbs{display:flex;gap:10px;font-size:.75rem;color:var(--muted);padding-top:16px;flex-wrap:wrap}
.article-header{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;padding:20px 0}
.article-title h1{font-size:clamp(2.8rem,5vw,4.6rem);margin-bottom:16px}
.claim-line{font-family:var(--serif);font-size:1.3rem;line-height:1.5;max-width:620px}
.article-meta{font-size:.75rem;color:var(--muted);margin-top:14px}
.share-button{border:1px solid var(--ink);padding:9px 18px;background:transparent;font-size:.875rem;margin-top:14px;min-height:44px}
.article-score{align-self:center;border-left:1px solid var(--line);padding:4px 0 4px 30px}
.article-score .meter{max-width:290px}
.article-score .meter-number{font-size:4.4rem}
.article-score>.micro{text-align:center;margin-top:12px}
.article-layout{display:grid;grid-template-columns:210px minmax(0,760px);gap:48px;justify-content:space-between;margin-top:28px}
.toc{align-self:start;position:sticky;top:calc(var(--header-h) + 16px)}
.toc p{font-size:.7rem;letter-spacing:.1em;font-weight:700;margin-bottom:4px}
.toc a{display:block;font-size:.8rem;padding:7px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.prose{font-size:1.0625rem;line-height:1.7;min-width:0}
.prose section{margin-bottom:30px;scroll-margin-top:calc(var(--header-h) + 12px)}
.prose h2{font-size:1.9rem;margin-bottom:12px}
.prose h3{font-size:1.1rem;margin-bottom:10px}
.prose p{color:var(--text)}
.prose ul,.prose ol{padding-left:25px}
.prose li{padding-left:6px;margin-bottom:10px}
.section-number{font:700 .7rem var(--sans);color:var(--accent);letter-spacing:.08em;display:block;margin-bottom:6px}
.argument-box{border-top:2px solid var(--ink);padding:20px 22px;background:var(--soft)}
.evidence-card{border:1px solid var(--line);padding:18px 20px;margin-top:12px}
.evidence-card .eyebrow{margin-bottom:8px}
.evidence-card h3{font:400 1.4rem var(--serif);margin-bottom:8px}
.evidence-card p{font-size:.9375rem}
.evidence-card .source-reference{font-size:.8rem;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);overflow-wrap:anywhere}
.verdict-panel{background:var(--inverse-bg);color:var(--inverse-text);border:1px solid var(--inverse-border);padding:24px}
.verdict-panel p{color:var(--inverse-muted)}
.verdict-panel .compact-score{margin:16px 0}
.verdict-panel .score-num{font-size:4rem;border-color:var(--inverse-accent)}
.verdict-panel .score-label{color:var(--inverse-muted)}
.verdict-panel .verdict{font-size:1rem}
.breakdown{margin-top:18px}
.breakdown-row{margin:12px 0}
.breakdown-label{display:flex;justify-content:space-between;gap:20px;font-size:.8rem;line-height:1.5;margin-bottom:6px}
.bar{height:5px;background:var(--bar-track)}
.bar span{display:block;height:100%;background:var(--gauge-fill)}
.source-list{font-size:.9375rem;overflow-wrap:anywhere}
.revision{font-size:.85rem;border-top:1px solid var(--line);padding-top:12px}
.revision+.revision{margin-top:12px}
.discussion-preview{background:var(--soft);padding:24px;margin-top:30px}
.discussion-preview h2{font-size:2.1rem}
.discussion-preview p{font-size:.9375rem}
.disabled-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.disabled-actions button{min-height:44px;padding:10px 16px;border:1px solid var(--line-strong);background:transparent;font-size:.8rem;color:var(--muted)}
.comment-placeholder{padding:16px 0;border-top:1px solid var(--line);margin-top:18px}
.reading-placeholder{border:1px solid var(--line);padding:20px}
.reading-placeholder h3{font:400 1.5rem var(--serif)}
.reading-placeholder p{font-size:.9rem;margin-top:10px}
.related-grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.related-grid .investigation-card{grid-column:auto}
.related-grid .investigation-card h3{font-size:1.7rem}
/* Methodology */
.method-layout{display:grid;grid-template-columns:minmax(0,740px) 330px;gap:48px;margin-top:28px}
.method-aside{background:var(--soft);padding:22px;align-self:start;position:sticky;top:calc(var(--header-h) + 16px)}
.method-aside h2{font-size:1.9rem}
.scale-table{margin:18px 0}
.scale-table>div{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line-strong);padding:11px 0;font-size:.75rem}
.scale-table>div span{font-variant-numeric:tabular-nums}
.method-aside .button{margin-top:16px;gap:10px;width:100%}
.narrow>.prose{max-width:750px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 24px;max-width:90vw;background:var(--ink);color:var(--paper);box-shadow:0 5px 25px #0003;z-index:50;font-size:.875rem}
.copy-fallback{margin-top:12px}
.copy-fallback input{width:100%;font-size:.8rem;padding:10px;border:1px solid var(--line);background:var(--input-bg);color:var(--ink)}
[hidden]{display:none!important}

@media(min-width:1500px){.hero{gap:90px}
.hero-score{max-width:470px}
.hero h1{font-size:6.2rem}
}

@media(max-width:1100px){.shell{width:calc(100% - 56px)}
nav{gap:16px}
.hero{gap:32px}
.hero-score{padding:20px}
.hero h1{font-size:5rem}
.method-layout{gap:30px;grid-template-columns:1fr 300px}
.article-layout{gap:32px}
.article-header{gap:32px}
.investigation-card,.area-panel{padding:18px 20px}
.community-block{gap:30px}
}

/* Header collapses to the Menu button below 1080px: logo + Home + nav (longest translations) + tools need ~985px. */
@media(max-width:1079px){:root{--header-h:60px}
.header-row{flex-wrap:wrap;gap:0 8px}
.site-logo-img{height:32px}
.header-tools{order:3}
.menu-toggle{display:inline-flex}
nav{display:none;order:4;width:100%;padding:8px 0 16px;flex-wrap:wrap;gap:4px 22px}
nav .stable-label{justify-items:start}
nav.open{display:flex;max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overflow-y:auto}
.religion-menu{width:100%;order:5}
.religion-dropdown{position:static;width:100%;box-shadow:none;margin-top:4px}
}
@media(max-width:900px){.hero{gap:24px;grid-template-columns:1.1fr 1fr}
.hero h1{font-size:4.2rem}
.score-question{font-size:1.9rem}
.meter-number{font-size:4rem}
.hero-score{padding:20px}
.score-topline{flex-wrap:wrap}
.hero-description{font-size:1rem}
.button-row{gap:14px}
.method-strip{gap:28px;padding:28px}
.religion-grid{grid-template-columns:1fr 1fr}
.article-header{grid-template-columns:1.2fr 1fr}
.article-layout{grid-template-columns:minmax(0,1fr)}
.toc{position:static;display:flex;flex-wrap:wrap;gap:4px 20px;border-bottom:1px solid var(--line);padding-bottom:14px}
.toc p{width:100%}
.toc a{border:0;padding:5px 0;min-height:40px}
.method-layout{grid-template-columns:1fr}
.method-aside{position:static;margin-bottom:24px}
.archive-row{grid-template-columns:30px 1fr 165px;gap:15px}
.archive-row>.card-arrow{display:none}
.footer-links{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){.shell{width:calc(100% - 32px)}
.site-logo-img{height:28px}
.lang-switch button{width:30px}
.header-tools{gap:6px}
.edition-line{font-size:.57rem;letter-spacing:.06em;padding:10px 0;gap:10px}
.hero{grid-template-columns:1fr;padding:16px 0 24px;gap:24px}
.hero h1{font-size:clamp(3.4rem,13.9vw,5.2rem);line-height:1.02}
.hero-description{margin-top:14px}
.hero-score{padding:18px 20px}
.hero-score .meter{max-width:330px}
.score-question{font-size:1.9rem}
.meter-number{font-size:4.75rem}
.prototype-note{align-items:start;gap:9px;font-size:.75rem;line-height:1.6}
.note-label{padding-top:2px}
.section-heading{display:block;margin-bottom:14px}
.section-heading>.text-link{margin-top:6px}
.section-heading>p{margin-top:8px}
.investigation-section{padding:24px 0}
.investigation-grid{grid-template-columns:1fr}
.investigation-card,.investigation-card:nth-child(-n+2),.area-panel{grid-column:1;padding:18px}
.investigation-card h3,.investigation-card:nth-child(-n+2) h3{font-size:1.9rem}
.method-strip{grid-template-columns:1fr;padding:22px 20px;gap:20px}
.religions-section{padding-top:24px}
.religion-grid{grid-template-columns:1fr}
.community-block{grid-template-columns:1fr;gap:16px;padding:22px 0}
.community-block h2 br{display:none}
.advertisement{margin-bottom:24px}
.footer-top{display:block;padding:20px 0}
.footer-links{margin-top:16px;gap:10px 24px}
.footer-links a{min-height:30px}
.footer-bottom{flex-direction:column;gap:6px}
.page-intro{padding:18px 0 20px}
.page-intro h1{font-size:3.2rem}
.archive-meta{gap:18px;font-size:.58rem}
.discovery{gap:12px}
.filters{gap:3px}
.filters button{padding:9px 12px}
.search-box{width:100%}
.search-box input{width:100%}
.archive-row{grid-template-columns:25px 1fr;gap:12px;padding:16px 0}
.archive-row>.compact-wrap{grid-column:2}
.archive-row h3{font-size:1.75rem}
.archive-row .card-warning{margin-top:8px}
.future-topics h2{font-size:1.9rem}
.article-header{grid-template-columns:1fr;gap:20px;padding:14px 0}
.article-title h1{font-size:2.9rem}
.article-score{padding:18px;border:1px solid var(--line);background:var(--soft)}
.article-score .meter{max-width:300px}
.claim-line{font-size:1.15rem}
.article-layout{margin-top:18px;gap:22px}
.prose{font-size:1rem;line-height:1.7}
.prose h2{font-size:1.75rem}
.prose section{margin-bottom:26px}
.argument-box,.evidence-card,.verdict-panel,.discussion-preview{padding:18px}
.related-grid{grid-template-columns:1fr}
.related-grid .investigation-card{grid-column:1}
.related-grid .investigation-card h3{font-size:1.75rem}
.method-aside{padding:20px}
.method-steps li{margin-bottom:14px}
.topic-list{gap:8px}
.topic-list>span{padding:8px 12px}
.toc{gap:2px 18px}
.toast{bottom:15px;width:max-content;text-align:center}
}

/* Icon-first header buttons below 761px (labels stay available to assistive technology), so the row never wraps. */
@media(max-width:760px){:root{--control-h:34px}
.hbtn{width:var(--control-h);padding:0}
.hbtn .stable-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hbtn .stable-sizer{display:none}
.hbtn .stable-label>*{width:1px;overflow:hidden}
}

/* Smallest phones: theme toggle moves into the menu panel so logo, Home, language, and Menu stay on one row. */
@media(max-width:420px){.header-row{gap:0 6px}
.site-logo-img{height:25px}
.header-tools>.theme-toggle{display:none}
.nav-extra{display:flex;width:100%;order:9;padding-top:8px;border-top:1px solid var(--line);margin-top:4px}
.nav-extra .hbtn{width:auto;padding:0 11px}
.nav-extra .hbtn .stable-label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
.nav-extra .hbtn .stable-label>*{width:auto}
.nav-extra .hbtn .stable-sizer{display:block}
}

@media(max-width:359px){.site-logo-img{height:20px}
.lang-switch button{width:28px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}

/* Keep secondary metadata readable, including on narrow screens. */
.edition-line,.outline-tag,.score-topline,.score-caption,.note-label,.card-meta,.compact-score .score-label,.card-warning,.religion-item small,.soon-label,.advertisement span:first-child,.archive-meta,.topic-list small,.section-number,.toc p{font-size:.75rem}

.compact-score .verdict,.filters button,.religion-item,.toc a,.footer-links,.disabled-actions button{font-size:.875rem}

.score-topline{flex-wrap:wrap}
.edition-line{flex-wrap:wrap}
.compact-score{min-width:0}
.score-num{flex-shrink:0}

@media(max-width:650px){.prototype-note,.locale-notice{flex-direction:column;align-items:start;gap:6px}
.archive-meta{flex-wrap:wrap;gap:8px 20px}
}
