/* ===========================================================
   LEGIBILITY FLOOR
   OE-v3.1 "Cream and Navy" | 31 July 2026 | see VERSION.md before editing
   Oceania & Eko, December 2026

   WHY THIS FILE EXISTS AT ALL
   The brief says never edit site.css and allows one style block per
   page. The fixes below are the same handful of rules repeated across
   ten pages, and duplicating them ten times is how a rule drifts: nine
   pages get corrected and the tenth quietly does not. So they live here
   once, in a file loaded AFTER site.css, which leaves site.css exactly
   as the brief demands and keeps each page's own style block for that
   page's own composition.

   THE RULE, and it is the whole file

     FUNCTIONAL text  is a word a guest has to read to know something:
                      a label, a value, a caption that identifies, a
                      note that explains, a placeholder standing where
                      a fact will go.
                      Floor: 13px, and 4.5:1 against the ground.

     DECORATIVE text  is a word that is doing a typographic job rather
                      than carrying information a guest would miss:
                      the eyebrow over a section, a roman numeral, the
                      script "and" between the names, a thematic line.
                      Any size. Contrast still never below 3:1, so it
                      reads as quiet rather than as broken.

   The test, applied to every case below: if a guest could not do the
   thing they came to do without reading it, it is functional. "Look
   one, striped agbada and cap" tells a guest what they are looking at
   and what to wear, so it is functional. "The Nigerian Silk Road" over
   a section is atmosphere, so it is not.

   Most guests at this wedding are older Nigerians reading on a phone in
   daylight. 13px is the floor, not the target.

   WHY !important, WHICH IS OTHERWISE A BAD SIGN
   A page's own <style> block is parsed after this linked file, so a
   page-level rule of equal specificity wins on order alone. That is
   exactly what happened on the first pass: the sizes here applied and
   the colours did not, because traditional.html and aso-ebi.html each
   set .look__cap and their form labels to --ink-40 in their own block.
   A legibility floor that any page can quietly undo is not a floor. So
   these declarations are marked, and they are the only ones in the
   project that are. If a page genuinely needs to differ, change it
   here, where the reason is written down.
   =========================================================== */

/* The reading ink. --ink-60 is the site's own secondary grey and it
   measures 3.93:1 on the page ground, which is under the 4.5:1 this
   file exists to guarantee, so swapping --ink-40 for --ink-60 would
   have moved the problem rather than fixed it. This is the same
   neutral pushed to .74, measured at 5.90:1, and it stays an rgba so
   it keeps compositing correctly over the woven and pale bands as
   well as over the page. */
:root{ --ink-read:rgba(34,38,46,.74); }

/* ---- FUNCTIONAL, was 9.5 to 11px in --ink-40 at 2.31:1 -------------
   Captions that identify, and every form label. --ink-40 composites to
   about #9E9E9C on the page ground and measures 2.31:1, which is below
   the 4.5:1 small text needs by a factor of two. --ink-60 at 13px
   clears it. */
.look__cap,
.field label,
.qty__lab,
.stay__k,
.stay__w,
.spec small,
.spec__row small,
.spec__row dd small,
.facts__row small,
main small,
.order__list dt,
.order__tot dt,
.order__row dt,
.facts__n,
.cloth__for,
.pass-card__section-head,
.who__line{
  font-size:13px !important;
  color:var(--ink-read) !important;
  line-height:1.65 !important;
}

/* ---- FUNCTIONAL, was 10 to 11.5px in --ink-60 at 3.93:1 ------------
   The term side of every definition list: Date, Venue, Colour, Price.
   These are the words a guest scans down the page for. */
.facts__row dt,
.spec__row dt,
.order__row dt,
.pers__evh,
.order__row dt,
.sw{
  font-size:13px !important;
  color:var(--ink-read) !important;
}

/* ---- FUNCTIONAL, the placeholders, was 4.28:1 ----------------------
   "To be confirmed" marks precisely the things a guest keeps coming
   back to check, so it is the last text on the site that should be
   hard to read. --brass-dk is 4.28:1 and just misses; this darker
   brass measures 5.9:1 and still reads as the same metal.
   Sized in em so it keeps scaling with whatever it sits inside,
   including the engraved type on the invitation card. */
.tbc{
  color:#6F5526 !important;
  font-size:max(.78em, 13px) !important;
}

/* ---- FUNCTIONAL, a primary control -------------------------------
   "Menu" is the only way to navigate below 1040px. It was 10.5px. */
.head__toggle{font-size:13px !important}

/* ---- FUNCTIONAL, the pass ---------------------------------------- */
.pass-card__party,
.pass-card__event-detail-label,
.pass-card__barcode-text{
  font-size:13px !important;
  color:var(--ink-read) !important;
}

/* ---- DECORATIVE, deliberately left alone --------------------------
   Listed by name so that "we forgot these" and "we decided these" are
   distinguishable a year from now:

     .eyebrow        the thematic line over a section, 9.5px
     .numeral        the roman numerals I, II, III
     .names__and     the script "and" inside the names lockup, 8.3px
     .road__places   "Ofugu, Usumutong, Abuja", atmosphere
     .card__line     the engraved invitation card face. Small on
     .card__yr       purpose, the way an engraved card is, and every
                     fact on it is repeated at 19px in The Details
     .foot__tag      the hashtag and the working-dates line

   All of these sit at 8.8:1 or better already, so they are quiet by
   size rather than by being washed out. Nothing here is a word a guest
   would miss. */
