/* Ultra production recipes: A is the base; B/C are frozen server-selected classes. */
body.ultra-mother {
  --um-ink: #132d3f;
  --um-muted: #5d686c;
  --um-gold: #e8b54b;
  --um-gold-light: #f3d58b;
  --um-cream: #faf5eb;
  --um-paper: #fffdf8;
  --um-line: #ddd7c8;
  --um-sidebar-width: 240px;
  --um-header-height: 80px;
  margin: 0;
  background: var(--um-cream);
  color: var(--um-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.ultra-mother .um-logo { min-width: 0; max-width: min(48vw, 240px); overflow-wrap: anywhere; }
.ultra-mother .um-logo:not(:has(img)) { font-size: 24px; font-weight: 750; line-height: 1.15; }
.ultra-mother .um-nav a { overflow-wrap: anywhere; }
.ultra-mother .um-home-categories > :not(.um-category-grid) + .um-category-grid { margin-top: 24px; }
.ultra-mother .um-home-categories > h2 { font-size: clamp(29px, 3vw, 43px); line-height: 1.2; margin-bottom: 14px; }
.ultra-mother .um-home-categories > p { max-width: 70ch; color: var(--um-muted); }
.ultra-mother .um-content :where(table, pre) { max-width: 100%; overflow-x: auto; }
.ultra-mother .um-content :where(p, a, li) { overflow-wrap: anywhere; }
.ultra-mother .um-content > section + section { margin-top: 36px; }
.ultra-mother .um-category img.um-category-visual { aspect-ratio: 1; object-fit: contain; background: var(--um-paper); }
.ultra-mother *, .ultra-mother *::before, .ultra-mother *::after { box-sizing: border-box; }
.ultra-mother [hidden] { display: none !important; }
.ultra-mother :where(h1, h2, h3, h4, p, ul, ol, figure) { margin: 0; }
.ultra-mother :where(h1, h2, h3, h4) { color: var(--um-ink); text-wrap: balance; }
.ultra-mother :where(h1, h2) { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; }
.ultra-mother a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ultra-mother button, .ultra-mother input, .ultra-mother select, .ultra-mother textarea { font: inherit; }
.ultra-mother button { cursor: pointer; }
.ultra-mother img { display: block; height: auto; max-width: 100%; }
.ultra-mother :focus-visible { outline: 3px solid #2362b0; outline-offset: 5px; }
.ultra-mother :where(section, article, [id]) { scroll-margin-top: calc(var(--um-header-height) + 24px); }
.ultra-mother ::selection { background: var(--um-gold); color: var(--um-ink); }
.um-skip-link { position: fixed; z-index: 120; left: 16px; top: 10px; padding: 10px 18px; background: white; color: var(--um-ink); transform: translateY(-150%); }
.um-skip-link:focus { transform: translateY(0); }
.um-header {
  position: sticky;
  z-index: 50;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: var(--um-header-height);
  padding: 0 38px 0 30px;
  border-bottom: 1px solid var(--um-line);
  background: var(--um-paper);
}
.um-logo { display: inline-flex; align-items: center; flex: 0 0 auto; text-decoration: none; }
.um-logo img { width: 174px; height: auto; max-height: 58px; object-fit: contain; }
.um-header .um-logo { flex-direction: column; gap: 0; }
.um-header .um-logo > span { font-size: 8px; line-height: 1.4; font-weight: 500; letter-spacing: .18em; color: #74613b; white-space: nowrap; }
.um-header-tagline { margin-right: auto; color: var(--um-muted); padding-left: 24px; border-left: 1px solid var(--um-line); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.um-header-actions { display: flex; align-items: center; gap: 22px; font-size: 13px; }
.um-header-actions > a:not(.um-button) { text-decoration: none; }
.um-header-actions > a:not(.um-button):hover { text-decoration: underline; }
.um-header .um-button { min-height: 40px; padding: 9px 20px; font-size: 12px; }
.um-menu-toggle, .um-menu-close { display: none; }
.um-sidebar {
  position: fixed;
  z-index: 40;
  top: var(--um-header-height);
  bottom: 0;
  left: 0;
  width: var(--um-sidebar-width);
  overflow-y: auto;
  overscroll-behavior: contain;
  color: #f9f4e8;
  background: var(--um-ink);
  scrollbar-width: thin;
  scrollbar-color: #516575 var(--um-ink);
}
.um-sidebar-inner { display: flex; flex-direction: column; min-height: 100%; padding: 38px 22px 26px; }
.um-sidebar > .um-nav { padding: 34px 22px; }
.um-sidebar .um-kicker, .um-nav-label { display: block; padding: 0 12px; margin: 0 0 16px; color: #c9b689; font-size: 10px; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.um-nav { display: flex; flex-direction: column; gap: 5px; }
.um-nav ul { list-style: none; padding: 0; display: grid; gap: 5px; }
.um-nav a { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-height: 48px; padding: 12px 14px; border-left: 2px solid transparent; color: #eeeadd; text-decoration: none; font-size: 14px; line-height: 1.3; }
.um-nav a > span[aria-hidden] { flex: 0 0 17px; color: #c9b689; font-size: 17px; }
.um-nav a::after { content: "↗"; margin-left: auto; opacity: 0; font-size: 15px; }
.um-nav a:hover { color: white; background: #233e50; }
.um-nav a[aria-current="page"], .um-nav a[aria-current="true"] { color: var(--um-ink); background: var(--um-gold); border-left-color: #f8e4b2; font-weight: 600; }
.um-nav a[aria-current]::after { opacity: 1; }
.um-nav a[aria-current] > span[aria-hidden] { color: var(--um-ink); }
.um-nav a:focus-visible, .um-menu-close:focus-visible { outline-color: var(--um-gold-light); }
.um-nav-label:not(:first-child) { margin-top: 28px; }
.um-sidebar-note { margin-top: auto; padding: 36px 12px 0; font-size: 11px; line-height: 1.8; color: #bac5c7; }
.um-sidebar-note::before { content: ""; display: block; width: 28px; height: 1px; margin-bottom: 17px; background: var(--um-gold); }
.um-sidebar-note strong { display: block; margin-bottom: 7px; color: #eee3c7; font-size: 12px; font-weight: 500; letter-spacing: .06em; }
.um-sidebar-note a { color: #e6d6b1; }
.um-sidebar-note .um-kicker { padding: 0; margin-bottom: 13px; font-size: 9px; letter-spacing: .12em; }
.um-sidebar-note h2 { margin-bottom: 15px; color: #f6e8c6; font-size: 29px; line-height: 1.17; letter-spacing: -.025em; }
.um-sidebar-note p { margin-bottom: 18px; }
.um-sidebar-note .um-text-link { font-size: 11px; border-color: #798279; }
.um-sidebar-caption { margin: 30px 12px 0; color: #aab8bc; font-size: 10px; line-height: 1.8; }
.um-main { min-height: calc(100vh - var(--um-header-height)); margin-left: var(--um-sidebar-width); }
.um-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(28px, 3.4vw, 60px);
  padding: clamp(42px, 5vw, 78px) clamp(30px, 3.5vw, 60px);
  background: var(--um-gold);
  overflow: hidden;
}
.um-hero::after { content: ""; position: absolute; right: 4%; bottom: 25px; width: 92px; border-bottom: 1px solid #92702d; opacity: .55; pointer-events: none; }
.um-hero-copy { position: relative; min-width: 0; max-width: 540px; }
.um-kicker { display: block; margin-bottom: 17px; font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.um-hero h1 { margin-bottom: 22px; font-size: clamp(42px, 4.05vw, 68px); line-height: 1.045; }
.um-hero-copy > p { max-width: 44ch; font-size: 15px; line-height: 1.8; color: #344147; }
.um-actions, .um-hero .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 29px; }
.um-button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 48px; padding: 13px 23px; border: 1px solid var(--um-ink); border-radius: 2px; background: var(--um-ink); color: #fffdf8 !important; text-decoration: none; font-size: 13px; line-height: 1.4; font-weight: 600; letter-spacing: .01em; transition: background-color .18s ease, color .18s ease; }
.um-button:hover { background: #294c63; border-color: #294c63; }
.um-button.secondary { background: transparent; color: var(--um-ink) !important; border-color: #73633e; }
.um-button.secondary:hover { background: #ffffff45; border-color: var(--um-ink); }
.um-hero-media { position: relative; margin: 0; min-width: 0; }
.um-hero-media img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #173140; border-radius: 2px; }
.um-hero-media figcaption { margin-top: 10px; text-align: right; font-size: 10px; line-height: 1.5; color: #4b492f; letter-spacing: .04em; }
.um-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 23px; color: #4d594f; font-size: 11px; }
.um-section { width: min(100%, 1240px); margin: 0 auto; padding: 65px clamp(30px, 3.5vw, 60px); }
.um-section + .um-section { border-top: 1px solid var(--um-line); }
.um-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.um-section-heading h2, .um-editorial h2 { font-size: clamp(30px, 2.8vw, 45px); line-height: 1.13; }
.um-section-heading .um-kicker { margin-bottom: 10px; color: #8a651f; }
.um-section-heading > p { max-width: 40ch; font-size: 13px; color: var(--um-muted); }
.um-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; text-decoration: none; border-bottom: 1px solid #9a824f; padding-bottom: 3px; }
.um-text-link:hover { color: #8a651f; border-color: currentColor; }
.um-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.um-category { display: block; min-width: 0; color: var(--um-ink); text-decoration: none !important; padding-bottom: 20px; border-bottom: 1px solid #c4b99f; }
.um-category img { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; margin-bottom: 18px; border-radius: 2px; }
.um-category h3 { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; line-height: 1.15; letter-spacing: -.015em; }
a.um-category h3::after { content: "↗"; font-family: Arial, sans-serif; font-size: 17px; color: #8a651f; }
.um-category p { font-size: 12px; line-height: 1.75; color: var(--um-muted); }
.um-category .um-kicker { margin: 0 0 9px; color: #8a651f; font-size: 9px; }
.um-category > div > span[aria-hidden] { display: none; }
a.um-category:hover h3 { color: #8a651f; }
.um-editorial { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 4vw, 66px); }
.um-editorial > img, .um-editorial > figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; }
.um-editorial > div > img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 2px; }
.um-editorial .um-kicker { color: #8a651f; }
.um-editorial h2 { margin-bottom: 22px; }
.um-editorial p { margin-bottom: 18px; font-size: 14px; line-height: 1.85; color: var(--um-muted); }
.um-editorial .um-text-link { margin-top: 7px; }
.um-editorial figcaption { margin-top: 8px; font-size: 11px; color: var(--um-muted); }
.um-story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.um-story { min-width: 0; }
.um-story > a, a.um-story { text-decoration: none; }
.um-story img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin-bottom: 19px; border-radius: 2px; }
.um-story .um-kicker { margin-bottom: 8px; font-size: 10px; color: #8a651f; }
.um-story h3 { margin-bottom: 10px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.um-story p { color: var(--um-muted); font-size: 13px; line-height: 1.75; }
.um-story .um-text-link { margin-top: 18px; }
.um-story > a:hover h3, a.um-story:hover h3 { color: #8a651f; }
.um-callout { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 33px 38px; background: #f0d99f; border-left: 3px solid #b4872e; }
.um-callout h2, .um-callout h3 { margin-bottom: 9px; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 30px; line-height: 1.15; letter-spacing: -.025em; }
.um-callout p { max-width: 63ch; color: #4d524d; font-size: 13px; }
.um-callout .um-button { flex-shrink: 0; }
.um-faq { max-width: 850px; }
.um-faq details { border-top: 1px solid #cdc4af; }
.um-faq details:last-child { border-bottom: 1px solid #cdc4af; }
.um-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 21px 0; list-style: none; color: var(--um-ink); font-size: 15px; font-weight: 600; cursor: pointer; }
.um-faq summary::-webkit-details-marker { display: none; }
.um-faq summary::after { content: "+"; flex: 0 0 auto; width: 22px; color: #89631b; font-size: 24px; font-weight: 400; line-height: 1; text-align: center; }
.um-faq details[open] summary::after { content: "−"; }
.um-faq details > p, .um-faq details > div { padding: 0 40px 23px 0; font-size: 14px; color: var(--um-muted); }
.um-footer { margin-top: 12px; padding: 47px clamp(30px, 3.5vw, 60px) 25px; color: #d9d9ce; background: var(--um-ink); font-size: 12px; }
.um-footer-top { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); gap: 45px; max-width: 1120px; margin: 0 auto 34px; }
.um-footer .um-logo { margin-bottom: 18px; }
.um-footer .um-logo img { width: 156px; }
.um-footer-top > :first-child > img { padding: 8px 10px; background: var(--um-paper); }
.um-footer-top > div > img { width: 156px; height: auto; margin-bottom: 20px; }
.um-footer h2 { margin: 0 0 18px; color: #f5e7c8; font-size: 30px; line-height: 1.16; letter-spacing: -.025em; }
.um-footer p { max-width: 48ch; color: #bbc7ca; font-size: 12px; line-height: 1.85; }
.um-footer h3 { margin: 4px 0 17px; color: #e5cf97; font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.um-footer ul { display: grid; gap: 9px; padding: 0; list-style: none; }
.um-footer a { color: inherit; text-decoration: none; }
.um-footer a:hover { text-decoration: underline; }
.um-footer-top > nav > a, .um-footer-top > div > a { display: table; margin: 0 0 13px; padding-bottom: 3px; border-bottom: 0; font-size: 12px; font-weight: 400; line-height: 1.5; }
.um-footer-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; max-width: 1120px; margin: 0 auto; padding-top: 21px; border-top: 1px solid #3a5060; color: #bac5c7; font-size: 10px; }
.um-footer-bottom p { max-width: 82ch; font-size: 10px; }
.um-page-hero { padding: 36px clamp(30px, 3.5vw, 60px) 48px; background: var(--um-gold); }
.um-page-hero h1 { max-width: 900px; margin-bottom: 19px; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.08; }
.um-page-hero > p { max-width: 68ch; color: #344147; font-size: 15px; }
.um-page-hero > .um-kicker { font-size: 11px; }
.um-page-hero > img, .um-page-hero > figure { max-width: 960px; margin-top: 29px; }
.um-page-hero > img, .um-page-hero > figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 2px; }
.um-page-hero figcaption { margin-top: 8px; color: #4b492f; font-size: 11px; }
.um-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 28px; color: #4b4e40; font-size: 11px; }
.um-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 0; list-style: none; }
.um-breadcrumb li + li::before { content: "/"; margin-right: 9px; opacity: .6; }
.um-breadcrumb a { text-decoration: none; }
.um-breadcrumb a:hover { text-decoration: underline; }
.um-main > .um-breadcrumb { margin: 0; padding: 18px clamp(30px, 3.5vw, 60px) 0; background: var(--um-gold); }
.um-breadcrumb .um-text-link { padding: 0; border: 0; font-size: inherit; font-weight: 400; }
.um-content { max-width: 1000px; margin: 0 auto; padding: 54px clamp(30px, 3.5vw, 60px) 65px; overflow-wrap: anywhere; }
.um-content > :first-child { margin-top: 0; }
.ultra-mother .um-native-post > h1 { margin-bottom: 26px; font-size: clamp(32px, 4vw, 52px); line-height: 1.12; }
.ultra-mother .um-latest-posts { max-width: 1240px; margin: 0 auto; padding: 32px clamp(30px, 3.5vw, 60px) 52px; border-top: 1px solid var(--um-line); }
.ultra-mother .um-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.ultra-mother .um-post-card { display: block; min-width: 0; color: var(--um-ink); text-decoration: none; overflow-wrap: anywhere; }
.ultra-mother .um-post-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--um-paper); }
.ultra-mother .um-post-card-image { width: 100%; height: 100%; object-fit: contain; }
.ultra-mother .um-post-card-title { display: block; margin-top: 12px; font-size: clamp(16px, 1.7vw, 20px); font-weight: 600; line-height: 1.4; }
.ultra-mother .um-post-card:hover .um-post-card-title { text-decoration: underline; }
.ultra-mother .um-post-card--text-only { padding: 18px; border: 1px solid var(--um-line); background: var(--um-paper); }
.ultra-mother .um-post-card--text-only .um-post-card-title { margin-top: 0; }
@media (max-width: 680px) {
  .ultra-mother .um-latest-posts { padding: 28px 22px 38px; }
  .ultra-mother .um-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .ultra-mother .um-post-card--text-only { padding: 12px; }
}
@media (max-width: 359px) {
  .ultra-mother .um-latest-posts { padding-left: 18px; padding-right: 18px; }
}
.um-content h2 { margin: 45px 0 19px; font-size: clamp(28px, 2.7vw, 39px); line-height: 1.17; }
.um-content h3 { margin: 28px 0 12px; font-size: 20px; font-weight: 600; line-height: 1.3; }
.um-content h4 { margin: 23px 0 10px; font-size: 17px; }
.um-content p { margin-bottom: 20px; color: #45555d; font-size: 15px; line-height: 1.9; }
.um-content :where(ul, ol) { margin: 17px 0 25px; padding-left: 23px; color: #45555d; font-size: 15px; }
.um-content li + li { margin-top: 10px; }
.um-content a:not(.um-button) { text-decoration-color: #a37d2a; }
.um-content figure { margin: 32px 0; }
.um-content figure img { width: 100%; height: auto; border-radius: 2px; }
.um-content figcaption { margin-top: 9px; color: var(--um-muted); font-size: 11px; line-height: 1.7; }
.um-content table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 13px; line-height: 1.65; }
.um-content th, .um-content td { padding: 14px 16px; border-bottom: 1px solid var(--um-line); text-align: left; vertical-align: top; }
.um-content th { background: #f1e5c9; font-weight: 600; }
.um-content tr:nth-child(even) td { background: #f5efe1; }
.um-table-scroll { max-width: 100%; overflow-x: auto; }
.um-content blockquote { margin: 28px 0; padding: 8px 0 8px 24px; border-left: 3px solid var(--um-gold); color: var(--um-muted); }
.um-content .um-callout { margin: 35px 0; }
.um-content .um-callout p { margin-bottom: 0; font-size: 13px; }
.um-content .um-faq p { font-size: 14px; line-height: 1.8; margin: 0; }
.um-content .um-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 25px 0; }
.um-content .um-story-grid > .um-callout { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 15px; min-width: 0; margin: 0; padding: 25px; }
.um-content .um-story-grid > .um-callout h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 28px; font-weight: 400; }
.um-content .um-story-grid > .um-callout p { margin: 0; font-size: 13px; }
.um-content .um-story-grid > .um-callout .um-button { margin-top: auto; padding: 12px 16px; font-size: 12px; }
.um-content .um-source { margin: 17px 0 28px; font-size: 11px; line-height: 1.75; color: var(--um-muted); }
.um-content .um-source .um-text-link { font-size: inherit; font-weight: 500; }
.um-mobile-cta, .um-scrim { display: none; }

@media (min-width: 1720px) {
  .um-hero { padding-left: max(60px, calc((100vw - 1480px) / 2)); padding-right: max(60px, calc((100vw - 1480px) / 2)); }
}
@media (max-width: 1190px) and (min-width: 1001px) {
  body.ultra-mother { --um-sidebar-width: 210px; }
  .um-sidebar-inner { padding-left: 16px; padding-right: 16px; }
  .um-hero { gap: 25px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .um-hero h1 { font-size: 42px; }
  .um-category-grid { gap: 16px; }
  .um-category h3 { font-size: 22px; }
}
@media (max-width: 1000px) {
  body.ultra-mother { --um-sidebar-width: 286px; --um-header-height: 72px; }
  .um-header { padding: 0 24px; gap: 20px; }
  .um-logo img { width: 157px; }
  .um-header-tagline { display: none; }
  .um-header-actions { margin-left: auto; }
  .um-main { margin-left: 0; }
  .um-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px; border: 0; border-radius: 2px; color: var(--um-ink); background: transparent; font-size: 24px; line-height: 1; }
  .um-menu-toggle svg { width: 23px; height: 23px; }
  .um-sidebar { z-index: 80; top: 0; width: min(var(--um-sidebar-width), calc(100vw - 52px)); visibility: hidden; transform: translateX(-100%); transition: transform .22s ease, visibility .22s; box-shadow: 8px 0 35px #00000020; }
  .um-sidebar-inner { padding-top: 65px; }
  .um-sidebar > .um-nav { padding-top: 70px; }
  .um-menu-close { position: absolute; z-index: 1; top: 12px; right: 14px; display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0; border: 1px solid #52626b; border-radius: 2px; background: transparent; color: #fff7df; font-size: 29px; line-height: 1; }
  .um-scrim { position: fixed; z-index: 70; inset: 0; display: block; background: #071c30a3; border: 0; padding: 0; opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s; }
  .um-menu-open { overflow: hidden; }
  .um-menu-open .um-sidebar { visibility: visible; transform: translateX(0); transition: transform .22s ease; }
  .um-menu-open .um-scrim { opacity: 1; visibility: visible; }
  .um-hero { padding: 48px 32px 55px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 32px; }
  .um-hero h1 { font-size: clamp(38px, 5vw, 51px); }
  .um-section { padding: 52px 32px; }
  .um-editorial { gap: 32px; }
  .um-footer { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 680px) {
  body.ultra-mother { --um-header-height: 66px; }
  .um-header { gap: 10px; padding: 0 17px; }
  .um-logo img { width: 144px; max-height: 45px; }
  .um-header .um-logo > span { font-size: 7px; letter-spacing: .12em; }
  .um-header-actions { gap: 10px; }
  .um-header-actions > a:not(.um-button) { display: none; }
  .um-header .um-button { min-height: 38px; padding: 8px 13px; font-size: 11px; }
  .um-menu-toggle { order: -1; margin-left: -8px; min-width: 40px; }
  .um-hero { grid-template-columns: 1fr; gap: 29px; padding: 35px 22px 36px; }
  .um-hero::after { display: none; }
  .um-hero-copy { max-width: 570px; }
  .um-kicker { margin-bottom: 13px; font-size: 10px; letter-spacing: .15em; }
  .um-hero h1 { max-width: 15ch; margin-bottom: 17px; font-size: clamp(38px, 10.5vw, 58px); line-height: 1.05; }
  .um-hero-copy > p { max-width: 45ch; font-size: 14px; line-height: 1.75; }
  .um-actions, .um-hero .actions { margin-top: 22px; gap: 10px; }
  .um-button { min-height: 45px; padding: 12px 18px; font-size: 12px; }
  .um-meta { margin-top: 16px; font-size: 10px; gap: 6px 12px; }
  .um-hero-media img { border-radius: 1px; }
  .um-hero-media figcaption { margin-top: 7px; font-size: 9px; }
  .um-section { padding: 43px 22px; }
  .um-section-heading { display: block; margin-bottom: 24px; }
  .um-section-heading h2, .um-editorial h2 { font-size: 33px; line-height: 1.12; }
  .um-section-heading > p, .um-section-heading > .um-text-link { margin-top: 15px; }
  .um-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 16px; }
  .um-category { padding-bottom: 16px; }
  .um-category img { margin-bottom: 13px; aspect-ratio: 4 / 3; }
  .um-category h3 { font-size: 24px; margin-bottom: 8px; }
  .um-category p { font-size: 12px; line-height: 1.7; }
  .um-editorial { grid-template-columns: 1fr; gap: 25px; }
  .um-editorial > img, .um-editorial > figure img { aspect-ratio: 16 / 10; }
  .um-editorial h2 { margin-bottom: 17px; }
  .um-editorial p { font-size: 14px; }
  .um-story-grid { grid-template-columns: 1fr; gap: 32px; }
  .um-story { padding-bottom: 28px; border-bottom: 1px solid var(--um-line); }
  .um-story:last-child { padding-bottom: 0; border-bottom: 0; }
  .um-story img { margin-bottom: 17px; aspect-ratio: 16 / 9; }
  .um-story h3 { font-size: 28px; }
  .um-story p { font-size: 13px; }
  .um-callout { display: block; padding: 27px 24px; }
  .um-callout h2, .um-callout h3 { font-size: 29px; }
  .um-callout .um-button { margin-top: 21px; }
  .um-faq summary { padding: 19px 0; font-size: 14px; }
  .um-faq details > p, .um-faq details > div { padding-right: 25px; font-size: 13px; }
  .um-footer { padding: 38px 22px 24px; }
  .um-has-mobile-cta .um-footer { padding-bottom: calc(95px + env(safe-area-inset-bottom)); }
  .um-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .um-footer-top > :first-child { grid-column: 1 / -1; }
  .um-footer p { max-width: 50ch; }
  .um-footer-bottom { display: grid; gap: 10px; }
  .um-page-hero { padding: 25px 22px 33px; }
  .um-main > .um-breadcrumb { padding: 17px 22px 0; }
  .um-breadcrumb { margin-bottom: 22px; font-size: 10px; }
  .um-page-hero h1 { font-size: 40px; }
  .um-page-hero > p { font-size: 14px; }
  .um-content { padding: 38px 22px 47px; }
  .um-content h2 { margin-top: 35px; font-size: 30px; }
  .um-content p, .um-content :where(ul, ol) { font-size: 14px; line-height: 1.85; }
  .um-content th, .um-content td { padding: 11px; font-size: 12px; }
  .um-content .um-callout { margin-left: 0; margin-right: 0; }
  .um-content .um-story-grid { grid-template-columns: 1fr; }
  .um-mobile-cta { position: fixed; z-index: 45; bottom: 0; left: 0; right: 0; display: flex; align-items: center; gap: 12px; padding: 10px 15px calc(10px + env(safe-area-inset-bottom)); background: var(--um-paper); border-top: 1px solid #d9cba8; box-shadow: 0 -5px 20px #132d3f08; }
  .um-mobile-cta > p, .um-mobile-cta > span, .um-mobile-cta > div { flex: 1; font-size: 11px; line-height: 1.45; }
  .um-mobile-cta strong { display: block; font-size: 12px; }
  .um-mobile-cta .um-button { min-height: 42px; padding: 10px 17px; font-size: 12px; }
  .um-mobile-cta > .um-button { flex: 1; }
  .um-dismiss { display: grid; place-items: center; width: 32px; min-width: 32px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--um-muted); font-size: 22px; line-height: 1; }
  .um-menu-open .um-mobile-cta { visibility: hidden; }
}
@media (max-width: 359px) {
  .um-header .um-logo img { width: 125px; }
  .um-header .um-button { padding: 8px 10px; }
  .um-hero, .um-section, .um-page-hero, .um-content { padding-left: 18px; padding-right: 18px; }
  .um-hero h1 { font-size: 37px; }
  .um-category h3 { font-size: 21px; }
  .um-mobile-cta > p, .um-mobile-cta > span, .um-mobile-cta > div { font-size: 10px; }
}
/* Source-mother presentation; normal site media replace the seed-only visuals. */
.ultra-mother .um-brand-stage { padding: 30px 24px 18px; background: #132d3f; border: 1px solid #294250; box-shadow: 16px 16px 0 #c3933755; }
.ultra-mother .um-brand-stage img { width: min(100%, 330px); margin: 24px auto; aspect-ratio: 1; object-fit: contain; background: transparent; }
.ultra-mother .um-stage-label { display: block; text-align: center; color: #d3bd83; font-size: 10px; letter-spacing: .25em; }
.ultra-mother .um-brand-stage figcaption { text-align: center; color: #dac992; font-size: 9px; letter-spacing: .1em; }
.ultra-mother .um-brand-stage figcaption span { margin: 0 8px; }
.ultra-mother .um-game-emblem { display: grid; place-items: center; min-height: 155px; margin-bottom: 21px; border: 1px solid #d5c8a7; background: #f1e8d3; color: #193745; font: 85px/1 Georgia,serif; }
.ultra-mother .um-game-emblem-livecasino { color: #efe0b1; background: #20394b; }
.ultra-mother .um-game-emblem-sports { color: #f7ebcd; background: #3c5147; }
.ultra-mother .um-game-emblem-fishing { color: #e6c47e; background: #193f54; }
.ultra-mother .um-reading-panel { padding: 32px; background: #f0e8d7; border-top: 2px solid #b78c37; }
.ultra-mother .um-reading-panel .um-kicker { color: #78551b; }
.ultra-mother .um-reading-panel ol { list-style: decimal-leading-zero; padding-left: 27px; }
.ultra-mother .um-reading-panel li { padding: 14px 0 16px 10px; border-bottom: 1px solid #d5cbb4; }
.ultra-mother .um-reading-panel li:last-child { border-bottom: 0; }
.ultra-mother .um-reading-panel strong { display: block; margin-bottom: 5px; font-size: 14px; }
.ultra-mother .um-reading-panel li span { font-size: 13px; color: #536268; }
.ultra-mother .um-prose { max-width: 940px; }
.ultra-mother .um-prose section + section { margin-top: 40px; }
.ultra-mother .um-prose h2 { margin-bottom: 19px; font-size: clamp(27px, 3vw, 36px); line-height: 1.2; }
.ultra-mother .um-prose p + p { margin-top: 17px; }
.ultra-mother .um-prose p { line-height: 1.85; color: #435760; }
.ultra-mother .um-guide-return { margin-top: 48px; padding-top: 25px; border-top: 1px solid var(--um-line); }
@media (max-width: 600px) {
  .ultra-mother .um-brand-stage { padding: 23px 17px 15px; box-shadow: 7px 7px 0 #c3933755; }
  .ultra-mother .um-brand-stage img { max-width: 220px; margin: 15px auto; }
  .ultra-mother .um-game-emblem { min-height: 125px; }
}

/* B: paired editorial panels. All reading order and production hooks stay intact. */
.um-recipe-b .um-header { border-bottom: 3px solid var(--um-gold); }
.um-recipe-b .um-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--um-paper); border-bottom: 1px solid var(--um-line); }
.um-recipe-b .um-hero::after { display: none; }
.um-recipe-b :where(.um-hero h1, .um-page-hero h1, .um-section-heading h2, .um-home-categories > h2) { font-family: inherit; font-weight: 700; letter-spacing: -.04em; }
.um-recipe-b .um-hero h1 { font-size: clamp(38px, 3.75vw, 60px); line-height: 1.08; }
.um-recipe-b .um-hero-copy { border-left: 4px solid var(--um-gold); padding-left: 24px; }
.um-recipe-b .um-hero-media { padding: 12px; border: 1px solid var(--um-line); background: var(--um-cream); }
.um-recipe-b .um-hero-media figcaption { text-align: left; }
.um-recipe-b .um-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.um-recipe-b .um-category { display: grid; grid-template-columns: minmax(80px, 30%) minmax(0, 1fr); align-content: center; gap: 5px 20px; padding: 22px; border: 1px solid var(--um-line); border-top: 3px solid var(--um-gold); background: var(--um-paper); overflow-wrap: anywhere; }
.um-recipe-b .um-category > :is(img, figure, .um-game-emblem) { grid-column: 1; grid-row: 1 / span 4; align-self: center; width: 100%; min-height: 0; margin: 0; aspect-ratio: 1; object-fit: contain; }
.um-recipe-b .um-category > :not(img):not(figure):not(.um-game-emblem) { grid-column: 2; }
.um-recipe-b .um-category h3 { font-family: inherit; font-size: 22px; font-weight: 650; letter-spacing: -.025em; }
.um-recipe-b .um-category p { font-size: 13px; }
.um-recipe-b .um-category:hover { border-color: var(--um-ink); }
.um-recipe-b .um-nav a { border-radius: 4px; }
.um-recipe-b .um-button { border-radius: 6px; }
.um-recipe-b .um-callout { background: var(--um-paper); border: 1px solid var(--um-line); border-left: 4px solid var(--um-gold); }
.um-recipe-b .um-content { max-width: 1080px; }
.um-recipe-b .um-content > h2 { padding-bottom: 15px; border-bottom: 1px solid var(--um-line); }
.um-recipe-b .um-story-grid { gap: 22px; }
.um-recipe-b .um-story { padding: 20px; border: 1px solid var(--um-line); background: var(--um-paper); }
.um-recipe-b .um-story h3 { font-family: inherit; font-size: 23px; font-weight: 600; }
.um-recipe-b .um-page-hero { background: var(--um-paper); border-bottom: 4px solid var(--um-gold); }
.um-recipe-b .um-main > .um-breadcrumb { background: var(--um-paper); }
.um-recipe-b .um-footer { border-top: 5px solid var(--um-gold); }

/* C: a compact content index, using ordinary rows rather than horizontal scrolling. */
.um-recipe-c .um-hero { grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); padding-top: 42px; padding-bottom: 42px; gap: 32px; }
.um-recipe-c .um-hero::after { display: none; }
.um-recipe-c .um-hero-copy { max-width: 650px; }
.um-recipe-c .um-hero h1 { font-family: inherit; font-size: clamp(35px, 3.3vw, 54px); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; }
.um-recipe-c .um-hero-media { max-width: 400px; justify-self: end; }
.um-recipe-c .um-hero-media figcaption { text-align: left; }
.um-recipe-c .um-actions { margin-top: 20px; }
.um-recipe-c .um-section { padding-top: 42px; padding-bottom: 42px; }
.um-recipe-c .um-home-categories > h2, .um-recipe-c .um-section-heading h2 { font-family: inherit; font-size: 29px; font-weight: 650; letter-spacing: -.025em; }
.um-recipe-c .um-category-grid { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 2px solid var(--um-ink); }
.um-recipe-c .um-category { display: grid; grid-template-columns: 82px minmax(0, 1fr); align-content: center; gap: 6px 25px; padding: 22px 0; border-bottom: 1px solid var(--um-line); overflow-wrap: anywhere; }
.um-recipe-c .um-category > :is(img, figure, .um-game-emblem) { grid-column: 1; grid-row: 1 / span 4; align-self: center; width: 82px; min-height: 0; margin: 0; aspect-ratio: 1; object-fit: contain; }
.um-recipe-c .um-category > :not(img):not(figure):not(.um-game-emblem) { grid-column: 2; }
.um-recipe-c .um-category h3 { font-family: inherit; font-size: 23px; font-weight: 650; letter-spacing: -.025em; }
.um-recipe-c .um-category p { max-width: 78ch; font-size: 14px; }
.um-recipe-c .um-category:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.um-recipe-c .um-nav a { min-height: 44px; border-left-width: 3px; }
.um-recipe-c .um-content { max-width: 960px; }
.um-recipe-c .um-content :where(h2, h3), .um-recipe-c .um-page-hero h1 { font-family: inherit; font-weight: 650; letter-spacing: -.025em; }
.um-recipe-c .um-story-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.um-recipe-c .um-story { padding-bottom: 24px; border-bottom: 1px solid var(--um-line); }
.um-recipe-c .um-story img { max-width: 440px; }
.um-recipe-c .um-callout { padding: 25px 28px; border: 1px solid var(--um-line); border-top: 3px solid var(--um-gold); background: var(--um-paper); }
.um-recipe-c .um-callout h2, .um-recipe-c .um-callout h3 { font-family: inherit; font-size: 25px; font-weight: 650; }
.um-recipe-c .um-page-hero { padding-top: 28px; padding-bottom: 35px; }
.um-recipe-c .um-footer { padding-top: 35px; }

@media (max-width: 700px) {
  .um-recipe-b .um-hero, .um-recipe-c .um-hero { grid-template-columns: minmax(0, 1fr); gap: 25px; padding: 32px 22px; }
  .um-recipe-b .um-hero h1, .um-recipe-c .um-hero h1 { max-width: 17ch; font-size: clamp(34px, 9vw, 46px); }
  .um-recipe-b .um-hero-copy { padding-left: 18px; }
  .um-recipe-b .um-hero-media { padding: 8px; }
  .um-recipe-b .um-category-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .um-recipe-b .um-category { grid-template-columns: 82px minmax(0, 1fr); padding: 18px; gap: 5px 16px; }
  .um-recipe-b .um-category h3, .um-recipe-c .um-category h3 { font-size: 22px; }
  .um-recipe-b .um-story { padding: 18px; }
  .um-recipe-c .um-hero-media { width: min(100%, 440px); max-width: none; justify-self: start; }
  .um-recipe-c .um-section { padding-top: 32px; padding-bottom: 32px; }
  .um-recipe-c .um-category { grid-template-columns: 68px minmax(0, 1fr); gap: 5px 18px; padding: 19px 0; }
  .um-recipe-c .um-category > :is(img, figure, .um-game-emblem) { width: 68px; }
  .um-recipe-c .um-category p { font-size: 13px; }
  .um-recipe-c .um-callout { padding: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .ultra-mother *, .ultra-mother *::before, .ultra-mother *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.ultra-mother .um-home-body { max-width: none; padding: 0; }
.ultra-mother .um-home-body .um-section-heading h2 { margin-top: 0; }
.ultra-mother .um-home-body .um-story-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ultra-mother .um-home-body .um-story h3 { margin-top: 0; font-family: Georgia,"Times New Roman",serif; font-size: 25px; font-weight: 400; }
.ultra-mother .um-home-body .um-callout h2 { margin-top: 0; }
@media(max-width:680px) { .ultra-mother .um-home-body .um-story-grid { grid-template-columns: 1fr; } }
@media print {
  .um-header, .um-sidebar, .um-mobile-cta, .um-scrim, .um-menu-toggle, .um-skip-link { display: none !important; }
  .um-main { margin-left: 0; }
  .um-hero, .um-page-hero, .um-callout, .um-footer { background: white; color: black; }
  .um-section, .um-content { padding: 25px 0; }
  .ultra-mother a { color: black; }
  .um-category, .um-story, .um-content figure { break-inside: avoid; }
}

/* Phone-first reading and touch sizing shared by every production recipe. */
@media (max-width: 680px) {
  body.ultra-mother { --um-header-height: calc(66px + env(safe-area-inset-top, 0px)); -webkit-text-size-adjust: 100%; }
  .ultra-mother .um-header { padding-top: env(safe-area-inset-top, 0px); padding-left: max(14px, env(safe-area-inset-left, 0px)); padding-right: max(14px, env(safe-area-inset-right, 0px)); gap: 8px; }
  .ultra-mother .um-header .um-logo { flex-shrink: 1; }
  .ultra-mother .um-header .um-logo img { width: 136px; }
  .ultra-mother .um-header-actions { flex-shrink: 0; gap: 8px; }
  .ultra-mother .um-header .um-button { min-height: 44px; padding: 10px 12px; font-size: 12px; }
  .ultra-mother .um-menu-toggle { flex-shrink: 0; width: 44px; min-width: 44px; height: 44px; margin-left: 0; font-size: 23px; }
  .ultra-mother .um-button { min-height: 48px; font-size: 14px; }
  .ultra-mother .um-mobile-cta { gap: 8px; padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); }
  .ultra-mother .um-mobile-cta .um-button { min-height: 48px; font-size: 14px; }
  .ultra-mother .um-dismiss { flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; font-size: 24px; }
  .ultra-mother .um-text-link { min-height: 44px; font-size: 14px; }
  .ultra-mother .um-footer-top > nav > a, .ultra-mother .um-footer-top > div > a { display: flex; align-items: center; min-height: 44px; margin-bottom: 2px; padding: 8px 0; font-size: 14px; }
  .ultra-mother .um-hero-copy > p, .ultra-mother .um-page-hero > p,
  .ultra-mother .um-editorial p, .ultra-mother .um-content p, .ultra-mother .um-content :where(ul, ol),
  .ultra-mother .um-faq details > p, .ultra-mother .um-faq details > div { font-size: 16px; line-height: 1.75; }
  .ultra-mother .um-category p, .ultra-mother .um-story p, .ultra-mother .um-section-heading > p,
  .ultra-mother .um-callout p, .ultra-mother .um-reading-panel li { font-size: 15px; line-height: 1.7; }
  .ultra-mother .um-faq summary { font-size: 16px; min-height: 52px; }
  .ultra-mother .um-hero-copy > .um-meta { font-size: 12px; }
  .ultra-mother .um-brand-stage { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; column-gap: 16px; padding: 14px; }
  .ultra-mother .um-brand-stage img { grid-column: 1; grid-row: 1 / span 2; width: 104px; max-width: 104px; margin: 0; }
  .ultra-mother .um-brand-stage .um-stage-label { grid-column: 2; grid-row: 1; align-self: end; padding-bottom: 8px; font-size: 10px; line-height: 1.6; letter-spacing: .15em; }
  .ultra-mother .um-brand-stage figcaption { grid-column: 2; grid-row: 2; align-self: start; font-size: 9px; line-height: 1.8; }
  .ultra-mother .um-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ultra-mother :where(input, textarea, select) { font-size: 16px; }
  .ultra-mother:has(input:focus, textarea:focus, select:focus, [contenteditable="true"]:focus) .um-mobile-cta { visibility: hidden; }
}
@media (max-width: 359px) {
  .ultra-mother .um-header .um-logo img { width: 110px; }
  .ultra-mother .um-header .um-button { padding-left: 9px; padding-right: 9px; }
  .ultra-mother .um-header-actions { gap: 4px; }
  .ultra-mother .um-actions { gap: 8px; }
  .ultra-mother .um-actions .um-button { padding-left: 14px; padding-right: 14px; }
}

/* Touch users keep readable text and operable controls in portrait and landscape. */
@media (pointer: coarse) {
  .ultra-mother .um-button { min-width: 44px; min-height: 48px; }
  .ultra-mother .um-header .um-button { min-height: 44px; }
  .ultra-mother .um-header-actions > a:not(.um-button) { min-width: 44px; min-height: 44px; align-items: center; }
  .ultra-mother .um-menu-toggle, .ultra-mother .um-menu-close, .ultra-mother .um-dismiss { min-width: 44px; min-height: 44px; }
  .ultra-mother .um-text-link { min-width: 44px; min-height: 44px; }
  .ultra-mother .um-footer-top > nav > a, .ultra-mother .um-footer-top > div > a,
  .ultra-mother .um-footer li > a, .ultra-mother .um-footer-bottom > a {
    display: flex; align-items: center; min-width: 44px; min-height: 44px; margin-bottom: 2px; padding: 8px 0; font-size: 14px;
  }
  .ultra-mother .um-hero-copy > p:not(.um-meta), .ultra-mother .um-page-hero > p,
  .ultra-mother .um-editorial p, .ultra-mother .um-content p, .ultra-mother .um-content :where(ul, ol),
  .ultra-mother .um-faq details > p, .ultra-mother .um-faq details > div { font-size: 16px; line-height: 1.75; }
  .ultra-mother .um-faq summary { min-height: 52px; font-size: 16px; }
}
@media (pointer: coarse) and (min-width: 681px) {
  .ultra-mother .um-header-actions > a:not(.um-button) { display: inline-flex; }
}
