/* C43 FIGTREE EVERYWHERE (locked by Gino 2026-10-29: one font, default A = no serif anywhere).
   Drop-in layer: load AFTER c42-compose.css. html[data-c43] is set by c43f.js (?c43=off = the Fraunces/Instrument build, for comparison).
   Font: Figtree (SIL OFL 1.1), self-hosted latin / latin-ext / italic-latin subsets, variable weight 400-800 (italic 400-600). Licence: /assets/fonts/c43/OFL-Figtree.txt.
   Sections: 1 faces + aliases, 2 one family for everything, 3 role weights/tracking (Claude Opus round 1+2), 4 dark restraint, 5 full post, 6 story reader + pull quote. */

/* 1. faces. "Figtree" is the public name. The legacy private names the mock-up already asks for (document.fonts.load in evfs.js / c33.js) are ALIASED to the same
   files, so nothing downloads Fraunces / Instrument / Outfit any more. Later @font-face of the same family wins over evfs.css / c33.css. */
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:italic;font-weight:400 600;font-display:block;src:url(/assets/fonts/c43/figtree-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Fraunces C28";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Fraunces C28";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Marla Fraunces C28";font-style:italic;font-weight:400 600;font-display:block;src:url(/assets/fonts/c43/figtree-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Instrument C28";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Instrument C28";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Marla Instrument C28";font-style:italic;font-weight:400 600;font-display:block;src:url(/assets/fonts/c43/figtree-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Outfit C28";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Outfit C28";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Marla Outfit C28";font-style:italic;font-weight:400 600;font-display:block;src:url(/assets/fonts/c43/figtree-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Outfit C33";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marla Outfit C33";font-style:normal;font-weight:400 800;font-display:block;src:url(/assets/fonts/c43/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Marla Outfit C33";font-style:italic;font-weight:400 600;font-display:block;src:url(/assets/fonts/c43/figtree-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* 2. one family for everything (the double :not(#id) beats every !important shorthand in c41/c42/evfs); optical-size / variation settings reset (Fraunces' opsz/SOFT axes are gone) */
html[data-c43]:not(#c43a):not(#c43b),html[data-c43]:not(#c43a):not(#c43b) *,html[data-c43]:not(#c43a):not(#c43b) *::before,html[data-c43]:not(#c43a):not(#c43b) *::after{font-family:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif!important;font-variation-settings:normal!important}
html[data-c43]:not(#c43a):not(#c43b){--c43-font:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--c41-fd:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--c41-fb:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--u-f-d:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--u-f-b:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--f-d:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--f-b:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--fd:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--fb:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--c33o:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--c33d:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--c33b:"Figtree",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
/* numerals: tabular where digits line up (times, dates, prices, counters); proportional in running text */
html[data-c43]:not(#c43a):not(#c43b) :is(.nb,time,.db-d,.dl-b,.c41-pl,.c37-mark,.c42v-count,.dur,.feed-time,.ec){font-variant-numeric:tabular-nums}

/* 3. role weights (sizes stay as locked: 24/28 photo title, 15/20 body, 13 meta, 11 caps) */
/* header: name 600 (was 650), role/time meta 500 +.005em (Figtree's x-height is small) */
html[data-c43]:not(#c43a):not(#c43b) .feed-card-head .feed-source b{font-weight:600!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card-head .feed-source small,html[data-c43]:not(#c43a):not(#c43b) .feed-card-head .feed-time{font-weight:500!important;letter-spacing:.005em!important}
/* photo-card title, story-card headline, ticket-on-photo title, text-card title: bold sans, light negative tracking */
html[data-c43]:not(#c43a):not(#c43b) .feed-card .editorial-title-card-title,html[data-c43]:not(#c43a):not(#c43b) .feed-card.ar-art .ar-hed{font-weight:700!important;letter-spacing:-.015em!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.tx-text:not(.ar-art) .feed-copy h2,html[data-c43]:not(#c43a):not(#c43b) .tx-hed:not(.tx-lede){font-weight:700!important;letter-spacing:-.015em!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.tx-text:not(.ar-art).plain-note .feed-note-copy p{font-weight:500!important;letter-spacing:-.005em!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .tk-feed.has-bg .tk-title{font-weight:700!important;letter-spacing:-.01em!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .tk-feed:not(.has-bg) .tk-title{font-weight:700!important;letter-spacing:-.01em!important;font-size:1.3125rem!important;line-height:25px!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .db-d{font-weight:700!important;letter-spacing:-.01em!important;font-size:1.375rem!important;line-height:24px!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .tk-feed:not(.has-bg) .tk-row .nb{font-weight:600!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .tk-feed:not(.has-bg) .tk-row{font-weight:400!important}
/* caps: kicker + date tile band/weekday 700, tracking .08-.1em (Figtree caps are wide) */
html[data-c43]:not(#c43a):not(#c43b) .feed-card.ar-art .ar-kick{letter-spacing:.08em!important}
html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .db-band,html[data-c43]:not(#c43a):not(#c43b) .feed-card.event-card.ev .tk-feed:not(.has-bg) .db-w{font-weight:700!important;letter-spacing:.1em!important}
/* body on photo 500 (already), body on white 400, pills/chips 600 */
html[data-c43]:not(#c43a):not(#c43b) .tx-rpcut,html[data-c43]:not(#c43a):not(#c43b) .tx-hed.tx-lede{font-weight:400!important}
/* the embedded repost name was UA-bold (about 800): same as the header name */
html[data-c43]:not(#c43a):not(#c43b) .tx-rphead b{font-weight:600!important;font-size:.9375rem!important;line-height:1.25rem!important}
html[data-c43]:not(#c43a):not(#c43b) .tx-rphed{font-weight:600!important;letter-spacing:-.005em!important}

/* 4. dark restraint (light type on dark looks heavier): text surfaces step down one weight, photo titles stay 700 (white on a photo is theme-independent) */
html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b){-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .feed-card.tx-text:not(.ar-art) .feed-copy h2,html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .tx-hed:not(.tx-lede),html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .feed-card.event-card.ev .tk-feed:not(.has-bg) .tk-title,html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .tx-rphed{font-weight:600!important}
html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .feed-card.event-card.ev .db-d{font-weight:600!important}
html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .feed-card.tx-text:not(.ar-art).plain-note .feed-note-copy p{font-weight:400!important}
html[data-theme=dark] .c42 h1{font-weight:700!important}

/* 5. opened full-screen post: the title matched the card's 24/28 700 (it was 20 px), body 15/20 500 at 94 %, scrim about 15 % deeper under the words */
html[data-c43]:not(#c43a):not(#c43b) .fs-cap b{font-size:1.5rem!important;line-height:1.75rem!important;font-weight:700!important;letter-spacing:-.015em!important;margin-bottom:6px!important}
html[data-c43]:not(#c43a):not(#c43b) .fs-cap span{font-size:.9375rem!important;line-height:1.25rem!important;font-weight:500!important;color:rgba(255,255,255,.94)!important}
html[data-c43]:not(#c43a):not(#c43b) .fs-bot{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.69) 45%,rgba(0,0,0,.83))}
html[data-c43]:not(#c43a):not(#c43b) .fs-istext .fs-bot,html[data-c43]:not(#c43a):not(#c43b) .fs-isev .fs-bot,html[data-c43]:not(#c43a):not(#c43b) .fs-C.fs-bare .fs-bot,html[data-c43]:not(#c43a):not(#c43b) .fs-B.fs-bare .fs-bot{background:none}
html[data-c43]:not(#c43a):not(#c43b) .fs-text h2{font-weight:700!important;letter-spacing:-.015em!important;line-height:1.14!important}
html[data-c43]:not(#c43a):not(#c43b) .fs-text p{font-weight:400!important}
html[data-c43]:not(#c43a):not(#c43b) .fs-endin p{font-weight:600!important}
html[data-c43]:not(#c43a):not(#c43b) .fs-chipt b{font-weight:600!important}

/* 6. story reader (C42): headline 34/38 800 -.02em (sizes keep the reader's own text-scale law), dek 18/26, body 18/28 400, caption 14/20, dateline caps, pull quote */
html[data-c43]:not(#c43a):not(#c43b) .c42 h1{font-weight:700!important;letter-spacing:-.015em!important;line-height:1.12!important} /* CLOSEOUT-1: story title 800 -> 700 (calmer), same size and line-height */
html[data-c43]:not(#c43a):not(#c43b) .c42-dek{font-weight:400!important;letter-spacing:0!important;line-height:1.445!important}
html[data-c43]:not(#c43a):not(#c43b) .c42-body{font-weight:400!important;letter-spacing:0!important;font-size:1.125rem;line-height:1.556!important}
html[data-c43]:not(#c43a):not(#c43b) .c42-body .dl{font-weight:700!important;letter-spacing:.08em!important;font-size:.78em!important}
html[data-c43]:not(#c43a):not(#c43b) .c42-cap{font-weight:400!important;line-height:1.43!important}
html[data-c43]:not(#c43a):not(#c43b) .c42-kick{letter-spacing:.1em!important}
html[data-c43]:not(#c43a):not(#c43b) .c42v-cap{font-weight:400!important;letter-spacing:0!important}
/* pull quote, default A (one font): the voice changes with italic 500 + a 3 px coral rule instead of two hairlines, not with a serif */
html[data-c43]:not(#c43a):not(#c43b) .c42-pq{border-top:0!important;border-bottom:0!important;border-left:3px solid var(--coral,#D93350)!important;padding:.25rem 0 .25rem 1.1rem!important;margin:2rem 0!important}
html[data-c43]:not(#c43a):not(#c43b) .c42-pq q{font-style:italic!important;font-weight:500!important;font-size:calc(1.5rem / var(--c42-ts,1) * (1 + (var(--c42-ts,1) - 1) * .6))!important;line-height:1.29!important;letter-spacing:-.005em!important;text-wrap:balance}
html[data-c43]:not(#c43a):not(#c43b) .c42-pq cite{font-weight:500!important;font-size:.875rem!important;line-height:1.43!important}

/* story card with no cover (paper card): dark titles step down to 600 like the other text-surface titles */
html[data-c43]:not([data-theme=light]):not(#c43a):not(#c43b) .feed-card.ar-nocov .ar-hed{font-weight:600!important}
