/* ============================================================
   Microbiome Friendly — portal stylesheet
   Owner 2026-09-02: the portal's design fits omnibioticlife.com (docs/BRAND_IMAGE_SPEC.md §4a).
   Owner 2026-09-02 (second word): thin fonts become bolder; (third word): no serif; (fourth word: something better) — Owner 2026-09-02 (final): Nunito is the face (headlines 900, body 600); Jost may serve subtitles and sections (kickers, nav, leads, H2, labels). Two families by Owner word.
   Tokens: warm greige ground, charcoal text, deep navy blocks, teal action, Nunito (display 900 / body 600) + Jost (subtitles, sections). Hairlines, near-square corners,
   almost no shadow. Site style by heart (Marika): hero = two equal halves, text left, one image right.
   Laws: one display family per surface; no positive letter-spacing (§4h); numbers never split from units (§4h-2);
   no monospace numbers; IBM Plex Mono never; NO UNDERLINE anywhere unless the Owner asks (2026-09-03).
   ============================================================ */
:root{
  --ground:#EFEBE7; --ground-2:#E6DFD8; --paper:#F7F5F2; --band:#E2D8CD;
  --ink:#363636; --ink-2:#6B6B6B; --ink-3:#8A8580; --line:#D6CFC7; --line-2:#C2BEB8;
  --navy:#1F2A3E; --teal:#1B5F56; --teal-2:#174F48; --lime:#D9EB99; --rose:#A8324F;
  --display:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sub:'Jost',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sans:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:4px; --r-lg:6px;
  --maxw:1280px; --prose:70ch;
}
/* Script fallbacks — the brand faces carry no CJK / Arabic / Thai glyphs: system faces per script, still one display family per surface */
:lang(ja){--display:'Hiragino Sans','Yu Gothic','Noto Sans JP',system-ui,sans-serif;--sans:'Hiragino Sans','Yu Gothic','Noto Sans JP',system-ui,sans-serif;}
:lang(ko){--display:'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',system-ui,sans-serif;--sans:'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',system-ui,sans-serif;}
:lang(zh-Hans){--display:'PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;--sans:'PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;}
:lang(ar){--display:'Segoe UI','Noto Naskh Arabic','Geeza Pro',system-ui,sans-serif;--sans:'Segoe UI','Noto Naskh Arabic','Geeza Pro',system-ui,sans-serif;}
:lang(th){--display:'Leelawadee UI','Thonburi','Noto Sans Thai',system-ui,sans-serif;--sans:'Leelawadee UI','Thonburi','Noto Sans Thai',system-ui,sans-serif;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-weight:600;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;}
::selection{background:var(--navy);color:var(--ground);}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;font-weight:700;}
sup{font-size:.6em;}
.num,.nowrap{white-space:nowrap;}

/* ---------- typography ---------- */
.h1{font-family:var(--display);font-weight:900;letter-spacing:-0.02em;line-height:1.06;font-size:clamp(36px,4.6vw,64px);}
.h2{font-family:var(--sub);font-weight:700;letter-spacing:0;line-height:1.08;font-size:clamp(28px,3vw,42px);}
.h3{font-family:var(--sub);font-weight:700;letter-spacing:0;line-height:1.15;font-size:clamp(20px,1.7vw,24px);}
:lang(ja) .h1,:lang(ko) .h1,:lang(zh-Hans) .h1,:lang(ar) .h1,:lang(th) .h1,
:lang(ja) .h2,:lang(ko) .h2,:lang(zh-Hans) .h2,:lang(ar) .h2,:lang(th) .h2{line-height:1.3;}
.lead{font-family:var(--sub);font-size:clamp(17px,1.4vw,19px);line-height:1.55;max-width:60ch;color:var(--ink-2);font-weight:500;}
.muted{color:var(--ink-2);}
.kicker{font-family:var(--sub);font-weight:600;font-size:12px;letter-spacing:0;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.kicker::before{content:"";width:22px;height:1px;background:var(--line-2);display:inline-block;flex:none;}
:lang(ja) .kicker,:lang(ko) .kicker,:lang(zh-Hans) .kicker,:lang(ar) .kicker,:lang(th) .kicker{text-transform:none;}
.label{font-family:var(--sub);font-weight:600;font-size:11px;text-transform:uppercase;color:var(--ink-2);}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 5%;}
.wrap--narrow{max-width:920px;}
.section{padding:80px 0;}
.section--tight{padding:48px 0;}
.section + .section{border-top:1px solid var(--line);}
.dark{background:var(--navy);color:#fff;}
.dark .muted{color:rgba(255,255,255,.7);}
.dark .kicker{color:rgba(255,255,255,.65);}
.ivory2{background:var(--ground-2);}
.science-bg{background:var(--paper);}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);}
.hdr__in{max-width:var(--maxw);margin:0 auto;padding:14px 5%;display:flex;align-items:center;gap:28px;}
/* 175 % of the original 60 px mark (Owner 2026-09-03), its centre sitting on the header/hero line */
.hdr__logo{position:relative;display:block;width:130px;height:56px;flex:none;}
.hdr__logo img{position:absolute;inset-inline-start:0;top:calc(50% - 52.5px + 42px);height:105px;width:auto;max-width:none;filter:drop-shadow(0 5px 14px rgba(31,42,62,.10));}
/* menu titles +30 % (Owner 2026-09-03): 12 px → 15.6 px */
.hdr__nav{display:flex;gap:30px;font-family:var(--sub);font-weight:600;font-size:15.6px;text-transform:uppercase;letter-spacing:0;}
:lang(ja) .hdr__nav,:lang(ko) .hdr__nav,:lang(zh-Hans) .hdr__nav,:lang(ar) .hdr__nav,:lang(th) .hdr__nav{text-transform:none;font-size:18px;gap:20px;}
.hdr__nav a{padding:8px 10px;border-radius:var(--r);color:var(--ink-2);}
/* Japanese, Korean and Chinese break between characters, which is ordinary in those scripts and is
   left alone. Forbidding it here made the menu wider than the page. Thai is the different case — see
   the 1200 px rule below: a break there produces two other words, not a wrapped one. */
.hdr__nav a:hover{color:var(--ink);}
.hdr__nav a[aria-current="page"]{background:var(--navy);color:#fff;}
/* language ribbon — dasexperten.com pattern: flags + two-letter codes in one row */
.langbar{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);}
.lang{max-width:var(--maxw);margin:0 auto;padding:0 5%;display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:center;}
.lang::-webkit-scrollbar{display:none;}
.lang a,.lang .off{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;padding:8px 7px;min-height:36px;color:#fff;opacity:.6;}
.lang a:hover{opacity:.95;}
.lang a.active{opacity:1;}
.lang a.active .flag{box-shadow:0 0 0 2px var(--lime);}
.lang .off{opacity:.28;cursor:default;}
.lang .flag{width:16px;height:16px;border-radius:50%;display:block;flex:none;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.3);background:#fff;}
.lang .code{font:600 10px/1 var(--sub);letter-spacing:0;text-transform:uppercase;white-space:nowrap;}
/* Phone and tablet: the menu stays visible (Owner 2026-09-03 — the titles were hidden below 860 px
   with nothing to replace them). */
/* ---------- header icons (phone) ----------
   The text menu is the desktop menu and does not change. Below 860 px the same four destinations
   become icon buttons on the same row, right of the mark, in the brand navy (Owner 2026-09-03). */
.hdr__icons{display:none;align-items:center;gap:2px;margin-inline-start:6px;}
.hdr__icons a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:var(--r);color:var(--navy);}
.hdr__icons a svg{width:24px;height:24px;display:block;}
.hdr__icons a:active{background:var(--ground-2);}
.hdr__icons a[aria-current="page"]{background:var(--navy);color:#fff;}
/* Eight menu words only fit the row at the full 1280 px layout. Narrower than that, every language
   except English ran past the edge of the page — German, Spanish, Russian, French, Polish, Turkish —
   and Thai, which has no spaces, was cut inside its words: "หลักฐาน" (evidence) came out as
   "หลัก / ฐาน", two different words. So below 1280 the icon row takes over. It carries the same seven
   destinations, each named in the page's own language for a screen reader, and About is in the
   footer — nothing is lost but the width the words needed. English still fits, so English keeps its
   words down to the phone breakpoint. */
@media(max-width:1280px){
  html:not(:lang(en)) .hdr__nav{display:none;}
  html:not(:lang(en)) .hdr__icons{display:flex;}
}
/* English was left out of the rule above on the assumption that it fits. Measured, it does not:
   its eight words hold down to 1100 px and run 25 px past the edge at 1050, 204 px at 861. So English
   gets its own line at the width it actually fits, not the one it was assumed to. */
@media(max-width:1100px){
  .hdr__nav{display:none;}
  .hdr__icons{display:flex;}
}
/* On a desktop-width bar the words ran from the mark to the right edge. Seven icons kept their old
   phone position and left two thirds of the bar empty, which reads as unfinished rather than as our
   header. Above the phone breakpoint they take the right edge instead, where the last menu word used
   to sit. On a phone the row stays as the Owner approved it, next to the mark. */
@media(min-width:861px){
  .hdr__icons{margin-inline-start:auto;}
}
@media(max-width:860px){
  .hdr__nav{display:none;}
  .hdr__icons{display:flex;}
  .hdr__in{flex-wrap:nowrap;gap:8px;padding:10px 4%;}
  .hdr__logo{width:84px;height:44px;flex:none;}
  .hdr__logo img{position:absolute;height:80px;top:calc(50% - 40px + 32px);}
}
@media(max-width:400px){
  .hdr__icons{gap:0;}
  .hdr__icons a{width:40px;height:40px;}
  .hdr__icons a svg{width:22px;height:22px;}
  .hdr__logo{width:72px;height:40px;}
  .hdr__logo img{height:68px;top:calc(50% - 34px + 28px);}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:var(--r);font-weight:600;font-size:15px;background:var(--teal);color:#fff;border:1px solid var(--teal);}
.btn:hover{background:var(--teal-2);border-color:var(--teal-2);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:#fff;}

/* ---------- hero (home) — two equal halves: text left, one image right (Marika, site style by heart) ---------- */
.hero{background:var(--ground);padding:0;border-bottom:1px solid var(--line);}
.hero__in{max-width:var(--maxw);margin:0 auto;padding:0 5%;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:520px;}
.hero__text{padding:72px 6% 72px 0;display:flex;flex-direction:column;justify-content:center;}
[dir="rtl"] .hero__text{padding:72px 0 72px 6%;}
.hero h1{font-family:var(--display);font-weight:900;letter-spacing:-0.02em;line-height:1.0;font-size:clamp(40px,5.6vw,76px);max-width:14ch;}
.hero .sub{font-family:var(--sub);font-size:clamp(17px,1.4vw,20px);line-height:1.55;max-width:48ch;color:var(--ink);font-weight:500;margin:22px 0 0;}
.hero__art{position:relative;display:block;background:var(--band);border-inline-start:1px solid var(--line);overflow:hidden;}
.hero__art img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.hero__art:hover img{transform:scale(1.02);}
.hero__cap{position:absolute;inset-inline:0;bottom:0;padding:22px 26px;display:flex;flex-direction:column;gap:6px;color:#fff;background:linear-gradient(to top,rgba(31,42,62,.88),rgba(31,42,62,.55) 55%,rgba(31,42,62,0));}
.hero__cap .kicker{color:rgba(255,255,255,.8);margin:0;}
.hero__cap .kicker::before{background:rgba(255,255,255,.6);}
.hero__capttl{font-family:var(--display);font-weight:700;font-size:clamp(17px,1.5vw,21px);line-height:1.2;letter-spacing:-0.01em;max-width:26ch;}
.hero__art--empty::after{content:"";position:absolute;inset:32px;border:1px solid var(--line-2);}
.hero__pills{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px;}
.pill{display:inline-block;padding:7px 14px;border-radius:var(--r);border:1px solid var(--line-2);font-family:var(--sub);font-size:12px;font-weight:700;text-transform:uppercase;color:var(--ink-2);}
:lang(ja) .pill,:lang(ko) .pill,:lang(zh-Hans) .pill,:lang(ar) .pill,:lang(th) .pill{text-transform:none;font-size:13px;}
@media(max-width:860px){.hero__in{grid-template-columns:1fr;min-height:0;}.hero__text{padding:48px 0 36px;}.hero__art{aspect-ratio:3/2;border-inline-start:0;border-top:1px solid var(--line);}}

/* ---------- cards (Marika slot: preview 3:2, 3-up desktop / 1-up mobile) ---------- */
.grid{display:grid;gap:28px;}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:980px){.g3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.g3,.g2{grid-template-columns:1fr;}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s ease;}
.card:hover{border-color:var(--ink-3);}
.card-cover{aspect-ratio:3/2;background:var(--ground-2);overflow:hidden;border-bottom:1px solid var(--line);}
.card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.card:hover .card-cover img{transform:scale(1.03);}
.card-cover--empty{display:flex;align-items:center;justify-content:center;background:var(--ground-2);}
.card-cover--empty svg{width:56px;height:56px;color:var(--ink-3);opacity:.5;}
.card__b{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1;}
.card__b .kicker{margin-bottom:2px;}
.card__b h3{font-family:var(--display);font-weight:800;font-size:20px;line-height:1.2;letter-spacing:-0.01em;}
.card__b p{margin:0;color:var(--ink-2);font-size:15px;font-weight:500;}
.card__meta{font-family:var(--sub);margin-top:auto;padding-top:10px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--ink-3);display:flex;gap:12px;flex-wrap:wrap;}
:lang(ja) .card__meta,:lang(ko) .card__meta,:lang(zh-Hans) .card__meta,:lang(ar) .card__meta,:lang(th) .card__meta{text-transform:none;}

/* ---------- article ---------- */
.article{padding:56px 0 80px;}
.article header{max-width:var(--prose);}
.article .h1{margin:8px 0 20px;font-weight:900;font-size:clamp(32px,4vw,54px);}
.answer{font-family:var(--sub);font-size:clamp(18px,1.5vw,21px);line-height:1.55;font-weight:500;color:var(--ink);border-inline-start:2px solid var(--teal);padding:4px 0 4px 20px;margin:0 0 24px;max-width:var(--prose);}
[dir="rtl"] .answer{padding:4px 20px 4px 0;}
.byline{font-family:var(--sub);display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px;text-transform:uppercase;color:var(--ink-2);margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid var(--line);}
:lang(ja) .byline,:lang(ko) .byline,:lang(zh-Hans) .byline,:lang(ar) .byline,:lang(th) .byline{text-transform:none;font-size:13px;}
.byline img{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.byline strong{color:var(--ink);font-weight:700;}
.article-hero{aspect-ratio:16/9;background:var(--ground-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:0 0 36px;}
.article-hero img{width:100%;height:100%;object-fit:cover;}
.article-hero figcaption{font-size:13px;color:var(--ink-2);padding:8px 2px 0;}
/* the article lead is the character card — 3:2, the cell ratio equals the frame ratio, so the baked
   question is never cropped by object-fit (Marika 2026-09-16) */
.article-card{aspect-ratio:3/2;max-width:860px;background:var(--ground-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:0 0 36px;}
.article-card img{width:100%;height:100%;object-fit:cover;}
.card-cover--worded img,.card:hover .card-cover--worded img{transform:none;}
/* the two built frames sit inside the text; <figure> only — a <div> here truncates the NBSP gate */
.prose .figfig{margin:34px 0;}
.prose .figworld{aspect-ratio:3/2;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--ground-2);}
.prose .figworld img{width:100%;height:100%;object-fit:cover;}
.prose .figplate{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--ground-2);}
.prose .figplate--band{aspect-ratio:4/3;}
.prose .figplate--frame{aspect-ratio:16/9;}
.prose .figplate img{width:100%;height:100%;object-fit:cover;}
.prose .figplate figcaption{font-size:13px;color:var(--ink-2);padding:8px 10px 10px;}
.prose .figplate--frame{overflow:visible;border:0;background:none;}
.prose .figplate--frame img{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r);}
.prose{max-width:var(--prose);font-size:17px;line-height:1.7;font-weight:500;}
.prose h2{font-family:var(--sub);font-weight:700;font-size:clamp(24px,2.2vw,30px);line-height:1.15;letter-spacing:-0.01em;margin:44px 0 12px;}
.prose h3{font-family:var(--sub);font-weight:600;font-size:22px;line-height:1.2;margin:30px 0 8px;}
:lang(ja) .prose h2,:lang(ko) .prose h2,:lang(zh-Hans) .prose h2,:lang(ar) .prose h2,:lang(th) .prose h2{line-height:1.3;}
.prose p{margin:0 0 18px;}
.prose ul,.prose ol{padding-inline-start:22px;margin:0 0 18px;}
.prose li{margin:0 0 8px;}
.prose a{color:var(--teal);font-weight:700;text-decoration:none;}
.prose a:hover{color:var(--teal-2);}
.prose blockquote{margin:0 0 18px;padding:14px 20px;border-inline-start:2px solid var(--teal);background:var(--paper);border-radius:var(--r);}
.prose table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:15px;}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:start;vertical-align:top;}
.prose th{font-weight:600;font-size:12px;text-transform:uppercase;color:var(--ink-2);}
.prose td.num,.prose th.num{white-space:nowrap;width:1%;}
.prose sup a{color:var(--teal);text-decoration:none;font-weight:600;}
.prose .caveat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;}

/* key facts · faq · sources */
.facts{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 26px;margin:28px 0;max-width:var(--prose);}
.facts h2,.faq h2,.sources h2,.rail h2{font-family:var(--sub);font-weight:700;font-size:22px;margin:0 0 14px;letter-spacing:0;}
.facts ul{margin:0;padding-inline-start:20px;}
.facts li{margin:0 0 8px;}
.faq{max-width:var(--prose);margin:36px 0;border-top:1px solid var(--line);padding-top:22px;}
.faq details{border-bottom:1px solid var(--line);padding:12px 0;}
.faq summary{font-family:var(--sub);cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--teal);font-weight:600;}
.faq details[open] summary::after{content:"–";}
.faq details p{margin:10px 0 4px;color:var(--ink-2);font-weight:500;}
.sources{max-width:var(--prose);margin:36px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:14px;}
.sources ol{padding-inline-start:20px;margin:0;}
.sources li{margin:0 0 8px;color:var(--ink-2);font-weight:500;}
.sources a{color:var(--teal);font-weight:700;text-decoration:none;word-break:break-all;}
.entity{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:15px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:0 0 28px;max-width:var(--prose);}
.entity dt{font-family:var(--sub);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--ink-2);padding-top:3px;}
.entity dd{margin:0;}
.rail{margin-top:64px;padding-top:32px;border-top:1px solid var(--line);}
.rail h2{margin-bottom:20px;}

/* ---------- lists / index ---------- */
.index-row{display:grid;grid-template-columns:140px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start;}
.index-row .thumb{aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;background:var(--ground-2);border:1px solid var(--line);}
.index-row .thumb img{width:100%;height:100%;object-fit:cover;}
.index-row h3{font-family:var(--display);font-weight:800;font-size:21px;line-height:1.2;}
.index-row p{margin:6px 0 0;color:var(--ink-2);font-size:15px;font-weight:500;}
@media(max-width:640px){.index-row{grid-template-columns:96px 1fr;}}
.topic-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;}
.topic-list a{display:inline-block;padding:10px 18px;border-radius:var(--r);border:1px solid var(--ink);font-family:var(--sub);font-weight:700;font-size:12px;text-transform:uppercase;}
:lang(ja) .topic-list a,:lang(ko) .topic-list a,:lang(zh-Hans) .topic-list a,:lang(ar) .topic-list a,:lang(th) .topic-list a{text-transform:none;font-size:14px;}
.topic-list a:hover,.topic-list a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff;}
.breadcrumb{font-family:var(--sub);font-size:12px;text-transform:uppercase;color:var(--ink-3);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
:lang(ja) .breadcrumb,:lang(ko) .breadcrumb,:lang(zh-Hans) .breadcrumb,:lang(ar) .breadcrumb,:lang(th) .breadcrumb{text-transform:none;}
.breadcrumb a:hover{color:var(--ink);}
.notice{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;color:var(--ink-2);}
.more{font-family:var(--sub);display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:700;font-size:12px;text-transform:uppercase;color:var(--teal);}
.more:hover{color:var(--teal-2);}
:lang(ja) .more,:lang(ko) .more,:lang(zh-Hans) .more,:lang(ar) .more,:lang(th) .more{text-transform:none;font-size:14px;}

/* ---------- footer ---------- */
.ftr{background:var(--navy);color:#fff;padding:64px 0 28px;margin-top:48px;}
.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
@media(max-width:820px){.ftr__top{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.ftr__top{grid-template-columns:1fr;}}
.ftr h4{font-family:var(--sub);font-weight:700;font-size:12px;text-transform:uppercase;margin:0 0 14px;color:rgba(255,255,255,.65);}
:lang(ja) .ftr h4,:lang(ko) .ftr h4,:lang(zh-Hans) .ftr h4,:lang(ar) .ftr h4,:lang(th) .ftr h4{text-transform:none;}
.ftr a{display:block;padding:4px 0;color:rgba(255,255,255,.9);font-size:15px;}
.ftr a:hover{color:var(--lime);}
.ftr__mark{height:96px;width:auto;background:var(--paper);border-radius:12px;padding:8px 12px;}
.ftr .brandline{font-family:var(--display);font-weight:700;font-size:20px;color:rgba(255,255,255,.85);max-width:30ch;margin-top:14px;line-height:1.25;}
.disclaimer{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.62);font-size:13px;max-width:90ch;}
.ftr__bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:12px;text-transform:uppercase;color:rgba(255,255,255,.5);}
.ftr__langs{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;}
.ftr__langs a{display:inline;padding:0;font-size:13px;}

/* ---------- evidence this week ---------- */
.ev-list{list-style:none;margin:0;padding:0;}
.ev-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;}
.ev-list li a{color:var(--ink);font-weight:700;}
.ev-list li a:hover{color:var(--teal);}
.ev-list .ev-src{color:var(--ink-2);font-weight:500;font-size:14px;}
.ev-list .ev-src:hover{color:var(--teal);}
.ev-list--quiet li{padding:9px 0;}
.ev-list--quiet .ev-src{color:var(--ink-2);}

/* Owner 2026-10-16 / Marika: every language and navigation destination stays visible. */
.lang{padding:8px 16px;gap:4px 8px;flex-wrap:wrap;overflow:visible;min-width:0;}
.lang a,.lang .off{min-height:36px;}
.hdr__in,.hdr__icons{min-width:0;}
@media(max-width:860px){
 .hdr__in{flex-wrap:wrap;}
 .hdr__logo{margin-inline:auto;}
 .hdr__icons{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;margin-inline:0;gap:0;}
 .hdr__icons a{width:100%;min-width:0;height:44px;}
}

@media(max-width:860px){
 .hdr__logo{position:relative;display:flex;align-items:center;justify-content:center;width:auto;height:auto;overflow:visible;}
 .hdr__logo img{position:static;top:auto;height:68px;width:auto;transform:none;}
}
