/* The Mansa Court, the text face (set 14 October 2026, owner's choice C; audit items of 15 October 2026 at the foot).
   Loaded after tokens.css on every page except cookie-preferences.html, which keeps tokens.css alone and so stays wholly in Cormorant,
   as does the cookie notice (notice.js). tokens.css is unchanged by this file; the rules below override its text classes only.
   Type rule: body text in Libre Caslon Text; Cormorant Garamond for display only (masthead, page titles, large lines, intros,
   questions and headwords, calendar titles, the small spaced capitals, navigation, the cookie notice). */

@font-face { font-family: "Libre Caslon Text"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/libre-caslon-text-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: "Libre Caslon Text"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/libre-caslon-text-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: "Libre Caslon Text"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/libre-caslon-text-bold-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: "Libre Caslon Text"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/libre-caslon-text-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Libre Caslon Text"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/libre-caslon-text-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Libre Caslon Text"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/libre-caslon-text-bold-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Cormorant at the weights its files carry (15 Oct 2026). tokens.css declares the faces 300 to 400 only, so 500 and 600 fell back to 400; the files hold 300 to 700.
   These declare only the weights tokens.css does not (401 to 700), so no weight is declared twice: 300 to 400 come from tokens.css, 500 and 600 (the header,
   footer and small capitals) from here. Same files and addresses, so each file is still fetched once. tokens.css is unchanged (cookie-preferences.html loads it). */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 401 700; font-display: block; src: url("/fonts/cormorant-garamond-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: "Cormorant Garamond"; font-style: italic; font-weight: 401 700; font-display: block; src: url("/fonts/cormorant-garamond-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: "Cormorant Garamond"; font-style: normal; font-weight: 401 700; font-display: block; src: url("/fonts/cormorant-garamond-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 401 700; font-display: block; src: url("/fonts/cormorant-garamond-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Audit item 10 (15 Oct 2026): Caslon swaps in (font-display: swap) over a Georgia fallback sized to Caslon's measured width, ascent and descent,
   so text shows at once and barely moves when Caslon arrives. Measured: regular 107.2%, italic 105.3%, bold 99.9% of Georgia's width; Caslon ascent 0.97em, descent 0.26em. */
@font-face { font-family: "Libre Caslon Fallback"; font-style: normal; font-weight: 400; src: local("Georgia"); size-adjust: 107.2%; ascent-override: 90.5%; descent-override: 24.3%; line-gap-override: 0%; }
@font-face { font-family: "Libre Caslon Fallback"; font-style: italic; font-weight: 400; src: local("Georgia Italic"), local("Georgia-Italic"); size-adjust: 105.3%; ascent-override: 92.1%; descent-override: 24.7%; line-gap-override: 0%; }
@font-face { font-family: "Libre Caslon Fallback"; font-style: normal; font-weight: 700; src: local("Georgia Bold"), local("Georgia-Bold"); size-adjust: 99.9%; ascent-override: 97.1%; descent-override: 26%; line-gap-override: 0%; }


/* .t-body  All body prose; also the text a member types into a field. Libre Caslon Text 400, 16px on phones to 17px at 1440 (never under 16px),
   line-height 1.6, lining figures (was Cormorant 16 to 18px). */
.t-body { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; font-weight: 400; font-style: normal; font-size: clamp(16px, 1.18vw, 17px); line-height: 1.6; font-variant-numeric: lining-nums; }

/* .t-note  Italic notes and metadata. Libre Caslon Text 400 italic, 15px; 16px on phones; lining figures (was Cormorant 14px). */
.t-note { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; font-weight: 400; font-style: italic; font-size: 15px; font-variant-numeric: lining-nums; }
@media (max-width: 760px) { .t-note { font-size: 16px; } }

/* .t-help  Form help text. Libre Caslon Text 400, 15px; 16px on phones; line-height 1.5; lining figures (was Cormorant 14px). */
.t-help { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; font-weight: 400; font-style: normal; font-size: 15px; line-height: 1.5; font-variant-numeric: lining-nums; }
/* .t-press  The words of a pressed action, as on the application's Continue and Request an Invitation (lifted 1 Nov 2026 from their inline style: font-family inherit, which is the body's Cormorant).
   Cormorant 600, 18px, no capitals, no tracking, line-height 1.2. */
.t-press { font-family: "Cormorant Garamond", "Cormorant Fallback", "Cormorant Fallback Times", Georgia, serif; font-weight: 600; font-style: normal; font-size: 18px; letter-spacing: 0; text-transform: none; line-height: 1.2; }
/* .t-sum  A sum of money set as a figure, as in the Terms table (lifted 1 Nov 2026 from the figure's inline style inside .t-entry: Cormorant 400, the entry's 0.02em).
   Cormorant 400, 21px, lining figures. */
.t-sum { font-family: "Cormorant Garamond", "Cormorant Fallback", "Cormorant Fallback Times", Georgia, serif; font-weight: 400; font-style: normal; font-size: 21px; letter-spacing: 0.02em; font-variant-numeric: lining-nums; }
@media (max-width: 760px) { .t-help { font-size: 16px; } }

/* .t-fine  Fine print. Libre Caslon Text 400 at the size tokens.css gives it (12px; the .mc-type2 and footer rules there still apply); lining figures. */
.t-fine { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; font-variant-numeric: lining-nums; }

/* .t-aside  The (optional) marker. Libre Caslon Text 400 italic at the size tokens.css gives it (11px). */
.t-aside { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; }

/* Section headings in the style of the membership papers (reset 5, Terms of Membership: Charter Bold 14px, 0.08em, uppercase, #560000),
   set in Libre Caslon Text 700 (set 14 Oct 2026, owner's choice C). Every h2 and h3 carrying .t-title: 14px, tracking 0.08em, with the equal
   text-indent where centred and none with .t-flush. Colour stays as each page sets it (#560000; the dark-ground titles keep theirs).
   Written with .mc-type2 as well so it wins over the 7 Oct proportions. h1 and every other .t-title (labels in Cormorant) are unchanged. */
h2.t-title, h3.t-title, .mc-type2 h2.t-title, .mc-type2 h3.t-title { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; font-weight: 700; font-style: normal; font-size: 14px !important; text-indent: 0; text-transform: uppercase; font-variant-numeric: lining-nums; }
h2.t-title.t-flush, h3.t-title.t-flush, .mc-type2 h2.t-title.t-flush, .mc-type2 h3.t-title.t-flush { text-indent: 0; }


/* ---- Audit of 14 October, items chosen by the owner on 15 October 2026 ---- */

/* Item 5. Lining figures on the Cormorant classes that carry figures, so "2027" matches "15 to 19 June" and "$5,000, once" sits on the line. */
.t-label, .t-band, .t-entry, .t-caption, .t-nav { font-variant-numeric: lining-nums; }

/* Item 9. The small Cormorant capitals take two trackings instead of six: 0.28em for labels, bands, captions and navigation; 0.34em for titles and actions.
   (The Caslon section headings above keep 0.08em.) --trk records each class's tracking for item 7. */
.t-label, .t-band, .t-caption, .t-nav, .mc-type2 .t-label, .mc-type2 .t-band, .mc-type2 .t-caption, .mc-type2 .t-nav { letter-spacing: 0.28em; --trk: 0.28em; }
.t-title, .t-action, .t-link, .mc-type2 .t-title, .mc-type2 .t-action, .mc-type2 .t-link { letter-spacing: 0.34em; --trk: 0.34em; }
h2.t-title, h3.t-title, .mc-type2 h2.t-title, .mc-type2 h3.t-title { letter-spacing: 0.08em; --trk: 0.08em; }
.t-display { --trk: 0.23em; }
@media (max-width: 440px) { .t-display { --trk: 0.13em; } }
.t-page, .t-ground { --trk: 0.16em; }

/* Item 7. Centred spaced capitals: the tracking is balanced on every line, not only the first. text-indent moved the first line only;
   a shift of half the tracking moves every line, which on one line is the same as before. Inline elements are unaffected, as before.
   .t-flush (text set flush left) keeps no shift. Titles, headings and questions wrap evenly. */
.t-display, .t-page, .t-title, .t-label, .t-band, .t-caption, .t-nav, .t-action, .t-link,
.mc-type2 .t-title, .mc-type2 .t-label, .mc-type2 .t-band, .mc-type2 .t-caption, .mc-type2 .t-nav, .mc-type2 .t-action, .mc-type2 .t-link { text-indent: 0; translate: calc(var(--trk, 0em) / 2) 0; }
.t-flush, .mc-type2 .t-flush, [data-menubtn] { translate: none; }
h1, h2, h3, .t-page, .t-title, .t-question { text-wrap: balance; }

/* Item 6. Clause numbers on Terms, Privacy and Cookies, in the text face at text size, lining, level with the clause's first line, as in the signed papers. */
li > [data-num] { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif !important; font-size: clamp(16px, 1.18vw, 17px) !important; line-height: 1.6 !important; letter-spacing: 0 !important; text-transform: none !important; font-variant-numeric: lining-nums; top: 0 !important; translate: none; }
h2 > [data-num] { font-variant-numeric: lining-nums; }

/* Item 3. Entry pages on phones: the facts block and the See Also titles at 16px (credits and the copyright stay small). */
@media (max-width: 760px) {
  ul[data-summary] .t-fine { font-size: 16px !important; }
  main:has(ul[data-summary]) div:has(> span.t-label) > div > a.t-fine { font-size: 16px !important; }
}

/* Item 11. Links in sentences: 44px tap targets up to 1080px on every page that does not already have them (the home and founding pages keep their own rule),
   with line spacing in paragraphs that hold a link opened so no tap area covers the line above. */
@media (max-width: 1080px) {
  body:not(:has(.mc-type2)) :is(main, section, footer) p a { padding-top: 12px; padding-bottom: 12px; }
  body:not(:has(.mc-type2)) :is(main, section) p:has(a) { line-height: max(1.6em, calc(1.25em + 12px)) !important; }
}

/* Form labels (owner's choice 3c, 15 Oct 2026): the label above its help, like a printed form. On the request, proposal and waiting-list forms of the home and
   founding pages, a field's label is Libre Caslon Text at the body size, as written (no capitals, no tracking), in ink; its help line and the (optional) marker
   are Caslon italic 14px in grey (#554E42). On phones the help stays at 16px, the site's minimum, and the label rises to 19px to stay the larger. */
form label > span.t-label, .mc-type2 form label > span.t-label, form.mc-type2 label > span.t-label, form span#title-label.t-label, form span[data-flabel].t-label { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif !important; font-weight: 400; font-style: normal; font-size: 17px !important; line-height: 1.4; letter-spacing: 0 !important; text-indent: 0 !important; text-transform: none !important; translate: none; color: #1D1A15 !important; }
form label > span.t-label .t-aside, form label > span.t-label .t-fine, .mc-type2 form label > span.t-label .t-aside, .mc-type2 form label > span.t-label .t-fine { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif; font-style: italic; font-size: 14px !important; letter-spacing: 0; text-transform: none; color: #554E42; }
form .t-help { font-style: italic; font-size: 14px; color: #554E42 !important; }
@media (max-width: 760px) {
  form label > span.t-label, .mc-type2 form label > span.t-label, form.mc-type2 label > span.t-label, form span#title-label.t-label, form span[data-flabel].t-label { font-size: 19px !important; }
  form label > span.t-label .t-aside, form label > span.t-label .t-fine, .mc-type2 form label > span.t-label .t-aside, .mc-type2 form label > span.t-label .t-fine, form .t-help, .mc-type2 form .t-help { font-size: 16px !important; }
}

/* Footer (owner's choice 4a, 15 Oct 2026): the same spaced Cormorant capitals, larger, heavier and in ink rather than faint grey; the crest a little larger.
   Name line 15px, 0.28em, #1D1A15; legal links 13px, 0.22em, #3B362C (red on hover); diamonds full strength; double rules a shade darker; copyright 13px #3B362C
   (14px on phones, as before). Every page's footer except cookie-preferences.html, which does not load this file. */
footer > a > img[src*="crest-mark"] { height: 88px !important; opacity: 1 !important; }
footer > p.t-nav, .mc-type2 footer > p.t-nav { font-weight: 500; font-size: 15px !important; letter-spacing: 0.28em; --trk: 0.28em; color: #554E42 !important; cursor: default; }
/* The footer's name line is a line of text, not a link (Code's dead-click measurements, 26 Oct 2026): set in the label grey #554E42 with no pointer, so only the crest above it and the legal links below (ink #2A2620) read as links. Its weight stays as the 1b rule below sets it. */
#legal a.t-nav, .mc-type2 #legal a.t-nav { font-weight: 500; font-size: 13px !important; letter-spacing: 0.22em; --trk: 0.22em; color: #3B362C !important; }
#legal a.t-nav:hover { color: #560000 !important; }
#legal [data-sep] { opacity: 1 !important; }
footer > div[aria-hidden] > span:first-child:not([style*="margin"]), footer > div[aria-hidden] > span:last-child:not([style*="margin"]) { background: rgba(86,0,0,0.6) !important; }
footer > div[aria-hidden] > span[style*="margin"] { background: rgba(86,0,0,0.32) !important; }
footer > p.t-fine:last-child, .mc-type2 footer > p.t-fine:last-child { color: #3B362C !important; }
@media (min-width: 761px) { footer > p.t-fine:last-child, .mc-type2 footer > p.t-fine:last-child { font-size: 13px !important; } }
@media (max-width: 760px) { .mc-type2 footer > p.t-fine:last-child { font-size: 14px !important; } }
@media (max-width: 760px) { footer > p.t-nav, .mc-type2 footer > p.t-nav { font-size: 14px !important; letter-spacing: 0.22em; --trk: 0.22em; } footer > a > img[src*="crest-mark"] { height: 80px !important; } }

/* Entry pages (owner's choice 10c, 15 Oct 2026): the small lines in the text face, as the form labels. The facts labels (2027, Where, Dress, Admission)
   in Caslon italic 15px, grey #554E42, against upright values in ink, so label and value read apart; the header line, the photograph captions and
   the closing line in Caslon italic 15px, #554E42. "Arranged by the Court" and the return links stay in Cormorant capitals, at 500. */
body:has(ul[data-summary]) ul[data-summary] .t-label { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif !important; font-style: italic !important; font-size: 15px !important; letter-spacing: 0 !important; text-indent: 0 !important; text-transform: none !important; translate: none !important; color: #554E42 !important; }
body:has(ul[data-summary]) ul[data-summary] .t-fine { color: #1D1A15 !important; font-size: 16px !important; }
body:has(ul[data-summary]) main figcaption.t-caption, body:has(ul[data-summary]) main > div:first-child p.t-band:not([data-access-label]), body:has(ul[data-summary]) main p.t-band:has(+ div a.t-link), body:has(ul[data-summary]) main div:has(> a.t-link) ~ p.t-band { font-family: "Libre Caslon Text", "Libre Caslon Fallback", Georgia, serif !important; font-style: italic !important; font-size: 15px !important; letter-spacing: 0 !important; text-indent: 0 !important; text-transform: none !important; translate: none !important; color: #554E42 !important; }
body:has(ul[data-summary]) main :is(.t-band, .t-label, .t-link) { font-weight: 500; }
@media (max-width: 760px) { body:has(ul[data-summary]) ul[data-summary] .t-label, body:has(ul[data-summary]) main figcaption.t-caption, body:has(ul[data-summary]) main > div:first-child p.t-band:not([data-access-label]), body:has(ul[data-summary]) main p.t-band:has(+ div a.t-link), body:has(ul[data-summary]) main div:has(> a.t-link) ~ p.t-band { font-size: 16px !important; } }

/* Entry pages (15 Oct 2026): the "Questions" heading (the section whose questions are h3) set in the middle of the column; the other section headings stay flush left. */
body:has(ul[data-summary]) main section:has(> h3) > h2.t-title { text-align: center; translate: calc(var(--trk, 0em) / 2) 0; }
/* …with the diamond line above it, as under the crest at the head of the page (line, diamond, line; 236px, at 0.6); the space under the heading matches the section gap above the line. */
body:has(ul[data-summary]) main section:has(> h3) > h2.t-title { margin-bottom: clamp(44px, 6.5vh, 64px) !important; }
body:has(ul[data-summary]) main section:has(> h3) > h2.t-title::before { content: ""; display: block; width: 236px; max-width: 66%; height: 17px; margin: 0 auto clamp(18px, 2.6vh, 26px); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='236' height='17' viewBox='0 0 236 17'%3E%3Cg fill='%23560000'%3E%3Crect x='0' y='8' width='109' height='1'/%3E%3Crect x='127' y='8' width='109' height='1'/%3E%3Crect x='114.5' y='5' width='5' height='5' transform='rotate(45 117 7.5)' /%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; opacity: 0.6; translate: calc(var(--trk, 0em) / -2) 0; }

/* Site review, owner's choices (15 Oct 2026). 5b: the site header on entry pages and the Almanac (header[data-site-header]), as on the home page; the large crest above the title removed. */
header[data-site-header] nav a.t-nav { font-weight: 500; font-size: 13px; letter-spacing: 0.22em; --trk: 0.22em; color: #3B362C; text-decoration: none; padding: 7px 0; margin: -7px 0; }
header[data-site-header] nav a.t-nav:hover { color: #560000; }
header[data-site-header] nav a.t-nav[data-here], header[data-site-header] nav a.t-nav[data-members] { color: #560000; }
header[data-site-header] nav a.t-nav[data-members]:hover { color: #800000; }
html:has(header[data-site-header]) { scroll-padding-top: 96px; }
body:has(header[data-site-header]) main { padding-top: clamp(48px, 8vh, 88px) !important; }
@media (max-width: 760px) {
  header[data-site-header] { flex-direction: column; gap: 9px !important; padding: 10px 12px !important; }
  header[data-site-header] img { height: 44px !important; }
  header[data-site-header] nav { flex-direction: column; gap: 16px !important; }
  header[data-site-header] nav [data-navjoin] { display: none; }
  header[data-site-header] nav [data-navgroup] { gap: 10px !important; }
  header[data-site-header] nav a.t-nav { font-size: 12px; letter-spacing: 0.2em; --trk: 0.2em; padding: 14px 0; margin: -14px 0; }
  html:has(header[data-site-header]) { scroll-padding-top: 150px; }
  body:has(header[data-site-header]) main { padding-top: 40px !important; }
}
/* 1b: entry pages read in one 560px column (about 66 characters; was 600px, owner's choice 6e, 17 Oct 2026), facts, headings and text on one left edge; ragged right, no hyphenation. Photographs keep the full width. */
body:has(header[data-site-header="entry"]) main ul[data-summary], body:has(header[data-site-header="entry"]) main section { max-width: 560px !important; margin-left: auto !important; margin-right: auto !important; }
/* The Gazette's email box (an input in t-body) keeps its own centred text (29 Oct 2026). */
body:has(header[data-site-header="entry"]) main .t-body:not(input) { text-align: left !important; hyphens: manual !important; -webkit-hyphens: manual !important; text-wrap: pretty; }
/* 10b: the foot of an entry page as a facts block: grey italic Caslon labels, red links at text size, hairlines between rows (See Also, the Almanac's pieces, Elsewhere); the photograph credits one line of small print below. */
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) { display: grid !important; grid-template-columns: 150px minmax(0, 1fr); gap: 0 16px !important; align-items: stretch !important; max-width: 600px; margin-left: auto; margin-right: auto; padding-top: 0 !important; text-align: left; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) { display: contents !important; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > * { margin: 0 !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(86,0,0,0.10); font-family: "Libre Caslon Text", Georgia, serif !important; font-size: 16px !important; line-height: 1.55 !important; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > .t-label { font-style: italic; font-weight: 400 !important; letter-spacing: normal !important; text-transform: none !important; text-indent: 0 !important; translate: none !important; white-space: normal !important; color: #615A4C !important; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > :not(.t-label) { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; align-items: baseline; color: #615A4C; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) a { display: inline !important; font: inherit !important; color: #560000 !important; border-bottom: 0 !important; padding: 0 !important; margin: 0 !important; line-height: inherit !important; white-space: normal !important; text-decoration: none; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:first-child > * { order: 1; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > [data-pieces] > * { order: 2; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not(:first-child):not([data-pieces]):not([data-photographs]) > * { order: 3; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > [data-photographs]:not([style*="display:none"]):not([style*="display: none"]) { order: 4; grid-column: 1 / -1; display: block !important; margin-top: 28px; text-align: left; }
body:has(header[data-site-header="entry"]) main [data-photographs] .t-label { display: inline; font-family: "Libre Caslon Text", Georgia, serif !important; font-style: italic; font-weight: 400 !important; font-size: 14px !important; letter-spacing: normal !important; text-transform: none !important; text-indent: 0 !important; translate: none !important; color: #554E42 !important; }
body:has(header[data-site-header="entry"]) main [data-photographs] .t-label::after { content: "."; }
body:has(header[data-site-header="entry"]) main [data-photographs] ul { display: inline !important; text-align: left !important; font-family: "Libre Caslon Text", Georgia, serif !important; font-size: 14px !important; line-height: 1.6 !important; color: #554E42 !important; }
body:has(header[data-site-header="entry"]) main [data-photographs] li { display: inline; }
body:has(header[data-site-header="entry"]) main [data-photographs] li::after { content: ". "; }
body:has(header[data-site-header="entry"]) main [data-photographs] a { color: #554E42 !important; padding-top: 0 !important; }
@media (max-width: 520px) { body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) { grid-template-columns: 92px minmax(0, 1fr); gap: 0 !important; } }

/* 4b: the Almanac's lists. The red marks a link, so the underline shows only on hover and focus; the hosted diamond stands before the name in its own column, as on The Season. */
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) { display: grid !important; grid-template-columns: 12px auto minmax(16px, 1fr) auto; column-gap: 12px !important; align-items: baseline; }
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) > a.t-entry { grid-column: 2; grid-row: 1; text-decoration-line: none !important; }
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) > a.t-entry:hover, body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) > a.t-entry:focus-visible { text-decoration-line: underline !important; }
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) > span.t-band:has(> [role="img"]) { grid-column: 1; grid-row: 1; align-self: center; }
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) > span[aria-hidden="true"] { grid-column: 3; grid-row: 1; }
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry[href^="./engagements/"]) > span.t-band:last-child { grid-column: 4; grid-row: 1; }

/* 8b (15 Oct 2026; roman since 17 Oct 2026, item 10): the Terms table on the home and founding pages: the row names in Caslon roman at text size, in red; the sums in Cormorant 21px, lining, set in the pages; wording unchanged. */
span[data-row].t-band { font-family: "Libre Caslon Text", Georgia, serif !important; font-style: normal !important; font-weight: 400 !important; font-size: 17px !important; letter-spacing: normal !important; text-transform: none !important; text-indent: 0 !important; translate: none !important; line-height: 1.4 !important; color: #560000 !important; text-wrap: balance; }
@media (max-width: 760px) { span[data-row].t-band { font-size: 16px !important; } }
/* 10b: the links in each foot row spaced by the gap, with no separators (each row is its own ruled cell); the rules run unbroken across both columns. */
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > :not(.t-label) > span { display: none !important; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > :not(.t-label) { gap: 4px 22px !important; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) { column-gap: 0 !important; }
body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > .t-label { padding-right: 16px !important; }
@media (max-width: 520px) { body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > .t-label { padding-right: 12px !important; } }
/* 18c and 19c (owner, 15 Oct 2026), the legal pages, Cookie Preferences and 404.
   18c: the closing dates as an imprint between two short rules: Cormorant 500, 11px, 0.16em, #554E42 ("In effect … · Revised …"); wraps on narrow phones.
   19c: "The Mansa Court · New York" under the title as a subtitle: Cormorant italic 500, 22px (20px on phones), red, the style of "Then" and "Now". */
[data-page-dates] > p.t-band { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: 11px !important; letter-spacing: 0.16em !important; --trk: 0.16em; color: #554E42 !important; }
p.t-nav[data-page-sub] { font-style: italic !important; font-weight: 500 !important; font-size: 22px !important; letter-spacing: 0.01em !important; --trk: 0em; text-transform: none !important; text-indent: 0 !important; translate: none !important; color: #560000 !important; line-height: 1.3 !important; margin-top: clamp(12px, 2vh, 18px) !important; }
p.t-nav[data-page-sub] > span { font-style: normal; }
@media (max-width: 760px) { p.t-nav[data-page-sub] { font-size: 20px !important; } }
/* 21b, the Almanac (owner, 15 Oct 2026): the intro under the title in the 19c subtitle style (Cormorant italic 500, 22px, red; 20px on phones);
   the seven ways in as the site header: Cormorant 500, 13px, 0.22em, ink #3B362C, red on hover and when current; the diamonds at full strength. */
p.t-intro[data-alm-intro] { font-weight: 500 !important; font-size: 22px !important; line-height: 1.35 !important; color: #560000 !important; }
@media (max-width: 760px) { p.t-intro[data-alm-intro] { font-size: 20px !important; } }
nav#views a.t-nav { font-weight: 500; font-size: 13px !important; letter-spacing: 0.22em; --trk: 0.22em; color: #3B362C !important; }
nav#views a.t-nav:hover, nav#views a.t-nav[aria-current="page"], nav#views a.t-nav[aria-current="true"] { color: #560000 !important; }
nav#views > span[aria-hidden="true"][style*="rotate"] { opacity: 1 !important; }
/* The Almanac, the rest of the page to match 21b (owner, 15 Oct 2026). Scoped to the Almanac (header[data-site-header="almanac"]); month titles stay in the page-title face.
   Small capitals (counts, places, labels) at weight 500, 12px, 0.2em, #554E42, as the imprints; section and Contents labels as the header links (500, 13px, 0.22em, #3B362C);
   engagement and month names at weight 500; the Roman numerals in Cormorant italic 500 in red, as "Then" and "Now"; the closing link at 500, 13px. */
body:has(header[data-site-header="almanac"]) main .t-band { font-weight: 500 !important; font-size: 12px !important; letter-spacing: 0.2em !important; --trk: 0.2em; color: #554E42 !important; }
body:has(header[data-site-header="almanac"]) main .t-label { font-weight: 500 !important; font-size: 13px !important; letter-spacing: 0.22em !important; --trk: 0.22em; color: #3B362C !important; }
body:has(header[data-site-header="almanac"]) main .t-entry { font-weight: 500 !important; }
body:has(header[data-site-header="almanac"]) main nav#months a > span.t-band:first-child,
body:has(header[data-site-header="almanac"]) main section > div:first-child > span.t-band:first-child { font-style: italic !important; font-size: 20px !important; letter-spacing: 0 !important; --trk: 0em; text-transform: none !important; color: #1D1A15 !important; line-height: 1 !important; }
body:has(header[data-site-header="almanac"]) main a.t-link { font-weight: 500 !important; font-size: 13px !important; letter-spacing: 0.22em !important; --trk: 0.22em; }
/* The Almanac: the views' container at the foot is empty in the month view; its top margin added 44px above the footer, so it takes none while empty (owner: the gap to the crest as on every page). */
body:has(header[data-site-header="almanac"]) main > div:last-child:not(:has(*)) { margin-top: 0 !important; }

/* Season and Almanac rows (owner's choice C, 20 Oct 2026): one step heavier, the small capitals in the header links' ink.
   Home page Season: names and timings at 500. Almanac lists: names and places at 600. Timings and places #3B362C instead of #554E42. Faces and sizes unchanged. */
#season [data-row] .t-entry { font-weight: 500 !important; }
#season [data-row] .t-band { font-weight: 500 !important; color: #3B362C !important; }
body:has(header[data-site-header="almanac"]) main .t-entry { font-weight: 600 !important; }
body:has(header[data-site-header="almanac"]) main div:has(> a.t-entry) > span.t-band { font-weight: 600 !important; color: #3B362C !important; }

/* ---- Preview round of 17 October 2026, the owner's choices (items 5, 6 and 7 here; item 10's row labels in 8b above; item 1 is header.js) ---- */

/* Item 5. Cormorant 300 thins to a hairline at phone sizes: below 600px the title, the page titles and the large lines are set at 400. Nothing else changes. */
@media (max-width: 600px) { .t-display, .t-page, .t-large, .mc-type2 .t-display, .mc-type2 .t-page, .mc-type2 .t-large { font-weight: 400; } }

/* Item 6. Entry pages: the section headings at 16px (the questions' h3 stay at 14px) with 60px above each (the column's gap, which ran 44 to 64px);
   below the title block one left axis: the plate captions and the Questions heading, with its line, set left. */
body:has(header[data-site-header="entry"]) main section > h2.t-title { font-size: 16px !important; }
body:has(header[data-site-header="entry"]) main > div:has(> section) { gap: 60px !important; }
body:has(header[data-site-header="entry"]) main figcaption.t-caption { text-align: left !important; translate: none !important; }
body:has(header[data-site-header="entry"]) main section:has(> h3) > h2.t-title { text-align: left; translate: none; }
body:has(header[data-site-header="entry"]) main section:has(> h3) > h2.t-title::before { margin-left: 0; margin-right: auto; translate: none; }

/* Item 7. On phones the small spaced capitals (.t-band, .t-label, .t-caption, .t-nav) never fall under 12px, tracked 0.24em. The site header's links (the Almanac and the entries) stay at their 12px:
   at 13px the first row, The Season · The Almanac · Admission, no longer fits a 390px screen (the 13px asked for in item 7 was not applied for that reason).
   Below 760px this overrides: tokens.css .t-band and .t-nav clamp(10px, 1vw, 11px), .t-label 11px, .t-caption clamp(10px, 1.1vw, 12px), its phone rule "header nav .t-nav 11px",
   and .mc-type2 .t-label, .t-band, .t-nav clamp(10px, 0.98vw, 11px) !important (hence the !important here); and item 9 above (0.28em). The header links keep 5b above (12px, 0.2em, more specific).
   Unchanged, being more specific: the form labels (Caslon, 19px on phones), the Terms rows (8b), the Almanac's own sizes (12 and 13px), the footer, the entry pages' Caslon captions and facts,
   and the home page's header navigation ([data-home] header nav a.t-nav, 12px, under the locked phone spacing). The Code's labels on phones are set by each page (item 10). The label grey (#554E42) is written in the pages. */
@media (max-width: 760px) {
  .t-band, .t-label, .t-caption, .t-nav, .mc-type2 .t-band, .mc-type2 .t-label, .mc-type2 .t-caption, .mc-type2 .t-nav { font-size: 12px !important; letter-spacing: 0.24em; --trk: 0.24em; }
}

/* Round two, item 5 (owner, 17 Oct 2026). Entry pages on phones: the See Also, Elsewhere, Essays and Figures links, and the photograph credits, take 44px tap targets
   through padding alone; the type does not change. The facts rows give the links 10px above and below (each row's own 14px padding becomes 4px, so a one-line row keeps
   its height); the credits take 13px above and below with their lines opened to match, so no two tap areas overlap. The return links at the foot already measure 46px. */
@media (max-width: 760px) {
  body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > * { padding-top: 4px !important; padding-bottom: 4px !important; }
  body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) > .t-label { padding-top: 14px !important; padding-bottom: 14px !important; }
  body:has(header[data-site-header="entry"]) main > div:has(> [data-photographs]) > div:not([data-photographs]) a { padding-top: 10px !important; padding-bottom: 10px !important; }
  body:has(header[data-site-header="entry"]) main [data-photographs] ul { line-height: 3.3 !important; }
  body:has(header[data-site-header="entry"]) main [data-photographs] a { padding-top: 13px !important; padding-bottom: 13px !important; }
}

/* The paper ground (owner's choice "C, matched", 20 Oct 2026): the stationery paper under a cream veil at 66 per cent, warmed to rgb(229, 217, 188) so the page averages today's cream,
   with a fine grain drawn by the browser over it. The same on the site headers (full and condensed) and on the cookie notice (permission given by the owner, 20 Oct 2026), so they read as one sheet.
   Every page that links type.css, cookie-preferences.html included; not the Lexicon (reversed, its own wallpaper) or the 404 page (the wallpaper), which mark themselves with style[data-reversed] and style[data-wallpaper].
   The home page's notice card keeps its own lighter cream and takes the grain only. Background only: the markup is unchanged.
   One tile since 22 Oct 2026: paper, veil and grain baked into photos/paper-ground.webp (420px, 15 KB), so the page paints once; drawn as three layers, the grain came a moment after the paper and the page showed lighter first. Its flat colour, #E6DDC6, is the tile's average, so even the first frame before it loads matches. */
html:not(:has(style[data-reversed])):not(:has(style[data-wallpaper])) body,
html:not(:has(style[data-reversed])):not(:has(style[data-wallpaper])) header,
html:not(:has(style[data-reversed])):not(:has(style[data-wallpaper])) div[role="region"][aria-label="Cookies"]:not([data-notice-card]) { background-color: #E6DDC6 !important; background-image: url("/photos/paper-ground.webp") !important; background-size: 420px 420px !important; background-repeat: repeat !important; }
[data-notice-card] { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.33 0 0 0 0 0.25 0 0 0 0 0.15 0 0 0 0.1 0'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23n)'/%3E%3C/svg%3E") !important; background-size: 220px 220px !important; background-repeat: repeat !important; }

/* Header and footer (owner's choice 1b, 21 Oct 2026; previews in Header Footer Options.dc.html): the same Cormorant capitals, firmer. Header links 600 in ink #2A2620
   (Members and the current page stay oxblood), 13px and 0.24em from 761px (phones keep their 12px, which is all a 390px screen holds); diamonds at full strength.
   Footer: the name line and legal links at 600, the links and copyright in ink #2A2620. The home page's header and every site header; colours not on the Lexicon (reversed). Type only: the markup is unchanged. */
[data-home] header nav a.t-nav, header[data-site-header] nav a.t-nav, footer > p.t-nav, .mc-type2 footer > p.t-nav, #legal a.t-nav, .mc-type2 #legal a.t-nav { font-weight: 600 !important; }
html:not(:has(style[data-reversed])) [data-home] header nav a.t-nav:not([data-members]):not([data-here]), html:not(:has(style[data-reversed])) header[data-site-header] nav a.t-nav:not([data-members]):not([data-here]):not([aria-current]) { color: #2A2620 !important; }
html:not(:has(style[data-reversed])) [data-home] header nav a.t-nav:not([data-members]):hover, html:not(:has(style[data-reversed])) header[data-site-header] nav a.t-nav:not([data-members]):hover { color: #560000 !important; }
@media (min-width: 761px) { [data-home] header nav a.t-nav, header[data-site-header] nav a.t-nav { font-size: 13px !important; letter-spacing: 0.24em; --trk: 0.24em; } }
[data-home] header nav span[aria-hidden][style*="rotate"], header[data-site-header] nav span[aria-hidden][style*="rotate"] { opacity: 1 !important; }
html:not(:has(style[data-reversed])) #legal a.t-nav, html:not(:has(style[data-reversed])) .mc-type2 #legal a.t-nav, html:not(:has(style[data-reversed])) footer > p.t-fine:last-child { color: #2A2620 !important; }
html:not(:has(style[data-reversed])) #legal a.t-nav:hover { color: #560000 !important; }
/* The rule before Members (owner, 21 Oct 2026): solid oxblood, as the diamonds; still 1px by 18px. Every site header; not the Lexicon (reversed). */
html:not(:has(style[data-reversed])) header nav span[aria-hidden][style*="width:1px"], html:not(:has(style[data-reversed])) header nav span[aria-hidden][style*="width: 1px"] { background: #560000 !important; }

/* The button family (owner, 26 October 2026): RSVP filled in oxblood with cream capitals; SEND, IMPRESSION and READ THE ALMANAC ENTRY outlined,
   a hairline oxblood border and oxblood capitals. One height, 38px, and 44px on phones and touch screens; a row wraps on a narrow card.
   Used on The Season's place cards (the desktop panel and the phone accordion) and in each Season entry page's In company box
   (written by archive/entry-rsvp.js). data-muted="yes" greys a button while it reads "Copied" or "Composing". */
.mc-btns { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.mc-btn { --bt: 0.3em; --bp: 18px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 38px; margin: 0; padding: 6px var(--bp) 6px calc(var(--bp) + var(--bt)); border: 1px solid #560000; border-radius: 0; background: transparent; color: #560000; font-family: "Cormorant Garamond", "Cormorant Fallback", "Cormorant Fallback Times", Georgia, serif; font-weight: 600; font-style: normal; font-size: 13px; line-height: 1.2; letter-spacing: var(--bt); text-indent: 0; text-transform: uppercase; text-align: center; text-decoration: none; white-space: normal; translate: none; cursor: pointer; -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; transition: background-color .15s, color .15s, border-color .15s; }
.mc-btn:hover { color: #800000 !important; border-color: #800000; background-color: rgba(86,0,0,0.05); }
.mc-btn[data-fill] { background-color: #560000; color: #DFD4BB !important; }
.mc-btn[data-fill]:hover { background-color: #800000; border-color: #800000; color: #DFD4BB !important; }
.mc-btn:focus-visible { outline: 2px solid #560000; outline-offset: 3px; }
.mc-btn[data-muted="yes"] { color: #615A4C !important; border-color: #615A4C; }
.mc-btn > span[aria-hidden] { flex: none; margin-left: calc(0px - var(--bt)); }
@media (max-width: 760px), (pointer: coarse) { .mc-btn { min-height: 44px; } }
/* Phones: the capitals a little closer (0.22em, 12px) and the sides 14px, so RSVP, SEND and IMPRESSION share one row and READ THE ALMANAC ENTRY holds one line on a 390px card. */
@media (max-width: 760px) { .mc-btn { --bt: 0.22em; --bp: 14px; font-size: 12px; } }

/* The entry pages' RSVP and SEND (owner, 26 October 2026): the buttons and the line that explains them are kept out of print; the In company line stays. */
@media print { [data-rsvp], [data-rsvp-line], li[data-rsvp-row] { display: none !important; } }
