/* ============================================================
   Idiom Insider — editorial design system v2
   ============================================================ */
:root{
  --canvas:#FBF9F4; --surface-1:#F5F1E8; --surface-2:#EDE7D9;
  --rule:#E1D9C8; --rule-strong:#C7BCA2;
  --ink:#1C1A16; --ink-2:#514B40; --ink-3:#8A8271; --ink-quote:#33302A;
  --accent:#7B2D26; --accent-2:#9A3B33; --accent-soft:#F1E3E0; --gilt:#A6863F; --gilt-soft:#EFE6CF;
  --v-attested:#3E6B4F; --v-partly:#8A7434; --v-unproven:#7A7365; --v-folk:#7B2D26; --v-unknown:#4A453B;
  --serif-display:"Newsreader",Georgia,serif;
  --serif-body:"Source Serif 4","Source Serif Pro",Georgia,serif;
  --serif-quote:"EB Garamond",Georgia,serif;
  --measure:42rem; --container:1200px; --rail:264px;
  --sh:0 1px 2px rgba(28,26,22,.04),0 8px 30px rgba(28,26,22,.06);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --canvas:#18160F; --surface-1:#201D16; --surface-2:#272319;
  --rule:#332E22; --rule-strong:#4A4232;
  --ink:#ECE6D8; --ink-2:#C6BDA9; --ink-3:#928975; --ink-quote:#D8D0BE;
  --accent:#CE7368; --accent-2:#D98478; --accent-soft:#2A211E; --gilt:#C8A863; --gilt-soft:#2C2718;
  --v-attested:#77AC88; --v-partly:#C6AD63; --v-unproven:#9A9179; --v-folk:#CE7368; --v-unknown:#BBB2A0;
  --sh:0 1px 2px rgba(0,0,0,.2),0 10px 34px rgba(0,0,0,.28);
}}
:root[data-theme="dark"]{
  --canvas:#18160F; --surface-1:#201D16; --surface-2:#272319;
  --rule:#332E22; --rule-strong:#4A4232;
  --ink:#ECE6D8; --ink-2:#C6BDA9; --ink-3:#928975; --ink-quote:#D8D0BE;
  --accent:#CE7368; --accent-2:#D98478; --accent-soft:#2A211E; --gilt:#C8A863; --gilt-soft:#2C2718;
  --v-attested:#77AC88; --v-partly:#C6AD63; --v-unproven:#9A9179; --v-folk:#CE7368; --v-unknown:#BBB2A0;
  --sh:0 1px 2px rgba(0,0,0,.2),0 10px 34px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--serif-body);font-size:19px;line-height:1.75;
  font-feature-settings:"onum" 1,"liga" 1,"kern" 1;text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
.prose a,.site-foot a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
h1,h2,h3,h4{font-family:var(--serif-display);font-weight:600;line-height:1.18;color:var(--ink);letter-spacing:-.011em;margin:0}
p{margin:0 0 1.1rem}
.wrap{max-width:var(--container);margin:0 auto;padding:0 28px}
.smallcaps,.meta{font-variant:all-small-caps;letter-spacing:.09em}
.tab-nums{font-variant-numeric:lining-nums tabular-nums}
.old-nums{font-variant-numeric:oldstyle-nums}

#progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gilt),var(--accent));width:0;z-index:60}

/* ---------- masthead ---------- */
.topbar{height:3px;background:linear-gradient(90deg,var(--gilt),var(--accent),var(--gilt))}
.site-head{border-bottom:1px solid var(--rule);background:var(--canvas);position:relative;z-index:30}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0 16px}
.brand{font-family:var(--serif-display);font-weight:600;font-size:1.72rem;line-height:1;color:var(--ink);white-space:nowrap;letter-spacing:-.02em;display:flex;flex-direction:column}
.brand b{font-weight:600}
.brand .in{color:var(--accent)}
.brand .kick{font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.16em;font-size:.6rem;color:var(--ink-3);font-weight:400;margin-top:5px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.07em;font-size:.98rem;color:var(--ink-2);position:relative;padding:2px 0}
.nav a:hover{color:var(--accent)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--accent);transition:right .18s ease}
.nav a:hover::after{right:0}
.theme-toggle{background:none;border:1px solid var(--rule-strong);color:var(--ink-2);border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:.9rem;line-height:1}
.provenance{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-strong);background:var(--surface-1)}
.provenance .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px;padding:7px 28px;font-variant:all-small-caps;letter-spacing:.07em;font-size:.8rem;color:var(--ink-3)}
.provenance a{color:var(--ink-3)}
.provenance a:hover{color:var(--accent)}
.provenance .dot{color:var(--gilt)}
@media(max-width:720px){.masthead{flex-wrap:wrap;gap:12px}.nav{gap:16px;width:100%;flex-wrap:wrap}.brand{font-size:1.5rem}}

/* ---------- verdict badge ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.1em;font-size:.72rem;padding:3px 10px;border:1px solid;border-radius:2px;white-space:nowrap;line-height:1.4}
.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.badge.attested{color:var(--v-attested);border-color:var(--v-attested)}
.badge.partly-true{color:var(--v-partly);border-color:var(--v-partly)}
.badge.unproven{color:var(--v-unproven);border-color:var(--v-unproven)}
.badge.folk-etymology{color:var(--v-folk);border-color:var(--v-folk)}
.badge.origin-unknown{color:var(--v-unknown);border-color:var(--v-unknown)}

/* ---------- home ---------- */
.hero{padding:60px 0 26px}
.hero .eyebrow{font-variant:all-small-caps;letter-spacing:.14em;font-size:.82rem;color:var(--gilt);margin-bottom:14px}
.hero h1{font-size:clamp(2.4rem,5.2vw,3.5rem);line-height:1.04;letter-spacing:-.022em;max-width:16ch}
.hero .lead{font-size:1.24rem;line-height:1.6;color:var(--ink-2);max-width:56ch;margin-top:18px}

/* featured entry — magazine cover */
.featured{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
  background:var(--surface-1);border:1px solid var(--rule-strong);border-radius:3px;
  padding:34px 40px;margin:34px 0 8px;box-shadow:var(--sh);position:relative;overflow:hidden}
.featured::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}
.featured .fx-eye{font-variant:all-small-caps;letter-spacing:.12em;font-size:.78rem;color:var(--gilt);margin-bottom:8px}
.featured h2{font-size:2.5rem;line-height:1.02;letter-spacing:-.02em;margin:0 0 .3em}
.featured h2 a{color:var(--ink)}
.featured .fx-mean{font-size:1.12rem;color:var(--ink-2);max-width:44ch;margin:0 0 16px}
.featured .fx-cta{font-variant:all-small-caps;letter-spacing:.08em;font-size:.86rem;color:var(--accent)}
.featured .fx-year{font-family:var(--serif-display);font-weight:600;font-variant-numeric:oldstyle-nums;font-size:6.4rem;line-height:.9;color:var(--gilt);text-align:center}
.featured .fx-year .fl{display:block;font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.12em;font-size:.72rem;color:var(--ink-3)}
@media(max-width:760px){.featured{grid-template-columns:1fr;padding:26px 24px;gap:18px}.featured h2{font-size:2rem}.featured .fx-year{font-size:4.4rem;text-align:left}}

/* verdict legend */
.legend{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:44px 0;padding:22px 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px 30px}
.legend .li .badge{margin-bottom:7px}
.legend .li p{font-size:.9rem;color:var(--ink-3);margin:0;line-height:1.5}

/* section header */
.section-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:52px 0 20px;border-bottom:2px solid var(--rule-strong);padding-bottom:8px}
.section-h h2{font-size:1.5rem;letter-spacing:-.01em}
.section-h .more{font-variant:all-small-caps;letter-spacing:.08em;font-size:.82rem;color:var(--ink-3)}
.section-h .more:hover{color:var(--accent)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:20px}
.card{background:var(--surface-1);border:1px solid var(--rule);border-radius:3px;padding:22px 24px 18px;display:flex;flex-direction:column;min-height:180px;transition:background .16s,border-color .16s,box-shadow .16s}
.card:hover{background:var(--canvas);border-color:var(--rule-strong);box-shadow:var(--sh)}
.card .kick{font-variant:all-small-caps;letter-spacing:.1em;font-size:.72rem;color:var(--gilt);margin-bottom:6px}
.card .ph{font-family:var(--serif-display);font-weight:600;font-size:1.42rem;line-height:1.12;color:var(--ink);letter-spacing:-.01em;display:inline;background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1px;background-repeat:no-repeat;background-position:0 1.15em;transition:background-size .2s}
.card:hover .ph{background-size:100% 1px}
.card .cm{color:var(--ink-2);font-size:.96rem;line-height:1.55;margin:.5em 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px}
.card .yr{font-family:var(--serif-display);font-variant-numeric:oldstyle-nums;font-size:1.35rem;color:var(--gilt);line-height:1}

/* ---------- entry ---------- */
.entry{padding:36px 0 84px}
.entry .grid{display:grid;grid-template-columns:minmax(0,var(--measure)) var(--rail);gap:60px;align-items:start}
@media(max-width:920px){.entry .grid{grid-template-columns:1fr}.rail{display:none}}
.crumb{font-variant:all-small-caps;letter-spacing:.06em;font-size:.78rem;color:var(--ink-3);margin-bottom:18px}
.crumb a{color:var(--ink-3)} .crumb a:hover{color:var(--accent)}
.answer .metarow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.answer .eyebrow{font-variant:all-small-caps;letter-spacing:.12em;font-size:.82rem;color:var(--gilt)}
.idiom-h1{font-family:var(--serif-display);font-weight:600;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.03;letter-spacing:-.022em;margin:.05em 0 .35em}
.meaning-line{font-family:var(--serif-body);font-size:1.42rem;line-height:1.5;color:var(--ink);
  border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);padding:.75em 0;margin:.5em 0 .95em;position:relative}
.usage-eg{font-family:var(--serif-quote);font-style:italic;font-size:1.2rem;color:var(--ink-2);margin:0 0 1em}
.jump{font-variant:all-small-caps;letter-spacing:.07em;font-size:.84rem;color:var(--ink-3)} .jump:hover{color:var(--accent)}
.copy-meaning{display:none}
@media(max-width:920px){.copy-meaning{display:inline-block;margin:.1em 0 1.1em;background:var(--surface-1);border:1px solid var(--rule-strong);color:var(--ink-2);border-radius:3px;padding:11px 16px;min-height:44px;font:inherit;font-size:.85rem;cursor:pointer}}

.mininav{position:sticky;top:0;background:color-mix(in srgb,var(--canvas) 92%,transparent);backdrop-filter:blur(6px);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:flex;gap:24px;padding:11px 0;margin:22px 0 8px;font-variant:all-small-caps;letter-spacing:.07em;font-size:.83rem;overflow-x:auto;z-index:20}
.mininav a{color:var(--ink-3);white-space:nowrap}
.mininav a:hover{color:var(--accent)}

/* attestation panel — centrepiece */
.attest{border:1px solid var(--rule-strong);border-radius:3px;background:var(--surface-1);
  text-align:center;padding:40px 20px 34px;margin:40px 0}
.attest .orn{color:var(--gilt);font-size:1.1rem;line-height:1;margin-bottom:14px}
.attest .lbl{font-variant:all-small-caps;letter-spacing:.18em;font-size:.78rem;color:var(--ink-3)}
.attest .year{font-family:var(--serif-display);font-weight:600;font-size:96px;line-height:1;letter-spacing:.04em;
  color:var(--ink);font-variant-numeric:oldstyle-nums;margin:.06em 0 .1em}
.attest .year::after{content:"";display:block;width:54px;height:2px;background:var(--gilt);margin:.18em auto 0}
@media(max-width:600px){.attest .year{font-size:52px}}
.attest .src{font-variant:all-small-caps;letter-spacing:.06em;color:var(--ink-2);font-size:1rem;margin-top:.5em}
.attest .q{font-family:var(--serif-quote);font-style:italic;font-size:1.32rem;line-height:1.5;color:var(--ink-quote);max-width:32rem;margin:.8em auto 0;text-wrap:balance}
.attest .note{font-variant:all-small-caps;letter-spacing:.05em;font-size:.76rem;color:var(--ink-3);margin-top:.7em}
.attest .unknown{font-family:var(--serif-display);font-size:2.2rem;color:var(--ink-2);margin:.1em 0}

/* prose */
.prose{font-size:19px;line-height:1.78}
.prose h2{font-size:1.5rem;margin:2.3rem 0 .55rem;scroll-margin-top:64px;padding-left:16px;position:relative}
.prose h2::before{content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:3px;background:var(--gilt);border-radius:2px}
.prose h3{font-size:1.18rem;margin:1.7rem 0 .4rem}
.prose h2:first-of-type + p::first-line{font-variant:small-caps;letter-spacing:.02em}
.prose h2:first-of-type + p::first-letter{float:left;font-family:var(--serif-display);font-weight:600;font-size:3.4em;line-height:.76;padding:.06em .1em 0 0;color:var(--accent)}
.prose blockquote{font-family:var(--serif-quote);font-style:italic;font-size:1.28rem;line-height:1.5;color:var(--ink-quote);
  border-left:3px solid var(--accent);margin:1.4em 0;padding:.3em 0 .3em 1.2em}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;font-variant-numeric:lining-nums tabular-nums;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--rule);padding:9px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--surface-1);font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.05em;font-weight:600}
.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.35em 0}

/* sources + faq */
.rule-orn{text-align:center;color:var(--gilt);margin:42px 0 8px;font-size:1rem;letter-spacing:.5em}
.sources h2,.faqs h2{font-size:1.2rem;padding-left:0}
.sources h2::before,.faqs h2::before{display:none}
.sources ol{padding-left:1.3em;color:var(--ink-2);font-size:.96rem}
.sources li{margin:.45em 0}
.faqs{margin-top:38px}
.faqs details{border-bottom:1px solid var(--rule);padding:.7em 0}
.faqs summary{cursor:pointer;font-family:var(--serif-display);font-size:1.08rem;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:10px}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"＋";color:var(--gilt);font-weight:400}
.faqs details[open] summary::after{content:"−"}
.faqs .a{color:var(--ink-2);margin-top:.5em;font-size:.98rem}
.reviewed{font-variant:all-small-caps;letter-spacing:.05em;font-size:.78rem;color:var(--ink-3);margin-top:30px;padding-top:14px;border-top:1px solid var(--rule)}

/* related + rail */
.rel{margin-top:48px}
.rail .box{border-top:2px solid var(--gilt);padding-top:12px;margin-bottom:32px}
.rail .box h4{font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.1em;font-size:.8rem;color:var(--ink-3);margin:0 0 .5em}
.rail a{display:block;color:var(--ink);padding:.32em 0;border-bottom:1px solid var(--rule);font-size:.98rem}
.rail a:hover{color:var(--accent)}
.rail .box a:last-child{border-bottom:none}

/* long-form (blog/guide/origin) */
.lf{padding:40px 0 84px}
.lf .kicker{font-variant:all-small-caps;letter-spacing:.12em;font-size:.82rem;color:var(--accent)}
.lf h1{font-family:var(--serif-display);font-weight:600;font-size:clamp(2rem,4.4vw,2.8rem);line-height:1.08;letter-spacing:-.02em;margin:.15em 0 .3em}
.lf .stand{font-family:var(--serif-quote);font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--ink-2);margin:.2em 0 .6em}
.lf .byline{font-variant:all-small-caps;letter-spacing:.05em;font-size:.82rem;color:var(--ink-3);border-bottom:1px solid var(--rule);padding-bottom:1em;margin-bottom:1.4em}

/* footer */
.site-foot{border-top:3px solid var(--rule-strong);margin-top:70px;padding:0 0 54px;color:var(--ink-3);font-size:.92rem;background:var(--surface-1)}
.site-foot .orn{text-align:center;color:var(--gilt);font-size:1.2rem;padding:30px 0 26px}
.site-foot a{color:var(--ink-2)}
.site-foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:26px;border-bottom:1px solid var(--rule)}
.site-foot h4{font-family:var(--serif-body);font-variant:all-small-caps;letter-spacing:.1em;font-size:.82rem;color:var(--ink-3);margin:0 0 .7em}
.site-foot .fbrand{font-family:var(--serif-display);font-size:1.35rem;color:var(--ink)}
.site-foot .fbrand .in{color:var(--accent)}
.site-foot p{max-width:36ch}
.site-foot .fcol a{display:block;padding:.2em 0}
.site-foot .copy{font-variant:all-small-caps;letter-spacing:.06em;padding-top:20px}
@media(max-width:720px){.site-foot .cols{grid-template-columns:1fr;gap:24px}}

/* listing hero */
.list-hero{padding:46px 0 8px}
.list-hero h1{font-size:clamp(2rem,4.5vw,2.7rem);letter-spacing:-.02em}
.list-hero p{color:var(--ink-2);max-width:60ch;margin-top:.4em}

.ornament{color:var(--gilt);text-align:center;margin:38px 0;font-size:1.2rem;opacity:.8}
