/* ===========================================================================
   Salt Notes — salt-notes.css
   The one stylesheet that owns colour on saltnotes.blog.

   This file replaces brand.css, hierarchy.css, text-display-standard-v1.css,
   surfaces.css, the Customizer "Additional CSS", and the inline colour blocks
   that used to be printed from PHP. Every other stylesheet in the theme is now
   layout only: it names colours through the --sn-* tokens below and contains
   no hex, rgb() or named colour of its own. If a colour needs to change, it
   changes here, once.

   It is printed after every other stylesheet (wp_head, priority 102), so the
   surface contract and the type floor at the bottom are the last word. The
   foundation layer in the middle is wrapped in @layer so that it keeps its
   old place in the cascade: any component rule beats it, exactly as when it
   loaded first.

   THE PALETTE — hospitality, gathering, the table itself

   Principals
     Executive Navy   #1C2E4A   the identity; dark surfaces, buttons, headings
     Harbor Midnight  #273B5B   secondary navy; raised surfaces, hover, depth
     Rosemary Smoke   #55624D   the one culinary colour; badges, hosting notes,
                                category labels, special callouts — sparingly
     Fine Linen       #FAF8F4   the reading surface; text on navy
   Supports
     Brass Service    #B8944C   primary gold — buttons, rules, icons, markers
     Burnished Gold   #96753A   hover accents, secondary gold lines
     Warm Stone       #D3CCC0   secondary containers, borders
   Utilities
     Editorial Cream  #ECE6DA   cards, forms, recipe panels
     Soft Taupe       #B7B0A5   quiet borders and dividers
   Anchors
     Editorial Ink    #1A1A1A   all long-form text
     Secondary Text   #4B4B4B   meta, captions, supporting copy
   Luminous accent
     Candlelight Gold #D7B56C   gold that reads on navy (6.96:1)
   Signal
     Service Red      #9B3B2F   form errors and destructive states only

   THE RULES (contrast measured, WCAG 2.2)

   1. Long-form text is Editorial Ink on Fine Linen (16.41:1) or Editorial
      Cream (14.00:1). Never gold. Never navy for paragraphs.
   2. Text on Executive Navy or Harbor Midnight is Fine Linen (12.86 / 10.63).
   3. Gold is for buttons, accents, dividers, icons and category markers. It
      does not carry text on a light surface: Brass is 2.68:1 and Burnished
      4.04:1 on linen, both below 4.5. On navy, gold text is Candlelight.
   4. Buttons are Executive Navy with Fine Linen type (12.86:1); hover is
      Harbor Midnight (10.63:1) with a Brass Service rule.
   5. Rosemary Smoke carries Fine Linen type as a badge (6.11:1), or sits as
      text on linen (6.11:1) or cream (5.21:1). Not on Warm Stone (4.06).
   6. Service Red is for errors only (6.47:1 on linen). It is never decoration.
   7. No colour literal outside this file. `npm run check:colors` (see the
      change-set README) fails the build if one appears.
   =========================================================================== */

:root {
	/* --- Palette ------------------------------------------------------- */
	--sn-navy: #1C2E4A;
	--sn-harbor: #273B5B;
	--sn-rosemary: #55624D;
	--sn-linen: #FAF8F4;
	--sn-brass: #B8944C;
	--sn-burnished: #96753A;
	--sn-stone: #D3CCC0;
	--sn-cream: #ECE6DA;
	--sn-taupe: #B7B0A5;
	--sn-ink: #1A1A1A;
	--sn-ink2: #4B4B4B;
	--sn-candle: #D7B56C;
	--sn-error: #9B3B2F;

	/* Channels for translucent use: rgb(var(--sn-navy-rgb) / .5) */
	--sn-navy-rgb: 28 46 74;
	--sn-harbor-rgb: 39 59 91;
	--sn-rosemary-rgb: 85 98 77;
	--sn-linen-rgb: 250 248 244;
	--sn-brass-rgb: 184 148 76;
	--sn-burnished-rgb: 150 117 58;
	--sn-stone-rgb: 211 204 192;
	--sn-cream-rgb: 236 230 218;
	--sn-taupe-rgb: 183 176 165;
	--sn-ink-rgb: 26 26 26;
	--sn-ink2-rgb: 75 75 75;
	--sn-candle-rgb: 215 181 108;
	--sn-error-rgb: 155 59 47;

	/* --- Roles --------------------------------------------------------- */
	--sn-surface: var(--sn-linen);
	--sn-surface-card: var(--sn-cream);
	--sn-surface-quiet: var(--sn-stone);
	--sn-surface-dark: var(--sn-navy);
	--sn-surface-dark-raised: var(--sn-harbor);

	--sn-text: var(--sn-ink);
	--sn-text-muted: var(--sn-ink2);
	--sn-heading: var(--sn-navy);
	--sn-text-on-dark: var(--sn-linen);
	--sn-text-on-dark-muted: rgb(var(--sn-linen-rgb) / 0.86);
	--sn-accent-on-dark: var(--sn-candle);

	--sn-link: var(--sn-navy);
	--sn-link-hover: var(--sn-harbor);
	--sn-link-rule: var(--sn-brass);

	--sn-button: var(--sn-navy);
	--sn-button-text: var(--sn-linen);
	--sn-button-hover: var(--sn-harbor);
	--sn-button-rule: var(--sn-brass);

	--sn-rule: var(--sn-stone);
	--sn-rule-strong: var(--sn-taupe);
	--sn-rule-gold: var(--sn-brass);
	--sn-rule-on-dark: rgb(var(--sn-candle-rgb) / 0.32);

	--sn-badge: var(--sn-rosemary);
	--sn-badge-text: var(--sn-linen);

	--sn-focus: var(--sn-navy);
	--sn-focus-halo: var(--sn-candle);
}

/* ===========================================================================
   Legacy names. Old palette variables, pointed at the tokens above. New work uses --sn-*.
   =========================================================================== */
:root {
	--sc-navy-abyss: var(--sn-navy);
	--sc-midnight: var(--sn-navy);
	--sc-navy-harbour: var(--sn-navy);
	--sc-navy-slate: var(--sn-harbor);
	--sc-brass-gilt: var(--sn-cream);
	--sc-antique-gold: var(--sn-brass);
	--sc-brass-ink: var(--sn-navy);
	--sc-aubergine: var(--sn-navy);
	--sc-blackberry: var(--sn-navy);
	--sc-blackberry-lift: var(--sn-cream);
	--sc-ember-core: var(--sn-rosemary);
	--sc-ember-lift: var(--sn-rosemary);
	--sc-ember-fill: var(--sn-rosemary);
	--sc-ivory: var(--sn-linen);
	--sc-bone: var(--sn-cream);
	--sc-salt-silver: var(--sn-cream);
	--sc-bg: var(--sn-linen);
	--sc-text: var(--sn-ink);
	--sc-surface: var(--sn-linen);
	--sc-surface-muted: var(--sn-cream);
	--sc-surface-dark: var(--sn-navy);
	--sc-surface-dark-deep: var(--sn-navy);
	--sc-surface-dark-raised: var(--sn-navy);
	--sc-button: var(--sn-navy);
	--sc-button-text: var(--sn-linen);
	--sc-button-hover: var(--sn-harbor);
	--sc-accent: var(--sn-brass);
	--sc-border-fine: var(--sn-stone);
	--sc-dramatic: var(--sn-navy);
	--sc-on-navy: var(--sn-linen);
	--sc-gold-on-light: var(--sn-navy);
	--sc-gold-on-dark: var(--sn-candle);
	--sc-ink-on-light: var(--sn-ink);
	--sc-muted-on-dark: rgb(var(--sn-linen-rgb) / 0.94);
	--sc-accent-1: var(--sn-burnished);
	--sc-accent-2: var(--sn-rosemary);
	--sc-accent-3: var(--sn-navy);
	--sc-accent-4: var(--sn-harbor);
	--sc-fill-brass: var(--sn-cream);
	--sc-fill-ember: var(--sn-cream);
	--sc-fill-slate: var(--sn-cream);
	--sc-fill-bone: var(--sn-cream);
	--sc-rgb-midnight: 28, 46, 74;
	--sc-rgb-abyss: 28, 46, 74;
	--sc-rgb-harbour: 28, 46, 74;
	--sc-rgb-slate: 39, 59, 91;
	--sc-rgb-heritage: 28, 46, 74;
	--sc-rgb-blackberry: 28, 46, 74;
	--sc-rgb-champagne: 184, 148, 76;
	--sc-rgb-antique-gold: 184, 148, 76;
	--sc-rgb-ember: 85, 98, 77;
	--sc-rgb-ivory: 250, 248, 244;
	--sc-rgb-cream: 250, 248, 244;
	--sc-rgb-bone: 236, 230, 218;
	--sc-rgb-ink-deep: 28, 46, 74;
	--sc-heritage: var(--sn-navy);
	--sc-burnished: var(--sn-navy);
	--sc-stone-deep: var(--sn-navy);
	--sc-ink-deep: var(--sn-ink);
	--sc-champagne: var(--sn-brass);
	--sc-warm-gold: var(--sn-brass);
	--sc-brass: var(--sn-brass);
	--sc-saffron: var(--sn-brass);
	--sc-cream: var(--sn-linen);
	--sc-white: var(--sn-linen);
	--sc-salt: var(--sn-linen);
	--sc-linen: var(--sn-stone);
	--sc-pearl: var(--sn-cream);
	--sc-mist: var(--sn-cream);
	--sc-stone: var(--sn-cream);
	--sc-navy: var(--sn-navy);
	--sc-navy-deep: var(--sn-navy);
	--sc-ink: var(--sn-ink);
	--sc-glass-core: var(--sn-harbor);
	--sc-glass-lift: var(--sn-cream);
	--sc-glass-fill: var(--sn-cream);
	--sc-sea-glass: var(--sn-harbor);
	--sc-harbor-on-light: var(--sn-harbor);
	--sc-harbor: var(--sn-harbor);
	--sc-coral-core: var(--sn-rosemary);
	--sc-coral-lift: var(--sn-rosemary);
	--sc-coral-fill: var(--sn-cream);
	--sc-coral: var(--sn-rosemary);
	--sc-coral-on-light: var(--sn-rosemary);
	--sc-aubergine-lift: var(--sn-cream);
	--sc-display: "Playfair Display", Georgia, serif;
	--sc-sans: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
	--sc-mono: "JetBrains Mono", Consolas, monospace;
	--sc-shell: 100%;
	--sc-border: color-mix(in srgb, var(--sn-navy) 14%, transparent);
	--sc-rule-on-dark: rgb(var(--sn-brass-rgb) / 0.28);
	--sc-shadow: 0 42px 110px -48px rgb(var(--sn-navy-rgb) / 0.75);
	--sc-shadow-raised: 0 18px 48px -24px rgb(var(--sn-navy-rgb) / 0.55);
	--sc-radius: 12px;
	--sc-fg-dark: var(--sn-ink);
	--sc-fg-dark-muted: var(--sn-navy);
	--sc-fg-light: var(--sn-linen);
	--sc-fg-light-muted: rgb(var(--sn-linen-rgb) / 0.94);
	--sc-accent-on-light: var(--sn-navy);
	--sc-accent-on-dark: var(--sn-candle);
	--sc-home-hero-min: 2.4rem;
	--sc-home-hero-max: 4.75rem;
	--sc-home-section-min: 1.85rem;
	--sc-home-section-max: 3.35rem;
	--sc-home-h2-min: 1.45rem;
	--sc-home-h2-max: 2.15rem;
	--sc-home-h3-min: 1.15rem;
	--sc-home-h3-max: 1.55rem;
	--tds-body: 1.125rem;
	--tds-ui: 1rem;
	--tds-meta: 0.875rem;
	--tds-ink: var(--sn-ink);
	--tds-ivory: var(--sn-linen);
	--tds-cream: var(--sn-linen);
	--tds-gold-dark: var(--sn-burnished);
	--tds-gold-light: var(--sn-brass);
	--tds-harbor: var(--sn-navy);
}

/* ===========================================================================
   Foundation. Layered so every component stylesheet outranks it, as when it loaded first.
   =========================================================================== */
@layer sn-foundation {
	/* --- Base --- */
	/* ---------------------------------------------------------------------------
	   Base. Element defaults only; every component rule outranks these.
	   Headings deliberately set no colour: they inherit, so a heading inside a
	   navy band picks up that band's linen foreground from the surface contract.
	   --------------------------------------------------------------------------- */
	body {
		background-color: var(--sn-surface);
		color: var(--sn-text);
	}

	a {
		color: var(--sn-link);
		text-decoration-color: var(--sn-link-rule);
	}

	a:hover {
		color: var(--sn-link-hover);
	}

	hr {
		border-color: var(--sn-rule);
	}

	.wp-element-button,
	.wp-block-button__link {
		background-color: var(--sn-button);
		color: var(--sn-button-text);
	}

	.wp-element-button:hover,
	.wp-block-button__link:hover,
	.wp-element-button:focus-visible,
	.wp-block-button__link:focus-visible {
		background-color: var(--sn-button-hover);
		color: var(--sn-button-text);
		box-shadow: inset 0 -2px 0 var(--sn-button-rule);
	}

	input,
	select,
	textarea {
		background-color: var(--sn-linen);
		color: var(--sn-ink);
		border-color: var(--sn-taupe);
	}

	::placeholder {
		color: var(--sn-ink2);
		opacity: 1;
	}

	::selection {
		background: var(--sn-candle);
		color: var(--sn-ink);
	}

	/* --- Type hierarchy (was hierarchy.css) --- */
	:root {
	  --text-display: clamp(2.4rem, 5vw, 4rem);
	  --tracking-display: -0.02em;
	  --leading-display: 1.06;

	  --text-title: clamp(2rem, 3.4vw, 3.15rem);
	  --tracking-title: -0.016em;
	  --leading-title: 1.12;

	  --text-sub: clamp(1.45rem, 2.2vw, 2.15rem);
	  --tracking-sub: -0.012em;
	  --leading-sub: 1.22;

	  --text-h3: clamp(1.2rem, 1.5vw, 1.55rem);
	  --tracking-h3: -0.01em;
	  --leading-h3: 1.3;

	  --text-deck: clamp(1.1rem, 1.4vw, 1.35rem);
	  --leading-deck: 1.4;

	  --text-body: 1.0625rem;
	  --leading-body: 1.8;
	  --tracking-body: 0.01em;
		--measure-body: min(72rem, 90vw);

	  --text-utility: 0.72rem;
	  --tracking-utility: 0.14em;
	  --leading-utility: 1.4;

	  --space-block: 1.9rem;

	  --radius-sm: 0.125rem;
	  --radius-md: 0.25rem;
	  --radius-lg: 0.5rem;
	}

	h1, h2, h3 {
	  font-family: var(--font-display, "Playfair Display", Georgia, serif);
	  font-weight: 400;
	}

	h1 {
	  font-size: var(--text-title);
	  letter-spacing: var(--tracking-title);
	  line-height: var(--leading-title);
	}

	h2 {
	  font-size: var(--text-sub);
	  letter-spacing: var(--tracking-sub);
	  line-height: var(--leading-sub);
	}

	h3 {
	  font-size: var(--text-h3);
	  letter-spacing: var(--tracking-h3);
	  line-height: var(--leading-h3);
	}

	h4 {
	  font-family: var(--font-sans, "Inter Tight", system-ui, sans-serif);
	  font-size: var(--text-utility);
	  font-weight: 600;
	  letter-spacing: var(--tracking-utility);
	  text-transform: uppercase;
	  color: var(--color-burnished, var(--sn-navy));
	}

	.entry-content,
	.article-content,
	.post-content,
	.sc-prose,
	.sci-prose {
	  max-width: var(--measure-body);
	  font-family: var(--font-sans, "Inter Tight", system-ui, sans-serif);
	  font-size: var(--text-body);
	  line-height: var(--leading-body);
	  letter-spacing: var(--tracking-body);
	  color: var(--color-text, var(--sn-ink));
	}

	.entry-content h1,
	.article-content h1,
	.sci-prose h1 {
	  font-family: var(--font-display, "Playfair Display", Georgia, serif);
	  font-weight: 400;
	  font-size: var(--text-title);
	  letter-spacing: var(--tracking-title);
	  line-height: var(--leading-title);
	}

	.entry-content h2,
	.article-content h2,
	.sci-prose h2 {
	  font-family: var(--font-display, "Playfair Display", Georgia, serif);
	  font-weight: 400;
	  font-size: var(--text-sub);
	  letter-spacing: var(--tracking-sub);
	  line-height: var(--leading-sub);
	  margin-top: 2.5rem;
	}

	.entry-content h3,
	.article-content h3,
	.sci-prose h3 {
	  font-family: var(--font-display, "Playfair Display", Georgia, serif);
	  font-weight: 400;
	  font-size: var(--text-h3);
	  letter-spacing: var(--tracking-h3);
	  line-height: var(--leading-h3);
	  margin-top: 2rem;
	}

	.entry-content blockquote,
	.article-content blockquote,
	.wp-block-quote,
	.sci-prose blockquote {
	  font-family: var(--font-display, "Playfair Display", Georgia, serif);
	  font-style: italic;
	  font-weight: 400;
	  font-size: var(--text-deck);
	  line-height: var(--leading-deck);
	  border-left: 2px solid var(--color-antique-gold, var(--sn-brass));
	  padding: 0.35rem 0 0.35rem 1.5rem;
	  margin: 2.25rem 0;
	  color: var(--color-heritage, var(--sn-ink));
	}

	.entry-content blockquote cite,
	.wp-block-quote cite,
	.sci-prose blockquote cite {
	  display: block;
	  font-family: var(--font-sans, "Inter Tight", system-ui, sans-serif);
	  font-style: normal;
	  font-size: var(--text-utility);
	  font-weight: 600;
	  letter-spacing: var(--tracking-utility);
	  text-transform: uppercase;
	  color: var(--color-burnished, var(--sn-navy));
	  margin-top: 0.75rem;
	}

	.entry-content figcaption,
	.wp-element-caption,
	.wp-block-image figcaption,
	.sci-prose figcaption {
	  font-size: 0.8rem;
	  letter-spacing: 0.04em;
	  color: var(--color-stone-deep, var(--sn-ink2));
	  margin-top: 0.65rem;
	}

	.entry-content li::marker,
	.sci-prose li::marker {
	  color: var(--color-antique-gold, var(--sn-candle));
	}
	.scf-button,
	.sci-button {
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  gap: 0.8rem;
	  min-height: 50px;
	  padding: 1rem 1.35rem;
	  border: 1px solid transparent;
	  font: 500 0.88rem/1.2 var(--font-mono, "JetBrains Mono", Consolas, monospace);
	  letter-spacing: 0.1em;
	  text-transform: uppercase;
	  text-decoration: none;
	  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	}

	.scf-button:hover,
	.sci-button:hover {
	  transform: translateY(-2px);
	}

	.scf-button--saffron,
	.sci-button--saffron,
	.scf-button--primary,
	.sci-button--primary {
	  background: var(--color-button, var(--sn-navy));
	  color: var(--color-button-text, var(--sn-linen));
	  border-color: var(--color-button, var(--sn-navy));
	}

	.scf-button--saffron:hover,
	.sci-button--saffron:hover,
	.scf-button--primary:hover,
	.sci-button--primary:hover {
	  background: var(--color-midnight, var(--sn-navy));
	  border-color: var(--color-champagne, var(--sn-brass));
	  color: var(--color-ivory, var(--sn-linen));
	}

	.scf-button--ghost,
	.sci-button--ghost {
	  border-color: color-mix(in srgb, var(--color-champagne, var(--sn-brass)) 58%, transparent);
	  color: var(--color-ivory, var(--sn-linen));
	  background: color-mix(in srgb, var(--color-midnight, var(--sn-navy)) 25%, transparent);
	}

	.scf-text-link,
	.sci-text-link {
	  display: inline-flex;
	  align-items: center;
	  gap: 0.65rem;
	  font: 600 0.88rem/1.35 var(--font-mono, "JetBrains Mono", Consolas, monospace);
	  letter-spacing: 0.1em;
	  text-transform: uppercase;
	  text-underline-offset: 0.32rem;
	  color: var(--color-burnished, var(--sn-navy));
	  transition: color 0.2s ease;
	}

	.scf-text-link:hover,
	.sci-text-link:hover {
	  color: var(--color-antique-gold, var(--sn-candle));
	}

	.scf-eyebrow,
	.sci-eyebrow {
	  display: inline-block;
	  font: 500 0.72rem/1.45 var(--font-mono, "JetBrains Mono", Consolas, monospace);
	  letter-spacing: 0.12em;
	  text-transform: uppercase;
	  color: var(--sn-rosemary);
	}

	.scf-eyebrow--saffron,
	.sci-eyebrow--saffron {
	  color: var(--color-antique-gold, var(--sn-candle));
	}

	.sci-callout,
	.scf-callout {
	  max-width: 900px;
	  margin: 2.8rem 0;
	  padding: clamp(1.6rem, 3vw, 2.6rem);
	  border-left: 6px solid var(--color-antique-gold, var(--sn-brass));
	  background: var(--color-ivory, var(--sn-linen));
	  box-shadow: 0 24px 70px -54px rgb(var(--sn-navy-rgb) / 0.55);
	}

	.sci-callout--saffron,
	.scf-callout--saffron {
	  border-left-color: var(--color-antique-gold, var(--sn-brass));
	}
	@media (prefers-reduced-motion: no-preference) {
	  .scf-button,
	  .sci-button,
	  .scf-text-link,
	  .sci-text-link {
	    transition-property: transform, background, color, border-color;
	    transition-duration: 0.2s;
	    transition-timing-function: ease;
	  }
	}

	@media (prefers-reduced-motion: reduce) {
	  .scf-button,
	  .sci-button,
	  .scf-text-link,
	  .sci-text-link {
	    transition: none;
	  }
	  .scf-button:hover,
	  .sci-button:hover {
	    transform: none;
	  }
	}

	:focus-visible {
	  outline: 3px solid var(--color-antique-gold, var(--sn-brass));
	  outline-offset: 4px;
	}
	.sci-ops-metrics,
	.scf-ops-metrics {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	  gap: 0.75rem 1.25rem;
	  margin: 1.75rem 0 2.25rem;
	  padding: 1.15rem 1.35rem;
	  background: var(--color-ivory, var(--sn-linen));
	  border: 1px solid var(--color-champagne, var(--sn-brass));
	  border-radius: var(--radius-md, 0.25rem);
	}
	.sci-ops-metrics p,
	.scf-ops-metrics p,
	.sci-ops-metrics strong,
	.scf-ops-metrics strong {
	  margin: 0;
	  font: 500 0.78rem/1.45 var(--font-mono, "JetBrains Mono", Consolas, monospace);
	  letter-spacing: 0.04em;
	  color: var(--color-text, var(--sn-ink));
	}
	.sci-ops-metrics strong,
	.scf-ops-metrics strong {
	  display: block;
	  margin-bottom: 0.2rem;
	  font-size: 0.62rem;
	  letter-spacing: 0.12em;
	  text-transform: uppercase;
	  color: var(--color-burnished, var(--sn-navy));
	}
	.sci-prose .sci-failure-points,
	.sci-prose .sci-substitutions {
	  margin: 2rem 0;
	}
	.sci-prose .sci-failure-points strong,
	.sci-prose .sci-substitutions strong {
	  color: var(--color-burnished, var(--sn-navy));
	}

	/* --- Text display standard (was text-display-standard-v1.css) --- */
	html { font-size: 100%; }
	body {
	  font-size: var(--tds-body);
	  line-height: 1.65;
	}
	body :where(p, li, dd, .entry-content, .article-content) {
	  font-size: max(1rem, 16px);
	  line-height: 1.65;
	}
	body :where(h1) { font-size: clamp(2rem, 4.5vw, 4rem); line-height: 1.08; }
	body :where(h2) { font-size: clamp(1.75rem, 3vw, 3rem); line-height: 1.15; }
	body :where(h3) { font-size: clamp(1.25rem, 1.8vw, 1.75rem); line-height: 1.25; }
	.scf-button {
	  min-height: 48px;
	}
	.entry-content p,.article-content p,.post-content p,.scf-intelligence__copy > p {
	  max-width: 68ch;
	}
	body :where(h1, h2, h3, h4, p, a, button, li) {
	  overflow-wrap: break-word;
	  text-wrap: pretty;
	}
	img, video, svg { max-width: 100%; height: auto; }

	/* --- Restaurant intelligence base (was inline in inc/restaurant-intelligence.php) --- */
	.sci-route-thesis__grid:has(.ri-shell){display:block}.sci-route-thesis__grid:has(.ri-shell)>div:first-child{max-width:760px;margin-bottom:28px}.sci-route-thesis__grid:has(.ri-shell) .sci-route-thesis__body,.sci-route-thesis__grid:has(.ri-shell) .sci-prose{width:100%;max-width:none;margin:0}.ri-shell,.ri-record{width:100%;max-width:1440px;margin:0 auto;padding:32px 0}.ri-intro{max-width:860px;margin-bottom:28px}.ri-kicker{text-transform:uppercase;letter-spacing:.16em;font-weight:700}.ri-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;padding:18px;border:1px solid currentColor;margin-bottom:18px}.ri-tools label{font-size:.8rem;font-weight:700;text-transform:uppercase}.ri-tools input,.ri-tools select,.ri-tools button{width:100%;padding:10px;margin-top:5px}.ri-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.ri-card{position:relative;border:1px solid rgb(var(--sn-ink-rgb) / 0.25);padding:20px;background:var(--sn-linen)}.ri-card-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.ri-card h2{margin:.3rem 0}.ri-select{font-size:.78rem;text-transform:uppercase}.ri-badge{display:inline-block;padding:5px 8px;font-size:.68rem;line-height:1.2;text-transform:uppercase;font-weight:800}.ri-current{background:var(--sn-cream)}.ri-conflict{background:var(--sn-cream)}.ri-stale{background:var(--sn-cream)}.ri-meta,.ri-evidence{font-size:.82rem}.ri-evidence{border-top:1px solid rgb(var(--sn-ink-rgb) / 0.15);padding-top:12px}.ri-link{display:inline-block;margin-top:12px;font-weight:700}.ri-compare-panel{position:fixed;inset:5%;z-index:99999;background:var(--sn-linen);overflow:auto;border:3px solid var(--sn-ink);padding:22px;box-shadow:0 20px 60px rgb(var(--sn-navy-rgb) / 0.35)}.ri-compare-table{width:100%;border-collapse:collapse}.ri-compare-table th,.ri-compare-table td{border:1px solid var(--sn-taupe);padding:10px;vertical-align:top}.ri-record-status{display:flex;gap:12px;align-items:center;margin-bottom:20px}.ri-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.ri-record-grid section{border:1px solid rgb(var(--sn-ink-rgb) / 0.2);padding:18px}@media(max-width:650px){.ri-tools{grid-template-columns:1fr}.ri-card-head{display:block}.ri-compare-panel{inset:1%;padding:12px}}

	/* --- Deep Dish handoff (was inline in inc/deep-dish-handoff.php) --- */
	.sc-dd-handoff{margin:3rem 0 0;padding:1.75rem 1.75rem 1.5rem;border:1px solid rgb(var(--sn-ink-rgb) / 0.14);border-radius:.5rem;background:rgb(var(--sn-navy-rgb) / 0.02)}
	.sc-dd-handoff__kicker{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
	.sc-dd-handoff__head{margin:0 0 .6rem;font-size:1.28rem;line-height:1.25}
	.sc-dd-handoff p{margin:0 0 .85rem;max-width:none}
	.sc-dd-handoff__actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:baseline;margin-bottom:0}
	.sc-dd-handoff__cta{display:inline-block;padding:.55rem 1rem;border-radius:.35rem;text-decoration:none;background:var(--sn-navy);color:var(--sn-linen)}
	.sc-dd-handoff__cta:hover,.sc-dd-handoff__cta:focus{background:var(--sn-navy);color:var(--sn-linen)}
	.sc-dd-handoff__alt{text-decoration:underline;text-underline-offset:.18em}

	/* --- Free/paid boundary (was inline in inc/free-paid-boundary.php) --- */
	.sc-boundary{margin:3rem 0 0;padding:1.75rem;border-top:2px solid currentColor;border-bottom:1px solid rgb(var(--sn-ink-rgb) / 0.14)}
	.sc-boundary__kicker{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
	.sc-boundary p{margin:0 0 .85rem;max-width:none}
	.sc-boundary__actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:baseline;margin-bottom:0}
	.sc-boundary__cta{display:inline-block;padding:.55rem 1rem;border-radius:.35rem;background:var(--sn-navy);color:var(--sn-linen);text-decoration:none}
	.sc-boundary__cta:hover,.sc-boundary__cta:focus{background:var(--sn-navy);color:var(--sn-linen)}
	.sc-boundary__alt{text-decoration:underline;text-underline-offset:.18em}

	/* --- Lesson reminder form and lesson pages (was inline in inc/course/course.php) --- */
	.lwr-form{--lwr-ink:var(--sn-ink);--lwr-brass:var(--sn-navy);--lwr-line:var(--sn-stone);--lwr-muted:var(--sn-ink2);margin:1.5rem 0;max-width:48rem}
	.lwr-form__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.lwr-form__controls{display:flex;flex-wrap:wrap;gap:.5rem}
	.lwr-form__input{flex:1 1 16rem;min-width:0;padding:.75rem .85rem;font-size:1rem;font-family:inherit;color:var(--lwr-ink);background:var(--sn-linen);border:1px solid var(--lwr-line);border-radius:6px}
	.lwr-form__input:focus{outline:2px solid var(--lwr-brass);outline-offset:1px}
	.lwr-form__button{flex:0 0 auto;padding:.75rem 1.2rem;font-size:.95rem;font-weight:700;letter-spacing:.02em;font-family:inherit;color:var(--sn-linen);background:var(--lwr-brass);border:1px solid var(--lwr-brass);border-radius:6px;cursor:pointer;min-height:44px}
	.lwr-form__button:hover{background:var(--sn-harbor)}
	.lwr-form__button[disabled]{opacity:.6;cursor:default}
	.lwr-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
	.lwr-form__note{margin:.6rem 0 0;font-size:.82rem;line-height:1.5;color:var(--lwr-muted)}
	.lwr-form__msg{margin:.5rem 0 0;font-size:.9rem;line-height:1.5;min-height:1.2em}
	.lwr-form__msg.is-good{color:var(--sn-rosemary);font-weight:600}
	.lwr-form__msg.is-bad{color:var(--sn-error);font-weight:600}
	.lwr-form--dark .lwr-form__input{background:var(--sn-linen)}
	.lwr-form--dark .lwr-form__note{color:var(--sn-linen)}
	.lwr-form--dark .lwr-form__button{background:var(--sn-brass);border-color:var(--sn-brass);color:var(--sn-ink)}
	.lwr-form--dark .lwr-form__button:hover{background:var(--sn-candle)}
	@media(max-width:30rem){.lwr-form__controls{flex-direction:column}.lwr-form__button{width:100%}}
	.lwr-lesson{--i:var(--sn-ink);--b:var(--sn-navy);--l:var(--sn-cream);--m:var(--sn-ink2);width:var(--sc-col-w,80vw);max-width:none;margin:2.5rem auto 4rem;padding:0;color:var(--i);line-height:1.65;box-sizing:border-box}
	.lwr-lesson *,.lwr-lesson *:before,.lwr-lesson *:after{box-sizing:border-box}
	.lwr-lesson__eyebrow{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sn-rosemary);font-weight:700;margin:0 0 .4rem}
	.lwr-lesson h1{font-family:Fraunces,"Playfair Display",Georgia,serif;font-weight:600;line-height:1.15;font-size:clamp(1.5rem,4.6vw,2.15rem);margin:0 0 1.2rem}
	.lwr-lesson h2{font-family:Fraunces,"Playfair Display",Georgia,serif;font-weight:600;line-height:1.2;font-size:clamp(1.15rem,3.2vw,1.4rem);margin:2rem 0 .6rem}
	.lwr-lesson p{margin:0 0 1rem;font-size:1.03rem}
	.lwr-lesson a{color:var(--b)}
	.lwr-lesson .lwr-spine{background:var(--sn-cream);border-left:3px solid var(--sn-brass);border-radius:0 6px 6px 0;padding:.85rem 1rem;line-height:1.9}
	.lwr-lesson .lwr-list{margin:0 0 1.2rem;padding-left:1.1rem}
	.lwr-lesson .lwr-list li{margin:0 0 .45rem}
	.lwr-lesson__meter{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--m);font-weight:700;margin:0 0 1.6rem}
	.lwr-lesson__nav{border-top:1px solid var(--l);margin-top:2.5rem;padding-top:1.1rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.9rem}
	.lwr-lesson__cta{border:1px solid var(--l);background:var(--sn-linen);border-radius:8px;padding:1rem 1.1rem;margin-top:2.2rem}
	.lwr-lesson__cta p:first-child{margin-top:0}
}

/* ===========================================================================
   Foundation floors. The !important half of the foundation, at zero specificity (see the build notes).
   =========================================================================== */
/* --- text display standard --- */
:where(body :where(
  .scf-eyebrow,
  .scf-section-mark > span,
  [class*="eyebrow"],
  [class*="kicker"],
  figcaption,
  small,
  .scf-fine-print,
  [class*="meta"],
  [class*="caption"]
)) {
  font-size: max(var(--tds-meta), 0.875rem) !important;
  line-height: 1.45 !important;
  opacity: 1 !important
}
:where(.scf-reveal),
:where([class*="reveal"]) {
  opacity: 1 !important;
  animation: none !important
}
@supports (animation-timeline: view()) {
  :where(.scf-reveal) {
    animation: none !important;
    opacity: 1 !important
  }
}
:where(.scf-eyebrow:not(.scf-eyebrow--navy)),
:where(.scf-section-mark > span),
:where(.scf-text-link) {
  color: var(--sn-navy) !important
}
:where(.scf-section-head--dark .scf-eyebrow),:where(.scf-hero .scf-eyebrow--saffron),:where(.scf-section-head--dark h2 em),:where(.scf-hero h1 em),:where(.scf-closing__panel .scf-eyebrow),:where(.scf-kitchen .scf-eyebrow),:where(.scf-sequence .scf-eyebrow),:where(.scf-proof .scf-eyebrow),:where(.scf-groups .scf-eyebrow),:where(.sci-arrival .scf-eyebrow),:where(.sci-pathways .scf-eyebrow),:where(.sci-application-stage .scf-eyebrow),:where(.sci-route-bridge .scf-eyebrow),:where(.sci-related .scf-eyebrow) {
  color: var(--sn-candle) !important
}
:where(.sci-main--direct-tool .sci-pathways .scf-eyebrow) {
  color: var(--sn-navy) !important
}
:where(.scf-section-head--dark),
:where(.scf-section-head--dark h2),
:where(.scf-section-head--dark > p) {
  color: var(--sn-linen) !important;
  opacity: 1 !important
}
:where(.scf-section-head--dark > p) {
  color: rgb(var(--sn-linen-rgb) / 0.94) !important
}
:where(.scf-button) {
  font-size: var(--tds-ui) !important
}
:where(.scf-button--saffron),
:where(.scf-button--navy) {
  background: var(--sn-navy) !important;
  color: var(--sn-linen) !important;
  border-color: var(--sn-navy) !important
}
:where(.scf-button--ghost) {
  color: var(--sn-linen) !important;
  border-color: rgb(var(--sn-brass-rgb) / 0.72) !important
}
:where(.entry-content p),:where(.article-content p),:where(.post-content p),:where(.scf-intelligence__copy > p) {
  font-size: clamp(1.0625rem, 1rem + 0.2vw, 1.2rem) !important;
  line-height: 1.7 !important;
  color: var(--sn-ink) !important;
  opacity: 1 !important
}

/* ===========================================================================
   Surface contract (was surfaces.css). Surfaces own their foreground; accents stay accents.
   =========================================================================== */
.scf-hero,.scf-kitchen,.scf-desk__clock,.scf-sequence,.scf-phase,.scf-proof,.scf-closing__panel,.scf-groups,.scf-groups__card,.scf-tool--saffron {
  --sc-current-fg: var(--sn-linen);
  --sc-current-muted: rgb(var(--sn-linen-rgb) / 0.94);
  --sc-current-accent: var(--sn-brass);
  color: var(--sc-current-fg);
}

.scf-section-head--dark,
.scf-kitchen .scf-section-head,
.scf-sequence .scf-section-head,
.scf-proof .scf-section-head {
  color: var(--sn-linen);
}

.scf-section-head--dark > p,.scf-kitchen .scf-section-head > p,.scf-sequence .scf-section-head > p,.scf-proof .scf-section-head > p,.scf-hero__deck p,.scf-phase p,.scf-groups__card p,.scf-brand span,.scf-menu a {
  color: rgb(var(--sn-linen-rgb) / 0.94);
  opacity: 1;
}

.scf-section-head--dark .scf-eyebrow,
.scf-section-head--dark h2 em,
.scf-section-head--dark h2 strong,
.scf-hero h1 em,
.scf-hero h1 strong,
.scf-hero .scf-eyebrow--saffron,
.scf-kitchen .scf-eyebrow--saffron,
.scf-proof .scf-eyebrow--saffron,
.scf-footer nav > span,
.scf-footer-policies span,
.scf-footer__colophon > span,
.scf-text-link--light,
.scf-proof figcaption,
.scf-desk__clock li span,
/* The closing panel is a dark surface, but its eyebrow was not in this list,
 * so it inherited the light-surface blackberry and rendered at 1.33:1 on
 * midnight - effectively invisible. */
.scf-closing__panel .scf-eyebrow {
  color: var(--sn-candle);
}
.scf-clock small,.scf-desk__clock li small {
  color: rgb(var(--sn-linen-rgb) / 0.94);
  opacity: 1;
}
.scf-tool--saffron h3,
.scf-tool--saffron p,
.scf-tool--saffron footer b {
  color: var(--sn-linen);
}
.scf-tool--saffron p {
  color: rgb(var(--sn-linen-rgb) / 0.94);
}
.scf-tool--saffron header small,
.scf-tool--saffron header span,
.scf-tool--saffron small {
  color: var(--sn-candle);
}
.scf-closing__panel .scf-fine-print,
.scf-closing__panel .success,
.scf-closing__panel .error {
  color: rgb(var(--sn-linen-rgb) / 0.94);
}
.scf-premise,.scf-desk,.scf-intelligence,.scf-tools,.scf-tool:not(.scf-tool--saffron),.scf-closing {
  --sc-current-fg: var(--sn-ink);
  --sc-current-muted: var(--sn-navy);
  --sc-current-accent: var(--sn-burnished);
}

.scf-premise h2 + p,.scf-intelligence__copy > p,.scf-tools > .scf-shell > p,.scf-tool:not(.scf-tool--saffron) p,.scf-desk__bar span,.scf-desk__bar li,.scf-desk__menu span,.scf-desk__foot span,.scf-desk__quantities dt {
  color: var(--sn-ink);
  opacity: 1;
}

.scf-premise h2 em,.scf-premise h2 strong,.scf-intelligence .scf-eyebrow,.scf-tools .scf-eyebrow,.scf-status {
  color: var(--sn-navy);
}

.scf-intelligence .scf-text-link,.scf-tools .scf-text-link {
  color: var(--sn-ink);
}
.scf-intelligence .scf-text-link:hover,.scf-tools .scf-text-link:hover {
  color: var(--sn-navy);
}
.scf-closing,
.scf-closing h2,
.scf-closing__grid > div:first-child > p {
  color: var(--sn-navy);
}
.scf-closing h2 em {
  color: var(--sn-navy);
}
.scf-button--saffron,
.sci-button--saffron,
.scf-button--primary,
.sci-button--primary {
  background: var(--sn-navy);
  color: var(--sn-linen);
  border-color: var(--sn-navy);
}
.scf-button--saffron:hover,
.sci-button--saffron:hover,
.scf-button--primary:hover,
.sci-button--primary:hover {
  background: var(--sn-navy);
  color: var(--sn-linen);
  border-color: var(--sn-brass);
}
.scf-button--ghost,
.sci-button--ghost {
  color: var(--sn-linen);
  border-color: rgb(var(--sn-brass-rgb) / 0.28);
}
.sci-insight,
.sci-metric,
.sci-prose blockquote {
  --sc-current-fg: var(--sn-linen);
  --sc-current-muted: rgb(var(--sn-linen-rgb) / 0.94);
  --sc-current-accent: var(--sn-brass);
  color: var(--sc-current-fg);
}

.sci-insight :is(h1,h2,h3,h4,h5,h6,strong),
.sci-prose blockquote :is(h1,h2,h3,h4,h5,h6,strong) {
  color: var(--sn-linen);
}
.sci-insight :is(p,li),
.sci-metric p,
.sci-prose blockquote p {
  color: rgb(var(--sn-linen-rgb) / 0.94);
}
.sci-insight__n,
.sci-metric__n,
.sci-prose blockquote cite {
  color: var(--sn-candle);
}

.sci-callout,
.sci-tactics,
.sci-boundary,
.sci-card,
.sci-split__pane,
.sci-pull {
  --sc-current-fg: var(--sn-ink);
  --sc-current-muted: var(--sn-navy);
  --sc-current-accent: var(--sn-burnished);
  color: var(--sc-current-fg);
}
.sci-callout :is(h1,h2,h3,h4,h5,h6,strong),
.sci-tactics :is(h1,h2,h3,h4,h5,h6,strong),
.sci-boundary :is(h1,h2,h3,h4,h5,h6,strong),
.sci-card :is(h1,h2,h3,h4,h5,h6,strong),
.sci-split__pane :is(h1,h2,h3,h4,h5,h6,strong),
.sci-pull :is(h1,h2,h3,h4,h5,h6,strong) {
  color: var(--sn-navy);
}
.sci-callout :is(p,li),
.sci-tactics :is(p,li),
.sci-boundary :is(p,li),
.sci-card :is(p,li),
.sci-split__pane :is(p,li) {
  color: var(--sn-ink);
}
:is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
:is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
:is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i],
.wp-block-cover:has(> .wp-block-cover__background[style*="background-color:#081A2C" i]),
.wp-block-cover:has(> .wp-block-cover__background[style*="background-color:#12304A" i]),
.wp-block-cover:has(> .wp-block-cover__background[style*="background-color:#030B12" i]) {
  --sc-current-fg: var(--sn-linen);
  --sc-current-muted: rgb(var(--sn-linen-rgb) / 0.94);
  --sc-current-accent: var(--sn-brass);
  --evs-link: var(--sn-candle);
  --evs-link-hover: var(--sn-linen);
}

:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i],
  .wp-block-cover:has(> .wp-block-cover__background[style*="background-color:#081A2C" i]),
  .wp-block-cover:has(> .wp-block-cover__background[style*="background-color:#12304A" i]),
  .wp-block-cover:has(> .wp-block-cover__background[style*="background-color:#030B12" i])
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#081A2C" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#12304A" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#030B12" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#453F36" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#6B1F2A" i] {
  color: var(--sn-linen) !important;
}

:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i]
) :is(p,small,span,strong,em)[style*="color:#80652D" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#081A2C" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#12304A" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#030B12" i]
) :is(p,small,span,strong,em)[style*="color:#B89345" i] {
  color: var(--sn-candle) !important;
}
:is(.wp-block-group,.wp-block-column)[style*="background-color:#F7F1E5" i],
:is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFDF8" i],
:is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFFFF" i],
:is(.wp-block-group,.wp-block-column)[style*="background-color:#E7DDCB" i],
:is(.wp-block-group,.wp-block-column)[style*="background-color:#F5EDD8" i] {
  --sc-current-fg: var(--sn-ink);
  --sc-current-muted: var(--sn-navy);
  --sc-current-accent: var(--sn-burnished);
}

:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F7F1E5" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFDF8" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFFFF" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#E7DDCB" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F5EDD8" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#FFFFFF" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F7F1E5" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFDF8" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFFFF" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#E7DDCB" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F5EDD8" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#FFFDF8" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F7F1E5" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFDF8" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFFFF" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#E7DDCB" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F5EDD8" i]
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,span,strong,em)[style*="color:#F7F1E5" i] {
  color: var(--sn-navy) !important;
}

:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F7F1E5" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFDF8" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFFFF" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#E7DDCB" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F5EDD8" i]
) :is(p,small,span,strong,em)[style*="color:#D8BF7A" i],
:is(
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F7F1E5" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFDF8" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#FFFFFF" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#E7DDCB" i],
  :is(.wp-block-group,.wp-block-column)[style*="background-color:#F5EDD8" i]
) :is(p,small,span,strong,em)[style*="color:#B89345" i] {
  color: var(--sn-navy) !important;
}
.scf-hybrid-search input::placeholder { color: rgb(var(--sn-linen-rgb) / 0.94) !important; }
.scf-skip { background: var(--sn-navy) !important; color: var(--sn-linen) !important; }
.home :is(.hero h1,.hero-title,.hero__title,.masthead h1,.masthead-title,.page-hero h1,.entry-hero h1,[class*="hero"] h1,.scf-hero h1){
  font-size: clamp(var(--sc-home-hero-min), 5.5vw, var(--sc-home-hero-max));
  line-height: 1.04;
  letter-spacing: -.022em;
  word-spacing: .02em;
  text-wrap: balance;
}
.home :is(main>section h2,.section-title,.section-heading,.headline-xl,.display-heading,[class*="section"]>h2,[class*="section"] .section-title,.scf-section-head h2,.scf-premise h2){
  font-size: clamp(var(--sc-home-section-min), 3.4vw, var(--sc-home-section-max));
  line-height: 1.1;
  letter-spacing: -.018em;
  word-spacing: .02em;
  text-wrap: balance;
}
.home :is(.operational-proof h2,.operational-proof__title,#operational-proof h2,[class*="operational-proof"] h2,[class*="operational_proof"] h2){
  font-size: clamp(1.9rem, 3.4vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: -.016em;
}
.home :is(article,.entry-content,.article-content,.post-content,.editorial-content) h2{
  font-size: clamp(var(--sc-home-h2-min), 2.2vw, var(--sc-home-h2-max));
  line-height: 1.22;
}
.home :is(article,.entry-content,.article-content,.post-content,.editorial-content) h3{
  font-size: clamp(var(--sc-home-h3-min), 1.5vw, var(--sc-home-h3-max));
  line-height: 1.3;
}
.home :is(.supporting-copy,.support-copy,.section-copy,.intro-copy,.hero-copy,.hero p,.lede,.deck,.eyebrow+p,.scf-hero__deck p){
  font-size: clamp(1.05rem, 1rem + .2vw, 1.15rem);
  line-height: 1.7;
  letter-spacing: .012em;
  word-spacing: .04em;
}
.home :is(.dark,.theme-dark,.has-dark-background,[data-theme="dark"],[class*="dark-bg"],[class*="dark-section"]) :is(.muted,.text-muted,.subtle,.secondary,.supporting-copy,p){opacity:1}
.home :is(.light,.theme-light,.has-light-background,[data-theme="light"],[class*="light-bg"],[class*="light-section"]) :is(.muted,.text-muted,.subtle,.secondary,.supporting-copy,p){
  color: color-mix(in srgb, currentColor 88%, var(--sn-ink) 12%);
  opacity: 1;
}
@media (max-width: 782px){
  .home :is(.hero h1,.hero-title,.hero__title,.masthead h1,.masthead-title,.page-hero h1,.entry-hero h1,[class*="hero"] h1,.scf-hero h1){
    font-size: clamp(2.15rem, 9.5vw, 3.35rem);
    line-height: 1.08;
  }
  .home :is(main>section h2,.section-title,.section-heading,.headline-xl,.display-heading,[class*="section"]>h2,[class*="section"] .section-title,.scf-section-head h2,.scf-premise h2){
    font-size: clamp(1.7rem, 7vw, 2.55rem);
    line-height: 1.14;
  }
}

/* ---------------------------------------------------------------------------
   Focus. One ring that reads on every surface: a navy line with a
   candlelight halo, so it clears 3:1 against linen and against navy alike.
   --------------------------------------------------------------------------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--sn-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--sn-focus-halo);
}

/* ---------------------------------------------------------------------------
   Rosemary Smoke. The culinary accent, for dietary badges, hosting notes,
   category labels and special callouts. Use it sparingly: one per view is the
   intent, and never as a large fill.
   --------------------------------------------------------------------------- */
.sn-badge {
	display: inline-block;
	padding: 0.2em 0.6em;
	border-radius: 2px;
	background: var(--sn-badge);
	color: var(--sn-badge-text);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.sn-label {
	color: var(--sn-rosemary);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sn-note {
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--sn-rosemary);
	background: var(--sn-cream);
	color: var(--sn-ink);
}

.sn-note > :first-child {
	margin-top: 0;
}

.sn-note > :last-child {
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------------
   Service Red. Errors and destructive states only.
   --------------------------------------------------------------------------- */
:where(.error, .is-error, .sn-error, .woocommerce-error, [role="alert"].error, .wpcf7-not-valid-tip) {
	color: var(--sn-error);
}

:where(.woocommerce-error) {
	border-top-color: var(--sn-error);
}

:where(input, select, textarea)[aria-invalid="true"] {
	border-color: var(--sn-error);
}

/* ---------------------------------------------------------------------------
   Restaurant record status. Three states that must stay distinguishable
   without leaving the palette.
   --------------------------------------------------------------------------- */
.ri-badge.ri-current {
	background: var(--sn-rosemary);
	color: var(--sn-linen);
}

.ri-badge.ri-conflict {
	background: var(--sn-cream);
	color: var(--sn-error);
	box-shadow: inset 0 0 0 1px var(--sn-error);
}

.ri-badge.ri-stale {
	background: var(--sn-stone);
	color: var(--sn-ink2);
}

/* ---------------------------------------------------------------------------
   Light cards inside dark surfaces. The surface contract gives everything in
   a navy band a light foreground; these cards are linen islands inside one,
   so they take the light-surface foreground back. Both were failing on the
   live site before the consolidation (gold eyebrow on ivory at 2.00:1, ghost
   button text on its own fill at 1.62:1).
   --------------------------------------------------------------------------- */
.sci-direct-launch .scf-eyebrow,
.sci-direct-handoff .scf-eyebrow {
	color: var(--sn-navy) !important;
}

.sci-direct-launch__actions .scf-button--ghost:not(:hover):not(:focus-visible) {
	background-color: transparent !important;
	color: var(--sn-navy) !important;
}

/* Captions inside the navy application frame sit on navy, not on paper. */
.sci-application-frame .wp-element-caption,
.sci-application-frame figcaption {
	color: var(--sn-text-on-dark-muted);
}

/* ---------------------------------------------------------------------------
   Affiliate disclosure (appended to posts by scf_affiliate_disclosure() in
   functions.php). Was inline style attributes, with gold label text on ivory.
   --------------------------------------------------------------------------- */
aside.scf-affiliate-note {
	margin: 34px 0 0;
	padding: 16px 20px;
	border-top: 1px solid var(--sn-stone);
	font-size: 14px;
	line-height: 1.6;
	color: var(--sn-ink2);
}

aside.scf-affiliate-note > strong {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--sn-navy);
}

/* ---------------------------------------------------------------------------
   Footer swatch row. It shows the house palette, so it shows this one:
   the four principals, then the supports, then the luminous accent.
   --------------------------------------------------------------------------- */
.scf-swatches i:nth-child(1) { background: var(--sn-navy); }
.scf-swatches i:nth-child(2) { background: var(--sn-harbor); }
.scf-swatches i:nth-child(3) { background: var(--sn-rosemary); }
.scf-swatches i:nth-child(4) { background: var(--sn-linen); border: 1px solid rgb(var(--sn-brass-rgb) / 0.45); }
.scf-swatches i:nth-child(5) { background: var(--sn-brass); }
.scf-swatches i:nth-child(6) { background: var(--sn-burnished); }
.scf-swatches i:nth-child(7) { background: var(--sn-stone); border: 0; }
.scf-swatches i:nth-child(8) { background: var(--sn-cream); }
.scf-swatches i:nth-child(9) { background: var(--sn-taupe); border: 0; }
.scf-swatches i:nth-child(10) { background: var(--sn-candle); }

/* ===========================================================================
   Type floor (was the Customizer Additional CSS). Generated by field-ops-desk/scripts/fleet-appearance; regenerate there, then paste here.
   =========================================================================== */
/* Type floor — fleet appearance audit, 2026-09-21. Generated, not hand-written.
   Every font-size in this site's own stylesheets that could render under 12px is re-declared here, same selector and same media query, as max(12px, original); running text also gets max(14px, original) on phones. max() keeps the original wherever it is larger, and the set was checked against every published URL at 390 and 1440px (and a sample at 1024px) so that nothing got smaller and nothing overflowed. Rules that did shrink something on some page were dropped. Regenerate with field-ops-desk/scripts/fleet-appearance (srcfloor2, fullprune, compact) rather than editing by hand. */
.scf-hero__meta,.scf-hero__rail a,.scf-make__search label,.scf-make__field button{font-size:12px}
@media (max-width: 782px){.scf-make__handoff{font-size:14px}}
.scf-desk__bar > div span,.scf-desk__bar li,.scf-desk__menu small,.scf-desk__menu li > span,.scf-desk__quantities dd,.scf-desk__quantities a,.scf-clock small,.scf-desk__clock li span,.scf-desk__clock li small,.scf-desk__clock li b,.scf-desk__foot,.scf-phase header small,.scf-intelligence dt,.scf-intelligence__image figcaption,.scf-mosaic__method span,.scf-tool header small,.scf-tool header span,.scf-tool footer b,.scf-proof figcaption,.scf-fine-print,.scf-closing__panel button,.scf-closing__panel input[type="submit"],.scf-decision__card > span,.scf-decision__all a {font-size:12px}
@media (max-width: 1180px){.scf-menu .sub-menu a{font-size:12px}}
@media (max-width: 680px){.scf-nav-action,.scf-hero__meta,.scf-hero__rail span{font-size:12px}}
@media not all{.scf-proof-placeholder figcaption{font-size:12px}}
.scf-skip {font-size:12px}
.scf-follow-light summary,.sci-arrival__meta,.sci-arrival__rail span,.sci-breadcrumbs,.sci-meta-row,.sci-pill,.sci-article__aside dd,.sci-article__aside nav a,.sci-prose h4,.sci-prose blockquote cite,.sci-prose figcaption,.sci-prose th {font-size:12px}
.sci-prose code{font-size:max(12px, 0.86em)}
.sci-callout > span,.sci-tactics > span,.sci-boundary > span,.sci-split__pane > span,.sci-card > span,.sci-metric span,.sci-prose .sci-kicker,.sci-living,.sci-related-card span,.sci-related-card em,.sci-post-nav span,.sci-page__index span,.sci-page__stamp dt,.sci-filter-bar a,.sci-story__copy > span,.sci-story__copy em,.sci-pagination .page-numbers,.sci-search-form button,.sci-result__copy span,.sci-result__copy em,.sci-empty a,.sci-route-story span,.sci-route-story em,.sci-route-gallery figcaption,.sci-pathway em,.sci-evidence li span,.sci-tool-intro__facts dt,.scf-interior .sc-menu-occasion-family__eyebrow, .scf-interior .sc-occasion-os__eyebrow,.sci-intel-card span{font-size:12px}
.sci-404::before{font-size:max(12px, min(46vw,42rem))}
.sci-404__routes span,.sci-subscribe__form button, .sci-subscribe__form input[type="submit"],.sci-comments input[type="submit"],.scf-interior .wp-block-button__link{font-size:12px}
@media (max-width: 680px){.sci-arrival__rail span{font-size:12px}}
.sci-kitchen-kit__card > span,.sci-kitchen-kit__pour-card > span,.sci-person-card__top small,.sci-person-card__links span,.sci-person-card.is-partial::after,.sci-main--direct-tool .sci-pathway > span,.sci-main--direct-tool .sci-pathway:nth-child(2) > span,.evs-plate__eyebrow,.scf-hybrid-search kbd,.scf-hybrid-search button[type="submit"],.scf-search-panel__heading,.scf-hybrid__cta,.scf-hybrid__pillars > a {font-size:12px}
@media (max-width: 782px){.scf-mobile-nav a span{font-size:14px}}
.scf-breadcrumbs{font-size:12px}
.woocommerce #content table.cart td.actions .coupon .coupon-error-notice, .woocommerce table.cart td.actions .coupon .coupon-error-notice, .woocommerce-page #content table.cart td.actions .coupon .coupon-error-notice, .woocommerce-page table.cart td.actions .coupon .coupon-error-notice{font-size:max(12px, 0.75em)}
.woocommerce small.note{font-size:max(12px, 0.857em)}
.woocommerce div.product p.stock{font-size:max(12px, 0.92em)}
.woocommerce div.product form.cart .reset_variations{font-size:max(12px, 0.83em)}
.woocommerce span.onsale,.woocommerce ul.products li.product .star-rating,.woocommerce ul.products li.product .price{font-size:max(12px, 0.857em)}
.woocommerce ul.products li.product .price .from{font-size:max(12px, 0.67em)}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:max(12px, 0.83em)}
.woocommerce table.my_account_orders{font-size:max(12px, 0.85em)}
.woocommerce td.product-name p.backorder_notification{font-size:max(12px, 0.83em)}
.woocommerce form.checkout_coupon .coupon-error-notice{font-size:max(12px, 0.75em)}
.woocommerce ul.order_details li{font-size:max(12px, 0.715em)}
.woocommerce .widget_price_filter .price_slider_amount{font-size:max(12px, 0.8751em)}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{font-size:max(12px, 0.7em)}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb{font-size:max(12px, 0.92em)}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) #reviews #comments ol.commentlist li .meta,#add_payment_method table.cart td.actions .coupon .coupon-error-notice, .woocommerce-cart table.cart td.actions .coupon .coupon-error-notice, .woocommerce-checkout table.cart td.actions .coupon .coupon-error-notice{font-size:max(12px, 0.75em)}
#add_payment_method .cart-collaterals .cart_totals p small, .woocommerce-cart .cart-collaterals .cart_totals p small, .woocommerce-checkout .cart-collaterals .cart_totals p small{font-size:max(12px, 0.83em)}
#add_payment_method .checkout .create-account small, .woocommerce-cart .checkout .create-account small, .woocommerce-checkout .checkout .create-account small{font-size:12px}
#add_payment_method .checkout .checkout-inline-error-message, .woocommerce-cart .checkout .checkout-inline-error-message, .woocommerce-checkout .checkout .checkout-inline-error-message{font-size:max(12px, 0.75em)}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box{font-size:max(12px, 0.92em)}
#add_payment_method #payment div.payment_box span.help, .woocommerce-cart #payment div.payment_box span.help, .woocommerce-checkout #payment div.payment_box span.help{font-size:max(12px, 0.857em)}
#add_payment_method #payment .payment_method_paypal .about_paypal, .woocommerce-cart #payment .payment_method_paypal .about_paypal, .woocommerce-checkout #payment .payment_method_paypal .about_paypal{font-size:max(12px, 0.83em)}
.woocommerce-order-withdrawal-content .description, .woocommerce-order-withdrawal-content__field-description, .woocommerce-order-withdrawal-content__note,.woocommerce-order-withdrawal-content__field-error,.woocommerce-order-withdrawal-content__steps,.woocommerce-order-withdrawal-content__review-row dt,.wc-block-checkout-axo-block-card__edit{font-size:max(12px, 0.875em)}
.scf-eyebrow, .sci-eyebrow,.sci-ops-metrics strong, .scf-ops-metrics strong{font-size:12px}
body :where(.scf-eyebrow, .scf-section-mark > span, [class*="eyebrow"], [class*="kicker"], figcaption, small, .scf-fine-print, [class*="meta"], [class*="caption"]){font-size:max(12px, max(var(--tds-meta), 0.875rem))!important}
.payment-methods--logos-count{font-size:12px}
#wcpay-woopay-button .woopay-express-button .woopay-button-last4{font-size:max(12px, 0.75em)}
#wcpay-woopay-button .woopay-express-button[data-size="small"] .woopay-button-last4{font-size:max(12px, 0.7em)}
#wcpay-woopay-button .woopay-express-button[data-size="large"] .woopay-button-last4{font-size:max(12px, 0.8em)}
.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{font-size:max(12px, 0.875em)}
.theme-twentynineteen .wc-block-grid__product{font-size:max(12px, 0.88889em)}
.theme-twentytwenty .wc-block-components-product-price .woocommerce-Price-amount, .theme-twentytwenty .wc-block-components-product-price__value, .theme-twentytwenty .wc-block-grid__product-price .woocommerce-Price-amount, .theme-twentytwenty .wc-block-grid__product-price__value{font-size:max(12px, 0.9em)}
.theme-twentytwenty .star-rating, .theme-twentytwenty .wc-block-grid__product-rating{font-size:max(12px, 0.7em)}
.theme-twentytwenty .wc-block-active-filters .wc-block-active-filters__clear-all, .theme-twentytwenty .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{font-size:max(12px, 0.75em)}
@media only screen and (min-width: 768px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:max(12px, 0.875em)}}
@media only screen and (min-width: 1168px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:max(12px, 0.875em)}}
.wc-block-components-product-stock-indicator{font-size:max(12px, 0.875em)}
.theme-twentytwenty .wc-block-grid.has-6-columns .wc-block-grid__product, .wc-block-grid.has-6-columns .wc-block-grid__product{font-size:max(12px, 0.5em)}
.theme-twentytwenty .wc-block-grid.has-5-columns .wc-block-grid__product, .theme-twentytwenty .wc-block-grid.has-6-columns.alignfull .wc-block-grid__product, .wc-block-grid.has-5-columns .wc-block-grid__product, .wc-block-grid.has-6-columns.alignfull .wc-block-grid__product{font-size:max(12px, 0.58em)}
.theme-twentytwenty .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .theme-twentytwenty .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product, .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product{font-size:max(12px, 0.75em)}
.theme-twentytwenty .wc-block-grid.has-3-columns:not(.alignwide):not(.alignfull), .wc-block-grid.has-3-columns:not(.alignwide):not(.alignfull){font-size:max(12px, 0.92em)}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{font-size:max(12px, 0.9em)}
.wc-block-components-product-sale-badge,.wc-block-components-product-rating-stars__link,.wc-block-components-totals-shipping .wc-block-components-shipping-placeholder__value,.wc-block-components-totals-shipping .wc-block-components-totals-shipping__via,.wc-block-components-chip .wc-block-components-chip__text{font-size:max(12px, 0.875em)}
.wc-block-components-checkout-step__heading-content{font-size:max(12px, 0.75em)}
.wc-block-components-notice-banner,.contact-form__field-hints{font-size:max(12px, 0.875em)}
.contact-form :is(:where(.grunion-label-required), :where(label span.required)){font-size:max(12px, 85%)}
.contact-form .is-style-outlined .grunion-field-wrap .grunion-checkbox-multiple-options .grunion-label-text, .contact-form .is-style-outlined .grunion-field-wrap .grunion-radio-options .grunion-label-text, .contact-form .is-style-outlined .grunion-field-wrap .notched-label:has(~ .grunion-field.has-placeholder) .grunion-label-text, .contact-form .is-style-outlined .grunion-field-wrap .notched-label:has(~ .grunion-field.has-value) .grunion-label-text, .contact-form .is-style-outlined .grunion-field-wrap .notched-label:has(~ .grunion-field:focus) .grunion-label-text, .contact-form .is-style-outlined .grunion-field-wrap.grunion-field-select-wrap .notched-label .grunion-label-text{font-size:max(12px, 0.8em)}
.contact-form .is-style-outlined .grunion-field-wrap .grunion-checkbox-multiple-options .grunion-label-required, .contact-form .is-style-outlined .grunion-field-wrap .grunion-radio-options .grunion-label-required, .contact-form .is-style-outlined .grunion-field-wrap .notched-label:has(~ .grunion-field.has-placeholder) .grunion-label-required, .contact-form .is-style-outlined .grunion-field-wrap .notched-label:has(~ .grunion-field.has-value) .grunion-label-required, .contact-form .is-style-outlined .grunion-field-wrap .notched-label:has(~ .grunion-field:focus) .grunion-label-required, .contact-form .is-style-outlined .grunion-field-wrap.grunion-field-select-wrap .notched-label .grunion-label-required{font-size:max(12px, 0.68em)}
.contact-form .is-style-animated .grunion-field-wrap .animated-label__label:has(~ .grunion-field.has-placeholder) .grunion-label-text, .contact-form .is-style-animated .grunion-field-wrap .animated-label__label:has(~ .grunion-field.has-value) .grunion-label-text, .contact-form .is-style-animated .grunion-field-wrap .animated-label__label:has(~ .grunion-field:focus) .grunion-label-text, .contact-form .is-style-animated .grunion-field-wrap.grunion-field-select-wrap .animated-label__label .grunion-label-text{font-size:max(12px, 0.75em)}
.contact-form .is-style-animated .grunion-field-wrap .animated-label__label:has(~ .grunion-field.has-placeholder) .grunion-label-required, .contact-form .is-style-animated .grunion-field-wrap .animated-label__label:has(~ .grunion-field.has-value) .grunion-label-required, .contact-form .is-style-animated .grunion-field-wrap .animated-label__label:has(~ .grunion-field:focus) .grunion-label-required, .contact-form .is-style-animated .grunion-field-wrap.grunion-field-select-wrap .animated-label__label .grunion-label-required{font-size:max(12px, 0.6375em)}
:where(.wpconsent-cookie-policy-table){font-size:max(12px, 0.9em)}
.sc-margin__note > summary,.scvd__label,.scvd-matrix thead th{font-size:12px}
@media (max-width: 899px){.scvd-matrix td::before{font-size:12px}}
.scvd-figures__what,.sc-co-public__eyebrow,.sc-tonight-bar__label,.sc-tonight-bar__count{font-size:12px}
@media (max-width: 782px){.sc-tonight-drawer p,.sc-tonight-drawer__empty{font-size:14px}}
.sc-recipe-intel__eyebrow,.sc-recipe-intel__facts dt,.scf-toc__meta,.scf-toc__num,.scf-toc-mobile__count,.evs-body > h2 .ms-marker,.ms-aside__label, .ms-data__label, .ms-handoff__label,.ms-data dt, .ms-data .ms-data__k,.nlh-cvd__toggle-text,.nlh-cvd__title,.nlh-cvd__hint{font-size:12px}
@media (max-width: 782px){.nlh-cvd__hint{font-size:14px}}
.lwr-lesson__eyebrow,.lwr-lesson__meter{font-size:12px}
@media (max-width: 782px){.scf-make__search > .scf-make__handoff,.sht-subhead span {font-size:14px!important}}
.sci-shell.sci-evidence__grid span:not([class]){font-size:12px!important}
/* Type floor, second pass (2026-09-21). Style blocks in the recipe finder, calculators and planner pages, and the home page's theme bundle, reach the page after this stylesheet, so these carry html body (and !important where the original has it). Each original is one rule under 12px at every width, so 12px only raises it; on phones, sentences get 14px. The footer line is a sentence too: on phones it now reads at 14px, where the first pass held it at 12. */
html body .scf-facts,html body .scf-lbl,html body .sbc-lab,html body .sbc-eyebrow,html body .sbc-tag{font-size:12px!important}
html body .sbc-f>label,html body .sbc-seg span,html body .scp-can b,html body .scf-decision__card em,html body .scf-groups__card em,html body .stc-big em {font-size:12px}
@media (max-width: 782px){html body .scf-note,html body .sbc-sub,html body .sbc-fine,html body .sbc-cap,html body .tgy-note {font-size:14px!important}html body .stc .stc-step a.stc-go{font-size:14px}}
@media (max-width: 782px){html body .evs-plate__cta{font-size:max(14px, .82rem)}}
/* Restaurant records and the restaurant engine (restaurant_record, a custom post type the first crawl did not cover). Both stylesheets load after this one, so each rule under 12px is re-declared with html body, as max(12px, original), keeping its !important. */
html body .ri-method-strip__grid span{font-size:max(12px, 0.56rem)}
html body .ri-engine-bar label{font-size:max(12px, 0.62rem)}
html body .ri-engine-bar__legend{font-size:max(12px, 0.58rem)}
html body .ri-signal-row span{font-size:max(12px, 0.48rem)}
html body .ri-signal-row strong{font-size:max(12px, 0.74rem)}
html body .ri-best-for strong{font-size:max(12px, 0.56rem)}
html body .ri-chip{font-size:max(12px, 0.54rem)}
html body .ri-fit-meter__label{font-size:max(12px, 0.54rem)}
html body .ri-compare-panel__head button{font-size:max(12px, 0.62rem)}
html body .ri-compare-row-label{font-size:max(12px, 0.62rem)}
html body .ri-intel-meter span{font-size:max(12px, 0.54rem)}
html body .ri-confirm-list h3{font-size:max(12px, 0.66rem)}
html body .ri-tools label{font-size:max(12px, 0.6rem)}
html body .ri-tools button,html body .ri-empty button{font-size:max(12px, 0.62rem)}
html body .ri-active-filters__label{font-size:max(12px, 0.56rem)}
html body .ri-active-chip{font-size:max(12px, 0.58rem)}
html body .ri-count{font-size:max(12px, 0.68rem)}
html body .ri-conflict-note strong,html body .ri-unknown-note strong{font-size:max(12px, 0.54rem)}
html body .ri-quick-filters__label{font-size:max(12px, 0.56rem)}
html body .ri-quick-filter{font-size:max(12px, 0.62rem)}
html body .ri-depth-chip{font-size:max(12px, 0.62rem)}
html body .ri-card-action{font-size:max(12px, 0.58rem)}
html body .ri-fact-list dt{font-size:max(12px, 0.58rem)}
html body .ri-depth-meter__head{font-size:max(12px, 0.58rem)}
html body .ri-kicker{font-size:max(12px, .66rem)!important}
html body .ri-tools label{font-size:max(12px, .62rem)}
html body .ri-tools button{font-size:max(12px, .66rem)}
html body .ri-count{font-size:max(12px, .68rem)}
html body .ri-select{font-size:max(12px, .62rem)!important}
html body .ri-badge{font-size:max(12px, .56rem)}
html body .ri-card .ri-meta{font-size:max(12px, .66rem)}
html body .ri-link{font-size:max(12px, .61rem)}
html body .ri-record-status{font-size:max(12px, .64rem)}
html body .ri-casefile-link{font-size:max(12px, .62rem)}
html body .ri-back-link{font-size:max(12px, .65rem)!important}
html body .ri-decision-strip span{font-size:max(12px, .56rem)}
html body .ri-casefile-nav a{font-size:max(12px, .58rem)}
/* "Restaurant case file" sits on the cream case-file summary in brass #C8A968: 2:1. The palette's own on-light brass is 4.9:1 there. */
html body .ri-casefile-summary .ri-kicker{color:var(--sn-navy)}
/* The restaurant index (/restaurants/, the post type's archive): restaurant-index.css loads after this sheet. Same treatment; on phones the where-and-unknown lines are sentences and read at 14px. */
html body .scrx-active__label{font-size:max(12px, .72rem)}
html body .scrx-facet__n,html body .scrx-value b,html body .scrx-chip{font-size:max(12px, .74rem)}
html body .scrx-record__unknown strong{font-size:max(12px, .68rem)}
@media (max-width: 782px){html body .scrx-record__where,html body .scrx-record__unknown{font-size:max(14px, .84rem)}}
/* Empty archive state: the second panel of .sci-empty is navy #24405E, but its links inherit the panel's navy text, 1.63:1. They take the palette's ivory, 9.4:1. */
html body .sci-empty > div:last-child :is(a, .scf-eyebrow){color:var(--sn-linen)}
/* Contributor cards on the people archive (interiors.css loads after this sheet). */
html body .sci-person-card__top small,html body .sci-person-card__links span{font-size:max(12px, .62rem)}
html body .sci-person-card__links em{font-size:max(12px, .72rem)}
html body .sci-person-card.is-partial:after{font-size:max(12px, .55rem)}
